标签: hibernate

休眠后屏幕损坏 - 是否有其他方法可以刷新 X11 显示?

当我从休眠状态恢复时,屏幕经常损坏。我怀疑没有保存图形内存。否则挂起到内存工作正常。

看起来字体缓存也已损坏,因为所有字母均已损坏。该效果似乎针对特定大小的字体。例如,如果我的终端窗口被点击,更改字体和/或字体大小将修复它,除非该大小的字体已经损坏。

如果字体在其他地方(其他应用程序、窗口管理器等)使用,那么问题也存在。有时用于窗口标题的字体被命中,然后所有窗口标题显示相同的字母损坏。

注销并再次登录可以修复它,但我不想这样做。我一直在注销然后休眠,但这是更多的努力并且消除了休眠的大部分好处。

有没有别的办法刷新X11的显示?Ctrl+ Alt+ F1...没有任何解决它。它切换终端但不重绘任何内容:它只显示旧的损坏屏幕。

我正在使用 Debian 6。

在这种情况下,窗口标题不好: 窗口标题字体混乱

终端内容不好,但标题(仍然)还可以: 文本被系统地扭曲,但只有一些字体受到影响

linux desktop xorg desktop-environment hibernate

32
推荐指数
5
解决办法
4万
查看次数

内核如何知道它是从休眠状态恢复,而不是启动?

当Linux系统休眠并从休眠状态恢复时,我认为内核需要知道它正在恢复,而不是引导。否则,内核将启动通常的引导过程,并且不会加载交换的数据。内核如何知道它正在恢复?

起初,我认为GRUB(或其他引导加载程序)通过内核参数告诉内核。但只要我检查/proc/cmdline,内核参数就和平常一样了。是否有任何机制让内核知道它正在恢复?

boot-loader power-management hibernate linux-kernel

27
推荐指数
1
解决办法
3469
查看次数

休眠时如何正确锁定桌面?

如果我锁定屏幕,关闭笔记本电脑盖进入休眠状态,打开笔记本电脑盖并按下电源按钮,屏幕只会显示黑色表面,我可以立即开始输入密码。如果我在休眠前锁屏,等待大约30s,打开笔记本电脑盖并按下电源按钮,屏幕会显示桌面,然后像退出休眠状态xscreensaver后被激活一样逐渐变黑。只有在淡出后,我才能停用屏幕保护程序。如何确保在休眠时始终正确激活,以便我不必等待淡出?xscreensaver

arch-linux hibernate awesome xscreensaver

20
推荐指数
2
解决办法
7100
查看次数

如何运行 systemd 用户服务以触发睡眠(又名挂起、休眠)?

根据我拼凑的各种来源~/.config/systemd/user/screenlock.service

[Unit]
Description=Lock X session
Before=sleep.target

[Service]
Environment=DISPLAY=:0
ExecStart=/usr/bin/xautolock -locknow

[Install]
WantedBy=sleep.target
Run Code Online (Sandbox Code Playgroud)

我已经使用systemctl --user enable screenlock.service. 但是在重新启动、登录、暂停和恢复(systemctl suspend通过关闭盖子进行测试)后,屏幕没有锁定,并且journalctl --user-unit screenlock.service. 我究竟做错了什么?

运行DISPLAY=:0 /usr/bin/xautolock -locknow会按预期锁定屏幕。

