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


248

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

Ответы:


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для этой цели.


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"
— нообниня


6

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

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

sudo pkill -u username
sudo service lightdm restart

это правильный ответ для меня!


3

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

dm-tool switch-to-greeter

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


2

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

  logoff() { gnome-session-quit --logout --no-prompt ; } # Log Out

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
    

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


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

Вот и ты.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.