Dieser Artikel wurde archiviert, da er - oder Teile daraus - nur noch unter einer älteren Ubuntu-Version nutzbar ist. Diese Anleitung wird vom Wiki-Team weder auf Richtigkeit überprüft noch anderweitig gepflegt. Zusätzlich wurde der Artikel für weitere Änderungen gesperrt.
Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.
ESD steht für "The Enlightened Sound Daemon". Der Ubuntu-Standarddesktop GNOME verwendet den ESound-Soundserver. Seit Ubuntu Dapper Drake 6.06 LTS aber nur noch für Programme, die Esound direkt aufrufen wie z.B. die GNOME-Systemsounds.
Ob der Soundserver läuft, kann man mit dem Befehl ps im Terminal [2] feststellen, der gesuchte Prozess heißt esd:
#Befehl ps -C esd
Wenn alles korrekt ist, sollte die Ausgabe in etwa so aussehen:
PID TTY TIME CMD 4632 ? 00:00:00 esd
Eventuell fragen sich hier einige, wieso man das wollen könnte. Zwei Möglichkeiten gibt es hier zum Beispiel:
Der Server ist an die Musikanlage angeschlossen und man möchte (irgendwo im Netzwerk) ein Lied auf dieser Anlage hören, ohne die Datei direkt auf dem Server abzuspielen.
Falls man sich mittels XDMCP verbinden will und bereits das Bild von einem Server auf dem Rechner hat, muss man ESD umleiten, um auch ein Ton zum Bild zu haben.
In der folgende Anleitung wird von einem Quellrechner und einem Zielrechner gesprochen.
Quellrechner: Der Computer, auf dem die Musik abgespielt wird.
Zielrechner: Der Computer, auf dem die Musik gehört werden soll.
Zuerst muss das Paket
esound-clients
installiert [1] werden.
Da man auf diesem Computer die Musik umleiten will, muss man zuerst ESD mittels
killall esd
beenden [2]. Jetzt startet man ESD mit zusätzlichen Parametern neu:
esddsp --server=192.168.0.1:9090 esd
192.168.0.1
ist dabei die IP-Adresse des Zielrechners und 9090
der benutzte Port, an den die Musik weitergeleitet wird.
Natürlich kann man das ganze in ein Skript packen [3]:
#!/bin/sh killall esd esddsp --server=192.168.0.1:9090 esd
und in den Autostart legen.
Mit esdmon und esdcat lässt sich die Umleitung auch bei laufendem ESD realisieren. Beide Programme sind im Paket esound-clients enthalten.
esdmon öffnet den ESD Socket auf dem Quellrechner, und esdcat leitet den Stream auf den Zielrechner um.
esdmon | esdcat -s 192.168.0.1:9090
Als Script könnte das ganze dann so aussehen:
#!/bin/bash ps -C esdmon if [ $? == "0" ]; then echo "Stream abschalten" killall esdmon else echo "Stream anschalten" esdmon | esdcat -s 192.168.0.1:9090 fi
Der erste Aufruf des Scripts startet das Streaming, der zweite Aufruf beendet das Streaming wieder.
Prinzipiell öffnet man mit dieser Methode einen Port im System. Dies ist eine potentielle Sicherheitslücke und sollte nur in sicheren Netzwerken durchgeführt werden. Zusätzlich kann man so keine Musik mehr auf dem Zielcomputer hören, da ESD diese vom TCP-Port erwartet.
Zuerst bearbeitet man die Datei /etc/esound/esd.conf in einem Editor mit Root-Rechten [3]. Normalerweise schaut diese so aus:
[esd] auto_spawn=1 spawn_options=-terminate -nobeeps -as 1 spawn_wait_ms=100 # default options are used in spawned and non-spawned mode default_options=
Jetzt fügt man ans Ende die Zeile
spawn_options=-terminate -nobeeps -as 1 -tcp -public -port 9090
hinzu. Um die Änderungen wirksam werden zu lassen, muss man den ESD-Dämon neustarten [2]:
killall esd esd &
Nun kann man auf den Quellrechner Musik abspielen und sie wird auf dem Zielrechner zu hören sein.
Diese Revision wurde am 1. November 2009 01:11 von oliverhorn erstellt.