盖上盖子后笔记本电脑不会挂起


24

我是Ubuntu 13.10的新用户。关闭笔记本电脑的机盖不会导致计算机进入挂起模式,这意味着每次我没有手动挂起计算机就关闭电池盖时,电池就会耗尽。

在电源管理中设置了正确的设置-将笔记本电脑悬吊在盖子上,以关闭交流电和直流电,但这不会影响实际行为。

看来这是早于Ubuntu 11的许多用户的常见问题-我能找到的唯一解决方案是以下解决方案。但是,作为Linux新用户,我不知道如何实际执行指令。如果有人可以提供其他详细信息,那将非常有帮助。

提前致谢。

/etc/acpi/events/lidbtn triggers /etc/acpi/lid.sh which triggers
 /etc/acpi/local/lid.sh.post at the end of the script.
 /etc/acpi/local/* allows you to add your own config (e.g. required for
 wmii).

 generate /etc/acpi/local/lid.sh.post
 make it executable and add:

 \#!/bin/bash
 grep -q closed /proc/acpi/button/lid/*/state
 if [ $? = 0 ]
 then
 /usr/sbin/pm-suspend
 fi

 wmii will now go to suspend mode when closing the lid. It'll
 automatically wake up when opening the lid.
    #!/bin/bash

    load=$(cat /sys/devices/LNXSYSTM:00/LNXSYBUS:00/PNP0C0A:00/power_supply/BAT0/capacity)
    min_load=20
    if [ $load <= min_load ]; then
        pm-suspend
    fi

Answers:


20

