我有一台装有 Ubuntu 12.04 的 HP 510 笔记本电脑。
据我所知,我已正确设置了合上盖子时暂停的所有设置,因此我认为这是检测事件的问题。据我所知,检测事件的
方式“应该”是在合上盖子时按下一个小硬件开关。此开关手动关闭背光,并发送暂停信号。我所能想到的只是信号没有被正确解释。
有人能提出解决办法吗?
更新:
我根据以下建议测试了该按钮是否真的有效:若西纳尔沃,我发现目录中/proc/acpi/button/lid/
没有LID
目录。但是,有一个C1CF
文件夹,里面有一个状态文件。当使用此文件而不是时LID
,我发现,不,当我关闭盖子时,状态不会改变。完整路径是:'/proc/acpi/button/lid/C1CF/state
更新 2 我现在正在运行 Xubuntu 12.10,(Unity 太慢了)但我仍然遇到同样的问题。
答案1
要知道按钮是否确实有效,请访问终端并输入
while [ 1 ]; do cat /proc/acpi/button/lid/LID/state; sleep 1; done
你应该得到一个
state: open
每秒一次。现在关上盖子,等一会儿。再打开。现在应该有一些线条
state: closed
这样,你就可以知道硬件正在工作,并且信号被Linux读取
如果它有效,那么我不知道你的问题是什么=P
但是,我有一个丑陋的临时解决方案,你可以在问题尚未解决时使用
#ensures that a closed lid causes the computer to suspend
#! /bin/bash
while [ 1 ]
do
sleep 20
grep closed /proc/acpi/button/lid/LID/state && sudo pm-suspend
done
这是一个 bash 脚本。
要使用它,
1) 创建一个包含这些内容的文件(例如,check_lid)
2)右键单击该文件,然后打开属性
2.1)转到权限,然后选择“允许将文件作为程序执行”
3)在关机菜单上,转到启动应用程序并将您的程序(check_lid)添加到启动程序中
4)确保您的用户无需使用密码即可运行 sudo pm-suspend(通过 sudoers 文件)