我正在运行 Linux Mint 10,尽管我在其他 Linux 版本上也遇到过同样的问题。在研究过程中,我被告知/发现,如果 X 服务器挂起或出现其他错误,则可以转到 root 提示符(通常在另一个 tty 上),然后执行init 3
(转到单用户模式),然后init 5
返回到默认的图形会话。
不用说,我之前在多台机器上的多种配置中尝试过这个,但都无济于事。执行这两个命令后我收到的唯一反馈是停止然后重新启动的 VMWare 服务列表(来自内核模块)。
注意:如果我运行startx
(在 之前或之后init 3
),则会被告知 xserver 仍在运行,我应该删除/tmp/.X0-lock
。 尝试后,它会删除该错误消息,但声称无法连接 xserver,因为另一个实例正在运行。
我该如何彻底终止 xserver?我能知道killall
一些进程名称吗?
答案1
Linux Mint 基于 Debian。在 Debian 中,单用户运行级别为 1;3 仍然是多用户运行级别,因此允许 X 继续执行。因此,您需要切换到运行级别 1,init 1
以停止由默认运行级别 (2) 启动的所有进程。然后您可以重新初始化到正确的运行级别:init 2
。
看Debian 运行级别了解更多信息。
答案2
关闭 X 服务器的最简单方法是按Ctrl+ Alt+ Backspace。
例如,在 Ubuntu 上,键盘快捷键称为“DontZap”,可以通过以下命令重新启用这些说明。在Linux Mint上应该也是一样的。
最好不要运行startx
。它独立于init 3
/ init 5
,并且会造成混淆。
如今,pkill
比 更受欢迎killall
。它基本上做同样的事情,但它有一个合作伙伴命令,pgrep
您可以使用它来在执行之前查看它会杀死什么。
因此尝试pgrep X
或pgrep Xorg
,然后运行pkill X
或pkill Xorg
如果pgrep
仅列出您想要终止的程序。
在我的 Ubuntu 系统上,我能找到的最可靠的命令是:
pgrep -f '^/usr/bin/X '
这意味着你可以使用以下命令终止所有 X 服务器
pkill -f '^/usr/bin/X '
(但我还没有测试过)。
最后,别忘了查看/var/log/X.0.log
和~/.xsession-errors
。也许你可以找出导致 X 服务器挂起的原因。
答案3
当我更新 Xorg 或视频驱动程序时:
- 按Ctrl++AltF1
- 以用户身份登录
键入以下命令:
sudo /etc/init.d/lightdm stop #or slim gdm mdm etc... #do stuff sudo /etc/init.d/lightdm start #or slim gdm mdm etc...
(停止显示管理器也会停止 X。)