您如何通过终端注销?


248

是否有一个终端命令可以使您退出当前的桌面会话,并带您回到登录屏幕?

Answers:


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注销?我永远都不会记住。

是的,有一个名为注销的命令,但它与终端有关。gnome-session-save是实际上退出的程序,gnome-session您当然可以将其杀死,但是不符合注销的资格。:-)

还要注意,这些命令不需要您是root用户。

如果要使用更短的命令,可以始终为系统添加别名

~/.bash_aliases使用文本编辑器打开,或者如果不存在则创建它,然后向其中添加类似的内容:

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

(.bashrc是一个脚本,每次启动新的虚拟终端时都会运行该脚本,您应该在那里设置所有永久别名,另请参见:如何创建永久“别名”?


1
这是最简单的方法吗?没有简单的一行命令sudo logout?我永远都不会记住。
TheXed 2010年

2
好吧,总会有Ctrl-Alt-Backspace键(如果启用了它),但这又是在杀死会话而不是退出会话。
koanhead

4
您能否更新您的答案,说“ gnome-session-save”已重命名为“ gnome-session-quit”,版本为11.10 +
mac

1
尝试从ssh或其他终端注销会话时,可能要添加DISPLAY =:0.0或类似内容。
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

我已经安装了mate桌面,但所有菜单都不起作用,即使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

对于Virtualbox中的VM,这是一个很好的解决方案。
菲尔·罗勒

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会话,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

使用终端注销的功能对您非常有用,其他可用的选项(例如suspend)也将对您有用xfce4-session-logout

有关更多信息,请参见man xfce4-session-logout在线Ubuntu联机帮助页


确认,这也适用于所有Ubuntu Studio版本。
somethis



6

在Samsung上网本上运行的lubuntu 12.10 LXDE(CPU:1.66 GHZ Intel Atom; RAM:2GB)

以下两个命令立即将我注销:

sudo pkill -u username
sudo service lightdm restart

这对我来说是正确的答案!


3

如果您不想终止会话,可以使用以下命令返回登录屏幕:

dm-tool switch-to-greeter

如果选择用户并输入密码,会话将恢复,因此不是完全注销。


2

通过在.bashrc中添加以下行来定义函数,然后在shell提示符下键入logoff进行调用。

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

2
您能否添加更多有关如何实际使用此功能的信息?现在有点模糊了。谢谢!
塞斯

将行添加到您的.bashrc中,只需在提示符下键入logoff即可。
vanvliet.eric 2014年

您应该将这些信息编辑成答案;)
塞思(Seth)

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
    

该命令的缺点是它将要求您输入密码。



-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)

在这里,您将获得当前会话的进程ID。

太简单。杀死它

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

妳去

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.