我用来acpid
检测我的耳机何时插入。根据acpid_listen
,相关事件是
jack/headphone HEADPHONE unplug
jack/headphone HEADPHONE plug
/etc/acpi/events/headphone_jack
我像这样创建了文件:
event=jack/headphone.*
action=/etc/acpi/actions/headphone.sh "%e"
如果我改用该事件仍然不会触发jack[ /]headphone
。该脚本/etc/acpi/actions/headphone.sh
如下所示:
amixer set Master off
换句话说,每次插入或拔出耳机时,音量都会静音。该amixer
命令在终端中运行。我acpid
用 重新启动了服务sudo /etc/init.d/acpid reload
,但事件仍然没有触发。
我究竟做错了什么?我在第四代 Thinkpad X1 Carbon 上使用 Debian 10(“buster”)x64。
答案1
该脚本的第一行可能需要“#!/bin/sh”,并且它当然必须是可执行的。
错过或忘记后者是一个常见的错误,可以通过以下方法修复
$ chmod a+x /path/to/script
所有这些的更详尽的描述可以在标准手册页中找到:
$ man execve
在 Debian 系统上,这些手册页现已被排除在标准集合之外,您可能需要使用以下命令从软件包中安装它们manpages-dev
:
# apt-get install manpages-dev
root
请注意,除非您有其他安装软件包的方法,否则软件包安装需要访问权限。