So setzen Sie die PulseAudio-Standardsenke beim Booten automatisch auf einen Remote-Server - Ubuntu 9.04

16172
Dave M

Ich verwende die Pulseaudio Device Chooser, um die Standardsenke (auf einem Laptop) auf einen Remote-Server festzulegen. Das funktioniert gut. Wenn ich meinen Laptop neu starte, wird die Standardsenke wieder auf "Standard" (die Laptop-Soundkarte) zurückgesetzt. Gibt es eine Möglichkeit, den Laptop dazu zu bringen, den Remote-Server nach einem Neustart weiter zu verwenden? Gibt es einen Befehl, den ich beim Start in einem Skript ausführen kann, um die Standardsenke wieder auf den Remote-Server zu ändern?

Ich verwende Ubuntu 9.04 auf diesem Rechner.

Anscheinend gibt es ein Problem beim Erstellen des Tunnels mit der Version von pulse, die in der Ubuntu 9.04-Distribution verwendet wird. Wenn ich auf ubuntu 10.04 folgendes mache, funktioniert es:

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 

Leider funktioniert das auf Ubuntu 9.04 nicht. Das Syslog zeigt:

13. November 14:45:33 ubuntu-JMRT pulseaudio [3473]: module-tunnel.c: Stream ist gestorben.

Ich gehe also davon aus, dass in dieser Version von pulse ein Fehler vorliegt. Obwohl es funktioniert padevchooser, kann ich es nicht von der Kommandozeile aus erreichen. Ich habe auch versucht, Folgendes zu den folgenden /etc/pulse/default.paErgebnissen hinzuzufügen :

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. November 14:45:33 ubuntu-JMRT pulseaudio [3473]: module-tunnel.c: Stream ist gestorben.

Ich bin also wieder beim Versuch herauszufinden, wohin ich exportieren soll, PULSE_SERVERdamit Apps, die von gnome gestartet werden, beim Neustart es sehen.

Ich habe versucht, Folgendes hinzuzufügen:

export PULSE_SERVER=tcp:192.168.1.64:4713 

zu: ~/.bashrc

Dies funktioniert, wenn ich Apps von der Konsole aus starte, aber nicht, wenn ich Apps von gnome starte.

Ich habe auch versucht, diesen Export hinzuzufügen:

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

aber nichts davon funktionierte.

4
Beim Booten oder beim Login? Ignacio Vazquez-Abrams vor 14 Jahren 0
Ich denke, Ubuntu lädt beim Login Puls? Dave M vor 14 Jahren 0

2 Antworten auf die Frage

4
Daniel Andersson

http://pulseaudio.org/wiki/DefaultDevice - Standardeinstellung ist nicht identisch mit dem Fallback in PulseAudio. Ein "Standardgerät" kann nicht wirklich festgelegt werden, wie in der Verknüpfung in PulseAudio selbst beschrieben.

Die "richtige" Methode wäre, eine Remote-Senke über die Modul-Tunnelsenke zu definieren, während Sie dies versuchen. Sie sagen, es ist in dieser Version von PulseAudio nicht möglich, und dann kann ich Ihnen nur empfehlen, die Syntax noch einmal zu überprüfen. Die Einstellung PULSE_SERVERfür Anmeldungs-Shells kann wie in der Antwort von Gilles vorgenommen werden. Im Folgenden schreibe ich explizit über meine Lösung (mit einer aktuellen PulseAudio-Version).

Meine genauen Zeilen aus /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 

... so wie Sie es versuchen. Wenn dies funktioniert, können Sie eine "wahre Vorgabe" gnome-volume-controlfestlegen, z. B. wo Ihre Aliassenke als verfügbares Ausgabegerät angezeigt werden soll.

Auf diese Weise können Sie die Ausgabe für alle Anwendungen im laufenden Betrieb umschalten.

Die Definition der Remote-Senke lässt sich auch besser über Avahi vornehmen, aber ich habe es noch nicht geschafft, hier zu funktionieren (kein PulseAudio-Problem).

1
Gilles

In den meisten Fällen ist der richtige Ort, um Umgebungsvariablen beim Anmelden festzulegen ~/.profile.

~/.bashrcist eine Konfigurationsdatei der Bash-Shell, die beim Start von interaktiven Instanzen von Bash gelesen wird. Es ist nicht der richtige Ort, um eine Umgebungsvariable festzulegen, da sie nur in Prozessen festgelegt werden, die von einer interaktiven Shell aus gestartet werden.

~/.profilewird von den meisten Anmeldemethoden gelesen. Abhängig von Ihrer Distribution, dem Display-Manager und dem Sitzungstyp kann es jedoch nicht gelesen werden, wenn Sie sich im Grafikmodus anmelden. Es ist in der Standardkonfiguration auf Ubuntu 10.04 geladen, aber ich bin mir nicht sicher, ob es 9.04 ist. Wenn es nicht geladen ist, versuchen Sie ~/.gnomercoder ~/.xsession.

Siehe auch Unterschied zwischen .bashrc und .bash_profile .

Hinzufügen von "Export PULSE_SERVER = tcp: 192.168.1.64: 4713" (wobei 192.168.1.64 für die IP-Adresse oder den DNS-Namen des Remote-Pulse-Audioservers steht) zu ~ / .profile funktioniert. Vielen Dank. Dave M vor 14 Jahren 0