如果我使用从 TTY 启动图形会话(通常是 Unity Desktop,有时是 XFCE,但通用方法值得赞赏)startx
,我该如何再次退出此 GUI 以返回到我的 TTY 控制台而不注销?
我尝试了一下pkill init
,似乎可以达到我想要的效果,但这是正确的方法吗?之后的 TTY 会话是否与之前的状态相同startx
,或者是否留下任何痕迹?最好解决方案不要强制终止正在运行的应用程序,而是正常退出它们……
编辑:
我启动了一个 Unity Desktop 会话,startx $(which unity)
然后在终端模拟器中运行gnome-session-quit
所有可能的参数组合,但它什么也没做,总是失败并显示以下错误消息:
** (gnome-session-quit:3968): WARNING **: Failed to call logout:
GDBus.Error:org.freedesktop.DBus.Error.ServiceUnknown:
The name org.gnome.SessionManager was not provided by any .service files
答案1
killall xinit
工作正常。不确定您是否会找到一种通用方法来正常关闭所有可能的会话。
出于某种原因,如果我从 TTY 启动一个统一会话,然后运行
unity
在终端中,它似乎相当优雅地关闭了它。
答案2
我注意到你没有说为什么要这样做?建议使用常规注销方法,如果你开始使用startx
它,应该返回到字符映射文本显示。
如果您仍然看到图形登录,并且/或者您不想保存更改或正常注销,或者某些东西崩溃了,有时我会从虚拟 tty 运行,killall -u $(whoami)
这样可以相当快地完成任务。期待也尝试一下,killall xinit
这听起来很有效。这两种方法都相当残酷。
你可以使用 退出图形界面,同时保持终端运行tmux
。你需要先启动 tmux,然后才能意识到这项工作需要很长时间。
我想要一个长时间运行的终端应用程序在我注销并终止 X11 后继续运行,我将ctrl-alt-f4
在“黑白”屏幕上登录,然后su
登录我自己(或者如果我想执行 killall 用户,则登录另一个用户),然后启动会话tmux
,然后ctrl-alt-f1
返回 GUI 并转到:
tmux attach
然后我可以按 alt-F4 或注销,会话仍然存在。