Archiv/ESD

Archivierte Anleitung

Dieser Artikel wurde archiviert. Das bedeutet, dass er nicht mehr auf Richtigkeit überprüft oder anderweitig gepflegt wird. Der Inhalt wurde für keine aktuell unterstützte Ubuntu-Version getestet. Wenn du Gründe für eine Wiederherstellung siehst, melde dich bitte in der Diskussion zum Artikel. Bis dahin bleibt die Seite für weitere Änderungen gesperrt.

Artikel für fortgeschrittene Anwender

Dieser Artikel erfordert mehr Erfahrung im Umgang mit Linux und ist daher nur für fortgeschrittene Benutzer gedacht.

Zum Verständnis dieses Artikels sind folgende Seiten hilfreich:

  1. Installation von Programmen

  2. Ein Terminal öffnen

  3. Einen Editor öffnen

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 

ESD umleiten

Eventuell fragen sich hier einige, wieso man das wollen könnte. Zwei Möglichkeiten gibt es hier zum Beispiel:

  1. 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.

  2. 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

Zuerst muss das Paket

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.

Alternative:

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.

Zielrechner

Achtung!

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 & 

Abschluss

Nun kann man auf den Quellrechner Musik abspielen und sie wird auf dem Zielrechner zu hören sein.