Spielen eines Sounds / einer Benachrichtigung in Finch über SSH auf meinem lokalen Computer


9

Ich habe also fincheinen Befehlszeilen-Chat-Client (Think Pidgin), der auf einem Remote-Computer ausgeführt wird, auf dem ich mich sshbefinde. finchhat Benachrichtigungstöne und kann einen Befehl ausführen, wenn bestimmte Ereignisse auftreten, sodass Sie die Audiodatei als übergeben können %s. z.Bmplayer %s

Welche Art von Befehl kann ich auf dem Remotecomputer ausführen, wenn die Benachrichtigung erfolgt, um das abzuspielen, was %ssich auf meinem lokalen Computer befindet?

Antworten:


7

Wenn Sie Puls-Audio als Soundserver verwenden, können Sie module-native-protocol-tcpdie TCP-Verbindung von Ihrem Remote-Computer 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 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 einem Remote-Computer verwenden paplay

paplay -s 127.0.0.1:9999 soundfile.wav

HINZUGEFÜGT Ich habe festgestellt, dass Sieauth-ip-aclkeinenlocalhostgültigen Parameterakzeptierenmüssen127.0.0.1(oder was auch immer Ihr Computer die lokale Hostadresse verwendet).

BEARBEITEN Es solltessh -Rnicht seinssh -L(wir leiten einen Remote-Port an einen lokalen Port weiter).


Wenn Sie eine alte Version von Puls-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 können Sie in Puls-Audio einfach keine Authentifizierung verwenden, aber ich kann Ihnen diese Lösung nicht empfehlen. Verwenden Sie mindestens eine Firewall, um Remoteverbindungen zu vermeiden.


"Fehler: Modulinitialisierung fehlgeschlagen" wird aktiviert pactl load-module module-native-protocol-tcp auth-ip-acl=localhost. Vermisse ich eine Abhängigkeit oder so?
— Tester

Versuchen Sie pulseaudio --check ; echo $?zu überprüfen, ob der pulseaudio-Server ausgeführt wird. Es sollte gedruckt werden, 0wenn es ausgeführt wird.
— andcoz

Auf meinem Computer (opensuse 12.1) befindet sich das Modul in /usr/lib64/pulse-1.1/modules/module-native-protocol-tcp.so. Auf welcher Distribution laufen Sie?
— andcoz

Mein lokaler Computer hallt 0richtig. Remote ist auf Ubuntu 11.10 und mein lokaler ist auf 11.04. Ich habe versucht, das Modul direkt auf meinem lokalen zu referenzieren pactl load-module /usr/lib/pulse-0.9.22/modules/module-native-protocol-tcp.so auth-ip-acl=localhost und ich bekomme Failure: Invalid argument. Irgendeine Idee? (Übrigens danke für Ihre Hilfe)
— Tester

auth-ip-aclwird seit Version 0.9.3 unterstützt. Siehe freedesktop.org/wiki/Software/PulseAudio/Documentation/User/…
— andcoz
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.