退出图形 X 会话并返回 TTY

退出图形 X 会话并返回 TTY

如果我使用从 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 或注销,会话仍然存在。

相关内容