系统不会休眠;屏幕闪烁几秒钟,然后什么也没有发生


8

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

我运行以下命令

sudo pm-hibernate

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

如何解决此问题并在系统上启用休眠模式?


您是否检查过BIOS设置
Mitch

2
@izx我也这么想...但是想起来,sudo pm-hibernate即使在12.04中启用了休眠功能也应该不起作用?建议您在启用它之前先对其进行测试,不是吗?我想念什么?
伊利亚·卡根

@EliahKagan-你绝对正确-我跳得太快了。sudo pm-hibernate无论polkit设置如何,它都应该工作。
ish 2012年

Answers:


6

硬件配置中的某些内容与内核的休眠方法不兼容。不幸的是,除非疑难解答程序恰好具有非常相似的系统,否则很难对它进行疑难解答。

您可以尝试使用其他TuxOnIcewikipedia)休眠方式。

  • TuxOnIcewiki | 主页)是内核内置的休眠技术的替代方法,它应该与更广泛的硬件兼容,更可靠,更灵活。
  • 它易于安装,如果对您不起作用,也可以轻松移除。
  • 它确实需要安装TuxOnIce的自定义内核,但是遵循以下说明应该很容易。如果您以前从未打开过终端,则可能现在要:-)

    0.要求

    对于TuxOnIce的唯一要求是,交换分区至少应与您拥有的内存(RAM)大小一样大。您可以通过以下方式进行检查:

  • Ctrl+ Alt+ 启动终端T

  • 输入free -m,您应该会看到类似以下内容:

                 已使用的可用共享缓冲区总数
    内存:1024731260 0 0190
    -/ +缓冲区/缓存:540451
    掉期:1536 6 1530
    
  • 后面的数字Swap:(例如,1536)应比数后Mem:(例如1024)

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

    1.安装TuxOnIce内核

  • Ctrl+ Alt+ 启动终端T

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

    2.测试休眠功能。

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

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

    在此处输入图片说明

    • 如果TuxOnIce工作正常,您的计算机将关闭。
    • 重新启动,然后等待。TuxOnIce应该从休眠点恢复,包括在打开位置打开的所有窗口。
  • 如果所有这些都起作用,请转到步骤3,该步骤可让您从仪表板上启用休眠。

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

  • Alt+ F2,输入以下内容,然后按Enter:

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

    [默认情况下重新启用休眠]
    身份= unix用户:*
    Action = org.freedesktop.upower.hibernate
    ResultActive =是

    在此处输入图片说明

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

    在此处输入图片说明

    4.删除TuxOnIce

    • 如果TuxOnIce对您不起作用,或者您只想删除它,请启动终端并输入:

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

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


如果用户没有足够的交换,则应在答案中提及此链接:askubuntu.com/questions/178712/…
kiri

4

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

sudo apt-get install uswsusp 

然后,您可以尝试通过以下方式暂停计算机:

sudo s2ram

或与冬眠

sudo s2disk

如果这对您有效,则只需重新启动即可,以后您应该可以从常规按钮进入休眠状态(在Unity Desktop的右上角,然后选择“休眠”)。

我在此处提供有关Dell XPS 13 Developer Edition的此问题和其他问题的简短教程。


简单且效果很好。但是有一个错字,包名称是uswsusp。另外,休眠在第一次尝试时不起作用:先关闭电源,然后再正常启动。我敢打赌这是传统的“重新启动更新配置”的事情。
2014年

哇,这很容易,休眠方式适用于具有Ubuntu 14.04 beta的Dell Latitude E6400。
Andrea Zonca 2014年

在8.04中我没有休眠的问题。我敢肯定,许多高级用户都可以在没有“ hacks”的情况下完美地工作。
userDepth '16

1

我以前有这个问题。如果您的交换分区小于休眠时要存储在硬盘中的内存量,则可能会出现此问题。

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

这是操作方法:

  1. 打开一个终端窗口(按Ctrl+ Alt+ T或选择Applications> Accessories> Terminal)或使用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个字节。
    • 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
    

这是我获得本教程的链接:添加交换文件


交换文件不需要插入,/etc/fstab也不需要启用它。
Zanna

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.