Как выйти из компьютера с помощью оболочки? - PullRequest
8 голосов
/ 08 июня 2010

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

Мне нужна эта функциональность в одном моем скрипте Linux.

Обновление: Я хочу скопировать код, работающий за кнопкой «Выход» на моей Ubuntu.

Используемая среда рабочего стола: GNOME

Ответы [ 5 ]

7 голосов
/ 08 июня 2010

Я думаю, что это делает работу:

gnome-session-save --logout

Кроме того, взгляните на вывод --help, возможно, вы захотите использовать опцию --force-logout.

Usage:
  gnome-session-save [OPTION...]

Help Options:
  -h, --help               Show help options
  --help-all               Show all help options
  --help-gtk               Show GTK+ Options

Application Options:
  --logout                 Log out
  --force-logout           Log out, ignoring any existing inhibitors
  --logout-dialog          Show logout dialog
  --shutdown-dialog        Show shutdown dialog
  --gui                    Use dialog boxes for errors
  --display=DISPLAY        X display to use
2 голосов
/ 08 июня 2010

Ваш вопрос немного расплывчатый. Вы пытаетесь выйти из графического сеанса среды рабочего стола (например, KDE / Gnome), как если бы пользователь нажал «выйти»?

Затем вам необходимо выяснить, поддерживает ли среда рабочего стола сценарии для выхода из системы. Например, в KDE вы можете использовать kquitapp.

1 голос
/ 08 июня 2010

Это что-то вроде хака, но способ, которым отключение питания screen делает это, состоит в том, чтобы определить родительский pid и отправить ему SIGHUP. (Пояснение: закрывается только оболочка, поэтому работает только в том случае, если вы работаете с консоли, а не с графическим логином - поэтому может не соответствовать тому, что вы ищете.)

1 голос
/ 08 июня 2010

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

/etc/init.d/xdm restart
/etc/init.d/kdm restart
/etc/init.d/gdm restart
0 голосов
/ 26 октября 2013

Введите в терминале

gnome-session-quit

или

pkill -kill -u {Username}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...