如何在插入 USB 耳机后自动切换到我的 USB 耳机?

Hed*_*age 9 linux usb alsa hot-plug funtoo

我正在运行Funtoo Linux,它是Gentoo 的衍生产品。我的两个新 Plantronics USB 耳机(一个有线,一个无线)运行良好。我插入一个,ALSA 注意到它,如果我手动设置一个应用程序来使用它而不是默认设备,它会。

我更愿意让耳机在出现时成为我的默认输入/输出,否则将默认恢复到我的板载扬声器。我如何自动化这种开关?

roz*_*acz 4

您可以使用 udev 规则。为此,您需要找到可在插入 USB 耳机后区分的设备属性。这通常可以通过两个步骤完成:

  • udevadm monitor --udev在插入设备之前运行。然后将其插入。将会有一堆输出线 - 只需选择一个并从中复制设备路径 - 它类似于/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

任务的第二部分是找到amixer适合每个场景需求的设置,并将它们包装在您将放入RUN+=udev 规则部分的命令中。对此,我无法帮助你,因为我没有类似的硬件。