Как заставить 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
из другого ответа я написал. Он показывает, как отсутствовала опция блокировки экрана и как ее вернуть.