로컬 컴퓨터에서 ssh를 통해 핀치로 소리 / 알림 재생


9

그래서 나는 finch원격 컴퓨터에서 실행중인 명령 줄 채팅 클라이언트 (pidgin 생각) ssh를 가지고 있습니다. finch알림 소리가 있으며 특정 이벤트가 발생할 때 명령을 실행하여 사운드 파일을로 전달할 수 있습니다 %s. 예 :mplayer %s

원격 컴퓨터에서 알림이 발생하면 %s로컬 컴퓨터에있는 것을 재생하기 위해 어떤 종류의 명령을 실행할 수 있습니까?

답변:


7

펄스 오디오 를 사운드 서버로 사용하는 경우 module-native-protocol-tcp원격 시스템에서 TCP 연결을 수락 하는 데 사용할 수 있습니다 .

다음 예에서는 ssh 터널을 사용하여 원격 컴퓨터에서 로컬 컴퓨터로 오디오 요청을 전달합니다.

로컬 머신에서 다음과 같은 작업을 수행하십시오.

pactl load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1
ssh -R 9999:127.0.0.1:4713 you@remotehost

그런 다음 원격 컴퓨터에서 사용할 수 있습니다 paplay

paplay -s 127.0.0.1:9999 soundfile.wav

추가 나는유효한 매개 변수로auth-ip-acl받아들이지 않는다는것을 발견했다.localhost127.0.0.1

편집 그것은해야ssh -R하지,ssh -L(우리는 로컬 포트에 원격 포트를 전달하는).


이전 버전의 펄스 오디오 (0.9.3 이전)를 사용하는 경우 쿠키 기반 인증을 사용할 수 있습니다.

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

분명히, 당신은 단순히 펄스 오디오에서 인증을 사용할 수는 없지만이 솔루션을 권장하지는 않습니다. 원격 연결을 피하려면 최소한 방화벽을 사용하십시오.


에 "실패 : 모듈 초기화 실패"가 표시됩니다 pactl load-module module-native-protocol-tcp auth-ip-acl=localhost. 의존성이나 뭔가 빠졌습니까?
테스터

시도 pulseaudio --check ; echo $?펄스 오디오 서버가 실행되고 있는지 확인합니다. 0실행 중이면 인쇄 해야합니다.
andcoz

내 컴퓨터에서 (12.1을 열면) 모듈이에 /usr/lib64/pulse-1.1/modules/module-native-protocol-tcp.so있습니다. 어떤 배포판을 사용하고 있습니까?
andcoz

로컬 컴퓨터가 0제대로 반향합니다 . 원격은 우분투 11.10에 있고 로컬은 11.04에 있습니다. 나는 내 로컬에서 직접 모듈을 참조하려고 시도 pactl load-module /usr/lib/pulse-0.9.22/modules/module-native-protocol-tcp.so auth-ip-acl=localhost 하고 얻는다 Failure: Invalid argument. 어떤 생각? (도움을 주셔서 감사합니다)
테스터

auth-ip-acl버전 0.9.3부터 지원됩니다. freedesktop.org/wiki/Software/PulseAudio/Documentation/User/…
andcoz
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.