Автоматическое переключение приемника pulseaudio на удаленный сервер, если доступно
Я хотел бы настроить мой pulseaudio таким образом, чтобы он всегда воспроизводился на удаленном сервере, если он доступен, но беспрепятственно переключался на локальную звуковую систему, если пульт дистанционного управления недоступен. Также, если пульт снова становится avaiale, он должен переключиться обратно.
Это возможно вообще? Туннели выглядят многообещающе, но я не получил его на работу.
Я вижу локальные и удаленные раковины:
isaac@auko:~$ pactl list short sinks
0 alsa_output.pci-0000_00_1b.0.analog-stereo module-alsa-card.c s16le 2ch 44100Hz SUSPENDED
1 tunnel.gaysboard.local.alsa_output.pci-0000_00_1b.0.analog-stereo module-tunnel.c s16le 2ch 44100Hz SUSPENDED
2 tunnel.gaysboard.local.alsa_output.pci-0000_00_1b.0.analog-stereo.2 module-tunnel.c s16le 2ch 44100Hz SUSPENDED
Они также появляются в pavucontrol. Также я не могу выбрать устройство вывода в pavucontrol - у меня сложилось впечатление, что это должно быть возможно. Я прав?
Так как я могу настроить автоматическое переключение? И как выбрать устройство с pavucontrol? (Я могу выбрать его с pax11publish)
2 ответа
Я возился с решением, предложенным rwx, и наконец решил, что хочу сделать что-то, что немного отличается от моего первоначального вопроса. Я собрал немного псевдо-графического интерфейса, используя zenity
, который использует pax11publish
изменить настройки по требованию. Я также добавил .desktop
файл, так что он может быть вызван непосредственно из среды рабочего стола. Вот ссылка. Я думаю, что для gnome уже есть интегрированное решение, но не для xfce, поэтому я и спросил в первую очередь.
Удаленное воспроизведение с нулями и туннелями все еще глючит. Заикание появится через некоторое время.
Чтобы это исправить, вы можете определить ваш сервер по умолчанию, например, в вашей личной конфигурации (/home/xy/.config/pulse/client.conf), установив default-server = IP
,
Если вы хотите, чтобы проверить, доступно ли ваше удаленное устройство, вы можете запустить bash-скрипт, который проверяет, является ли pingable и доступен ли он, затем скопируйте предопределенный_конфиг_файл в вашу папку pulse-config-folder:
if ping -c 1 YOUR_IP &> /dev/null; then notify-send "Changing to remote system" && cp predefined_remote_config_file /home/xy/.config/pulse/client.conf; else notify-send "Changing to local system" && cp predefined_local_config_file /home/xy/.config/pulse/client.conf; fi
Может быть, вам нужно перезапустить pulseaudio, что также может быть сделано скриптом bash