Thinkpad T450 运行 Ubuntu 17.10,几周前全新安装(未升级)。我经常从一个房间走到另一个房间,喜欢在合上盖子时让笔记本电脑进入睡眠状态。它似乎从来不这样做,一直保持唤醒状态。我必须按住指示器中的电源按钮并选择暂停图标才能将其暂停。以前的 Ubuntu 版本曾经“正常工作”。
我尝试切换 Tweaks 中的选项,以确保将其设置为在合上盖子时暂停,但这没有任何作用。这是错误还是预期行为?
答案1
答案2
我们可以捕捉盖子打开/关闭事件,并可以使用以下方法将脚本绑定到它们acpid
- 高级配置和电源接口事件守护进程。
- 为了检查这个建议是否有效,我在我的 DELL Vostro 3350 上安装了 Ubuntu 17.10。然后我习惯
dconf-editor
禁用盖子关闭操作。但不幸的是我无法禁用此操作...所以我只希望这能帮助你。
1.捕获事件。执行下列命令之一,然后关闭并打开盖子:acpi_listen
或netcat -U /var/run/acpid.socket
。以下是示例输出:
$ acpi_listen
button/lid LID close
button/lid LID open
2.配置acpid
以识别设备模式更改时触发的事件。创建以下文件(不要忘记使用上述步骤中的实际事件):
/etc/acpi/events/lid-close
:# /etc/acpi/events/lid-close # This is called when the lid is closed event=button/lid LID close action=/etc/acpi/lid-actions.sh 1
/etc/acpi/events/lid-open
:# /etc/acpi/events/lid-open # This is called when the lid is open event=button/lid LID open action=/etc/acpi/lid-actions.sh 0
3.重新启动acpid
以便它可以重新读取事件过滤器,包括我们刚刚添加的过滤器:
sudo systemctl restart acpid.service
4.创建脚本/etc/acpi/lid-actions.sh
(并使其可执行),当盖子关闭时,该脚本将暂停笔记本电脑1
。我不知道当盖子打开时什么操作会很有用0
,因此这些行被注释掉了。
#!/bin/sh
if [ "${1}" -eq 1 ]; then systemctl suspend # Lid is close
#elif [ "${1}" -eq 0 ]; then # Lid is open
fi
参考:
答案3
最快的方法是使用默认设置管理器
- 去
Settings>Power Management>When laptop lid closed
- 选择“暂停”而不是“不执行任何操作”,然后点击应用
- 全做完了
附言:既然在默认设置应用中有一个选项可以执行此操作,为什么还要使用 ubuntu 调整?