Разблокируйте экранную заставку гнома вместо деактивации

Так, я пытался создать флеш-карту для своей машины.

Я использовал Usb PAM, как описано во многих местах по Интернету (например, этот, который является в основном copypasted везде). Я понимаю то, что происходит там, и это круто.

Моя проблема - если я блокирую экран (с кнопкой, включая USB прочь или с gnome-screensaver-command -l), затем gnome-screensaver-command -d не возвратит меня моему рабочему столу, а скорее будит монитор. Я все еще должен обеспечить пароль - и я не хочу это, когда я включаю карту с интерфейсом USB.

Я не хочу выключать подсказку пароля в, разблокировали. Я хочу свой компьютер, свободно доступный в любой данный момент, когда карта с интерфейсом USB включается и доступна с паролем в другом случае.

Так, вопрос: как я разблокировал экранную заставку гнома с командной строкой?

PS. Забавная вещь: если я использую флеш-карту, то я не должен обеспечивать пароль при входе в систему. С другой стороны, на разблокировали его, необходим. Я понимаю, почему это происходит, но тем не менее, это выглядит странным.

== РЕДАКТИРОВАНИЕ ==

Я забыл: я использую плоскость (значение Основанного на единице) Ubuntu 15.04. Никакие связанные с экранной заставкой модификации не были сделаны.

4
задан 17 September 2015 в 22:14

2 ответа

Ubuntu 14.04 + больше не использует экранную заставку гнома, вот почему gnome-screensaver-command -d может не работать (вероятно, я не уверен, но Ubuntu заменила старую экранную заставку гнома чем-то новым, и та команда в настоящее время не работает). Можно заблокировать и разблокировать использующий компьютеры dbus.

Блокировка:

dbus-send --type=method_call --dest=org.gnome.ScreenSaver /org/gnome/ScreenSaver org.gnome.ScreenSaver.Lock

Разблокируйте:

dbus-send --session --dest=org.gnome.ScreenSaver --type=method_call --print-reply --reply-timeout=20000 /org/gnome/ScreenSaver org.gnome.ScreenSaver.SetActive boolean:false

Это должно разблокировать, не прося пароль.

2
ответ дан 1 December 2019 в 10:18

В 15,04 экран блокировки реализован в единице.

кажется, что libpam_usb явно не связан с libpam, поскольку это (ложно) ожидает, что программа с помощью него имеет libpam, уже загруженный. Дело обстоит так для большинства программ (т.е. sudo, lightdm и т.д.), но не для compiz. Изменение в make-файле libpam-usb и перекомпиляции требуется, чтобы фиксировать его.

, Хотя как обходное решение можно отредактировать /usr/share/applications/compiz.desktop и замена

Exec=compiz

с

Exec=/bin/sh -c "LD_PRELOAD=libpam.so compiz"

0
ответ дан 1 December 2019 в 10:18

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

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