Как проснуться от экранной заставки непосредственно на экран входа в систему в Ubuntu

(иначе. Как переключить пользователей, не вводя пароль, вторую часть) (см. первую часть),

У меня есть Ubuntu 9.10 с учетной записью пользователя для моей жены, и один для меня. "След от экранной заставки" должен привести к, "выбирают пользователя", не имея необходимость вводить любой пароль. Я знаю, как сделать это в Windows, но я (еще) не хорош с Linux.

Части этого ответили в моем более раннем вопросе, который помог мне закончить экран входа в систему без паролей (после начальной загрузки, и после выбора "switch user"), но после того как экранная заставка умирает, и я бужу его снова, система не представляет, "выбирают пользователя" экран. Вместо этого это или выключает экранную заставку и представляет рабочий стол нового пользователя, или (если экранная заставка установлена заблокировать экран), подсказка для пароля пользователя (который может быть ловко превзойден путем нажимания кнопки "switch user" и выбора того же пользователя снова).

Так, с входом в систему ("выбирают пользователя") экран имели дело. Как я заставляю (любую) экранную заставку возвратиться к экрану входа в систему в следе, а не на рабочий стол текущего пользователя? Windows может сделать это, я уверен, что Linux может также - но как?

6
задан 20.03.2017, 12:16

2 ответа

Вы делаете привычку к странным тонким настройкам, не так ли?

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

  • FAQ экранной заставки Gnome указывает, что экранная заставка испускает сигнал DBus, когда неактивное состояние сессии изменяется:

    Существует ли способ выполнить действия, когда экранная заставка активируется или деактивируется? Или когда сессия становится неактивной?

    Один путь состоит в том, чтобы наблюдать за сигналами D-шины от экранной заставки гнома. (...)

    FAQ обеспечивает dbus-команду-контроля в качестве примера:

    dbus-monitor --session "type='signal',interface='org.gnome.ScreenSaver',member='SessionIdleChanged'"
    

    Хотя я верю интерфейсу, и членские детали устарели для Ubuntu 9.10; собственные значения, кажется, interface=org.freedesktop. ConsoleKit. Сессия и member=IdleHintChanged. (См. документацию ConsoleKit.)

    Когда блокировка экранной заставки включена, сигнал IdleHintChanged испускается после того, как пароль вводится успешно в разблокировать диалог.

  • Команда gdmflexiserver-xnest может использоваться от командной строки для возвращения к экрану входа в систему. Это работает в рамках Ваших X сессий отдельно, но можно использовать dbus-запуск для выполнения его от, скажем, сессии SSH:

    DISPLAY=:0 dbus-launch gdmflexiserver -xnest
    

    Это "активирует" экран входа в систему GDM, не регистрируя текущий сеанс пользователя, точно так же, как пункт меню "Switch User..." делает (по крайней мере, насколько я могу сказать).

Прием должен будет найти некоторый способ склеить эти два. Мне кажется, что то, что Вы хотели бы сделать, в основном:

  1. Отключите блокировку экранной заставки;
  2. Зарегистрируйте слушателя в DBus, который прислушивается к сигналу IdleHintChanged на всех сессиях;
  3. Сделайте, чтобы слушатель выполнил команду gdmflexiserver, когда она обнаружит сигнал.

Шаг 1 необходим так, Вы не получаете подсказку пароля. Если шаг 2 будет работать правильно, и шаг 3 начинается, то Вы получите окно входа в систему каждый раз, когда Ваша система выходит из экранной заставки. Но шаг 2 - то, что я не уверен, как сделать.

2
ответ дан 07.12.2019, 16:26

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

Решение потенциально существует, но это не завершено и требует глубокого понимания Linux - как видно в первом ответе. Таким образом, это не ответ out-of-the-box, я чувствовал бы себя хорошо о принятии как ответ.

Вопрос:

Как я заставляю (любую) экранную заставку возвратиться к экрану входа в систему в следе, а не на рабочий стол текущего пользователя?

Ответ: Вы не можете.

0
ответ дан 07.12.2019, 16:26

Теги

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