Я использую Xubuntu 12.04. В Power Manager я установил расширенный -> экран блокировки при переходе в режим ожидания / гибернации. Если я выберу приостановку из главного меню / панели 1, экран будет заблокирован. Однако если я использую dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
(см. Как я могу приостановить / перевести в спящий режим из командной строки? ; я использую эту команду с помощью сочетания клавиш), экран не заблокирован. Как я могу (1) приостановить работу системы (2) одновременно заблокировать экран (3) для этого не требуются права root [поскольку я хотел бы, чтобы команда была назначена сочетанию клавиш].
Примечание: xscreensaver-command
работает только с опцией -lock
(с 1 дефисом, а не с двойным, как с gnome-screensaver-command
). Тем не менее, команда работает только во время работы заставки, поэтому не очень полезна.
Я использовал команду dbus amfcosta для приостановки из командной строки. Однако на резюме, eth0 снизился.
Я затем нашел эту команду:
xfce4-session-logout --suspend
Эта команда отключает сети, приостанавливает и затем повторно позволяет объединиться в сеть, когда компьютер просыпается.
xfce4-session-logout
xfce определенные, но другие настольные среды, может иметь подобный *-session-logout
команды.
Я выполняю Xubuntu 14.04.
Обновление: Это не может влиять на других, но оказывается, что на моем Asus EEE 900, проводное соединение Ethernet только работает каждое второе время, которое просыпается EEE. Это является, конечно, очень раздражающим, и средства, которые приостанавливают, неприменимы.
Вы можете сделать это, используя следующее:
gnome-screensaver-command --lock && dbus-send --system --print-reply --dest="org.freedesktop.UPower" /org/freedesktop/UPower org.freedesktop.UPower.Suspend
В комбинацию клавиш необходимо поместить sh -c "<command>"
, заменив <command>
на приведенную выше команду, например:
sh -c "gnome-screensaver-command --lock && dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend"
[ 1112] Если приведенная выше команда не работает, вы также можете попробовать использовать файл сценария оболочки (например, suspend_lockscreen.sh
). Сначала создайте файл, вызвав в консоли следующие команды:
cd ~
echo "gnome-screensaver-command --lock" >> suspend_lockscreen.sh
echo "dbus-send --system --print-reply --dest=org.freedesktop.UPower /org/freedesktop/UPower org.freedesktop.UPower.Suspend" >> suspend_lockscreen.sh
chmod +x suspend_lockscreen.sh
Это создаст файл с именем suspend_lockscreen.sh в домашней папке пользователя. Затем в ярлык просто позвоните: ./suspend_lockscreen.sh
.
Примечание: gnome-screensaver-command
можно заменить на xscreensaver-command
, как указано в одном комментарии.
В Ubuntu 15.10 это также работает:
gnome-screensaver-command --lock && systemctl -i suspend