Cómo configurar automáticamente el receptor predeterminado de PulseAudio en el servidor remoto en el arranque - Ubuntu 9.04


4

Utilizo el Selector de dispositivos Pulseaudio para configurar el sumidero predeterminado (en una computadora portátil) en un servidor remoto. Esto funciona bien Cuando reinicio mi computadora portátil, el receptor predeterminado vuelve a "predeterminado" (la tarjeta de sonido de la computadora portátil). ¿Hay alguna manera de hacer que la computadora portátil continúe usando el servidor remoto después de un reinicio? ¿Hay algún comando que pueda ejecutar en un script al inicio para volver a cambiar el receptor predeterminado al servidor remoto?

Estoy ejecutando Ubuntu 9.04 en esta máquina.

Parece que hay un problema al crear el túnel con la versión de pulse utilizada en la distribución ubuntu 9.04. Si hago lo siguiente en ubuntu 10.04 funciona:

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

Lamentablemente, esto no funciona en Ubuntu 9.04. El syslog muestra:

13 de noviembre 14:45:33 ubuntu-JMRT pulseaudio [3473]: module-tunnel.c: Stream murió.

Así que voy a suponer que hay un error en esta versión de pulse. Aunque funciona padevchooser, no puedo hacer que funcione desde la línea de comandos. También intenté agregar lo siguiente /etc/pulse/default.pay obtuve los mismos resultados:

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

syslog:

13 de noviembre 14:45:33 ubuntu-JMRT pulseaudio [3473]: module-tunnel.c: Stream murió.

Así que volví a intentar averiguar dónde exportar PULSE_SERVERpara que las aplicaciones iniciadas desde gnome lo vean cuando reinicie.

Intenté agregar:

export PULSE_SERVER=tcp:192.168.1.64:4713

a: ~/.bashrc

Esto funciona si inicio aplicaciones desde la consola, pero no funciona si inicio aplicaciones desde gnome.

También intenté agregar esta exportación a:

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

pero ninguno de los anteriores funcionó.


¿Al arrancar o al iniciar sesión?
Ignacio Vázquez-Abrams

¿Creo que Ubuntu carga el pulso al iniciar sesión?
Dave M

Respuestas:


4

http://pulseaudio.org/wiki/DefaultDevice : el valor predeterminado no es lo mismo que la recuperación en PulseAudio. Uno realmente no puede configurar un dispositivo "predeterminado" como se describe en el enlace dentro de PulseAudio.

La forma "correcta" de hacerlo sería definir un sumidero remoto a través del módulo-túnel-sumidero como está tratando de hacer. Dice que no es posible en esa versión de PulseAudio, y luego solo puedo recomendarle que vuelva a verificar la sintaxis o la actualización de alguna manera. La configuración PULSE_SERVERse puede hacer para los shells de inicio de sesión como en la respuesta de Gilles. A continuación escribo explícitamente sobre mi solución (con una versión reciente de PulseAudio).

Mis líneas exactas de /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

... tal como lo intentas hacer. Si esto funciona, puede establecer un "valor predeterminado verdadero", por ejemplo gnome-volume-control, donde su sumidero con alias debería aparecer como un dispositivo de salida disponible.

De esta forma, puede cambiar la salida sobre la marcha para todas las aplicaciones.

La definición del sumidero remoto también se puede hacer mejor a través de Avahi, pero todavía no he podido hacer que funcione aquí (no es un problema de PulseAudio).


1

El lugar adecuado para establecer variables de entorno al iniciar la sesión, es decir, en la mayoría de los casos, ~/.profile.

~/.bashrces un archivo de configuración del bash shell, leído al inicio por instancias interactivas de bash. No es el lugar correcto para establecer una variable de entorno, ya que solo se establecerían en procesos iniciados desde un shell interactivo, como has observado.

~/.profilese lee por la mayoría de los métodos de inicio de sesión. Sin embargo, dependiendo de su distribución, administrador de pantalla y tipo de sesión, es posible que no se lea cuando inicie sesión en modo gráfico. Se carga en la configuración predeterminada en Ubuntu 10.04, pero no estoy seguro acerca de 9.04. Si no está cargado, intente ~/.gnomerco ~/.xsession.

Consulte también Diferencia entre .bashrc y .bash_profile .


Agregar "export PULSE_SERVER = tcp: 192.168.1.64: 4713" (donde 192.168.1.64 es la dirección IP o el nombre DNS del servidor de audio de pulso remoto) a ~ / .profile funciona. Gracias.
Dave M
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.