回答:
すべてではないにしてもほとんどのシステムでは、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
始まるスクリプトを使用して、environ変数をhomedir内のファイルに書き込む必要があります~/.config/autostart/dbus.desktop
。次に、あなたが実行することができますsu YOURUSER -c "DBUS_SESSION_BUS_ADDRESS=$(cat ~/.dbus_address) amixer ......."
から/etc/acpi/your-script.sh