Как заблокировать экран после выхода из спящего режима?

Мне удалось успешно перевести компьютер в спящий режим и возобновить работу настольного ПК с Ubuntu 12.04, используя процедуру, описанную в в этом ответе . Однако теперь у меня есть проблема, что всякий раз, когда компьютер возобновляет работу, он не блокирует экран .

Как заблокировать экран после выхода системы из режима гибернации?

12
задан 13 April 2017 в 15:23

4 ответа

Я добавил псевдоним в файл ~/.bashrc

alias hibernate='sudo echo "Hibernating..."; gnome-screensaver-command -l; sudo pm-hibernate;'

, чтобы он блокировал экран перед гибернацией.

0
ответ дан 13 April 2017 в 15:23

Я смог обойти эту проблему, используя следующую команду

sudo pm-hibernate; gnome-screensaver-command -l

Обратите внимание, что вы должны запускать это как обычный пользователь , а не как пользователь root для блокировки, чтобы работать, потому что по умолчанию в Ubuntu нет пароля для пользователя root, поэтому после возобновления экран блокировки можно разблокировать, просто встряхивая мышь.

0
ответ дан 13 April 2017 в 15:23

У меня есть другой обходной путь. я скопировал это из /etc/acpi/sleep.sh в /etc/acpi/hibernate.sh незадолго до pm-hibernate

if [ x$LOCK_SCREEN = xtrue ]; then
    if pidof xscreensaver > /dev/null; then
    for x in /tmp/.X11-unix/*; do
        displaynum=`echo $x | sed s#/tmp/.X11-unix/X##`
        getXuser;
        if [ x"$XAUTHORITY" != x"" ]; then
        export DISPLAY=":$displaynum"
        . /usr/share/acpi-support/screenblank
        fi
    done
    fi
fi

, теперь я могу переходить в режим гибернации с блокировкой из меню питания или кнопкой сна

0
ответ дан 13 April 2017 в 15:23

Не в Ubuntu, но у меня работает следующее:

systemd-inhibit --what sleep --why "Lock screen" --mode delay xdg-screensaver lock & systemctl suspend

Замените xdg-screensaver lock командой для блокировки экрана в вашей системе и systemctl suspend на systemctl hibernate, если вы хотите заблокировать экран перед гибернацией.

Это работает путем блокировки экрана параллельно приостановке машины. Однако команда блокировки экрана работает как ингибитор, который задерживает режим ожидания. Таким образом, systemd будет ждать, пока экран не будет заблокирован, перед выполнением.

Если у вас есть ингибиторы, которые блокируют приостановку, добавьте флаг -i в конце.

0
ответ дан 13 April 2017 в 15:23

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

Похожие вопросы: