我已阅读过这个问题: 设置连接/断开时自动输出 HDMI 声音
但它不起作用。
pactl set-card-profile 0 output:hdmi-stereo
即使配置文件存在,在终端上也无法使用。
对于 Ubuntu 15.10 该如何做?
答案1
解决了。
我必须使用pacmd set-default-sink
而不是pactl set-card-profile
。为了能够在脚本中使用它,您PULSE_RUNTIME_PATH
还必须导出。创建/usr/local/bin/hdmi_sound_toggle
:
#!/bin/sh
HDMI_STATUS=`cat /sys/class/drm/card0/card0-HDMI-A-1/status`
export PULSE_RUNTIME_PATH="/run/user/1000/pulse/"
if [ $HDMI_STATUS = "connected" ]
then
sudo -u zed -E pacmd set-default-sink 0
else
sudo -u zed -E pacmd set-default-sink 1
fi
zed
我的用户名和1000
UID 在哪里。chmod
文件到 0755。
以 sudo 身份创建 udev 规则/etc/udev/rules.d/hdmi_sound.rule
:
SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/hdmi_sound_toggle"
重新启动 udev 规则:
sudo udevadm control --reload
您可以使用 测试 udev 规则是否有效udevadm monitor --property
。