¿Cómo obtener sonido en un servidor X separado en Ubuntu 11.04 o posterior?

10

Configuré mi sistema Ubuntu para poder iniciar cualquier aplicación en un servidor X separado. Ejecutar juegos o, por ejemplo, XBMC en un servidor X separado tiene algunas ventajas importantes.

Sin embargo, el problema es que cuando cambias al segundo servidor X (Ctrl + Alt + F8), no escuchas ningún sonido. Curiosamente, al volver al escritorio (Ctrl + Alt + F7) puede escuchar de repente el sonido del segundo servidor X. Esto significa que el sonido está funcionando, pero simplemente no puedes escucharlo mientras estás en el segundo servidor X.

En versiones anteriores de Ubuntu (por ejemplo, Ubuntu 10.10), hay un comando ( ck-launch-session) que puede ejecutar en el segundo servidor X y el sonido funcionaría. Desafortunadamente, este comando ya no tiene ese efecto en Ubuntu 11.04 y versiones posteriores. Este es el comando que usaría para iniciar XBMC en un servidor X separado:

xinit /usr/bin/ck-launch-session /usr/bin/xbmc -- :1

¿Cómo puedo habilitar el sonido cuando estoy en un segundo servidor X en Ubuntu 11.04 o posterior?

Informe de error relacionado: 366404

Serrano
fuente
Supongo que necesitaría tener la salida del servidor pulseaudio (o cualquier servidor de sonido que esté utilizando si no es pulseaudio) en el segundo servidor x enrutado como una entrada al servidor pulseaudio en el primer servidor x, esto se debe a que solo uno El servidor de audio (o, si no está ejecutando un servidor de audio, solo una aplicación) puede acceder a la tarjeta de sonido a la vez. No estoy seguro de cómo hacer esto, pero espero que te dé una idea de dónde buscar (la documentación de pulseaudio).
adempewolff

Respuestas:

3

Cuando hice ese tipo de cosas, tuve que ser parte del grupo de "audio". De esa manera se podía escuchar el audio de cada pantalla. Un problema: cambiar de pantalla no cambia el audio emitido. Si tuviera una instancia de KDE ejecutándose en una pantalla y reproduciendo música con Amarok, podría escucharla en todas las pantallas.

Si (como yo) no sabe cómo agregar un usuario a un grupo a través del símbolo del sistema, simplemente instale "kuser" en Synaptic o en el centro de software o escriba sudo apt-get install kuseren el terminal.

Creo recordar haber tenido algunos problemas al iniciarlo como root con el iniciador predeterminado. Si le da un error diciendo que no puede acceder a un archivo, generalmente no es un problema, solo asegúrese de estar usando el programa como root. Si solo te dice que necesitas ser root, cierra la ventana, presiona ALT + F2 y luego escribe gksudo kuser. La computadora le pedirá su contraseña, luego Kuser se cargará correctamente.

JimmyC866
fuente
2
Gracias por dar la respuesta! No puedo creer que la respuesta sea así de simple. Sin embargo, soy un tipo de línea de comandos y sudo usermod -a -G audio $USERseguido de un reinicio del sistema hace el truco. Y afortunadamente, aún no escuchará el audio de otros usuarios.
Serrano
esto solía funcionar, pero reinstalé ubuntu y dejó de funcionar
Aquarius Power
@AquariusPower: esto todavía funciona para mí en Ubuntu 15.04.
Serrano
1

Intente dar a conocer sus credenciales de audio de pulso en el segundo servidor x utilizando pax11publish -D :1 -e

(donde: 1 es el número de pantalla de su segundo X-Server, normalmente: 0 es el primero, contando hacia arriba)

La aplicación que está ejecutando probablemente esté intentando leer los atributos de pulso de las propiedades de las ventanas raíz X11.

Alternativamente, podría estar atascado en el mayor kit de consola f * ckup.

Paul Hänsch
fuente
Gracias por tu respuesta Paul, pero desafortunadamente no funcionó. Intenté ejecutar ese comando desde el primer y el segundo servidor X. Y probé el sonido con diferentes aplicaciones.
Serrano
wow ... entonces realmente no tengo solución, pero aprecio el problema ...
Paul Hänsch
¡trabajó! no estoy seguro si también requeriría estar en audio grupal (soy demasiado vago para eliminar y probar xD)
Aquarius Power