退出图形 X 会话并返回 TTY

Byt*_*der 5 xorg tty

如果我从使用 的 TTY 启动图形会话(通常是 Unity 桌面,有时是 XFCE,但一般方法是值得赞赏的)startx,我如何在不注销的情况下再次退出此 GUI 以返回到我的 TTY 控制台?

我试过pkill init这似乎是我想要的,但这是正确的方法吗?之后的 TTY 会话是否处于与之前相同的状态startx或是否有任何痕迹?最好的解决方案不应该强迫正在运行的应用程序终止,而是优雅地退出它们......


编辑:

我开始了一个 Unity 桌面会话,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
Run Code Online (Sandbox Code Playgroud)

Six*_*its 4

killall xinit 
Run Code Online (Sandbox Code Playgroud)

工作正常。不确定您是否会找到一种通用方法来优雅地关闭所有可能的会话。

出于某种原因,如果我从 TTY 启动统一会话,然后运行

unity
Run Code Online (Sandbox Code Playgroud)

在终端中,它似乎相当优雅地关闭它。


小智 0

我注意到你没有说你为什么要这样做?如果您开始使用,建议使用常规注销方法startx它,则应返回到字符映射文本显示。

如果您仍然看到图形登录,和/或如果您不关心正常保存更改或注销,或者如果某些内容崩溃了,有时我会从虚拟 tty 运行,killall -u $(whoami)这样可以很快完成工作。也期待尝试killall xinit听起来有效的方法。两者都是相当残酷的方式。

您可以在保持终端运行的同时注销图形界面tmux。在您意识到这项工作需要很长时间之前,您需要启动 tmux。

我想要一个长时间运行的终端应用程序通过我的注销继续运行并终止 X11,我将ctrl-alt-f4在“黑白”屏幕上登录,然后su登录到我自己(或其他用户,如果我想杀死所有用户),然后启动一个tmux会话,然后ctrl-alt-f1返回 GUI 并执行:

tmux attach

然后我可以 alt-F4 或注销,会话仍然存在。