问题描述
所有操作系统有时会冻结,Ubuntu也不例外。我应该怎样做才能重获控制权……
-
只有一个程序停止响应?
-
什么都不回应鼠标点击或按键?
-
鼠标完全停止移动?
在决定拔电源插头之前,我应该以什么顺序尝试各种解决方案?
启动Ubuntu时应该怎么做?是否有可以遵循的诊断程序?
最佳解决办法
当一个程序停止工作时:
当程序窗口停止响应时,通常可以通过单击窗口左上角的X-shaped关闭按钮来停止它。这通常会导致出现一个对话框,指出程序没有响应(但您已经知道),并向您提供杀死程序或继续等待它响应的选项。
有时候这并不像预期的那样工作。如果您无法通过常规方式关闭窗口,则可以点击Alt
+ F2
,键入xkill
,然后按Enter
。您的鼠标光标将变为X.将鼠标悬停在违规窗口上并将left-click关闭。右击将取消并将鼠标恢复正常。
另一方面,如果您的程序是从终端运行的,则通常可以通过Ctrl
+ C
停止。如果不是,则为find the name and process ID of its command,并告诉程序尽快用kill [process ID here]
结束。它发送默认信号SIGTERM
(15
)。如果一切都失败了,作为最后的手段发送SIGKILL
(9
):kill -9 [process ID here]
。请注意,您应该只使用SIGKILL
作为最后的手段,因为该进程将被内核立即终止而无需清理。它甚至没有得到信号 – 它只是停止存在。
(杀死一个由kill -9
执行的进程,如果你有权限杀死,那么这个进程是有效的,在某些特殊情况下,进程仍然被ps
或者top
(“zombie”)列出 – 在这种情况下,程序被终止,但进程表保存,请稍后再说吧。)
当鼠标停止工作时:
如果键盘仍然工作,请按Alt
+ F2
并运行gnome-terminal
(或者,如果这些启动失败,请按Alt
+ Ctrl
+ F1
并使用您的用户名和密码登录)。从那里你可以解决事情。我不打算在这里进入鼠标故障排除,因为我没有研究它。如果您只想尝试重新启动GUI,请运行sudo service lightdm restart
。这应该会降低GUI,然后尝试重新生成,使您回到登录屏幕。
当您拥有英特尔Bay Trail CPU时
参见https://askubuntu.com/a/803649/225694。
当一切,键和鼠标等全部停止工作时:
首先尝试Phoenix’ answer中概述的Magic SysReq方法。如果这不起作用,请按电脑机箱上的重置按钮。如果即使这样也行不通,你只需要power-cycle机器。你可能永远达不到这一点。
次佳解决办法
如果它完全锁定,你可以REISUB它,这是一个更安全的选择,只是冷重启电脑。
REISUB通过:
按住Alt
和SysReq (Print Screen)
键,键入R
E
I
S
U
B
。
R: Switch to XLATE mode
E: Send Terminate signal to all processes except for init
I: Send Kill signal to all processes except for init
S: Sync all mounted file-systems
U: Remount file-systems as read-only
B: Reboot
如果你需要记住它的话,REISUB就会变得繁忙,就像“系统比它应该忙得多”一样。或者通过助记 – R eboot; E ven;我f;系统;完全; B打破了。
这是SysReq键:
注:与重新启动整个系统相比,存在更少激进的方式。如果SysReq
键有效,则可以使用Alt
+ SysReq
+ F
来终止进程one-by-one。内核每次都会杀死大多数“昂贵”的进程。如果要杀死一个控制台的所有进程,可以发出Alt
+ SysReq
+ K
。
注意:您应明确启用这些组合键。 Ubuntu提供sysrq默认设置176(128 + 32 + 16),它允许只运行REISUB组合的SUB部分。您可以将其更改为1,或者这可能更少有害,244。要这样做:
sudo nano /etc/sysctl.d/10-magic-sysrq.conf
并将开关176切换到244;然后
echo 244 | sudo tee /proc/sys/kernel/sysrq
它会立即工作!您可以按Alt
+ SysReq
+ F
进行测试。对我来说,它杀死了活动浏览器标签,然后是所有扩展。如果您继续,您可以重新启动X服务器。
有关所有Alt
+ SysReq
功能here的更多信息。
第三种解决办法
您可以使快捷键Ctrl
+ Alt
+ Delete
打开系统监视器,使用该系统监视器可以终止任何无响应的应用程序。
-
打开系统➜首选项➜键盘快捷键,然后单击添加。在命令字段中,输入
gnome-system-monitor
。根据需要命名快捷方式。
-
点击“应用”,然后点击“已禁用”。现在点击键
Ctrl
+Alt
+Delete
-
关闭键盘快捷键并尝试快捷键:
第四种办法
如您所描述的冻结可能是软件和硬件相关的,因为您发现有时难以诊断。
Hardware
如果这是台式电脑,请看你的hardware-cards。对于笔记本电脑和台式机都可能是acpi类型的问题。
暂时简化配置以使显卡与标准键盘和鼠标连接可能会很有用。所有其他卡应该被删除。
对于acpi相关问题,请尝试在grub启动选项中使用noapic nomodeset
启动。它也值得尝试acpi=off
,尽管这可能会有其他不良影响,例如恒定的风扇使用。
同样值得检查bios版本级别,看看厂商是否有更新的bios版本。自述文件应该有希望揭示是否有更新的版本修复了崩溃和死机。
Software
我注意到你已经尝试过270名标准车手,但因冻结而失败。你能澄清,如果你有与open-source驱动程序类似的问题?显然你在测试这个时不会得到Unity。
图形冻结可以是驱动程序/compiz /X /内核中的一个或其组合
如果您愿意尝试以下任何建议,请首先使用一个良好的备份工具(如CloneZilla)备份您的系统。您将需要外部媒体设备来接收图像,例如大型USB存储棒/驱动器或独立的内部hard-drive。
安装更新的nVidia驱动程序
使用Additional Drivers窗口关闭(卸载)当前的173-nvidia驱动程序。
有一小部分重要修复主要在275稳定版本中,但280beta版本中的一小部分修复了冻结 – 值得一试,看看它们是否适用于您的显卡。不幸的是,nvidia没有详细说明他们特别修复了哪些卡片(readme.txt)
但是 – 我会强烈建议备份,除非你对逆转nvidia安装感到有信心 – 特别是因为你对270稍微老一点的驱动程序有严重的问题。我已经无数次地使用了clonezilla,并且一直让我摆脱困境。你确实需要一个大的外部驱动器 – USB棒/外部驱动器或单独的驱动器。
X更新
最新的图形驱动程序已包装在x updates ppa中。
注意 – 这会导致您远离标准基线 – 如果在升级之前升级未来的ppa-purge
PPA本身。
您也可以手动安装nVidia的驱动程序:
尝试安装最新的nvidia stable 275或280驱动程序 – 32bit 280 drivers: ftp site和64bit: 280 drivers: ftp site
安装
CTRL
+ ALT
+ F1
切换到TTY1并登录
sudo service gdm stop
停止X服务器
sudo su
以root身份运行
cd ~/Downloads
sh NVIDIA-Linux-x86-280.04.run
要安装32位驱动程序(相当于64位),然后重新启动。
卸载
sudo sh NVIDIA* --uninstall
同时删除/etc/X11/xorg.conf
X /核心/Compiz的
如果你运行带有效果的经典Ubuntu,你会得到与标准Ubuntu相同的冻结问题吗?如果你不能用经典的Ubuntu(没有效果)重现冻结,那么这将指向你一个compiz问题。我会向compiz团队提出一个启动板错误报告。
如果空间可用(例如20Gb),则可以与最新的oneiric alpha一起进行双引导/安装。显然这本身不稳定,但它会随着最新的X和内核而来。您可能还需要手动安装以上beta 280图形驱动程序,因为它可能不会在其他驱动程序窗口中提供。
如果在测试过程中您看不到相同的冻结活动,您可以尝试使用x-edgers ppa提升X版本,并在Natty中使用内核内核3.0。走这条路线并不是真的令人满意 – 并且可能会导致您在将来升级问题 – 并且可能还有其他不可预见的稳定性问题。再次使用ppa-purge
删除PPA。
Kernel 3.0与PPA一起打包 – 如果您打算稍后安装nvidia驱动器,则必须在重新启动之前从突触中安装标头以及内核本身。
这是一个测试ppa – 如果你想尝试这条路线,请准备好备份。
第五种办法
如果你遇到很多死机,你的硬件可能会出现问题。由于某些内存不够理想,我以前每隔48小时就会遇到一次硬锁定。 Memtest86 +在40分钟的测试后显示错误。将RAM更换一些(保修期内),我现在在32天,1小时的正常运行时间。
Ubuntu不会像Windows一样随着时间的推移泄漏你的内存。即使一个应用程序或一个差的X视频驱动程序都可以,您可以非常简单地重新启动LigthtDM,只需继续前进即可。我已经在这一次启动中通过了nvidia驱动程序的三个测试版本:)
无论如何…虽然知道如何轻松重启是非常方便的事情,但查找,报告和修复系统应该是您的下一个重点。如果它是always-on系统,您应该可以轻松地在不需要重新启动的情况下在内核更新*之间进行创建。
*当你得到内核更新时你应该重新启动,因为它们将会是安全修复程序,直到你重新启动到新的内核之后才会被应用。
第六种办法
当一切停止工作时,首先尝试Ctrl
+ Alt
+ F1
去终端,在那里你可能会杀死X或其他问题进程。
如果即使这样也行不通,请尝试按住Alt
+ SysReq
,同时按下(缓慢,每次之间几秒钟)R
E
I
S
U
B
。
这使键盘处于原始模式,结束各种状态的任务,同步磁盘等,最后重新引导机器。你会得到更好的结果,而不仅仅是拉动插头。当然,如果这样做失败了,你几乎不用拔插头。
第七种办法
另外,有时候它只是挂起的X-Server–这是我在使用Compiz时最常见的一种情况。
如果是这种情况,您可以杀死X,它会重新启动,并将您放回到log-in屏幕。
默认顺序是Ctrl
+ Alt
+ Backspace
虽然这是默认关闭的(推测new-users意外击中它),并且可以像这样重新开启:
-
System
→Keyboard
(即键盘首选项对话) -
布局选项卡
-
点击选项按钮
-
在关键序列中杀死X服务器点检查
Ctrl
+Alt
+Backspace
。
第八种办法
我的第一个喜欢当总冻结发生 – Alt
+ SysRq
+ K
。
该组合杀死X,并将我返回到图形登录屏幕。如果还是不行,请尝试Alt
+ SysRq
+ R
E
I
S
U
B
。
第九种办法
在这种情况下,您可以尝试CTRL
– ALT
– F1
以进入控制台。然后用您的密码登录。
重新启动GUI
您可以尝试使用以下命令重新启动图形桌面:
sudo service lightdm restart
如果你正在运行Ubuntu 11.04或更早的版本,你应该使用它(因为gdm
曾经是默认的显示管理器):
sudo service gdm restart
如果你使用的是Kubuntu,那么默认的显示管理器是kdm
,所以你应该使用:
sudo service kdm restart
如果您使用的是其他显示器管理器,请用名称替换ligthdm
/gdm
/kdm
。
重新启动机器
如果你想做一个干净的系统重启,使用:
sudo shutdown -r now
第十种办法
DoR和Phoenix已经很好地回答了这个问题。为了使这个页面更完整我会补充:
如果只有X是”broken”,则可以使用内核来杀死它:
SysRq
+ Alt
+ K
对于笔记本电脑(取决于型号,如果”SysRq”以蓝色写入,则通常需要):
Fn
+ SysRq
+ Alt
+ K
(按下SysRq
后释放Fn
)。