4

Я использую Pulseaudio Device Chooser, чтобы установить приемник по умолчанию (на ноутбуке) для удаленного сервера. Это отлично работает. Когда я перезагружаю свой ноутбук, мойка по умолчанию возвращается к "default" (звуковая карта ноутбука). Есть ли способ заставить ноутбук продолжать использовать удаленный сервер после перезагрузки? Есть ли команда, которую я могу запустить в скрипте при запуске, чтобы изменить приемник по умолчанию обратно на удаленный сервер?

Я использую Ubuntu 9.04 на этой машине.

Похоже, что существует проблема при создании туннеля с версией импульса, используемой в дистрибутиве ubuntu 9.04. Если я делаю следующее на Ubuntu 10.04, это работает:

pactl load-module module-tunnel-sink "server=192.168.1.64 sink=alsa_output.pci_8086_293e_sound_card_0_alsa_playback_0
sink_name=sink-DGTM"

pacmd set-default-sink sink-DGTM

К сожалению, это не работает на Ubuntu 9.04. Системный журнал показывает:

13 ноября 14:45:33 ubuntu-JMRT pulseaudio [3473]: module-tunnel.c: Поток умер.

Итак, я собираюсь предположить, что в этой версии импульса есть ошибка. Хотя он работает с padevchooser , я не могу заставить его работать из командной строки. Я также попытался добавить следующее в /etc/pulse/default.pa и получил те же результаты:

load-module module-tunnel-sink server=192.168.1.64
sink=alsa_output.pci_8086_293e_sound_card_0_alsa_playback_0 sink_name=sink-DGTM
set-default-sink sink-DGTM

системный журнал:

13 ноября 14:45:33 ubuntu-JMRT pulseaudio [3473]: module-tunnel.c: Поток умер.

Итак, я снова пытаюсь выяснить, куда экспортировать PULSE_SERVER чтобы приложения, запускаемые из gnome, видели его при перезагрузке.

Я попытался добавить:

export PULSE_SERVER=tcp:192.168.1.64:4713

к: ~/.bashrc

Это работает, если я запускаю приложения из консоли, но не работает, если я запускаю приложения из gnome.

Я также попытался добавить этот экспорт в:

~/.pulse/client.conf
/etc/pulse/client.conf
/usr/bin/start-pulseaudio-x11

но ничего из вышеперечисленного не сработало.

2 ответа2

4

http://pulseaudio.org/wiki/DefaultDevice - по умолчанию это не то же самое, что и запасной вариант в PulseAudio. На самом деле нельзя установить устройство по умолчанию, как описано в ссылке внутри самого PulseAudio.

"Правильный" способ сделать это - определить удаленный приемник через модуль-туннель-приемник, как вы пытаетесь это сделать. Вы говорите, что это невозможно в этой версии PulseAudio, и тогда я могу только рекомендовать вам перепроверить синтаксис или обновить каким-либо образом. Установка PULSE_SERVER может быть выполнена для оболочек входа в систему, как в ответе Жиля. Ниже я подробно пишу о своем решении (с последней версией PulseAudio).

Мои точные строки из /etc/pulse/default.pa:

.ifexists module-tunnel-sink.so
.nofail
load-module module-tunnel-sink server=192.168.0.1 sink=alsa_output.pci-0000_00_1b.0.analog-stereo sink_name=d-f05
.fail
.endif

... так же, как вы пытаетесь сделать. Если это работает, то вы можете установить "истинное значение по умолчанию", например, посредством gnome-volume-control , где ваш псевдоним-приемник должен отображаться как доступное устройство вывода.

Этот способ позволяет переключать вывод на лету для всех приложений.

Определение удаленного приемника можно также сделать лучше с помощью Avahi, но я пока не смог заставить его работать здесь (не проблема PulseAudio).

1

Правильное место для установки переменных среды при входе в систему, в большинстве случаев, ~/.profile .

~/.bashrc - это файл конфигурации оболочки bash, читаемый при запуске интерактивными экземплярами bash. Неправильно устанавливать переменные среды, поскольку, как вы заметили, они будут устанавливаться только в процессах, запускаемых из интерактивной оболочки.

~/.profile читается большинством способов входа в систему. Однако, в зависимости от вашего дистрибутива, диспетчера отображения и типа сеанса, он может не читаться при входе в графический режим. Он загружается в конфигурации по умолчанию на Ubuntu 10.04, но я не уверен насчет 9.04. Если он не загружен, попробуйте ~/.gnomerc или ~/.xsession .

Смотрите также Разница между .bashrc и .bash_profile.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .