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

#1 楼

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的好处!)不会要求用户处理未保存的文档等。


这是最简单的方法吗?没有简单的
行命令,例如sudo注销?我将
永远记住所有这些。 gnome-session-save是实际上退出--force-logout的程序,您当然可以将其杀死,但是并不构成注销。 :-)

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

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

gnome-session-save --force-logout


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

评论


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

–koanhead
2010-12-02 3:04



尝试从ssh或其他终端注销会话时,可能要添加DISPLAY =:0.0或类似内容。

–patrikf
13年3月11日在16:31

在我看来,“-force-logout”工作不完全,因为它会出现此错误:警告**:无法启动:未知选项--force-logout。深入研究man gnome-session-quit之后,我发现“ --force”和“ --logout”实际上是不同的论点。因此,“-force --logout”(“ force”和“ logout”前两个减号,中间有一个空格)会更好,因为您不会出错。至少,Ubuntu 13.04和Linux Mint 15就是这种情况。关于任一发行版的其他/旧版本的IDK。

– TSJNachos117
2013年6月13日在3:19



aaronfranke @ aaron-xub16desk $ dbus发送--session --type = method_call --print-reply --dest = org.gnome.SessionManager / org / gnome / SessionManager org.gnome.SessionManager.Logout uint32:1错误org。 freedesktop.DBus.Error.ServiceUnknown:任何.service文件都不提供名称org.gnome.SessionManager

–亚伦·弗兰克(Aaron Franke)
17年4月18日在21:42

要声明(非)显而易见:对于Ubuntu MATE用户,这是mate-session-save --force-logout

–弗兰克·诺克(Frank Nocke)
18 Mar 23 '18 at 12:33

#2 楼

我已经安装了mate桌面,但所有菜单都不起作用,甚至f键也不起作用。
我设法通过使用文件管理器进行浏览来获取xterm。原为:

sudo pkill -u username


评论


我还为我做了一个别名ulogout =“ sudo pkill -KILL -u $ 1”。可能对某人有用。用法:ulogout user_name

– Eugene
13年1月17日在9:49

@Eugene别名logout =“ sudo pkill -u $ {USER}”怎么样?

–Georgi-it
16年1月4日在9:18

对于Virtualbox中的VM,这是一个很好的解决方案。

– Phil Lawlor
17年8月23日在13:34

您是否需要sudo的原因?另外,我认为这与注销不同,因为它会杀死所有进程(例如,如果您有另一个远程会话,它也会被杀死)。我也不确定它是否一定会杀死您的所有进程(我可以想象它可能首先杀死自己)?您知道这是否可能吗?

–capybaralet
17-10-20在18:38

对于伴侣,请使用mate-session-save --force-logout。看到这个答案。

–杰罗姆
18-10-5在7:50



#3 楼

11.10及更高版本
这是我的个人解决方案!
在终端中,运行:
gedit ~/.bash_aliases

,然后添加:
alias log-out="gnome-session-quit"

到文件中!现在您只需要运行注销!

#4 楼

看起来gnome-session-save已被11.10重命名为gnome-session-quit。主要答案中的所有其他内容都仍应通过该单个更改起作用。 >

#5 楼

对于gnome会话,gnome-session-quit效果很好。默认情况下,它会要求您确认然后注销(即假设使用--logout参数,除非明确用--power-off覆盖)。您还可以告诉命令在注销时不提示您确认:

由于OP没有指定窗口/桌面管理器,并且gnome-session-quit可能无法在所有情况下正常工作,因此这是返回登录屏幕或选择器的通用X-windows方法在过去的几个发行版中,我已经使用过几次:通过在Nautilus中的桌面上单击鼠标右键,然后使用“在终端中打开”快捷方式等),在大多数情况下,键入
当进程挂起或需要快速注销时,我倾向于使用它。完成此操作后,Ubuntu会通过重新生成X-windows礼貌地使我返回登录屏幕。

我还没有使用gnome-session-quitsudo pkill X功能,因为我通常为此目的使用power-off

#6 楼

在Xubuntu上(或每当使用Xfce会话时),您可以使用

xfce4-session-logout --logout
通过
终端注销。您必须指定--logout,否则将显示注销确认屏幕。无论您使用Lightdm登录时指定了'Xubuntu会话'还是'Xfce会话',这都将起作用,因为该会话仍由Xfce会话管理器管理。

此外,另一个选项将登录您也可以:

xfce4-session-logout --fast  


如果发出此命令,则不会保存会话,因此通常最好使用xfce4-session-logout --logout

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

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

评论


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

–somethis
16-09-26在9:26

#7 楼

您可以使用以下命令:

sudo service lightdm restart


评论


对于所有用户来说,这很难杀死所有正在运行的X会话。

–sehe
16年4月25日在20:30

在〜/ .bash_aliases中写别名logmeout =“ service lightdm restart”

– noobninja
16年11月15日在13:13

#8 楼

对于Ubuntu Mate使用mate-session-save --force-logout。就像gnome-session-quit一样。

#9 楼

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

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

sudo pkill -u username
sudo service lightdm restart


#10 楼

我尝试了gnome-session-quit --force,它可以正常工作!

注意:我使用ubuntu 15.04

评论


这是最好的答案

– Mark Jeronimus
19/12/6在19:59

#11 楼

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

dm-tool switch-to-greeter


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

#12 楼

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

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


#13 楼

在kubuntu 12.04+中,它是:

qdbus org.kde.ksmserver /KSMServer org.kde.KSMServerInterface.logout 0 0 0


#14 楼

无论您是运行X还是处于TTY中,都有一种方法可以工作。如果您使用lightdm,请使用以下命令:



如果使用gdm

sudo service lightdm restart



在Ubuntu GNOME中

sudo service gdm restart



如果您使用kdm或在Kubuntu中

sudo service kdm restart



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

#15 楼

我是偶然发现的。

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


你去了。

#16 楼

2019更新

其他答案对我不起作用。在Ubuntu 18(LTS)上,可以轻松键入:

exit

它将返回登录屏幕。

评论


退出不会使您从桌面会话返回登录屏幕,只需关闭终端窗口即可

–cheesits456
20-05-29在10:23