SSH에서 X와 같은 오디오 전달 시스템의 스피커에서만 재생됩니다. 예를 들어 VLC

ssh에서 -X 스위치를 사용하여 X 응용 프로그램을 원격으로 사용할 수 있지만 사운드는 원격 시스템의 스피커에서만 재생됩니다. 예를 들어 VLC / Totem에서 영화를 볼 때 비디오 만 표시되고 오디오를들을 수 없습니다. 오디오를 전달하는 방법이 있습니까? [Pulse-audio의 설정을 통하지 않고 내 말은; ssh가 X 포워딩 자체를 이해하는 방식과 같습니다.]

도움이된다면 우분투 (9.10에서 10.10까지 다양한 우분투 버전)에서만 이것을 시도했습니다.



답변

첫째, 실행 paprefs, 이동 네트워크 서버 및 확인 지역 사운드 장치에 대한 네트워크 액세스를 활성화합니다 . PulseAudio에서 “module-native-protocol-tcp”를로드합니다.

이제 몇 가지 방법으로 PulseAudio 서버에 액세스 할 수 있습니다.

SSH를 통해 TCP 연결을 수동으로 전달

  1. pax11publishPulseAudio 리스너 포트 (일반적으로 4713)를 감지하는 데 사용 합니다.
  2. 다른 컴퓨터에 연결하십시오 ssh -R 24713:localhost:4713(원격 포트 ‘24713’이 임의로 선택됨).
  3. 인증 쿠키 (~ / .config / pulse / cookie)를 해당 컴퓨터에 복사하십시오.
  4. 마지막으로으로 실행 export PULSE_SERVER="tcp:localhost:24713"하고 테스트하십시오 pactl info.

X11 기반 감지와 자동 직접 연결 사용

X11 포워딩이 활성화 된 SSH를 사용할 때마다 PulseAudio 프로그램은 X11을 사용하여 사운드 서버를 검색합니다 (사용 pax11publish하거나 xprop -root PULSE_SERVER직접 확인). 그들은 오디오 스트리밍을 위해 컴퓨터에 직접 (SSH가 아닌, 암호화되지 않은) 연결을 시도합니다 .

DNS-SD 검색으로 자동 직접 연결 사용

avahi-daemon 및 pulseaudio-zeroconf가 설치되어 있으면 “다른 시스템이 로컬 장치를 검색하도록 허용”을 활성화 할 수 있습니다. “module-zeroconf-publish”가로드됩니다.

“탐색 가능한 네트워크 장치를 로컬에서 사용 가능하게 함”옵션 (module-zeroconf-discover)을 사용하는 다른 컴퓨터는 컴퓨터가 내보내는 출력 (싱크)을 자동으로 나열합니다. 오디오 스트리밍을 위해 직접 (암호화되지 않은) 연결을 사용합니다 .

이 방법을 사용하려면 ~ / .config / pulse / cookie가 호스트간에 동일해야합니다.