루트가 아닌 사용자는 파이프와이어를 사용하여 오디오를 재생할 수 없습니다.

루트가 아닌 사용자는 파이프와이어를 사용하여 오디오를 재생할 수 없습니다.

파이프라인을 사용하는 AlmaLinux 9 호스트가 있습니다. 루트로 로그인하면 문제 없이 오디오 파일을 재생할 수 있습니다. 그러나 다른 사용자에게 동일한 명령을 실행하면 "Host is down" 오류가 발생하고 오디오가 재생되지 않습니다.

pw-play -v /data/sounds/intercom-bong.wav
error: pw_context_connect() failed: Host is down

또한 만약에루트 사용자로난 달린다

sudo /usr/bin/pw-play -v /data/sounds/intercom-bong.wav
error: pw_context_connect() failed: Host is down

나는 똑같은 오류가 발생합니다. sudo는 루트로 실행한다는 의미이므로 이것이 어떻게 가능한지 이해가 되지 않습니다.

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변1

RHEL이나 Alma Linux가 이 작업을 어떻게 수행하는지 모르겠지만 Debian에서 생성된 오디오 장치는 660 권한을 가진 그룹 이 udev소유 root합니다 .audio

내 시스템에서는 다음과 같습니다.

$ ls -lF /dev/snd/
total 0
drwxr-xr-x  2 root root      100 Jul 30 20:51 by-path/
crw-rw----+ 1 root audio 116, 13 Aug  1 21:25 controlC0
crw-rw----+ 1 root audio 116, 12 Aug  1 21:25 controlC1
crw-rw----+ 1 root audio 116, 18 Aug  1 21:25 controlC2
crw-rw----+ 1 root audio 116, 11 Aug  1 21:25 hwC0D0
crw-rw----+ 1 root audio 116,  8 Aug  1 21:25 hwC1D0
crw-rw----+ 1 root audio 116, 17 Aug  1 21:25 hwC2D0
crw-rw----+ 1 root audio 116,  4 Aug  6 19:26 pcmC0D3p
crw-rw----+ 1 root audio 116,  5 Aug  6 19:26 pcmC0D7p
crw-rw----+ 1 root audio 116,  9 Aug  6 19:26 pcmC0D8p
crw-rw----+ 1 root audio 116, 10 Aug  6 19:26 pcmC0D9p
crw-rw----+ 1 root audio 116,  2 Aug  6 19:26 pcmC1D3p
crw-rw----+ 1 root audio 116,  3 Aug  6 19:26 pcmC1D7p
crw-rw----+ 1 root audio 116,  6 Aug  6 19:26 pcmC1D8p
crw-rw----+ 1 root audio 116,  7 Aug  6 19:26 pcmC1D9p
crw-rw----+ 1 root audio 116, 15 Aug  6 19:26 pcmC2D0c
crw-rw----+ 1 root audio 116, 14 Aug 10 09:34 pcmC2D0p
crw-rw----+ 1 root audio 116, 16 Aug  6 19:26 pcmC2D1p
crw-rw----+ 1 root audio 116,  1 Jul 30 20:51 seq
crw-rw----+ 1 root audio 116, 33 Aug  1 21:25 timer

당신은:

  1. 시스템을 확인하여 /dev/snd 장치 노드의 그룹과 권한을 알아보세요(아마도 audio660, 데비안과 동일).

  2. 오디오 장치에 액세스할 수 있는 사용자가 이 그룹에 있는지 확인하십시오. (그룹 멤버십을 변경하려면 newgrp현재 로그인된 사용자를 그룹에 추가한 후 사용하거나 로그아웃한 후 다시 로그인해야 합니다.)

  3. 사용자에 대해 파이프라인와이어가 실제로 실행되고 있는지 확인하십시오. 예를 들어, 파이프라인와이어를 실행하는 내 컴퓨터 중 하나에서:

$ ps u -C pipewire
USER         PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
username    6914  0.0  0.0 105708  8836 ?        S<sl Jul30   0:00 /usr/bin/pipewire
username    6915  0.0  0.0  94680  4948 ?        Ssl  Jul30   0:00 /usr/bin/pipewire -c filter-chain.conf

pipewire사용자가 로그인하면 자동으로 시작되어야 합니다. 실행되지 않으면 사용자의 ~/.xsession-errors파일을 확인하십시오. 시작되었다가 종료되면 거기에 단서가 있을 수 있습니다.

전혀 시작되지 않으면 해당 사용자의 창 관리자에 대한 세션 시작 구성을 확인하십시오. xfce를 사용한다면 그것은 Settings Manager -> Settings and Startup -> Application Autostart. 비슷한 이름으로.

관련 정보