几天前,我将 eMachines (Acer) 上网本从 Lubuntu 15.10 升级到了 16.04LTS。一切正常,只是电源按钮不再弹出关机菜单。我尝试将电源选项中的电源按钮功能切换为普通关机,然后再切换回菜单,但它仍然没有响应。
答案1
我终于被这个问题烦透了,花了几个小时才解决它。askubuntu.com 上的很多帖子都很有帮助,希望这将会帮助别人。
以下是我最终做的事情,以使它发挥作用......
首先,我在电源管理器偏好设置中将电源按钮操作设置为“不执行任何操作”,因为我不想干扰任何事情(回想一下,按钮有时做了某事)。
接下来,我安装了 ACPI:
sudo apt-get update
sudo apt-get install acpi acpid
然后我创建了/etc/acpi/powerbtn.sh
包含以下内容:
# If LXDE is running execute lxsession-logout.
_LXSESSION_PID=`pidof lxsession`
if [ ! -n "$_LXSESSION_PID" ]
then
/sbin/shutdown -h now "Power button pressed"
elif [ "$2" = "PBTN" ]
then
export _LXSESSION_PID
export DISPLAY=:0
export XUSER=myUserName ## Put your actual user ID here! ##
export XAUTHORITY=/home/$XUSER/.Xauthority
logger "Launching lxsession-logout"
lxsession-logout
fi
接下来我创建了/etc/acpi/events/powerbtn
包含以下内容:
event=button/power
action=/etc/acpi/powerbtn.sh %e
最后,我重新启动了 ACPI 守护进程:
/etc/init.d/acpid restart
还有几点补充说明:
- 这是一台单用户机器,所以我毫不犹豫地将我的用户 ID 硬编码到脚本中。
- 我读过的一些帖子暗示
powerbtn.sh
或events/powerbtn
文件已经存在;但事实并非如此。 %e
事件操作中的 和脚本elif [ "$2" = "PBTN" ]
中的powerbtn.sh
是必需的,因为按下该键会触发两次事件,一次的键名为PBTN
,一次为LNXPWRBN:00
。如果没有这个,如果我第一次取消,对话框会再次弹出。