升级到 Ubuntu 13.10 后,我的声音停止工作。我最终发现 Ubuntu 选择了 HDMI 声音设备而不是我的模拟扬声器。我切换到正确的设备,一切正常,直到我重新启动。现在每次启动 Ubuntu 时,我都必须选择正确的设备。如何将扬声器设置为默认设备?
编辑:自从我升级到 Ubuntu 14.04 后,Ubuntu 现在默认选择板载音频设备,所以我不再有这个问题。
答案1
跑步:
$ pacmd list-cards
显示卡的索引。例如,我的 pci 声卡位于索引 2。模拟输出的声音配置文件(再次作为示例)称为“output:analog-stereo”。
然后:
$ pacmd set-card-profile 2 output:analog-stereo
要将其设置为输出(试一试)。要使其永久生效,请编辑 /etc/pulse/default.pa 并添加:
set-card-profile 2 output:analog-stereo
set-default-sink 2
重新启动 pulseaudio 或重新启动以检查持久性。
如果你还想设置麦克风(输入)默认值
set-card-profile 2 output:analog-stereo+input:analog-stereo
set-default-sink 2
答案2
在 Dash 上,搜索多媒体系统选择器。
打开它并在其Audio
选项卡中选择默认的音频输入和输出设备。
此应用程序在 Ubuntu 安装中默认安装。但如果你还没有安装,可以通过以下方式安装
sudo apt-get install gnome-media
如果未在 Dash 中显示,请运行:
gksudo gedit /usr/share/applications/gstreamer-properties.desktop
在生成的文本文件中,转到以 开头的行NoDisplay=
。将 更改NoDisplay=true
为NoDisplay=false
答案3
对于 Ubuntu 16.04,最简单的解决方案是创建一个监听屏幕解锁时间的脚本,而不是监听系统唤醒时间的脚本,因为似乎并非所有服务在系统唤醒时都可用。我无法使用唤醒脚本让 pulseaudio 切换到 HDMI 声音,但已使用解锁监听脚本成功修复了此问题:
dbus-monitor --session "type='signal',interface='com.ubuntu.Upstart0_6'" | \
(
while true; do
read X
if echo $X | grep "desktop-lock" &> /dev/null; then
echo "screen locked"
elif echo $X | grep "desktop-unlock" &> /dev/null; then
/usr/bin/pacmd set-card-profile 0 output:hdmi-surround+input:analog-stereo
fi
done
)
答案4
还有一个音频输出切换器GNOME 扩展,提供快速访问: