
Ich habe also finch
einen Befehlszeilen-Chat-Client (denken Sie an Pidgin), der auf einem Remote-Computer ausgeführt wird, auf den ich ssh
zugreifen kann. finch
Er verfügt über Benachrichtigungstöne und kann einen Befehl ausführen, wenn bestimmte Ereignisse eintreten, sodass Sie die Sounddatei als übergeben können %s
. z. B.mplayer %s
Wenn die Benachrichtigung auf dem Remotecomputer erfolgt, welchen Befehl kann ich ausführen, um das abzuspielen, was %s
sich auf meinem lokalen Computer befindet?
Antwort1
Wenn du benutztPuls-AudioAls Soundserver können Sie ihn verwenden, module-native-protocol-tcp
um TCP-Verbindungen von Ihrem Remote-Computer zu akzeptieren.
Im folgenden Beispiel verwende ich einen SSH-Tunnel, um die Audioanforderung vom Remote-Computer an den lokalen Computer weiterzuleiten.
Führen Sie auf dem lokalen Computer beispielsweise Folgendes aus:
pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost
dann können Sie auf dem Remote-Computer verwendenpaplay
paplay -s 127.0.0.1:9999 soundfile.wav
HINZUGEFÜGTIch habe festgestellt, dass dies auth-ip-acl
nicht localhost
als gültiger Parameter akzeptiert wird. Sie müssen 127.0.0.1
die Localhost-Adresse (oder die von Ihrem Computer verwendete Adresse) verwenden.
BEARBEITENEs sollte heißen ssh -R
, nicht ssh -L
(wir leiten einen Remote-Port an einen lokalen Port weiter).
Wenn Sie eine alte Version von Pulse-Audio (vor 0.9.3) haben, können Sie die Cookie-basierte Autorisierung verwenden.
pactl load-module module-native-protocol-tcp auth-anonymous=1 auth-cookie-enabled=0
scp ~/.pulse-cookie you@remotehost:
ssh -R 9999:localhost:4713 you@remotehost
Natürlich kannst du in pulse-audio einfach auf die Authentifizierung verzichten, aber ich kann dir diese Lösung nicht empfehlen. Verwende zumindest eine Firewall, um Remoteverbindungen zu vermeiden.