Как вы можете выйти через терминал?

248

Есть ли команда терминала, которая выведет вас из сеанса рабочего стола и вернет вас к экрану входа?

TheXed
источник

Ответы:

197

11.10 и выше

gnome-session-quit

11.04 и предыдущие версии

dbus-send --session --type=method_call --print-reply --dest=org.gnome.SessionManager /org/gnome/SessionManager org.gnome.SessionManager.Logout uint32:1

(через альтернативный текстDoR , см. его ответ «Перезагрузка без привилегий sudoer?», чтобы узнать больше о dbus!)

или, альтернативно, вы можете использовать

gnome-session-save --force-logout

--force-logoutв отличие от просто --logoutне будет просить пользователя иметь дело с несохраненными документами и так далее.

это самый простой способ? нет простой однострочной команды, как выход из sudo ?? Я никогда не буду помнить все это.

Да, есть команда с именем logout, но она касается терминала. gnome-session-save - это программа, которая фактически завершает работу gnome-session, которую вы, конечно, можете убить, но это не будет квалифицироваться как выход из системы. :-)

Также обратите внимание, что эти команды не требуют, чтобы вы были пользователем root.

Вы всегда можете добавить псевдоним в свою систему, если хотите использовать более короткую команду.

Откройте ~/.bash_aliasesтекстовый редактор или создайте его, если его там нет, и добавьте в него что-то вроде этого:

alias logout-gnome="gnome-session-save --force-logout"

(.bashrc - это скрипт, который запускается каждый раз при запуске нового виртуального терминала , вам следует настроить все свои постоянные псевдонимы, см. также: Как создать постоянный «псевдоним»? )

Стефано Палаццо
источник
1
это самый простой способ? нет простой однострочной команды, как sudo logout?? Я никогда не буду помнить все это.
TheXed
2
Ну, всегда есть Ctrl-Alt-Backspace (если вы его включите), но опять же это убивает сеанс, а не выходит из него.
koanhead
4
Можете ли вы обновить свой ответ, сказав, что «gnome-session-save» был переименован в «gnome-session-quit» для 11.10 +
mac,
1
Возможно, вы захотите добавить DISPLAY =: 0.0 или подобное при попытке выйти из сеанса из ssh или другого терминала.
patrikf
3
Мне кажется, что «--force-logout» не совсем работает, так как выдает эту ошибку: ПРЕДУПРЕЖДЕНИЕ **: Невозможно запустить: Неизвестная опция --force-logout. man gnome-session-quitПокопавшись с , я обнаружил, что «--force» и «--logout» на самом деле означают разные аргументы. Следовательно, «--force --logout» (два минуса поет перед «force» и «logout» с пробелом) будет лучше, так как у вас не будет ошибок. По крайней мере, так обстоит дело с Ubuntu 13.04 и Linux Mint 15. IDK о других / более старых версиях любого дистрибутива.
TSJNachos117
76

Я установил рабочий стол помощника, и ни одно из меню не сработало, даже клавиши F не работали. Мне удалось получить xterm через просмотр с файловым менеджером.

Единственное, что сработало, было:

sudo pkill -u username
Дэн
источник
2
Я также сделал псевдоним из этого для меня alias ulogout="sudo pkill -KILL -u $1". Может пригодиться для кого-то. Использование:ulogout user_name
Евгений
1
@ Евгений Как насчет alias logout="sudo pkill -u ${USER}"?
Георгий-это
Это отличное решение для виртуальных машин, как в Virtualbox.
Фил Лоулор
1
Есть ли причина, по которой вам нужно sudo? Кроме того, я думаю, что это отличается от выхода из системы, так как это убьет все ваши процессы (например, если у вас есть другой удаленный сеанс, он также будет убит). Я также не уверен, что он обязательно убьет все ваши процессы (я могу представить, что он может убить сам себя первым?) Знаете ли вы, возможно ли это?
capybaralet
Для товарища, используйте mate-session-save --force-logout. Смотрите этот ответ .
Жером
32

11.10 и выше

Вот мое личное решение!

В терминале запустите:

gedit ~/.bash_aliases

И добавить:

alias log-out="gnome-session-quit"

в файл! Теперь вам просто нужно выйти из системы!

Ник
источник
11

Для сеансов гномов, gnome-session-quitработает хорошо. По умолчанию он запрашивает подтверждение, а затем выходит из системы (т. --logoutЕ. Аргумент принимается, если он не переопределен --power-offявно). Вы также можете указать команде не запрашивать подтверждение при выходе из системы:

--no-prompt
      End the session without user interaction. This only works with --logout.

gnome-session-quit действует до 12.04.

