18.04 从挂起状态唤醒后屏幕保持空白

dea*_*eon 82 suspend screen

因此,当我暂停我的笔记本电脑,然后稍后将其唤醒时,我的笔记本电脑确实打开了,例如,我可以使用 kepboard 通过音频确认来调高和调低音量,但我的屏幕仍然是黑色的并且没有直到我重新启动笔记本电脑后才显示任何内容。

小智 32

它又是越野车的新司机。这就是为我解决问题的原因。编辑文件/etc/default/grub(使用 Vi 编辑器——有些用户在 Vi 中编辑后无法保存,不得不使用备用的“Ex”编辑模式,该模式sudo edit在下面替换Alt+:w:x保存和退出命令)。

$ sudoedit /etc/default/grub 
Run Code Online (Sandbox Code Playgroud)

添加 nouveau.modeset=0 到显示GRUB_CMDLINE_LINUX然后按CtrlO保存文件并CtrlX离开编辑器的行。

$ sudo update-grub
Run Code Online (Sandbox Code Playgroud)

现在重新启动。

  • 它对我不起作用 - 使用带有 nvidia-390 驱动程序的 GTX 970。 (7认同)
  • 我在 18.04 上有一个 NVIDIA GTX1050 Ti。对我来说,这个解决方案搞砸了我的显示分辨率,而没有在重新启动后修复它的选项。转到“软件和更新”(在应用程序列表中),在“其他驱动程序”中,我发现它使用的是“X.Org X Server Nouveau Display Driver”而不是 NVIDIA 提供的驱动程序。我选择了 NVIDIA 驱动程序并删除了 nouveau.modeset=0(上面建议的)做了 update-grub 并重新启动。现在暂停/恢复似乎运行良好。希望这可以帮助某人。 (4认同)
  • AMD 用户呢?这听起来非常熟悉…… (3认同)
  • 编辑后的文件会是什么样子?我不太明白。 (2认同)

Alm*_*sal 19

那好像是显卡驱动的问题。
尝试Ctrl+ Alt+F3那么Ctrl+ Alt+ F2(可能是F7)这可能打开显示器。
但这是临时解决方案。

您可能想要持久的解决方案,然后您可以尝试升级或更改图形驱动程序或尝试@cascagrossa 的 grub 设置解决方案。

  • 此解决方案适用于我的设置。2 台显示器通过 DP 连接到 nvidia 1080。当我的电源设置关闭我的显示器 9/10 恢复时,我的辅助显示器收到“无显示信号”消息并保持关闭状态。每次都使用这些组合键。谢谢! (2认同)

Cir*_*郝海东 8

Ubuntu 21.10/22.04 NVIDIA 470/510nv_restore_user_channels错误

当我在 Lenovo ThinkPad P51 NVIDIA Quadro M1200 上迁移到 Ubuntu 21.10 时,这种情况就开始发生在我身上,并且根据内核跟踪,这正是这个错误:https: //bugs.launchpad.net/ubuntu/+source/nvidia -graphics-drivers-510/+bug/1946303我的重复调查:https://bugs.launchpad.net/ubuntu/+source/nvidia-graphics-drivers-510/+bug/1953674

为了轻松重现该问题,我必须断开笔记本电脑的电源线并仅使用电池。否则,该问题只会偶尔发生,更常见的是暂停几个小时后。

解决方法:

  • 选项1:错误报告链接到来自英雄用户humblebee的https://forums.developer.nvidia.com/t/fixed-suspend-resume-issues-with-the-driver-version-470/187150/3 ,它有解决方法:

    sudo systemctl stop nvidia-suspend.service
    sudo systemctl stop nvidia-hibernate.service
    sudo systemctl stop nvidia-resume.service
    
    sudo systemctl disable nvidia-suspend.service
    sudo systemctl disable nvidia-hibernate.service
    sudo systemctl disable nvidia-resume.service
    
    sudo mv /lib/systemd/system-sleep/nvidia ~/nvidia.bak
    
    Run Code Online (Sandbox Code Playgroud)

    并重新启动。

    如果你用核武器攻击它,它的内容nvidia.bak是:

    #!/bin/sh
    
    case "$1" in
        post)
            /usr/bin/nvidia-sleep.sh "resume"
            ;;
    esac
    
    Run Code Online (Sandbox Code Playgroud)

    那篇文章给出了他们的根本原因:

    470 驱动程序迁移到 systemd 方法,而以前的版本依赖于内核驱动程序回调。显然这在某些设置和内核上被破坏了。

  • 选项 2:放弃加速并清除 NVIDIA 中的所有内容:卸载所有 nvidia 软件包 ( dpkg -l | grep -i nvidiasudo apt uninstall),并清除其配置 ( sudo apt purge ...)。配置清除是根本性的,因为如选项 1)所示,配置是问题的关键根本原因。

    请注意,即使像 NVIDIA 的 CUDA/OpenCL 包这样的非图形内容仍然会破坏一些东西,特别是在删除图形但保留它们后我无法暂停,相关:Ubuntu 18.04.2 立即从暂停中唤醒

很容易知道您是否遇到了相同的错误,只需在 dmesg 上查找以下堆栈跟踪即可。

因为您可能会关闭计算机并重新启动,所以您必须按照如何在 Ubuntu 16.04+ 重新启动后查找先前的启动日志?在上次启动的 dmesg 中查找它们。:

