我使用 HDMI 线将电视连接到笔记本电脑。
我希望能够快速执行以下操作:
- 激活电视作为主显示屏并关闭笔记本电脑屏幕,
- 从音响切换到 HDMI 声音
以及反方向。
为此,我编写了以下 bash 脚本:
#!/bin/bash
# Switch between (HDMI output + HDMI sound) and (laptop display and laptop sound)
laptopDisp="eDP-1"
laptopSound="sound profile name returned by pacmd list-sinks | grep -e 'name:'"
hdmiDisp="HDMI-1"
hdmiSound="HDMI sound profile name returned by pacmd list-sinks | grep -e 'name:'"
currentDisplay=$(xrandr | grep " connected primary " | awk '{ print$1 }')
if [ "$currentDisplay" == "$laptopDisp" ]
then
echo "Switching on HDMI, switch off main display"
xrandr --output $hdmiDisp --auto
xrandr --output $laptopDisp --off
pacmd set-default-sink $hdmiSound
pulseaudio -k
else
echo "Switching off HDMI screen and set sound from laptop speakers:"
pacmd set-default-sink $laptopSound
xrandr --output $laptopDisp --auto
xrandr --output $hdmiDisp --off
pulseaudio -k
fi
当我运行它时,主屏幕发生了变化。不幸的是,虽然我在声音控制面板中看到声源已更改,但我听不到笔记本电脑扬声器发出的任何声音。
问题的根源可能是什么?