web-dev-qa-db-fra.com

Comment faire en sorte que Ubuntu 18.04 LTS demande une action lorsque j'appuie sur le bouton d'alimentation ACPI de VirtualBox (maintenant immédiatement arrêté)?

Je réécris cette question pour être clair. J'ai des problèmes uniquement sur VirtualBox.

1. Matériel physique

Si vous appuyez sur le bouton d'alimentation du matériel physique:

  • sur les arrêts du système de la console ttys
  • sur le système GDM se met en veille (suspend)
  • dans la session GNOME, il va suspendre

Si je lance manuellement gsettings set org.gnome.settings-daemon.plugins.power power-button-action interactive, GNOME me demande quoi faire.

Éteindre
Le système s'éteindra automatiquement dans 60 secondes
Annuler | Redémarrer | Éteindre Confirmation dialog on physical hardware

C'est le comportement attendu.
Mais pour l’instant, cette option n’existe pas dans la GUI (gnome-control-center power), la demande d’amélioration a été classée comme bogue 1769614 :

<code>gnome-control-center power</code> on physical hardware

2. Invité VirtualBox

2.1. Problème

J'ai Ubuntu 18.04 LTS ordinaire installé en tant qu'invité de VirtualBox (!!!) .

Quand j'appuie RightCtrl+H (ou Machine-> ACPI Shutdown ) pour déclencher une réaction sur le bouton d'alimentation ACPI, appuyez dessus pour l'arrêter immédiatement.

Je m'attends à ce qu'Ubuntu 18.04 LTS avec le bureau par défaut me pose des questions sur l'action à appuyer sur le bouton d'alimentation, comme le fait Ubuntu 16.04 LTS:

Ubuntu 16.04 LTS asks for action after pressing power button

ou comme Ubuntu MATE 18.04 LTS:

Ubuntu MATE 18.04 LTS asks for action after pressing power button

2.2. Une analyse

J'ai fait des investigations sans résultat positif.

Le journal système signale que systemd-logind peut gérer la clé d'alimentation ACPI.

Ses paramètres sont par défaut:

$ cat /etc/systemd/logind.conf | grep -i power
#HandlePowerKey=poweroff
#PowerKeyIgnoreInhibited=no

J'ai configuré GNOME pour utiliser une réaction interactive sur le bouton d'alimentation:

$ gsettings list-recursively | grep -i power | grep -i button
org.gnome.settings-daemon.plugins.power button-power 'interactive'
org.gnome.settings-daemon.plugins.power power-button-action 'interactive'

Encore une chose intéressante que je n'ai pas lorsque vous appuyez sur le bouton d'alimentation dans VM (c'est bug 176962 ):

<code>gnome-control-center power</code> in VM

La définition de HandlePowerKey=ignore dans /etc/systemd/logind.conf n’aide en rien:

Sudo sed -i "s/#HandlePowerKey=poweroff/HandlePowerKey=ignore/" /etc/systemd/logind.conf

donc je l'ai remis

Sudo sed -i "s/HandlePowerKey=ignore/#HandlePowerKey=poweroff/" /etc/systemd/logind.conf

J'ai donc signalé bug 1769372 vers LaunchPad .

Remarque: dans la session de terminal alias multi-user.target (systemctl isolate multi-user.target), toutes les variables de /etc/systemd/logind.conf sont générées normalement. Le problème vient donc de la session GNOME (systemctl isolate graphical.target) dans gnome-settings-daemon ou de quelque chose d'autre.

Question

Comment arrêter un tel comportement dans la VM?
Quelqu'un at-il le même problème dans VM ou dans du matériel réel?

4
N0rbert

J'ai lancé une nouvelle mise à niveau le 6 mai 2018 sur le clone Ubuntu 16.04 à 18.04 et j'ai confirmé que lorsque l'on appuyait sur le bouton d'alimentation, le menu "ancien" apparaît pendant une fraction de seconde, puis la machine est suspendue.

J'ai vérifié gsettings en utilisant:

gsettings list-recursively | sed 's/  */\n/;s/  */\n/;s/\&/\&amp;/g' | yad --list --title "gsettings" --item-seperator='\n' --width=1800 --height=800 --wrap-width=600 --column=Group --column=Key --column=Setting --no-markup

trié par "clé" et faites défiler jusqu'à "pouvoir". Vous pouvez confirmer vos réglages avec:

$ gsettings get org.gnome.settings-daemon.plugins.power power-button-action
'interactive'

En vérifiant avec Ubuntu 16.04, configurez-le comme suit:

$ gsettings set org.gnome.settings-daemon.plugins.power power-button-action suspend

Vérifiez les paramètres:

$ gsettings get org.gnome.settings-daemon.plugins.power power-button-action
'suspend'

Vous n'avez pas besoin de redémarrer. Appuyez simplement sur le bouton d'alimentation et le menu s'affichera et restera où vous pouvez choisir:

Ubuntu Power Button.gif

J'ai emprunté ce .gif à une autre réponse que j'ai écrite. Il montre comment l'option de verrouillage d'écran était manquante et comment la ramener.

1