Как приостановить работу компьютера на экране блокировки в Gnome 3 (Fedora 20)? Иногда я случайно нажимаю клавишу блокировки, которая находится прямо рядом с клавишей приостановки. Как только он заблокирован, он больше не слушает кнопку приостановки или кнопку питания. Я пытаюсь избежать необходимости вводить свой пароль только для приостановки.
2 ответа
Кто-то указал мне на файл /etc/systemd/logind.conf
. Мне удалось установить параметры, позволяющие ключу приостановки работать в любой ситуации, независимо от того, что запрашивает система. Вот пример моих настроек.
[Авторизоваться]
# NAutoVTs = 6
# ReserveVT = 6
# KillUserProcesses = нет
# KillOnlyUsers =
# KillExcludeUsers = корень
# InhibitDelayMaxSec = 5
# HandlePowerKey = отключение питания
HandleSuspendKey = приостановить
# HandleHibernateKey = спящий режим
HandleLidSwitch = замок
# PowerKeyIgnoreInhibited = нет
SuspendKeyIgnoreInhibited = да
# HibernateKeyIgnoreInhibited = нет
LidSwitchIgnoreInhibited = да
# IdleAction = игнорировать
# IdleActionSec = 30мин
По какой-то причине перезапуск не применял изменения, поэтому мне пришлось выполнить следующую команду:
sudo systemctl restart systemd-logind
Искал похожий вариант .. Настройки первого ответа, к сожалению, у меня не сработали в Ubuntu Mate 16.04. Может быть, это потому, что когда вышел Mate 16.04, systemd не был полностью принят.
Однако я пришел к следующему решению: взломать /etc/acpi/powerbtn.sh
с помощью команды mate-screensaver-command:
sudo -u $USERNAME DISPLAY=:0 mate-screensaver-command -l && systemctl suspend
Итак, начало моего /etc/acpi/powerbtn.sh
:
#!/bin/sh
# /etc/acpi/powerbtn.sh
# Initiates a shutdown when the power putton has been
# pressed.
#shutdown -h now
#loginctl lock-session && systemctl suspend
sudo -u $USERNAME DISPLAY=:0 mate-screensaver-command -l
Обратите внимание, что для этого необходимо заменить $ USERNAME на ваше собственное. Лично я бы жестко закодировал имя пользователя на однопользовательских машинах. Пожалуйста, сделайте свой выбор относительно того, как вы хотите определить, какие пользователи могут запускать команду. Возможно, используйте что-то вроде $ LOGNAME (env по умолчанию в Ubuntu Mate при запуске printenv)
sudo -u $LOGNAME DISPLAY=:0 mate-screensaver-command -l
Я знаю, что это не отвечает на вопрос о включении кнопки сна и заменяет функциональность кнопки выключения, но для меня это работает отлично. Я бы подумал, что было бы достаточно просто изменить файл /etc/acpi/powerbtn.sh
чтобы учесть, находится ли пользователь на экране блокировки или вошел в систему; таким образом заставляя кнопку выключения работать нормально при входе в систему.