记录Linux 没有声音/Gnome 没有声音输出设备问题
新装的debian 装好后一直没声音,要先判断是电脑没有识别出声卡,是否装linux的“声卡驱动”,是否声音服务没有正常运行:
查看声卡:
lspci | grep Audio
如果有结果,表示已识别出声卡。
安装声卡驱动:
apt-get install alsa-utils
使用alsamixer调试是否能播出声音:
alsamixer
执行后会出现各个音量控制器管理,默认选择在Master下,这时候播放声音,并调整Master控制器,看是否有声音.
如果有声音,那已经成功一大半。
如果已安装pulseaudio服务,查看服务是否正常:
ps -ef | grep pulseaudio
正常时会看到服务进程,如果看不到,有两种可能: 1. 服务没正常启动 2.没有安装pulseaudio服务
如果服务没正常启动,并且当前用户时root用户,跳过以下安装步骤,查看root用户启动服务位置。
接下来就是安装pulseaudio服务,目的为让gnome可以访问声音控制器,这样才能通过gnome提供的声音控制插件更直观方便的控制音量。
如果pulseaudio服务不能正常工作,那gnome设置中声音位置是发现不了声卡硬件的。
安装pulseaudio:
apt-get install pulseaudio
安装后,重启系统, 若不想重启系统,需手动启动服务(普通用户):
pulseaudio
root用户启动: 如果是root用户,需要先把root附加到pulse-access组中,服务功能才可以正常使用:
usermod -a -G pulse-access root gpasswd -a root pulse gpasswd -a root pulse-access
root用户启动服务:
pulseaudio --system
启动后,注意观察日志,是否有输出错误信息,其次查看gnome声音插件是否正常工作。
普通用户在安装pulseaudio后,重启系统pulseaudio服务会自动启动。
因为默认的pulseaudio服务是针对的普通用户,所以root用户需要手动创建一个pulseaudio服务,设置开机启动项,才能让pulseaudio开启后自动启动:
1. 创建pulseaudio服务
在/etc/systemd/system目录下创建pulseaudio.service,然后复制以下内容到文件:
[Unit] Description=Pulseaudio After=default.target [Service] ExecStart=/usr/bin/bash -c "/usr/bin/pulseaudio --system" [Install] WantedBy=default.target
2. 启动pulseaudio服务,测试gnome插件是否可直接控制音量
# 启动服务
systemctl start pulseaudio
# 查看状态
systemctl status pulseaudio
3. 将服务设置到启动项中
systemctl enable pulseaudio.service