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
はまだ実行されません。
私は何が間違っていましたか?私は第4世代の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
パッケージをインストールする他の方法がない場合は、パッケージのインストールにアクセスする必要があります。