系统未进入休眠状态;屏幕闪烁几秒钟,没有其他反应

系统未进入休眠状态;屏幕闪烁几秒钟,没有其他反应

我刚刚将 Ubuntu 11.10 升级到 12.04。我在新的 12.04 中遇到了休眠问题。

我运行以下命令

sudo pm-hibernate

但我的系统没有休眠,即我的系统没有关闭;相反,屏幕只是闪烁几秒钟并恢复之前的状态。

我该如何修复此问题并在我的系统上启用休眠模式?

答案1

您的硬件配置中存在与内核休眠方法不兼容的问题。不幸的是,除非故障排除人员恰好拥有非常相似的系统,否则这个问题很难解决。

您可以尝试其他方法TuxOnIce维基百科)休眠。

  • TuxOnIce维基百科|主页)是内核内置休眠技术的替代方案,旨在兼容更广泛的硬件,更加可靠、灵活。
  • 它很容易安装,如果它不适合您,也很容易删除。
  • 它确实需要安装TuxOnIce 的自定义内核,但下面的说明应该会让它变得简单。如果你以前从未打开过终端,你现在可能想要打开它 :-)

    0. 要求

    唯一的要求是TuxOnIce你的交换分区是至少和您拥有的内存 (RAM) 数量一样大。您可以通过以下方式检查:

  • 使用 ++Ctrl启动终端AltT

  • 键入free -m,你应该看到类似这样的内容:

                 已使用的、可用的、缓存的共享缓冲区总数
    内存:1024 731 260 0 0 190
    -/+ 缓冲区/缓存:540 451
    交换:1536 6 1530
    
  • 后面的数字Swap:(例如 1536)应该是更多的比后面的数字大Mem:(例如 1024)

  • 如果不是这种情况,并且您的掉期是更小比你的内存,你必须调整并增加交换分区的大小,或配置TuxOnIce使用特殊交换文件。这超出了本回答的范围,但如果您提出其他问题并在评论中提及,我将回答并解释如何操作。

    1. 安装 TuxOnIce 内核

  • 使用 ++Ctrl启动终端AltT

  • 将以下内容复制并粘贴到终端中。这将添加TuxOnIcePPA 并安装自定义内核和标头。
    • sudo apt-add-repository ppa:tuxonice/ppa -y
      一旦添加了 ppa:
    • sudo apt-get 更新
      sudo apt-get 安装 tuxonice-userui linux-generic-tuxonice -y
      sudo apt-get 安装 linux-headers-generic-tuxonice -y
  • 现在重新启动。
  • Ubuntu 现在应该启动TuxOnIce内核。如果有任何问题,请Shift在启动时按住 ,您将获得 Grub 菜单。使用箭头键转到Previous Linux Versions,按回车键,然后再次按回车键返回到正在运行的内核。

    2. 测试休眠功能。

  • 打开一些您通常使用的应用程序,例如 Firefox、Thunderbird、LibreOffice 等。

  • Ctrl使用+ Alt+再次打开终端T
  • 输入sudo pm-hibernate,按回车键,输入您的密码。
  • 您应该会看到一秒钟的锁定屏幕,然后看到 TuxOnIce 休眠进度屏幕,如下所示:

    在此处输入图片描述

    • 如果TuxOnIce工作后,您的计算机将会关闭。
    • 重新启动它,然后等待。TuxOnIce 应该从您休眠的点恢复,包括您在打开的位置打开的所有窗口。
  • 如果所有这一切有效,请转到步骤 3,您可以从仪表板启用 Hibernate。

    3. 从仪表板启用休眠模式

  • Alt+ F2,输入以下内容,然后按回车键:

    gksudo gedit /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
  • 粘贴以下内容,按Ctrl+S保存并按Ctrl+Q退出编辑器:

    [默认重新启用休眠模式]
    身份=unix-用户:*
    操作=org.freedesktop.upower.hibernate
    结果活动=是

    在此处输入图片描述

  • 重新启动,你应该看到休眠选项如下图所示:

    在此处输入图片描述

    4. 删除 TuxOnIce

    • 如果 TuxOnIce 不适合您,或者您只是希望删除它,请启动终端并输入:

      sudo apt-get 删除 tuxonice-userui linux-generic-tuxonice linux-headers-generic-tuxonice -y
    • 并记得使用以下命令禁用菜单中的休眠选项:

      sudo rm /etc/polkit-1/localauthority/50-local.d/com.ubuntu.enable-hibernate.pkla
    • 然后重新启动。

答案2

这对我有用。在控制台运行:

sudo apt-get install uswsusp 

然后您可以尝试使用以下命令暂停计算机:

sudo s2ram

或休眠

sudo s2disk

如果这对您有用,那么只需重新启动,您稍后就可以从常用按钮(在 Unity 桌面右上角并选择休眠)进入休眠状态。

我制作了一个简短的教程,介绍了这个问题以及 Dell XPS 13 Developer Edition 的其他问题这里

答案3

我以前遇到过这个问题。如果你的交换分区小于休眠时想要存储在硬盘中的内存量,你可能会遇到这个问题。

您可以重新调整交换分区的大小,或者使用交换文件(如果您没有可用空间来重新调整交换分区的大小,这会容易得多)。

具体操作如下:

  1. 打开终端窗口(按Ctrl++或Alt选择T应用 > 配件 > 终端)或者使用 ssh 客户端登录远程服务器。

  2. 创建存储文件

    输入以下命令来创建 512MB 交换文件(1024 * 512MB = 524288 块大小):

    sudo dd if=/dev/zero of=/swapfile1 bs=1024 count=524288
    

    示例输出:

    524288+0 records in
    524288+0 records out
    536870912 bytes (537 MB) copied, 3.23347 s, 166 MB/s
    
    • if=/dev/zero表示从 /dev/zero 文件读取。/dev/zero是一个特殊的文件,它提供空字符来构建一个名为的存储文件/swapfile1
    • of=/swapfile1表示将存储文件写入/swapfile1
    • bs=1024表示每次读写1024 BYTES字节。
    • count=524288表示仅复制 523288 BLOCKS 输入块。
  3. 安全交换文件

    出于安全原因,请输入以下命令设置正确的文件权限:

    sudo chmod 0600 /swapfile1
    

    一个世界可读的交换文件是一个巨大的本地漏洞。上述命令确保只有 root 用户可以读取和写入该文件。

  4. 设置 Linux 交换区域

    键入以下命令在文件中设置 Linux 交换区域:

    sudo mkswap /swapfile1
    

    示例输出:

    Setting up swapspace version 1, size = 524284 KiB
    no label, UUID=0e5e7c60-bbba-4089-a76c-2bb29c0f0839
    
  5. 启用交换文件

    最后,要/swapfile1立即激活交换空间,请输入:

    sudo swapon /swapfile1
    
  6. 更新/etc/fstab文件 要/swapfile1在 Linux 系统重启后激活,请向文件添加一个条目/etc/fstab。使用文本编辑器(如 vi)打开此文件:

    sudo vi /etc/fstab
    

    添加以下行:

    /swapfile1 none swap sw 0 0
    

    保存并关闭文件。下次重启后 Linux 启动时,它会自动启用新的交换文件。

  7. 我如何验证交换是否已激活?

    只需使用以下free命令:

    free -m
    

以下是我获取本教程的链接:添加交换文件

答案4

据我所知,这在 12.04 中不起作用。不知何故他们没有包括休眠支持,因为它在某些机器上有点问题。

相关内容