问题描述
系统启动后,登录root帐号后,系统没有声音(Firefox里没有声音)。
操作系统为Kali GNU/Linux Rolling
可能原因一:服务未启动
未找到。可能是因为PulseAudio服务未启动
解决办法
执行下面的命令,安装PulseAudio,并启动服务:
# systemctl –user enable pulseaudio
# systemctl –user start pulseaudio
# systemctl –user status pulseaudio
然后重启Firefox。
可能原因二:静音
另外一个可能的原因是:静音。下面是我遇到的情况,我用的是ALSA驱动。
我也是从PASysTray(pasystray -d)的调试日志中看出端倪的:
(PASysTray是一个声音控制程序,能够显示在系统托盘中)。
解决办法
执行amixer命令来关闭静音:
或者执行:
来切换静音的开关状态。顺便,如果想要静音,可以执行:
命令。
可能原因三:当前为root用户,导致服务无法启动
09/05/2018 前不久系统又没有声音了。今天打算处理一下。
执行systemctl –user status pulseaudio查看服务时,输出了如下信息:
● pulseaudio.service - Sound Service Loaded: loaded (/usr/lib/systemd/user/pulseaudio.service; enabled; vendor preset: enabled) Active: inactive (dead) Condition: start condition failed at Wed 2018-09-05 06:39:07 CST; 5min ago └─ ConditionUser=!root was not met
查看/usr/lib/systemd/user/pulseaudio.service文件后,该文件中存在如下一行:
ConditionUser=!root
该单元对当前用户进行了检查。由于我以root用户登录,不满足非root用户的条件,因此无法启动。
解决
通过执行/usr/bin/pulseaudio -D可以启动PulseAudio服务。因此,可以考虑设置PulseAudio为自启动(XDG AutoStart、systemd)。
我选择使用XDG AutoStart来进行自启动。通过向/root/.config/autostart/pulseaudio.desktop中添加如下内容来实现自启动:
[Desktop Entry] Version=1.0 Name=PulseAudio Sound System Comment=Start the PulseAudio Sound System Exec=/usr/bin/pulseaudio -D Terminal=false Type=Application Categories= GenericName= X-GNOME-Autostart-Phase=Initialization X-KDE-autostart-phase=1
最后重启系统,系统启动时会执行该项(当然,前提是你的系统已经安装配置了XDG)。如果你不想重启就执行/usr/bin/pulseaudio -D手动启动即可。
参考文献
No sound after login – Kali 2016.2
How do you mute from the command line?
How to make PulseAudio run once at boot for all your users
Pulseaudio on root usermode
How to Enable Audio Device in Kali Linux