Come ottenere l'audio in un server X separato in Ubuntu 11.04 o successivo?


10

Ho configurato il mio sistema Ubuntu in modo da poter avviare qualsiasi applicazione in un server X separato. L'esecuzione di giochi o, ad esempio, XBMC in un server X separato presenta alcuni importanti vantaggi.

Il problema tuttavia è che quando si passa al secondo server X (Ctrl + Alt + F8), non si sente alcun suono. Stranamente, quando torni al desktop (Ctrl + Alt + F7) puoi improvvisamente sentire l'audio dal secondo server X. Ciò significa che il suono funziona, ma non riesci a sentirlo mentre sei nel secondo server X.

Nelle versioni precedenti di Ubuntu (ad esempio Ubuntu 10.10), esiste un comando ( ck-launch-session) che è possibile eseguire sul secondo server X e il suono funzionerebbe. Sfortunatamente, questo comando non ha più quell'effetto in Ubuntu 11.04 e versioni successive. Questo è il comando che vorrei utilizzare per avviare XBMC in un server X separato:

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

Come posso abilitare l'audio quando mi trovo in un secondo server X in Ubuntu 11.04 o successivo?

Segnalazione errori correlati: 366404


Immagino che avresti bisogno di avere l'output del server pulseaudio (o di qualsiasi altro server audio che usi se non pulseaudio) sul secondo xserver instradato come input al server pulseaudio sul primo xserver - questo perché solo uno audioserver (o, se non si esegue un server audio, solo un'applicazione) può accedere alla scheda audio alla volta. Non sono sicuro della mia testa su come farlo, ma spero che ti dia un'idea di dove cercare (la documentazione di pulseaudio).
Adempewolff,

Risposte:


3

Quando ho fatto quel genere di cose, ho dovuto far parte del gruppo "audio". In questo modo è possibile ascoltare l'audio da ogni schermo. Un problema: la commutazione delle schermate non modifica l'audio in uscita. Se avessi un'istanza di KDE in esecuzione su uno schermo e suonando musica con Amarok, sarei in grado di ascoltarlo su tutti gli schermi.

Se (come me) non sai come aggiungere un utente a un gruppo tramite il prompt dei comandi, installa "kuser" in Synaptic o nel centro software o digita sudo apt-get install kuseril terminale.

Mi sembra di ricordare di aver avuto dei problemi ad avviarlo come root con il launcher predefinito. Se ti dà un errore dicendo che non è possibile accedere a un file, generalmente non è un problema, assicurati solo di utilizzare il programma come root. Se ti dice solo che devi essere root, chiudi la finestra, premi ALT + F2, quindi digita gksudo kuser. Il computer chiederà la tua password, quindi Kuser verrà caricato correttamente.


2
Grazie per aver fornito la risposta! Non posso credere che la risposta sia così semplice. Sono un tipo da riga di comando e sudo usermod -a -G audio $USERseguito da un riavvio del sistema fa il trucco. E fortunatamente non sentirai ancora l'audio di altri utenti.
Serrano,

questo funzionava, ma ho reinstallato Ubuntu e ha smesso di funzionare
Aquarius Power

@AquariusPower: questo funziona ancora per me su Ubuntu 15.04.
Serrano,

1

Prova a rendere note le tue credenziali audio-impulso sul secondo x-server utilizzando pax11publish -D :1 -e

(dove: 1 è il numero di visualizzazione del secondo X-Server, normalmente: 0 è il primo, contando verso l'alto)

L'applicazione in esecuzione sta probabilmente tentando di leggere gli attributi degli impulsi dalle proprietà della finestra principale di X11.

In alternativa, potresti rimanere bloccato nel maggiore consolekit f * ckup.


Grazie per la tua risposta Paul, ma purtroppo non ha funzionato. Ho provato a eseguire quel comando sia dal primo che dal secondo server X. E ho testato l'audio con diverse applicazioni.
Serrano,

wow ... allora non ho davvero alcuna soluzione, ma apprezzo il problema ...
Paul Hänsch,

lavorato! non sono sicuro che richiederebbe anche l'audio di gruppo (sono troppo pigro per rimuovere e testare xD)
Aquarius Power
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.