Как я могу переключиться на свою гарнитуру USB автоволшебно, когда она включается?

Причина 2>&1 | tee должен смочь получить и stdout и stderr к файлу журнала и видеть его на экране одновременно. Это могло быть сделано как >output.txt 2>&1 & tail -f также, но Вы не знали бы, когда фоновая завершенная команда - является завершенной программой или является ею работающий без вывода. 2>&1 | tee была общая идиома для программистов.

10
30.10.2012, 00:03
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. С этим я не могу помочь Вам, поскольку у меня нет подобных аппаратных средств.

4
27.01.2020, 20:03

Если у Вас еще нет его, pulseaudio даст Вам этот вид гибкости в действительно простой в использовании названной консоли маршрутизации pavucontrol. Предпочтительные устройства и устройства нейтрализации могут быть установлены на приложение и системные значения по умолчанию.

2
27.01.2020, 20:03
  • 1
    И изменение устройства вывода очевидно для приложения (если оно использует pulseausio) - Вы не должны перезапускать приложение для изменения, например, устройства вывода - даже возможно изменить устройства вывода во время воспроизведения. –  maxschlepzig 25.08.2011, 12:55

Я просто купил гарнитуру Plantronics и имел ту же проблему, она была решена следующим http://alsa.opensrc.org/MultipleCards:

Отредактированный /etc/modprobe.d/50-alsa.conf файл для устанавливания порядка по умолчанию:

options snd slots=snd-usb-audio,snd-hda-intel

Я также удалил все другие связанные конфигурации, а именно, /etc/modprobe.d/50-sound*.

Я проверил плагин/неплагин гарнитура и рассмотрение вывода aplay -l

Это использовало openSUSE 12.2 и Plantronics.Audio 655.

0
27.01.2020, 20:03

Как упоминал Калеб, PulseAudio позволяет вам мигрировать потоки с одного устройства на другое.

Для автоматического переключения, а не ручного через pavucontrol, добавьте модуль модуль-switch-on-connect в вашу конфигурацию PulseAudio, как описано здесь:

https://askubuntu. com/questions/158241/automatically-change-sound-input-output-device/158250#158250

3
27.01.2020, 20:03

Теги

Похожие вопросы