私は走っているFintuLinux、ㅏルート図誘導体私の新しいPlantronics USBヘッドセット2つ(有線1つ、ワイヤレス1つ)がうまく機能します。 1つを接続すると、ALSAはそれに気づき、デフォルトのデバイスではなくそれを使用するようにアプリを手動で設定すると、ALSAはそれに気づきます。
ヘッドフォンがある場合は、デフォルトの入力/出力に設定することを好みます。それ以外の場合、基本は内蔵スピーカーに戻ります。このスイッチをどのように自動化できますか?
ベストアンサー1
udev ルールを使用できます。そのためには、USBヘッドセットを接続した後に区別できるデバイスのプロパティを見つける必要があります。これは通常、次の2つのステップで実行できます。
udevadm monitor --udev
デバイスを接続する前に実行してください。次に挿入します。複数の出力ラインがあります。 1つを選択してそこからデバイスパスをコピーすると、次のようになります/devices/pci0000:00/0000:00:1d.7/usb1/1-5/1-5:1.0
。ヘッドフォンが接続されている間に
udevadm info --path=/your/device/path --attribute-walk
デバイスを他のデバイスと区別するためのいくつかのプロパティ(たとえば、ATTR{idVendor}
および)を見つけますATTR{idProduct}
。
これにより、デバイスが接続されたときにトリガーされるudevルールを構築できます。以下のファイルを確認して、どのように/etc/udev/rules.d/
見えるかを確認してください。おそらくビルドする項目はですRUN+="some
command"
。その行に使用されている識別子(SUBSYSTEM=
などATTRS=
)は、すべて同じデバイス(同じudevadm info --attribute-walk
出力ブロック)の説明に記載する必要があります。
タスクの2番目の部分は、amixer
各シナリオの要件に合った設定を見つけ、それをRUN+=
udevルールセクションに入れるコマンドでラップすることです。同様のハードウェアがないため、この問題については役に立ちません。