Hallo Ihr,
nachdem mir durch thejew und jojo so großartig geholfen wurde, meinem WL-500W das Musik abspielen beizubringen (Vielen Dank noch mal Euch beiden an dieser Stelle!), fällt mir natürlich gleich wieder eine in meinen Augen noch elegantere Möglichkeit ein, über die Audioschnittstelle zu verfügen. Man ist ja schließlich nie nur mit dem zufrieden, was man bereits hat .
Das Problem:
Ohne solch segenreiche Erfindungen wie Alsa oder Pulseaudio, kann immer nur eine Anwendung auf die Soundschnittstelle zugreifen. Wenn ich also meinen jetzt wunderbar funktionierenden mpd-server im Hintergrund laufen lasse, kann ich jederzeit innerhalb meines Netzwerkes Musik darüber abspielen.
Würde ich aber jetzt z.B. gerne den Sound z.B. eines abgespielten Films über die Anlage ausgeben wollen, an die der Wl5ooW jetzt angeschlossen ist, müßte ich mich ssh in die Kiste einwählen, den mpd-server stoppen und den esd-server starten, auf den ich dann mit meinen esound-pulseaudio plugin den Sound meines Films umleiten könnte.
Das zur Ausgangslage - mein Wunsch und Ziel wäre es aber, daß die Audioschnittstelle immer nur von dem Server beansprucht wird, der es auch tatsächlich braucht - abhängig auf welchem Port der Router angesprochen wird.
Zur Frage:
Dank Wengis tollem Howto habe ich seit längerem schon den xinet Daemon laufen, der mir z.B. die Samba Mounts nur dann zur Verrfügung stellt, wenn tatsächlich auf sie zugegriffen wird. Außerdem läuft damit der openvpn server, den ich aber bisher nur innerhalb meines netzwerks erreichen kann, von außen erreiche ich ihn irgendwie nicht.
Meine Hoffnung obigen Wunsch in die Tat umzusetzen, bestünde also darin, dem xinetd beizubringen, bei Anfragen an z.B. Port 6600 den mpd-Musikserver zur Verfügung zu stellen und bei Port 1600x bspw. den Esound-server.
Ich habe keine Ahnung, ob das rein technisch überhaupt geht, dazu verstehe ich viel zu wenig von xinetd.
Die Frage wäre also, ob das tatsächlich möglich wäre und wie sich das in die Tat umsetzen ließe. Googelei hat mich bei der Kombi "mpd" und "xinetd" noch kein Stück weiter gebracht.
Mein Versuch gestern, die xinetd Konfig-Datei des openvpn servers in meinem Sinne umzuschreiben (siehe unten) hat zwar dazu geführt, daß xinetd ohne murren startet und beim Versuch, mich von einer anderen Kiste über Port 6600 an den mpd-server zu hängen im syslog eine Nachricht a lá "Start: Namedesservices [Pid] von IP: IPdesMpdClients" hinterläßt, aber irgendwie wird der server nicht wirklich gestartet. Somit kommt auch clientseitig dann natürlich keine Verbindung zustande.
Hier die Konfig datei:
Code:
service mpd_xinetd
{
type = UNLISTED
port = 6600
socket_type = stream
protocol = tcp
wait = no
user = admin
server = /opt/bin/mpd
server_args = /usr/local/root/mpd.conf
log_on_success += HOST PID
log_on_failure += HOST
# only_from += 0.0.0.0
disable = no
}
Mit den Angaben zu socket_type, type und wait kann ich leider garnichts anfangen, da hoffe ich auf Eure Hilfe.
Ob die Angaben zu user nötig sind, weiß ich auch nicht - server und port ist klar, bei den server_args sind sicher die Argumente gemeint, die beim starten des mpd-servers ohnehin angeben muß, also die Konfig-Datei ohne die er bei mir nicht startet.
Wie schon erwähnt, scheint er eine Anfrage des Clients an Port 6600 schon anzunehmen, aber irgendwie klappt das Starten des Servers und die Verbindung der beiden dann nicht. Meine Vermutung ist, daß ich nicht die richtige Wahl des "socket_type" getroffen habe - aber alternativ konnte ich bisher nur einen anderen ausprobieren, der aber auch nicht ging. Kann leider gerade nicht nachschauen welcher das war. Trage ich später nach.
Jetzt ist auch erstmal genug - sorry für den langen Text, aber das erspart das nachfragen.
Vielen Dank schon mal an Euch fürs mittüfteln,
Lieben Gruß, Nix