Можно ли разблокировать экран входа в оболочку 13.04 Gnome из командной строки? Пользователь вошел в оболочку Gnome, я могу войти в консоль как этот пользователь. У меня также есть root-доступ.
Это для доступа к активному дисплею X11 через VNC без необходимости ввода пароля.
Выполнение
gnome-screensaver-command -d
, как предложено в сообщении в блоге , не помогло.
Я бы предложил sudo loginctl unlock-sessions
, если ваша система использует systemd
. Обратите внимание, что вышеуказанное разблокирует ВСЕ сеансы независимо от того, какой пользователь запускает экранную заставку.
Если вы хотите разблокировать только свой собственный сеанс, просто запустите loginctl unlock-session
(не требуется root, поскольку это ваш собственный сеанс).
Проблема с выполнением таких команд, как gnome-screensaver-command
из сеанса SSH, обычно заключается в том, что они автоматически не подключаются к соответствующей сеансовой шине для активного сеанса рабочего стола - обычно, установка переменной DISPLAY исправит это, например, эти работы для меня (зарегистрирован через SSH как тот же пользователь, которому принадлежит заблокированный сеанс X, который находится на DISPLAY: 0):
$ DISPLAY=:0 gnome-screensaver-command -d
для разблокировки и
$ DISPLAY=:0 gnome-screensaver-command -l
для блокировки .
Кроме того, вы можете переключать активное состояние, используя dbus-send
- например,
$ export DISPLAY=:0
$ dbus-send --session \
--dest=org.gnome.ScreenSaver \
--type=method_call \
--print-reply \
--reply-timeout=20000 \
/org/gnome/ScreenSaver \
org.gnome.ScreenSaver.SetActive \
boolean:false
Источник: https://people.gnome.org/~mccann/gnome-screensaver/docs. /gnome-screensaver.html#gs-examples
У меня сработало следующее:
sudo killall gnome-screensaver
Особенно полезно, когда вы вошли через SSH с другим пользователем.
У меня была проблема с зависанием блокировки экрана (заставки) в gnome 3 на пустом экране. Мне удалось обойти это, заменив менеджер окон оболочки gnome.
Ctrl + Alt + F1 и войти в систему на виртуальной консоли, затем:
pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &
(&
Фоновый рисунок новой оболочки gnome, позволяющий выйти из виртуальной консоли и поддерживать ее в рабочем состоянии. В качестве альтернативы используйте Ctrl + Z, чтобы приостановить процесс оболочки gnome, и bg
, чтобы сделать его фоновым.)
Это может быть не элегантно, но в итоге это позволило мне вернуться к моим настольным приложениям без использования gnome. заставить меня выйти из системы.
У меня была похожая проблема, когда экран разблокировки иногда не принимал ввод с клавиатуры. В итоге я решил, что нужно убить несколько запущенных gnome-screensaver
процессов, а также один gnome-screensaver-dialog
процесс. Я предполагаю, что какой бы процесс не порождал 2 сеанса скринсейвера гномов, это испортило мой экран разблокировки. На самом деле я должен был использовать xscreensaver вместо этого, так что, может быть, это не так.
В любом случае, Ctrl+Alt+F1
, найдите процессы заставки, работающие ps -aux | grep screen
, и убейте их всех Команды gnome и xscreensaver, перечисленные в других ответах, не работали для меня.