linux下 非root用户由声音,而root用户没有声音怎么办

2024-12-19 00:22:11
推荐回答(3个)
回答1:

你用的是Ubuntu,aren't you?

本文章是建立在已有声卡驱动,在普通用户登录可以正常调节音量的情况下的。
在ubuntu 10.04中,默认是pulseaudio来管理音频设备的,而pulseaudio不允许在root用户下运行,这样会导致安全问题。因此不能能改系统 音量,打开声音首选项也一直是“正在等待声音系统响应”。
直接运行pulseaudio会得到这样的提示。

root@copfee:~# pulseaudio
W: main.c: 不应以root身份运行本程序(除非指定 –system)。

如果加上system参数也不行,很多模块会禁用。

解决办法有很多种,出于安全性考虑可以安装GNOME ALSA 混音器来管理音量,不过系统音效依然听不到。第二种就是修改pulse默认配置文件使得能运行在root权限下。
编辑/etc/default /pulseaudio

root@copfee:~# gedit /etc/default/pulseaudio

修改以下两处

PULSEAUDIO_SYSTEM_START=1
DISALLOW_MODULE_LOADING=0

改为1和0,表示允许运行在system环境,允许动态加载模块。
这样修改后带来一些负面影响,可以仔细阅读这个文件的注释。
写这篇博客的目的也是因为习惯使用root用户,面对root带来的很多问题需要自己解决。发现并解决远远比回避要好。
转载自http://hi.baidu.com/ati_crossfire/blog/item/95235a894b7f2098a4c272d0.html

回答2:

因是使用root登录后pulseaudio没有启动。
将root加到pulse-access组:
sudo usermod -a -G pulse-access root
然后修改配置文件/etc/default/pulseaudio,将PULSEAUDIO_SYSTEM_START设为1,
重启后就能听到登录的声音了。
可是,这样默认用户登录的时候就没有声音了,可以通过将默认用户添加到pulse-access组
的方式,使得所有的用户都有声音。

回答3:

楼上二位说的不错,对我有帮助