如何修复无响应的Ubuntu系统?


22

我使用Ubuntu。有时,系统对鼠标和键盘没有任何响应。除了点击机器上的“重置”按钮外,还有什么方法可以解决此问题?


1
这是一个棘手的问题,因为您没有给我们太多帮助...如果是我,我将按CTRL + ALT + F [1..6],登录并终止某些进程。但是我几乎总是知道是什么使我的计算机无响应,而您却没有。另外,有时我会编写一些我知道使其无响应的程序,因为我想要该程序的输出。
ixtmixilix 2012年

您确定系统无响应,还是系统仍在工作但输入设备停止运行?
鲍比(Bobby)

Answers:


35

如果您想要一种重启方式,而不保存打开的文档,但又不点击“重置”按钮,那么某些方式不太可能导致数据丢失。首先,尝试Ctrl+ Alt+ F1。如ixtmixilix所述,这应该将您带到虚拟控制台。一旦你在一个虚拟主机的时候,+ + 将关闭并重新启动计算机。CtrlAltDelete

如果该技术不起作用,那么总会有Alt+ SysRq+REISUB

至于在不重新启动的情况下解决问题,而又没有更多有关正在发生的事情的信息,将很难给出一个好的答案。如果您可以描述发生这种情况的情况(最好的方法是编辑问题以添加信息),那么这可能会帮助人们提供良好的答案。其他的事情要考虑的是,如果您的计算机不响应-尤其是如果它超过AA几秒钟Ctrl+ Alt+ F1,弹出一个虚拟主机-那么你几乎肯定是一个bug,并报告它可以既可以帮助社区,也可以得到答案。

GUI故障导致WM或X11 / Wayland无法响应

这可能是由于应用程序和窗口管理器(或X11服务器或Wayland)之间的交互而发生的。这是问题本质的一种迹象,是应用程序停止响应并阻止您使用键盘或鼠标向其他应用程序窗口输入输入。(没有应用程序应该能够执行此操作;某些GUI组件中必须包含一个错误才能使之发生。)如果发生了这种情况,那么您可以在虚拟控制台中终止有问题的进程(如ixtmixilix所暗示的):

  1. Ctrl+ Alt+ F1

  2. 登录。输入密码后,您将看不到任何内容。那很正常

  3. 使用类似实用程序的工具ps来找出有问题的程序的进程名称。有时在Ubuntu中这很容易,而在其他时候则并非如此。例如,存档管理器进程的名称为file-roller。如果您在解决问题时遇到困难,通常可以在网上找到信息而不会遇到太多麻烦(或者,如果不能,则可以发布有关此问题的信息)。

    您可以通过管道ps输出grep缩小范围。假设是造成问题的存档管理器。然后,您可以运行:

    ps x | grep file-roller
    

    您会看到自己grep命令的条目,以及的条目file-roller

  4. 尝试通过杀死有害的进程SIGTERM。这使它有机会进行最后一刻的清理工作,例如刷新文件缓冲区,向远程服务器发出即将断开连接的信号(对于执行此操作的协议)以及释放其他种类的资源。为此,请使用以下kill命令:

    kill PID

    从步骤3中运行获得的您要杀死的进程PID进程ID号在哪里ps

  5. SIGTERM是坚定要求退出流程的一种方法。该过程可以忽略该信号,并且在某些情况下会在故障时这样做。因此,您应该检查一下它是否起作用。如果不是,请使用杀死它SIGKILL,它不能忽略,并且总是可以正常工作,除非在极少数情况下该进程处于不间断的睡眠状态(或者如果它不是真正在运行,而是僵尸进程)。

    您既可以查看该进程是否仍在运行,也可以使用SIGKILL一个命令将其杀死(如果已运行):

    kill -KILL PID

    如果您收到类似的消息,则说明您可以通过杀死它来解决问题。如果没有任何输出,说明您没有用。在这种情况下,也许可以,但是值得再次运行。(按向上箭头键可以调出以前的命令,以便于键入。)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

  6. 在极少数情况下,您自己的进程或者总是拥有属于您或您自己root之外的其他用户的进程,您必须按杀死该进程root。为此,请sudo 在上述kill命令之前加前缀(包括尾随空格)。如果上述命令不起作用,或者被告知您没有杀死该进程的必要权限,请尝试root使用sudo

(顺便说一下,kill -KILL它与广泛流行的相同kill -9。我建议,kill -KILL因为SIGKILL不能保证9在所有平台上都具有其信号编号。它可以在x86上运行,但这并不意味着它一定在任何地方都可以工作。kill -KILLkill -9。更可能成功结束该过程。但是它们在x86上是等效的,因此,如果您愿意,可以在那里随意使用它。)