(请注意,#前一个命令,指示它应该由超级用户运行,所以更换#sudo)。

logind.conf以root身份打开:# vim /etc/systemd/logind.conf并删除#before HandleLidSwitch=suspend。您也可以将选项更改suspendhibernatepoweroff

已修复Launchpad Bug#863834,注释#30

  1. 打开一个终端:Ctrl+ Alt+t
  2. # mkdir /etc/acpi/local
  3. # vim /etc/acpi/local/lid.sh.post
  4. 复制此简短脚本:

     #!/bin/bash
     if grep -q closed /proc/acpi/button/lid/*/state
     then
         /usr/sbin/pm-suspend
     fi
    

    ...并通过键入以下内容将其粘贴到vim中: "+p

  5. 通过键入保存ZZ(大写)
  6. # chmod 755 /etc/acpi/local/lid.sh.post (因此,即使在登录用户(而不是root用户)下管理电源管理时,它也可以工作)

ps:如果不确定如何使用vim,则将其替换为gedit,将sudo替换为gksu
喵喵

喵,谢谢您的快速回复。不幸的是,我还不是100%清楚。是否在终端中输入这些命令?当我输入“ sudo vim /etc/systemd/logind.conf”时,出现错误“ sudo:vim:找不到命令”。如果这有所作为,我也在运行Linux的PC上。
凯尔·查达

如果未安装vim,请使用sudo gedit /etc/systemd/logind.conf,是的,您需要在终端机中输入它们
Meow 2013年

HRM仍然不起作用。重新启动后,盖上的盖没有变化。'#HandlePowerKey =关闭电源#HandleSuspendKey =暂停#HandleHibernateKey =休眠HandleLidSwitch =暂停'
Kyle Chadha

1
这对我sudo chmod 755 /etc/acpi/local/lid.sh.post
有用

5

作为对这篇文章的回应,我在Toshiba Satellite a305-s6902(我仅为在Linux上进行练习而购买)上遇到了同样的问题,发现这对我有用:

sudo vim /etc/systemd/logind.conf

然后如上所述,删除#before HandleLidSwitch=suspend并保存(ESC :wq)。

但是--->我发现我必须首先手动将计算机置于暂挂状态,并且在每次重新启动后才能使用触发器。我不知道为什么,但这一直对我有效。


1

我已经通过取消注释变量LID_SLEEP=true来解决它/etc/default/acpi-support


2
此变量在16.04中不可用
Jeff Puckett

1

我在Linux Mint Cinnamon 17.2上遇到了同样的问题。因为它基于Ubuntu 14.04,所以我希望很多事情都差不多。

搜索完盖子上的悬挂问题后,我发现自己到现在为止,直到现在,我想到的最好的办法是在靴子启动后第一次手动悬挂,然后关闭盖子。阅读完这些帖子和评论后,我相信我已经解决了该问题。

这是我所做的:

  1. 打开终端会话,并使用nano代替vim进行键入;

    sudo nano /etc/systemd/logind.conf
    
  2. 根据建议,我删除了#号HandleLidSwitch=suspend。然后我保存了它。

  3. 然后我输入...

    mkdir /etc/acpi/local
    sudo nano /etc/acpi/local/lid.sh.post
    

    ...并复制并粘贴先前发布的接下来的5行

    #!/bin/bash
    if grep -q closed /proc/acpi/button/lid/*/state
    then
        sudo /usr/sbin/pm-suspend
    fi
    

    注意:为使这项工作有效,我在sudo的行中添加了/usr/sbin/pm-suspend。否则它将无法运行。

  4. 最后,我保存了它,并按先前的说明键入内容;输入登录用户而不是root用户;

    sudo chmod 755 /etc/acpi/local/lid.sh.post
    

不幸的是,这没有用。但是,我对脚本中的命令进行了一些测试,它们确实起作用了,所以我确定没有其他东西触发它们。在帖子的后面,我遇到了一个有关Gnome电源管理器错误的引用:

https://bugs.launchpad.net/ubuntu/+source/upower/+bug/863834

特别有趣的是迈克尔·巴克豪斯(Michael Backhaus)在2012-06-09上发表的一篇文章:

/etc/acpi/events/lidbtn触发/etc/acpi/lid.sh哪个触发/etc/acpi/local/lid.sh.post

之后是上述bash脚本的几乎相同的版本lid.sh.post

在这个版本中造币厂,/etc/acpi/events/lidbtn/etc/acpi/lid.sh并不存在。然而,/etc/acpi/events/powerbtn/etc/acpi/powerbtn.sh做。看看“ powerbtn”提供了答案

这是我的解决方法:

  1. 要创建一个自定义的“ lidbtn”,请键入;

    sudo nano /etc/acpi/events/powerbtn
    

    并对其进行了修改,使其类似于lidbtn;

    # /etc/acpi/events/lidbtn
    # This is called when the user closes the lid and calls
    # /etc/acpi/lidbtn.sh for further processing.
    
    # Optionally you can specify the placeholder %e. It will pass
    # through the whole kernel event message to the program you've
    # specified.
    
    # We need to react on "button lid.*" and "button/lid.*" because
    # of kernel changes.
    
    event=button[ /]lid
    action=/etc/acpi/lidbtn.sh
    
  2. 我保存了 然后复制/etc/acpi/local/lid.sh.post/etc/acpi/并重命名lidbtn.sh

我重新启动,现在合上盖子总是让笔记本电脑停下来。但是,我必须在打开盖子时手动将其唤醒。下一个要开展的项目。

附录:我要补充一点,我没有第二台显示器。对我来说,问题是当盖子关闭时,悬挂根本无法工作。


这对Linux Mint 18“ Sarah”有用吗?@ bob-el您是否也找到了唤醒的解决方法?
kisanme'8

0

对我来说,问题是当连接外部显示器时盖子的关闭处理方式不同。因此,以用户身份更改该选项可以dconf-editor为我解决问题:

架构:

org.cinnamon.settings-daemon.plugins.power

或(取决于您使用的桌面环境)

org.gnome.settings-daemon.plugins.power

名称:

lid-close-suspend-with-external-monitor

调成:

true

描述:

在没有插入外部显示器的情况下,合上笔记本计算机的机盖将使机器挂起(由机盖关闭电池操作键和机盖关闭交流操作键设置)。但是,默认情况下,当存在一台外接显示器时,关闭机盖不会使机器挂起,这样一来,您就可以继续在该显示器上工作(例如,用于扩展坞或媒体查看器)。将此键设置为False可以保留默认行为,或者将其设置为True可以在关闭机盖且无论外接显示器如何时暂停笔记本电脑。


0

我在Macbook Air 6,2上使用Mint 18.1。这是我所拥有的解决方案,它几乎可以完美地工作。

醒来时,我使用mba6x_bl修复MBA黑屏。遵循他们的指示

然后使用上述Bob-El的解决方案来解决暂停问题。

  • 备份并打开/ etc / acpi / events / powerbtn
    sudo cp / etc / acpi / events / powerbtn / etc / acpi / events / powerbtn_bak
    sudo nano / etc / acpi / events / powerbtn
  • 用下面的文本替换powerbtn的内容

    # /etc/acpi/events/lidbtn
    # This is called when the user closes the lid and calls  
    # /etc/acpi/lidbtn.sh for further processing.  
    # Optionally you can specify the placeholder %e. It will pass  
    # through the whole kernel event message to the program you've  
    # specified.  
    # We need to react on "button lid.*" and "button/lid.*" because  
    # of kernel changes.  
    event=button[ /]lid  
    action=/etc/acpi/lidbtn.sh
    
  • 创建 /etc/acpi/lidbtn.sh

    sudo nano /etc/acpi/lidbtn.sh
    
  • 将以下文本放入其中

    #!/bin/bash
    if grep -q closed /proc/acpi/button/lid/*/state
      then
      /usr/sbin/pm-suspend
    fi
    
  • 打开电源管理->打开交流电源->操作->关闭笔记本电脑盖后,选择空白屏幕。连接电源后,这将使MBA保持暂停状态。

我注意到的唯一问题是,当MBA 停电并通电时,其键盘灯将自动点亮。但是除此之外,一切都很好。

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.