我有一台 Thinkpad x200 平板电脑,我想在显示屏扭曲时旋转屏幕。Acpid 似乎是实现此目的最简单的工具,因此我在 /etc/acpi/events 中创建了事件文件:
event=video/tabletmode TBLT 0000008A 00000001
action=/etc/acpi/TBLTmode.sh
以及 /etc/acpi 中具有所有权限的脚本文件(chmod a+wrx):
#!/bin/sh
/usr/bin/xrandr --output LVDS1 --rotate inverted
xsetwacom --set "14" rotate half
xsetwacom --set "15" rotate half
xsetwacom --set "16" rotate half
脚本在前台执行良好,但当 acpid 执行它时,脚本不执行任何操作(屏幕和光标保持其状态)。以下是 journalctl 所说的内容:
acpid[9793]: received input layer event "video/tabletmode TBLT 0000008A 00000001"
acpid[9793]: rule from /etc/acpi/events/TBLTmode matched
acpid[10272]: executing action "/etc/acpi/TBLTmode.sh"
acpid[9793]: action exited with status 255
acpid[9793]: 1 total rule matched
acpid[9793]: completed input layer event "video/tabletmode TBLT 0000008 00000001"
我已经检查过退出状态是 255(在脚本末尾尝试了 exit 0 命令),但没有帮助。