나는 이 질문이 이전에 여러 번 요청되었다는 것을 알고 있지만 나에게 맞는 해결책을 찾지 못했습니다.
SSH 세션을 통해 오디오를 재생하는 데 문제가 있습니다. 문제의 장치는 Arch Linux ARM을 실행하고 USB 스피커에 연결된 Raspberry Pi 3B+입니다. 이제 설정 과정을 더 쉽게 하기 위해 HDMI 케이블과 키보드를 연결했지만 "완료"되면 자동으로 작동합니다.
로컬 터미널에 로그인하면 소리 재생과 마이크 녹음에 문제가 없습니다. pactl list short sinks
HDMI 출력, 3.5mm 잭 및 USB 스피커가 나열되었으며 후자를 기본 수신기로 설정하면 paplay
유사한 명령을 사용하여 오디오가 전혀 문제 없이 재생되었습니다.
그러나 pi에 SSH로 접속하면 pactl list short sinks
가상 오디오 수신기만 나타나고 재생하려는 오디오는 자동으로 삭제됩니다. 동시에 로컬로 로그인하면 모든 수신기가 표시되고 오디오도 재생할 수 있습니다! 그러나 로컬에서 로그아웃하면 SSH 세션의 오디오가 다시 작동하지 않습니다. 이는 앞에서 언급한 것처럼 나중에 헤드리스 파이가 사용되기 때문에 매우 불편합니다.
인터넷의 일부 사람들은 이것이 펄스오디오가 강력히 반대하는 시스템 모드가 타당한 몇 안 되는 사례 중 하나라고 제안했습니다. 온라인 조언을 바탕으로 다음 단계를 수행했습니다.
sudo systemctl --global mask pulseaudio.socket
로그인 시 사용자 공간 서버가 시작되지 않도록 합니다.pulse
홈 디렉터리 없이 사용자를 만듭니다 .pulse-access
그룹 에 나 자신을 추가합니다 .- 재시작.
- 로컬로 로그인한 후 사용자 공간 서버가 실제로 생성되지 않았는지
pactl list short sinks
보고 하고 확인합니다.Connection failure: Connection refused
- 시스템 모드에서 시작하려면 pulseaudio를 사용하십시오
sudo pulseaudio --system -D
.
그러나 이는 실제로 상황을 더욱 악화시킵니다. 이제 pactl list short sinks
SSH 및 로컬 세션의 가상 수신기만 나열되므로 로컬 터미널(루트 사용자라도)에서 오디오를 재생할 수 없습니다.
어떡해? 유용한 정보가 포함될 수 있는 로그 파일이 있습니까? 감사해요!
답변1
Pulse 사용자는 ALSA 및 Bluetooth 장치를 사용하려면 오디오(및 Bluetooth) 그룹에 있어야 합니다.
usermod -aG audio pulse