Так как в OP не указан менеджер окон / рабочего стола, а gnome-session-quit может работать не со всеми возможностями, вот общий способ X-windows для возврата к экрану входа или выбору, который я использовал несколько раз за последние несколько выпусков:

Из терминала (вызывается, по-разному, с помощью Alt-F2 + xterm, или Ctrl-T, или Crt-Alt-F1, или щелкая правой кнопкой мыши на рабочем столе в Nautilus и используя ярлык «открыть в терминале» и т. Д. ) тип

sudo pkill X

Это обычно излишне для большинства ситуаций. Я склонен использовать его, когда у меня зависает процесс или когда мне нужно быстро выйти из системы. Когда я сделал это, Ubuntu вежливо вернул меня к экрану входа в систему, заново запустив X-windows.

Я еще не использовал эту power-offфункцию gnome-session-quit, как обычно использую shutdown -P nowдля этой цели.

belacqua
источник
9

В Xubuntu (или всякий раз, когда используется сеанс Xfce), вы можете выйти через терминал, используя

xfce4-session-logout --logout

Вы должны указать --logoutили экран подтверждения выхода будет отображаться. Это будет работать независимо от того, указали ли вы «сеанс Xubuntu» или «сеанс Xfce» при входе в систему Lightdm, поскольку сеанс по-прежнему управляется менеджером сеансов Xfce.

Кроме того, другой вариант также выйдет из системы:

xfce4-session-logout --fast  

Если эта команда введена, сеанс не сохраняется, поэтому обычно его лучше использовать xfce4-session-logout --logout.

Возможность выхода из системы с помощью терминала будет очень полезна для вас, как и другие опции, такие как приостановка, которые доступны с xfce4-session-logout.

Для получения дополнительной информации смотрите man xfce4-session-logoutили справочные страницы Ubuntu онлайн .


источник
Подтверждено, что это также относится к любым версиям Ubuntu Studio.
somethis
9

Вы можете использовать следующую команду:

sudo service lightdm restart
Усама Эль-Гедави
источник
2
Это сильно убивает все запущенные сеансы X для всех пользователей.
Сех
в ~/.bash_aliasesзаписиalias logmeout="service lightdm restart"
нообниня
7

Для использования Ubuntu Mate mate-session-save --force-logout. Это как gnome-session-quit.

Старый Бадман Грей
источник
6

Lubuntu 12.10 LXDE работает на нетбуке Samsung (процессор: 1,66 ГГц Intel Atom; ОЗУ: 2 ГБ)

Следующие две команды сразу вышли из системы:

sudo pkill -u username
sudo service lightdm restart
afc888ny
источник
это правильный ответ для меня!
3

Я пытался, gnome-session-quit --forceи это работает!

Примечание: я использую Ubuntu 15.04

Важа Гелашвили
источник
3

Если вы не хотите завершать сеанс, вы можете вернуться к экрану входа в систему, используя:

dm-tool switch-to-greeter

Если вы выберете своего пользователя и введете пароль, сеанс будет возобновлен, поэтому это не полный выход из системы.

Занна
источник
2

Определите функцию, добавив следующую строку в ваш .bashrc, затем вызовите ее, введя logoff в командной строке.

  logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out
vanvliet.eric
источник
2
Не могли бы вы добавить больше информации о том, как на самом деле использовать это? Это немного расплывчато сейчас. Спасибо!
Сет
добавьте строку в ваш .bashrc, просто введите logoff в командной строке.
vanvliet.eric
Вы должны отредактировать эту информацию в своем ответе;)
Сет
1

А в kubuntu 12.04+ это так:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0
саман
источник
0

Есть способ, который будет работать независимо от того, используете ли вы X или TTY. Там вы идете:

  • Если вы используете lightdm

    sudo service lightdm restart
    
  • если вы используете gdmили в Ubuntu GNOME

    sudo service gdm restart
    
  • Если вы используете kdmили в Kubuntu

    sudo service kdm restart
    

Недостатком этой команды является то, что она будет запрашивать ваш пароль.

user258456
источник
0

Обновление 2019

Другие ответы не сработали для меня. На Ubuntu 18 (LTS) легко набрать:

exit

Он вернет вас к экрану входа.

Павел Ковалев
источник
-1

Я нашел это случайно.

luvpreet@DHARI-Inspiron-3542:~/go/bin$ who -uH
NAME     LINE         TIME             IDLE          PID COMMENT
luvpreet tty7         2017-12-27 17:33  old        27458 (:0)

Здесь вы получите идентификатор процесса вашей текущей сессии.

Так легко. Убей это

luvpreet@DHARI-Inspiron-3542:~$ kill 27458

Вот и ты.

luv.preet
источник