journalctl -b-1
Run Code Online (Sandbox Code Playgroud)

痕迹是:

WARNING: CPU: 0 PID: 18016 at /var/lib/dkms/nvidia/510.47.03/build/nvidia/nv.c:3935 nv_restore_user_channels+0xce/0xe0 [nvidia]

Call Trace:
<TASK>
nv_set_system_power_state+0x22b/0x3e0 [nvidia]
nv_procfs_write_suspend+0xe9/0x140 [nvidia]
proc_reg_write+0x5a/0x90
? __cond_resched+0x1a/0x50
vfs_write+0xc3/0x250
ksys_write+0x67/0xe0
__x64_sys_write+0x19/0x20
do_syscall_64+0x61/0xb0
? exit_to_user_mode_prepare+0x37/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? __x64_sys_newfstatat+0x1c/0x20
? do_syscall_64+0x6e/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? do_syscall_64+0x6e/0xb0
? asm_exc_page_fault+0x8/0x30
entry_SYSCALL_64_after_hwframe+0x44/0xae
Run Code Online (Sandbox Code Playgroud)
WARNING: CPU: 0 PID: 18016 at /var/lib/dkms/nvidia/510.47.03/build/nvidia/nv.c:4152 nv_set_system_power_state+0x2d0/0x3e0 [nvidia]

nv_procfs_write_suspend+0xe9/0x140 [nvidia]
proc_reg_write+0x5a/0x90
? __cond_resched+0x1a/0x50
vfs_write+0xc3/0x250
ksys_write+0x67/0xe0
__x64_sys_write+0x19/0x20
do_syscall_64+0x61/0xb0
? exit_to_user_mode_prepare+0x37/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? __x64_sys_newfstatat+0x1c/0x20
? do_syscall_64+0x6e/0xb0
? syscall_exit_to_user_mode+0x27/0x50
? do_syscall_64+0x6e/0xb0
? asm_exc_page_fault+0x8/0x30
entry_SYSCALL_64_after_hwframe+0x44/0xae
Run Code Online (Sandbox Code Playgroud)

我还看到以下 ACPI 错误:

ACPI BIOS Error (bug): Could not resolve symbol [\_SB.PCI0.LPCB.EC.HKEY.DEVT.PEGS], AE_NOT_FOUND (20210331/psargs-330)

No Local Variables are initialized for Method [DEVT]

Initialized Arguments for Method [DEVT]:  (1 arguments defined for method invocation)
  Arg0:   00000000fe968048 <Obj>           Integer 00000000000000D3

ACPI Error: Aborting method \_SB.PCI0.LPCB.EC.HKEY.DEVT due to previous error (AE_NOT_FOUND) (20210331/psparse-529)
Run Code Online (Sandbox Code Playgroud)

有关的:


Gab*_*les 6

如果在 Ubuntu 22.04.2 或任何使用 Wayland 的 Ubuntu 操作系统上

请在此处查看我的答案:Wayland 窗口管理器导致我的计算机停留在黑色/空白屏幕上并且无法唤醒。我在那里详细介绍了 3 个修复程序,因此请先查看它们。

我还开始在我的个人网站上记录这些类型的问题和修复,这样我就可以跟踪它们,因为每次升级到最新版本的 Ubuntu 时我自己都需要它们:修复视频驱动程序(以及相关的)的常见方法) Linux Ubuntu 中的问题

最后的手段:在硬重启之前先中断内核软重启过程

请记住:在按住电源按钮进行硬重启之前,您始终可以使用以下时髦的序列进行软重启:

按住Ctrl+ Alt+ PrScr,然后一次按一个以下键,同时始终按住前 3 个键:R, E, I, S, U, B

请注意,在某些(许多?)笔记本电脑/键盘上,该PrScr按钮可能需要您的功能键Fn来激活它,因此您可能必须按住Ctrl+ Alt+ PrScr+ Fn,同时键入 REISUB 重新启动键序列。

我不记得我在哪里学到这个,但我几年前在 Ask Ubuntu 或 SuperUser 上从其他人那里读到过它。最后一个键“B”代表“B'oot”。因此,当您按下该键时,您的计算机将重新启动。

对于任何 Linux 问题,请记住这一点。仅当此软重启序列第一次失败时才执行硬重启。

最后的一些想法

  1. 如果您已插入 Yubikey,请将其拔出!它会将自己枚举为计算机的 USB 键盘,并且可能存在“按键卡住”或以其他方式干扰计算机的正常操作。我制作了一个名为“Computa Pranksta”的 USB 键盘设备,有时也会遇到类似的问题。
  2. 您可能遇到了硬件问题,就像我这里的计算机曾经遇到的那样。要对此进行测试,请启动到 BIOS/UEFI 启动菜单并选择运行完整的硬件诊断测试套件(假设您的计算机在出厂时具有此类选项)。它可能会显示内存故障、主板故障或其他问题。
  3. @Vijay Prema 的这个答案看起来很有希望,但不幸的是,我在遇到问题的计算机上没有 BIOS 密码,所以我无法更改 BIOS 设置来找出答案。


小智 5

对我来说,从 gdm3 切换到 lightdm 显示管理器就成功了


归档时间:

查看次数:

98007 次

最近记录:

4 年,1 月 前