Ubuntu 14.04 представляет новый экран блокировки, который похож на экран входа.
Я все еще могу заблокировать экран, используя команду gnome-screensaver-command --lock (как я всегда делал до), который под 14.04 блокирует экран, но:
Если вы используете его с рабочего стола, он блокирует экран с помощью нового экрана блокировки. Если вы запускаете его с виртуальной консоли или через SSH, он блокирует экран с помощью старого lockscreen.Я также попытался использовать xdg-screensaver lock, но работает так же, как gnome-screensaver-command --lock (только использует новый lockscreen, когда он запускается с рабочего стола).
Запуск light-locker-command --lock не сработал, поскольку light-locker не установлен.
Я предполагаю, что должны быть некоторые различия между запуском одной и той же команды с рабочего стола и ее запуском через SSH / виртуальную консоль, но я не удалось найти какую-либо разницу в переменных среды.
Итак, мой вопрос: как заблокировать экран с помощью нового экрана блокировки Unity, а не старого lockscreen из командной строки?
новый lockscreen , вероятно, связан с запросом новой команды, которая должна использоваться, так что вот еще вопрос: Как заблокировать экран, используя новый блокирующий экран Unity, а не старый блокирующий экран из командной строки?
Обратите внимание, что [14] больше не используется в 14.04, в соответствии с этим сообщением об ошибке:
На самом деле это не гном -screensaver, этот компонент перестает использоваться в trus ти.Принятый ответ имеет правильную идею, за исключением того, что lockscreen связан с панелью единиц, тогда как org.gnome.ScreenSaver, очевидно, является схемой, связанной с Gnome, поэтому она может работать или не работать.
Существует, однако, интерфейс dbus для Unity, и все, что нам нужно, - это вызвать этот метод com.canonical.Unity.Session.Lock так:
qdbus com.canonical.Unity /com/canonical/Unity/Session com.canonical.Unity.Session.Lock
Боковое примечание:
Доказательство того, что оно связано с панелью единиц, прост, когда вы заблокировали экран, процесс /usr/lib/unity/unity-panel-service изменится на /usr/lib/unity/unity-panel-service --lock-mode, как это видно из tty1.
Недавно я узнал, что xdg-screensaver lock работает также и является довольно простым решением!
Вы всегда можете отправить нажатия клавиш: xdotool key super+l.