在进行 ssh/X-window 转发时,我的音频驱动程序遇到了一个有趣的问题。
基本上 ALSA 在本地运行良好,但如果我使用需要通过 ssh 访问 alsa 的程序,我会收到以下错误:
ALSA lib pcm_dmix.c:1041:(snd_pcm_dmix_open) unable to open slave
Playback open error: -2,No such file or directory
(我正在使用扬声器测试程序来测试这一点)。
我不在乎声音是在本地播放还是在服务器上播放,但我确实需要声音驱动程序才能工作。
答案1
所以,我的问题是,我的本地用户不在音频组中。
$ groups
user adm dialout cdrom plugdev fuse lpadmin admin sambashare vboxusers subversion
但 /dev/snd 设备归音频组所有
$ls -la /dev/snd/
total 0
drwxr-xr-x 4 root root 480 Mar 13 21:03 .
drwxr-xr-x 21 root root 5020 Mar 13 21:03 ..
drwxr-xr-x 2 root root 80 Mar 13 21:03 by-id
drwxr-xr-x 2 root root 120 Mar 13 21:03 by-path
crw-rw----+ 1 root audio 116, 10 Feb 24 21:48 controlC0
crw-rw----+ 1 root audio 116, 2 Feb 24 21:48 controlC1
crw-rw----+ 1 root audio 116, 16 Mar 2 23:44 controlC2
crw-rw----+ 1 root audio 116, 18 Mar 13 21:03 controlC3
crw-rw----+ 1 root audio 116, 15 Feb 24 21:48 hwC0D2
crw-rw----+ 1 root audio 116, 9 Feb 24 21:48 hwC1D0
crw-rw----+ 1 root audio 116, 12 Feb 24 21:49 pcmC0D0c
crw-rw----+ 1 root audio 116, 11 Feb 25 22:46 pcmC0D0p
crw-rw----+ 1 root audio 116, 13 Feb 24 21:49 pcmC0D1p
crw-rw----+ 1 root audio 116, 14 Feb 24 21:48 pcmC0D2c
crw-rw----+ 1 root audio 116, 7 Feb 24 21:49 pcmC1D10p
crw-rw----+ 1 root audio 116, 8 Feb 24 21:49 pcmC1D11p
crw-rw----+ 1 root audio 116, 3 Feb 24 21:49 pcmC1D3p
crw-rw----+ 1 root audio 116, 4 Feb 24 21:49 pcmC1D7p
crw-rw----+ 1 root audio 116, 5 Feb 24 21:49 pcmC1D8p
crw-rw----+ 1 root audio 116, 6 Feb 24 21:49 pcmC1D9p
crw-rw----+ 1 root audio 116, 17 Mar 6 22:19 pcmC2D0p
crw-rw----+ 1 root audio 116, 19 Mar 13 21:43 pcmC3D0c
crw-rw----+ 1 root audio 116, 1 Feb 24 21:48 seq
crw-rw----+ 1 root audio 116, 33 Feb 24 21:48 timer
有趣的是,这似乎并没有在本地造成问题,尽管它应该会造成问题。为了解决这个问题,我只需将我的用户添加到音频组,然后注销并重新登录(从我的本地会话而不是 ssh 会话)