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


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

(Через alt текстDoR дивіться його відповідь на "Перезавантажтесь без привілеїв Судора?" для отримання більшої користі для 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-seit" на 11.10 +
мак

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
@Eugene Як щодо alias logout="sudo pkill -u ${USER}"?
Georgi-it

Це чудове рішення для VM, як у Virtualbox.
Phil Lawlor

1
Чи є причина, яка вам потрібна sudo? Крім того, я думаю, що це відрізняється від виходу з системи, оскільки це знищить усі ваші процеси (наприклад, якщо ви маєте ще один віддалений сеанс, він також буде вбитий). Я також не впевнений, що це обов'язково знищить усі ваші процеси (я можу уявити, що це може вбити себе першим?) Чи знаєте ви, чи можливо це?
capybaralet

Для матерів використовуйте mate-session-save --force-logout. Дивіться цю відповідь .
Jérôme

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.

Оскільки ОП не вказав менеджер вікон / робочих столів, а 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 session" або "Xfce session" під час входу в систему Lightdm, оскільки сеансом все ще керує менеджер сесій Xfce.

Крім того, ще одна опція вийде з системи:

xfce4-session-logout --fast  

Якщо ця команда видана, сеанс не зберігається, тому зазвичай найкраще використовувати xfce4-session-logout --logout.

Можливість виходу з терміналу буде дуже корисною для вас, як і інші варіанти, такі як призупинення роботи, які доступні в xfce4-session-logout.

Для отримання додаткової інформації дивіться веб-сторінки man xfce4-session-logoutабо веб- сторінки Ubuntu в Інтернеті .


Підтверджено, це також справедливо для будь-яких ароматів Ubuntu Studio.
Щось

9

Ви можете використовувати команду нижче:

sudo service lightdm restart

2
Це важко вбиває всі запущені X сесії для всіх користувачів.
sehe

в ~/.bash_aliasesзаписуalias logmeout="service lightdm restart"
noobninja


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() { gnome-session-quit --logout --no-prompt ; } # Log Out

2
Чи можете ви додати більше інформації про те, як насправді це використовувати? Зараз це трохи розпливчасто. Дякую!
Сет

додайте рядок у свій .bashrc, просто введіть реєстрацію при запиті.
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.