笔记本电脑电源按钮不工作
我有一个(看似相当异国情调的)戴尔Latitude XT2笔记本运行Lubuntu 12.04,全新安装。 试图让电源按钮按预期工作(打开注销对话框lubuntu-logout
),但没有成功:电源按钮除了长按强制断电外什么也没做。
电源按钮本身被检测到并起作用。 在xfce4-power-manager-settings中,当我将电源按钮操作从“Ask”(=打开lubuntu-logout
)设置为“Shutdown”时,笔记本电脑成功关闭; 按下电源按钮被识别并正确处理。
编辑:我从问题中删除了一堆信息,因为它似乎与问题无关。
安装acpi
和acpi-support
(如果尚未安装)。
- 转到
/etc/acpi/events
。 - 应该有一个名为
powerbtn
的文件(如果没有,请创建它)。 我安装中的文件内容是:
#/ etc / acpi / events / powerbtn #当用户按下电源按钮并呼叫时,会调用此方法 #/ etc / acpi / powerbtn.sh进行进一步处理。 #(可选)您可以指定占位符%e。 会过去的 #通过整个内核事件消息到你的程序 #defigure。 #我们需要对“按钮电源。*”和“按钮/电源。*”作出反应 内核更改次数。 event =按钮[/]电源 行动=的/ etc / ACPI / powerbtn.sh
- 您可以通过编辑此文件中的
action
变量将操作与电源按钮相关联。 - 在我的安装中,/
/etc/acpi/powerbtn.sh
的内容是:
#!/ bin / sh的 #/ etc / acpi / powerbtn.sh #当putton电源启动时启动关机 #press。 [-r / usr / share / acpi-support / power-funcs] &&。 在/ usr /共享/ ACPI支持/功率funcs中 #getXuser获取属于$ displaynum中显示的X用户。 #如果你想要前景X用户,请使用getXconsole! getXuser(){ user =`pinky -fw | awk'{if($ 2 ==“:'$ displaynum'”|| $(NF)==“:'$ displaynum'”){print $ 1; 出口; }'' if [x“$ user”= x“”]; 然后 startx =`pgrep -n startx` if [x“$ startx”!= x“”]; 然后 user =`ps -o user --no-headers $ startx` 科幻 科幻 if [x“$ user”!= x“”]; 然后 userhome =`getent passwd $ user | cut -d:-f6` export XAUTHORITY = $ userhome / .Xauthority 其他 export XAUTHORITY =“” 科幻 export XUSER = $ user } #如果我们刚刚恢复,请跳过。 test -f / var / lock / acpisleep &&退出0 #如果当前的X控制台用户正在运行电源管理守护程序 #处理暂停/恢复请求,让他们处理策略这是有效的 #与'acpi-support'的'/ usr / share / acpi-support / policy-funcs'文件相同。 [-r / usr / share / acpi-support / power-funcs] && getXconsole PMS =“gnome-settings-daemon kpowersave xfce4-power-manager” PMS =“$ PMS guidance-power-manager.py dalston-power-applet” 如果pidof x $ PMS> / dev / null; 然后 出口 elif测试“$ XUSER”!=“”&& pidof dcopserver> / dev / null && test -x / usr / bin / dcop && / usr / bin / dcop --user $ XUSER kded kded loadedModules | grep -q klaptopdaemon; 然后 出口 elif test“$ XUSER”!=“”&& test -x / usr / bin / qdbus; 然后 kded4pid = $(pgrep -n -u $ XUSER kded4) 如果测试“$ kded4pid”!=“”; 然后 dbusaddr = $(su - $ XUSER -c“grep -z DBUS_SESSION_BUS_ADDRESS / proc / $ kded4pid / environ”) 如果测试“$ dbusaddr”!=“”&& su - $ XUSER -c“export $ dbusaddr; qdbus org.kde.kded”| grep -q powerdevil; 然后 出口 科幻 科幻 科幻 #如果其他所有方法都失败了,只需启动普通关机。 / sbin / shutdown -h now“按下电源按钮”
它似乎是Lubuntu中的一个已知错误 。 在xfce4-power-manager-settings中,有几个操作可供选择按下电源按钮。 当您选择“关机”时,它会按预期工作,但是当您选择“询问”时,没有任何反应。
解决方法在评论#10中 。 这个对我有用。 似乎xfce4和LXDE之间存在潜在的问题。
您可以使用(附加)acpi守护程序创建相同的行为,如green7所述。 他的回答中的版本关闭了PC没有对话框,但我们在聊天中讨论过你可以从脚本启动lubuntu-logout
而不是简单地关闭计算机。 但是,这需要一些工作,因为您必须以允许连接到X的用户启动注销应用程序,并提供必要的环境变量(如$DISPLAY
)。 由于env变量似乎在发行版之间有所不同,我认为你必须仔细查看它们的LXDE。