$ systemctl --version
systemd 215
+PAM -AUDIT -SELINUX -IMA -SYSVINIT +LIBCRYPTSETUP +GCRYPT +ACL +XZ +SECCOMP -APPARMOR
$ awesome --version
awesome v3.5.5 (Kansas City Shuffle)
 • Build: Apr 11 2014 09:36:33 for x86_64 by gcc version 4.8.2 (nobody@)
 • Compiled against Lua 5.2.3 (running with Lua …
Run Code Online (Sandbox Code Playgroud)

arch-linux sleep suspend hibernate systemd

19
推荐指数
1
解决办法
1万
查看次数

当您的计算机休眠时,交换中的数据会发生什么?

当计算机进入休眠模式时,它会将 RAM 的内容保存到交换空间中,以便在重新启动时可以从上次中断的地方恢复。

那么,如果您当前使用的内存多于 RAM 呢?在这种情况下,一些原本应该在 RAM 中的数据被保存到交换区。

一个例子。一台计算机有 1GB 的 RAM 和 1GB 的交换空间。它目前只使用 100MB 的 RAM 和 500MB 的交换空间。因此,它需要记住大约 1.4GB 的内存来保存其状态。但是,swap 只有 1GB。

在这种情况下会发生什么?

~~编辑~~

如下所述,休眠失败。那么接下来的问题是:

当这失败时,错误报告在哪里?

swap hibernate

12
推荐指数
1
解决办法
1205
查看次数

休眠恢复在 linux 内核 4.9.0、Debian 9 上失败

我最近将内核从 3.16.4 (Debian jessie) 升级到 4.9.0 (Debian stretch)。一切都很好,直到我尝试“休眠”(暂停到磁盘)。

当我在 LXDE 中使用 Hibernate 选项时,它似乎处于休眠状态。我能听到磁盘主轴滴答作响和写入数据的声音。但是从休眠状态恢复时就会出现问题。内核成功地从交换中恢复了映像,但随后冻结并重新启动,所有这些工作都丢失了。我在互联网上的任何地方都找不到答案。人们只是在解决一些关于未设置 /etc/initramfs-tools/conf.d/resume 或设置内核参数或在 /etc/fstab 中输入错误的错误。我有这些正确的。更正 /etc/initramfs-tools/conf.d/resume 中的 UUID,更正 fstab 并且不设置 resume kernel 参数。

  • 我将扩展分区之外的交换分区移动到主分区。UUID 已保存并应用于新的交换。

  • 系统到达“正在恢复映像 100%”,然后到达“暂停控制台”,然后它会断电并正常启动,所有工作都丢失了。

  • 尝试干净安装,但没有运气。

  • 仅在 i386(32 位 x86)上发生,amd64(64 位 x86)不会受到影响。

磁盘分区表布局:

NAME   FSTYPE LABEL    UUID                                 MOUNTPOINT
sda                                                         
??sda1 ext4   HDD      <ROOT-UUID> /
??sda2 swap   HDD-SWAP <SW-UUID> [SWAP]
sr0
Run Code Online (Sandbox Code Playgroud)

sda2 在升级之前是合乎逻辑的(resides-inside-extended)。

表:

UUID=<ROOT-UUID> / ext4 errors=remount-ro 0 1
UUID=<SW-UUID> none swap sw 0 0
Run Code Online (Sandbox Code Playgroud)

/etc/initramfs-tools/conf.d/resume

RESUME=UUID=<SW-UUID>
Run Code Online (Sandbox Code Playgroud)

内核命令行

BOOT_IMAGE=/boot/vmlinuz-4.9.0-3-686-pae root=UUID=<ROOT-UUID> ro quiet
Run Code Online (Sandbox Code Playgroud)

系统信息:

Computer: Compaq CQ60-120ec …
Run Code Online (Sandbox Code Playgroud)

debian hibernate initramfs fstab linux-kernel

10
推荐指数
1
解决办法
9145
查看次数

三星 Ultra book 在休眠后无法唤醒并在 Crunchbang 上暂停

我一直在努力让我的三星 ATIV BOOK 9 Lite暂停和休眠工作几个小时。当我尝试恢复屏幕时,电源指示灯亮起,但屏幕保持黑色。按下大写锁定键时大写锁定指示灯没有反应,因此使用 Fn 键增加屏幕亮度也不起作用。

我使用了内核版本 3.11 和 3.12rc5,pm 日志不会告诉我太多信息。

$ uname --all
Linux wiske 3.11-2-amd64 #1 SMP Debian 3.11.10-1 (2013-12-04) x86_64 GNU/Linux
Run Code Online (Sandbox Code Playgroud)

我的硬件:

$ lspci
00:00.0 Host bridge: Advanced Micro Devices [AMD] Family 16h Processor Root Complex
00:01.0 VGA compatible controller: Advanced Micro Devices [AMD] nee ATI Device 983d
00:01.1 Audio device: Advanced Micro Devices [AMD] nee ATI Device 9840
00:02.0 Host bridge: Advanced Micro Devices [AMD] Family 16h Processor Function 0
00:02.3 PCI bridge: …
Run Code Online (Sandbox Code Playgroud)

debian suspend hibernate crunchbang

9
推荐指数
1
解决办法
2106
查看次数

Linux Mint:休眠不起作用

我在 Linux Mint 14 上尝试了多次休眠。它似乎不起作用。我添加了一些我认为可能有用的日志。有人可以帮我诊断问题吗?

笔记本电脑型号:I:TOSHIBA Satellite R630/便携式电脑,BIOS 版本 1.90 02/24/2011

/var/日志/系统日志

Feb 21 21:21:51 kernel: [ 3526.006366] PM: Marking nosave pages: [mem 0x0009e000-0x000fffff]
Feb 21 21:21:51 kernel: [ 3526.006372] PM: Marking nosave pages: [mem 0xb70d0000-0xffffffff]
Feb 21 21:21:51 kernel: [ 3526.007297] PM: Marking nosave pages: [mem 0x1fc000000-0x1ffffffff]
Feb 21 21:21:51 kernel: [ 3526.007556] PM: Basic memory bitmaps created
Feb 21 21:23:00 kernel: imklog 5.8.6, log source = /proc/kmsg started.


Feb 21 21:23:00 kernel: [    7.877813] EXT4-fs (sda5): INFO: recovery …
Run Code Online (Sandbox Code Playgroud)

hibernate linux-mint pm-utils

8
推荐指数
1
解决办法
7523
查看次数

一种保存程序运行状态的方法

我有一个程序将执行一个冗长的计算,可能需要几天才能完成。

有没有办法保存程序的运行状态;这样我就可以关闭计算机并从保存的状态运行程序。或者如果程序因任何原因崩溃,我可以从保存的状态(而不是从一开始)重新启动它?

process suspend hibernate dump

8
推荐指数
2
解决办法
5267
查看次数

关于如何在 Linux Mint 20 Cinnamon (Ubuntu 20) 上启用休眠并防止意外唤醒的指南

更新:我在第 4 节中遇到了一些与我的脚本不一致的地方,该脚本旨在在每次唤醒时执行。事实证明,/proc/acpi/wakeup设置只是有时会重置。不是每次关机/重启/休眠/挂起。因此,有时,我的脚本会启用唤醒功能。我已经更新了脚本。现在它检查它是否在任何地方启用,/proc/acpi/wakeup然后才输出给它。

从某种意义上说,这是我未来的备忘录。我不明白为什么 linux 上的休眠不是一个简单的功能,为什么启用它必须如此复杂。我希望它也能帮助那些对冬眠有疑问的人。


  1. 首先,您需要确保您有足够大的交换文件。交换是您休眠时将 RAM 保存在磁盘上的位置。
  • 通过System Monitor -> Resources或运行sudo swapon --show. 你可能没有足够的。您的交换大小应该比 RAM 大小稍大。网上有一些指南。我在我的 4GB RAM 机器上进行 5GB 交换。
  • 如何使您的交换更大取决于您如何设置它。也许您需要创建一个更大的交换文件,也许您需要打开GParted并在那里简单地调整分区大小。我有一个加密的 LVM/dev/vgmint/root/dev/vgmint/swap卷。LVM 挂载时无法调整大小,因此您可以从带有 Linux Mint 的 U 盘启动。在那里你可以使用磁盘应用程序来解锁你的加密 LVM 并使用这个漂亮的指南来安全地减小/dev/vgmint/root卷的大小:
    • 强制检查文件系统 sudo e2fsck -f /dev/vgmint/root
    • 缩小您的文件系统sudo resize2fs /dev/vgmint/root 180G。将 180G 替换为您希望最终卷大小的 90%。
    • 将卷减小到最终大小sudo lvreduce -L 200G /dev/vgmint/root,其中 …

swap acpi hibernate linux-mint systemd

8
推荐指数
1
解决办法
1万
查看次数