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

use*_*850 35 linux command-line ubuntu freeze

我使用 Ubuntu。有时,系统对鼠标和键盘没有任何反应。除了按机器上的reset键,有没有什么办法可以解决这个问题?

Eli*_*gan 46

如果您想要一种重新启动的方法,既不保存打开的文档,又不点击重置按钮,那么有一些方法不太可能导致数据丢失。首先,尝试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 中很容易,而其他时候则不然。例如,Archive Manager 进程的名称是file-roller。如果您无法弄清楚,您通常可以在网上轻松找到相关信息(或者如果您不能,您可以发布有关它的问题)。

    您可以通过管道将ps输出grep缩小到缩小范围。假设是 Archive Manager 导致了问题。然后你可以运行:

     ps x | grep file-roller
    
    Run Code Online (Sandbox Code Playgroud)

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

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

    kill PID
    Run Code Online (Sandbox Code Playgroud)

    哪里PID是您要杀死的进程的进程 ID 号,从ps第 3 步中的运行中获得。

  5. SIGTERM是一种坚决要求进程退出的方法。该过程可以忽略该信号,并且会在某些情况下发生故障时忽略该信号。所以你应该检查它是否有效。如果没有,用 杀死它SIGKILL,它不能忽略,并且总是有效,除非进程处于不间断睡眠状态(或者如果它没有真正运行,而是一个僵尸进程)。

    您既可以检查进程是否仍在运行,SIGKILL如果是,则使用一个命令将其终止:

    kill -KILL PID
    Run Code Online (Sandbox Code Playgroud)

    如果您收到类似 的消息,您就知道用工作杀死它。如果你没有得到任何输出,你就知道没有用。在那种情况下,可能确实如此,但值得再次运行它来检查一下。(按向上箭头键调出以前的命令,以便于输入。)kill: (PID) - No such processSIGTERMSIGTERMSIGKILL

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

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

如果你知道有具有相同的名称,你要杀人,你可以使用一个没有其他进程killall,而不是kill和过程,而不是进程ID号的名称。

一个进程独占 CPU 资源

如果一个进程以可能的最高优先级或非常接近最高优先级运行(或者更准确地说,在或接近最低可能的niceness),它可能会使您的图形用户界面完全或几乎完全无响应。但是,在这种情况下,您可能无法切换到虚拟控制台并运行命令(甚至可能无法重新启动)。

如果以正常或适度提高的优先级运行的进程或进程组合使您的机器变慢,您应该能够使用上一节中的技术杀死它们。但是,如果它们是图形程序,您也可以通过单击其窗口上的关闭按钮来终止它们——如果它们没有响应,桌面环境将提供终止它们的选项。如果这不起作用,当然你可以(几乎)总是用kill -KILL.

输入/输出问题

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

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

显卡问题

某些 GUI 锁定可能是由图形卡问题引起的。您可以尝试一些方法来缓解这种情况:

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

  2. 看看是否有不同的视频驱动程序可供您尝试。您可以通过检查附加驱动程序来做到这一点;您还可以在网络上搜索以查看哪些 Linux 驱动程序可用于您的视频卡。大多数专有显卡是 Intel、AMD/ATiNvidia(单击这些链接可查看有关在 Ubuntu 中为这些显卡安装和使用专有驱动程序的社区文档)。对于英特尔,您最好坚持使用 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。无论您使用的是哪种,请尝试其他。有时,Wayland 的问题可以通过使用 X.org 来解决,反之亦然。

  5. 报告错误。

希望以上信息传达了一些有关可能导致此类问题的一般信息。它还应该有助于阐明哪些信息可能对您有用(取决于问题的具体细节),以便获得更好的答案。(或者使用特定于您的情况的其他信息来改进此答案。)

  • 如果键盘停止响应,则无法使用 Ctrl+Alt+FN (3认同)
  • 解决挂起问题的非常好的技巧。 (2认同)

dai*_*isy 8

是的,解决这个问题的最简单方法是启用杀死 Xorg 服务器的密钥,然后重新启动 X 会话。

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

Ctrl + Alt + 退格键

在此处输入图片说明

所以当它挂起时,hitCtrlAltBackspace将杀死 X 服务器,而 lightdm 将重新启动登录界面

  • `Alt+Print+K` 可以开箱即用,不是吗? (3认同)