Разблокировать экран входа в систему с помощью командной строки

17

Можно ли разблокировать экран входа в консоль 13.04 Gnome из командной строки? Пользователь подключился к оболочке Gnome, я могу войти в консоль в качестве этого пользователя. У меня также есть root-доступ.

Это для доступа к активному дисплею X11 через VNC, без ввода пароля.

Выполнение

gnome-screensaver-command -d

, как предлагается в сообщении в блоге не помогло.

    
задан krlmlr 03.09.2013 в 20:05
источник

5 ответов

11

Проблема с выполнением команд типа 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

Источник: Ссылка

    
ответ дан steeldriver 04.09.2013 в 00:18
9

Я бы предложил sudo loginctl unlock-sessions , если вы используете systemd . Обратите внимание, что вышеперечисленное разблокирует ВСЕ сеансы независимо от того, какой пользователь запускает экранную заставку.

Если вы хотите разблокировать свой сеанс, просто запустите loginctl unlock-session (не требуется root, потому что это ваш собственный сеанс).

    
ответ дан Mikko Rantalainen 03.06.2017 в 08:59
1

Следующие работали для меня:

sudo killall gnome-screensaver

Особенно полезно, когда вы вошли в систему через SSH с другим пользователем.

    
ответ дан rosch 08.03.2017 в 23:46
0

У меня была проблема с блокировкой экрана gnome 3 (заставкой), застрявшей на чистом экране. Мне удалось обойти это с помощью , заменив диспетчер окон gnome-shell.

Ctrl + Alt + F1 и войдите в виртуальную консоль, затем:

pkill -QUIT gnome-shell
DISPLAY=:0.0 gnome-shell -r &

( & Задает новую оболочку gnome, чтобы вы могли выйти из виртуальной консоли и продолжать ее работу. Альтернативно используйте Ctrl + Z, чтобы приостановить процесс gnome-shell, и bg , чтобы занести его в фоновый рисунок.)

Это может быть не изящно, но это, наконец, позволило мне вернуться к моим настольным приложениям, не имея гнома, чтобы заставить меня выйти.

    
ответ дан Ted Percival 23.01.2014 в 17:01
0

У меня была аналогичная проблема, когда экран разблокировки иногда не принимал ввод с клавиатуры. То, как я, наконец, решил это, - убить запущенные процессы несколько gnome-screensaver , а также один процесс gnome-screensaver-dialog . Я предполагаю, что какой бы процесс ни возникал. 2 сеанса gnome-screensaver испортили мой экран разблокировки. Вместо этого я должен использовать xscreensaver, поэтому, возможно, это испортилось.

В любом случае, Ctrl+Alt+F1 , найдите процессы заставки, выполняющие ps -aux | grep screen , и убейте их всех. Команды gnome и xscreensaver, перечисленные в других ответах, не работали для меня.

    
ответ дан Scott 04.02.2017 в 22:01