如何通过命令关闭XServer会话

如何通过命令关闭XServer会话

我有一台 Debian 8.5 计算机。为了创建新会话,我运行命令 startx。使用此命令创建一个新会话。如何通过命令关闭此会话并返回到上一个会话?

答案1

终止 X 会话的主进程。主进程是xinitie的子进程~/.xinitrc(通常是 shell 脚本)。通常最后一件事.xinitrc是调用窗口管理器或会话管理器(例如,,,,twm…… )。fvwmgnome-session

要记住进程 ID,可以将其放入环境变量中。例如,我的.xinitrc

export XSESSION_PID="$$"
exec my-favorite-window-manager

这样,我可以使用 my-favorite-window-manager 的“exit”命令退出,或者kill $XSESSION_PID从该 X 会话中的任何 shell 运行。

或者,如果您足够现代,可以运行 D-Bus 和 D-Bus 感知窗口/会话管理器,您可以通过 D-Bus 向其发送命令,让它知道您想要注销。看通过 dbus 从终端注销的通用方法

答案2

我只是跑

killall xinit

我没有在 $$ 中放入任何内容,因为 bash 使用 $$ 作为 shell 的 pid。

相关内容