Невозможно редактировать плагины / sudoers / ins _ *. H

Я согласен с тем, что проблема в том, что Pulseaudio не устанавливает USB-устройство по умолчанию, потому что его нет при запуске импульса.

Суть моего решения заключается в подключении к системе, которая замечает, когда USB-устройство подключено ... UDEV!

BTW, эти инструкции слегка фанки, и я предполагаю, что вам удобно делать вещи в командной строке и стать пользователем root для обновления файлов udev,

Во-первых, узнайте что-то

USB Id

Первый шаг - подключить веб-камеру и найти номера волшебных продавцов и продуктов на typing

lsusb

Я использую Microsoft Lifecam, и он отображается как

Bus 001 Device 013: ID 045e:072d Microsoft Corp.

. Важная часть делает

Pulseaudio device

Затем, пока веб-камера подключена, узнайте имя устройства pulseaudio. Тип

pacmd list-sources

Опять же, я ищу строку, которая запускает name:, тогда есть что-то о Microsoft Lifecam ... вот это

name: <alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono>

, поэтому мой имя устройства pulseaudio будет alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

Правила UDEV

Затем я создал новое правило udev, которое запускается, когда вставлено устройство USB с продавцом = 045e и product = 072d. Чтобы создать правило, создайте новый файл с именем /etc/udev/rules.d/ SOMETHING .rules (я назвал свой файл /etc/udev/rules.d/95-webcam-mic.rules).

Поместите эту строку в файл

SUBSYSTEMS=="usb", ATTR{idVendor}=="045e", ATTR{idProduct}=="072d", ACTION=="add", GROUP="audio", RUN+="/usr/local/bin/webcam-mic"

Не забудьте заменить SOMETHING и ATTR {idProduct} на значения для вашей веб-камеры. [!d18 ]

Что это за правило, это запустить скрипт для установки устройства usb для ввода, то есть RUN+="/usr/local/bin/webcam-mic".

Наконец, установите веб-камеру для ввода

Quick обзор время. Каждый раз, когда я подключаю свою веб-камеру, я хочу запустить команду

pacmd set-default-source alsa_input.usb-Microsoft_Microsoft___LifeCam_VX-5500-02-VX5500.analog-mono

. Но команда должна запускаться как ATTR {idProduct} (пользователь работает на рабочем столе), но udev запускается как пользователь root, поэтому, когда udev запускает мою команду, мне нужно, чтобы он изменился на моего пользователя, а затем запустил команду.

Итак, у нас есть 2 варианта.

Быстро и грязно. Сделать правило udev запустить su james -c pacmd set-default-source..., это неправильно, я даже не могу закончить ввод команды. Что делать, если вы меняете веб-камеры? Что делать, если вы устанавливаете это для другого пользователя? Немного чище. Запустите скрипт, который читает файл по умолчанию, который имеет имя устройства pulseaudio, и ваше имя пользователя в нем. Если вы хотите, чтобы файлы были на GitHub. Сначала скрипт /usr/local/bin/webcam-mic. Файл по умолчанию /etc/default/webcam-mic просто должен определить 2 переменных оболочки в соответствии с комментарием в сущности. Поместите скрипт в /usr/local/bin/ и сделайте его исполняемым. Затем поместите файл по умолчанию в /etc/defaults/ и отредактируйте его, чтобы использовать ваше имя пользователя и устройство pulseaudio раньше.

Удачи!

1
задан 23 September 2017 в 15:15

0 ответов

Другие вопросы по тегам:

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