如果您知道没有其他进程与要杀死的进程具有相同的名称,则可以使用killall代替kill和进程名称代替进程ID号。

独占CPU资源的进程

如果一个进程运行或非常接近可能的最高优先级(或状态时,它更恰当,达到或接近最低的正派),它可能会完全呈现你的图形用户界面,或接近完全,反应迟钝。但是,在这种情况下,您可能将无法切换到虚拟控制台并运行命令(甚至重启)。

如果以正常或中等优先级运行的某个进程或多个进程的组合使您的计算机运行速度减慢,则应该能够使用上一节中的方法将其杀死。但是,如果它们是图形程序,则也可以通过单击其窗口上的关闭按钮来杀死它们-桌面环境将为您提供选择,使其在没有响应的情况下将其杀死。如果这不起作用,您当然可以(几乎)始终使用杀死它们kill -KILL

I / O问题

错误的I / O可能导致长时间(甚至永久)的无响应。这可能是由于内核错误和/或错误驱动程序引起的。一种解决方法是避免繁重的同时读取和/或写入操作(例如,不要在两个同时复制过程中一次复制两个大文件;不要在观看高清视频或安装光盘时复制一个大文件)。虚拟机中的操作系统)。

这显然是不能令人满意的,真正的解决方案是找到问题并报告。除非您从kernel.org运行主线内核,否则应针对linuxUbuntu 中的软件包报告内核错误(因为Ubuntu提供了集成了发行版特定补丁程序的特殊内核构建,并且未针对主线内核确认的错误报告将在以下位置被拒绝)kernel.org)。您应该通过在受影响的计算机上运行ubuntu-bug linux(或apport-cli linux)来执行此操作。首先请参阅Ubuntu错误报告文档。它说明了如何正确执行此操作。

显卡问题

图形卡问题可能导致某些GUI锁定。您可以尝试一些方法来减轻这种情况:

  1. 在网上搜索,看看其他人是否在Ubuntu或其他GNU / Linux发行版上使用相同的视频卡(和/或机器的型号)遇到了类似的问题。可能有比我在此答案中提供的解决方案更具体的解决方案,而没有比您的问题当前更具体的信息。

  2. 查看是否有其他视频驱动程序可供您尝试。您可以通过签入其他驱动程序来完成;您还可以在网上搜索以查看视频卡可用的Linux驱动程序。大多数专有视频卡是Intel,AMD / ATiNvidia(单击这些链接可查看有关在Ubuntu中为这些卡安装和使用专有驱动程序的社区文档)。对于Intel,最好不要使用Ubuntu中提供的FOSS驱动程序,但是仍然可以使用有用的信息。无论您拥有什么卡,此一般信息都可能会有所帮助。

    如果当前正在使用专有驱动程序,则可以尝试使用其他专有驱动程序(例如,直接来自NVidia或AMD / ATi),或者可以尝试使用免费的开源驱动程序。

  3. 尝试选择不需要/不使用图形加速的图形登录会话类型。为此,请注销,然后在图形登录屏幕上单击登录名附近的Ubuntu徽标或齿轮图标。显示一个下拉菜单。将选择从Ubuntu更改为Ubuntu 2D。这使您可以使用Unity 2D代替Unity。(如果使用的是GNOME Shell,则可以选择GNOME Fallback / GNOME Classic。)如果有疑问,并且有一个选项说“没有效果”,请选择它,因为这可能是最安全的。

    这个问题提供了更多有关在Ubuntu中可以选择的不同图形界面的信息。

  4. 在较新版本的Ubuntu中,您可以在登录屏幕上在X.org和Wayland之间进行选择。无论您使用哪个,请尝试另一个。有时,可以使用X.org解决Wayland的问题,反之亦然。

  5. 报告错误。

希望以上信息传达了有关可能导致这种问题的一些常规信息。它还应有助于阐明什么样的信息可能对您添加到您的问题中很有帮助(取决于问题的具体细节),从而有可能获得更好的答案。(或者使用针对您情况的其他信息来改善此答案。)


1
很好地解决挂起问题的技巧。
Cool Charac '17

如果键盘停止响应,则无法使用Ctrl + Alt + FN
szx

6

是的,最简单的存档方法是启用密钥以杀死Xorg服务器,然后重新启动X会话。

要启用此功能,请打开系统设置->键盘布局选项(或keyboard在Unity界面中使用 命令,点击AltF2),然后选中以下选项:

Ctrl + Alt +退格键

在此处输入图片说明

因此,当挂起时,hit CtrlAltBackspace将杀死X服务器,而lightdm将重新启动登录界面


Alt+Print+K开箱即用,不会吗?
鲍比(Bobby)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.