在Linux下,有时会突然音量控制没法使用,点击一下Volume Control, 会出现错误提示
The volume control did not find any elements and/or devices to control.
This means either that you don't have the right GStreamer plugins installed,
or that you don't have a sound card configured.
You can remove the volume control from the panel by right-clicking the speaker
icon on the panel and selecting "Remove From Panel" from the menu.
如果再接着点击Volume Control, 就会出现
No volume control GStreamer plugins and/or devices found.
问题的根源在于用户失去了访问audio设备的权限。可以通过命令
ls -la /dev/snd
来查看音频设备的使用权限。比如在我的系统下,输出
total 0
drwxr-xr-x 2 root root 180 2008-05-14 08:53 .
drwxr-xr-x 12 root root 4580 2008-05-15 13:01 ..
crw-rw----+ 1 root root 116, 8 2008-05-14 08:53 controlC0
crw-rw----+ 1 root root 116, 7 2008-05-14 08:53 hwC0D2
crw-rw----+ 1 root root 116, 6 2008-05-14 08:54 pcmC0D0c
crw-rw----+ 1 root root 116, 5 2008-05-14 14:04 pcmC0D0p
crw-rw----+ 1 root root 116, 4 2008-05-14 08:53 pcmC0D1p
crw-rw----+ 1 root root 116, 3 2008-05-14 08:53 seq
crw-rw----+ 1 root root 116, 2 2008-05-14 08:53 timer
这代表只有root和audio组的用户可以使用 音频设备。这也就是为什么
在root下Volume Control工作正常,而在其他用户下无法使用。也许是
一些错误操作将用户从audio组中删除而无法使用音频设备。解决办法是
sudo chmod -R a+rwx /dev/snd
这样就会让所有的用户可以访问音频设备。 更加恰当的方法是,
sudo usermod -a -G audiousrname.
上述操作将用户usrname添加到audio组中。