ルート以外のユーザーは、パイプワイヤを使用してオーディオを再生できません。

ルート以外のユーザーは、パイプワイヤを使用してオーディオを再生できません。

パイプラインを使用するAlmaLinux 9ホストがあります。 rootとしてログインすると、問題なくオーディオファイルを再生できます。ただし、他のユーザーに同じコマンドを実行すると、「Host is down」エラーが発生し、オーディオは再生されません。

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

また、rootユーザーとして私は走る

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

私は同じエラーが発生します。 sudo は root で実行するという意味なので、これがどのように可能かを理解できません。

この問題を解決する方法についてのアイデアはありますか?

ベストアンサー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デバイスノードのグループと権限を確認します(おそらく、およびaudioDebian660と同じ)。

  2. オーディオデバイスにアクセスできるユーザーがこのグループにいることを確認してください。 (グループメンバーシップを変更するには、newgrp現在ログインしているユーザーをグループに追加して使用するか、ログアウトしてから再度ログインする必要があります。)

  3. ユーザーに対してパイプラインワイヤが実際に実行されていることを確認してください。たとえば、パイプラインワイヤを実行しているマイコンピュータの1つでは、

$ 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。同様の名前で。

おすすめ記事