PulseAudio를 원격으로(클라이언트-서버 설정) 사용하는 누군가에 대한 포럼 게시물을 보고 흥미를 느꼈습니다. PulseAudio에는 몇 가지 매우 고급 기능이 있으며 Sonos와 같은 상용 시스템을 구입하지 않고도 집 전체에서 음악을 재생할 수 있기를 원했습니다.
지금까지 PulseAudio를 원격으로 작동시킬 수 있지만 정확히는 그렇지 않습니다.방향주다. 특히 보안 허점을 일부 열어 놓은 것 같습니다. 나는 내가 수행한 정확한 단계를 제공하고 내가 어디에서 잘못되고 있는지 말해 줄 수 있는 사람이 있는지 확인하고 싶습니다.
확실히 말하자면 PulseAudio가 작동하고 있으며 오류가 발생하지 않습니다. 하지만 필요한 것보다 더 많은 설정을 열어야 했습니다. 내 목표는 이러한 열악한 작업 구성을 정확하고 안전한 작업 구성으로 전환하는 것입니다.
내 PulseAudio 클라이언트와 서버 모두 Arch Linux를 실행합니다.
클라이언트와 서버 모두
이 패키지를 설치하고 avahi-daemon을 활성화하십시오:
pacman -S pulseaudio-zeroconf
systemctl enable avahi-daemon.service
systemctl start avahi-daemon.service
서버 단계
다음 줄을 편집 /etc/pulse/default.pa
하고 추가하세요.
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1
load-module module-zeroconf-publish
다음 명령을 실행하십시오.
pulseaudio -k
pulseaudio --start
pacmd list-modules | grep native-protocol-tcp
pacmd list-modules | grep zeroconf-publish
모듈이 맞습니다.
고객 단계
다음 줄을 편집 /etc/pulse/default.pa
하고 추가하세요.
load-module module-native-protocol-tcp
load-module module-zeroconf-discover
다음 명령을 실행하십시오.
pulseaudio -k
pulseaudio --start
pacmd list-modules | grep native-protocol-tcp
pacmd list-modules | grep zeroconf-discover
PulseAudio가 시작되고 모듈이 정확합니다.
다음 단계는 "그래픽 PulseAudio 볼륨 제어를 실행합니다 pavucontrol
. 출력 장치 탭 아래에 로컬 및 원격 출력 장치가 표시되어야 합니다." 그러나 이렇게 하면 클라이언트에 어떤 원격 출력 장치도 표시되지 않습니다. .
paprefs
터미널에서 열고 다음 추가 단계를 수행 해야 했습니다 .
클라이언트의 네트워크 액세스 탭:
- 검색 가능한 PulseAudio 네트워크 사운드 장치를 로컬에서 사용할 수 있도록 하려면 선택하세요.
서버의 웹 서버 탭:
- 로컬 사운드 장치에 대한 네트워크 액세스 활성화를 선택하십시오.
- LAN의 다른 컴퓨터가 로컬 사운드 장치를 검색하도록 허용을 선택하세요.
- 확인에는 인증이 필요하지 않습니다.
GUI에서 이러한 변경을 수행한 후에야 paprefs
클라이언트에서 원격 출력 장치를 볼 수 있었습니다. 언급한 대로 원격 수신기로 음악을 재생하는 것은 작동하지만 설정이 안전하지 않은 것 같고 구성에서 중요한 것이 누락된 것 같습니다. "인증 필요 없음"을 선택 취소하면 스트리밍이 중지됩니다.
또한 avahi를 사용하는 것보다 더 좋은 방법이 있습니까?
답변1
서버에서 다음 구성 줄을 변경했습니다.
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24 auth-anonymous=1
도착하다:
load-module module-native-protocol-tcp auth-ip-acl=127.0.0.1;192.168.0.0/24
동일한 ~/.config/pulse/cookie 파일을 모든 장치에 복사했습니다.
그런 다음 서버의 터미널에서 paprefs를 열고 다음 단계를 수행하십시오.
웹 서버 탭을 활성화합니다:
- "인증 필요 없음"을 선택 취소하세요.
CMUS
또한 기본적으로 동일한 작업을 수행하는 또 다른 방법을 찾았습니다. 즉, 음악 "서버" 역할을 하고 스피커(및 DAC, 전력 증폭기 또는 모든 음악)에 연결되는 다른 컴퓨터에서/를 통해 음악을 재생하면서 랩톱에서 음악 재생을 제어하는 것입니다. 설정). LAN의 장치 간에 쉬운 SSH 액세스를 설정했습니다. 앱을 설치했어요CMUS내 뮤직 서버에서.
cmus는 Unix 계열 운영 체제를 위한 작고 빠르며 강력한 콘솔 음악 플레이어입니다.
cmus
이제 랩톱(또는 휴대폰)을 음악 서버의 "원격 제어"로 사용하여 음악 서버에 SSH로 접속하고 터미널에 입력할 수 있습니다. 나는 다른 컴퓨터에서 재생되는 음악을 원격으로 제어하는 다른 방법을 시도해 보았으며 cmus의 콘솔 인터페이스는 매혹적인 우아함을 가지고 있다고 말하고 싶습니다.
cmus 명령의 경우 man cmus-tutorial
및 를 입력합니다 man cmus
.