Как заставить Ubuntu 18.04 LTS запрашивать действие, когда я нажимаю кнопку / клавишу ACPI Power на VirtualBox (теперь сразу выключается)?

Я переписать этот вопрос, чтобы быть ясным. У меня проблемы только на VirtualBox.

1. Физическое оборудование

Если нажать кнопку питания на физическом оборудовании:

  • на консольных ttys отключениях системы
  • в системе GDM переходит в режим сна (приостанавливается)
  • в сеансе GNOME он идет приостановить

Если я запускаю вручную gsettings set org.gnome.settings-daemon.plugins.power power-button-action interactive GNOME спрашивает меня, что делать.

Выключение
Система автоматически отключится через 60 секунд
Отмена | Перезагрузка | Выключение

Это ожидаемое поведение.
Но в настоящее время нет такой опции в GUI (gnome-control-center power), запрос на улучшение был подан как ошибка 1769614:

2. VirtualBox гость

2.1. проблема

У меня установлен обычный Ubuntu 18.04 LTS в качестве гостя VirtualBox (!!!).

Когда я нажимаю RightCtrl + H (или Machine-> ACPI Shutdown), чтобы инициировать реакцию на кнопку питания ACPI, немедленно выключаю ее.

Я ожидаю, что Ubuntu 18.04 LTS с рабочим столом по умолчанию спросит меня о действиях при нажатии кнопки питания, как Ubuntu 16.04 LTS:

или как Ubuntu MATE 18.04 LTS сделать:

2.2. Анализ

Я провел некоторые исследования без каких-либо положительных результатов.

Системный журнал сообщает, что systemd-logind может обрабатывать ключ питания ACPI.

Его настройки по умолчанию:

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

Я установил GNOME для использования интерактивной реакции на кнопку питания:

$ 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'

Еще одна интересная вещь, которой у меня нет При нажатии кнопки питания в ВМ (это ошибка 1769623):

настройка HandlePowerKey=ignore в /etc/systemd/logind.conf не помогает:

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

поэтому я поставил его обратно

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

Поэтому я сообщил об ошибке 1769372 в LaunchPad.

Примечание: в терминальной сессии ака multi-user.target (systemctl isolate multi-user.target) все переменные из /etc/systemd/logind.conf поставляются нормально. Так что проблема с сессией GNOME (systemctl isolate graphical.target) в gnome-settings-daemon или что-то другое.

Вопрос

Как остановить такое поведение в ВМ?
У кого-нибудь есть такая же проблема в ВМ или на реальном оборудовании?

1 ответ

Я запустил новое обновление 6 мая 2018 года на клоне Ubuntu 16.04 до 18.04 и подтвердил, что при нажатии кнопки питания на старое время появляется "старое" меню, а затем машина приостанавливается.

Я проверил gsettings с помощью:

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

отсортировано по "ключу" и прокручено до "power". Вы можете подтвердить свои настройки с помощью:

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

При проверке с Ubuntu 16.04 установите то же самое, используя:

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

Дважды проверьте настройки:

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

Вам не нужно перезагружаться. Просто нажмите кнопку питания, и теперь меню появится и останется там, где вы можете выбрать:

Я позаимствовал это .gif из другого ответа я написал. Он показывает, как отсутствовала опция блокировки экрана и как ее вернуть.

Другие вопросы по тегам