Answers:
在大多数系统中(如果不是全部),ACPI可以处理此事件。要测试:
acpi_listen
拔出并重新插入耳机,示例输出:(麦克风/耳朵在笔记本电脑上的同一插孔中共享)
jack/headphone HEADPHONE unplug
jack/microphone MICROPHONE unplug
jack/headphone HEADPHONE plug
jack/microphone MICROPHONE plug
将your-script.sh
在/etc/acpi/
在以下位置为脚本添加事件触发文件 /etc/acpi/events/
event=jack/headphone HEADPHONE unplug
action=/etc/acpi/your-script.sh
检查那里的其他文件以供学习。
您可能需要重新启动acpid
服务才能重新加载已更改的规则/etc/acpi/events/
sudo service acpid restart
参考: man acpid
DBUS_SESSION_BUS_ADDRESS
开头的脚本将环境变量写入homedir中的文件~/.config/autostart/dbus.desktop
。然后您可以su YOURUSER -c "DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus_address) amixer ......."
从/etc/acpi/your-script.sh