Wtf is that screenshot
post
Doesn't alsamixer work?
Anyway, you may wanna try pactl set-default-sink [sink-name]> as well
does gnome not have audio output switcher in the tray audio popup menu thingy?
I've written a bash script i'm using daily, maybe you can adapt it to your needs. I'm using pipewire-pulse. It's probably not perfect but it does the job:
#!/usr/bin/env bash
DEVICE=$1
# read input, parse list of available sinks (outputs)
if [ "$DEVICE" = "pc" ]
then
OUTPUT=($(pactl list short sinks | awk '{print $2}' | grep -i -E 'hdmi|samson|Targus' -v))
elif [ "$DEVICE" = "tv" ]
then
OUTPUT=($(pactl list short sinks | awk '{print $2}' | grep -i -E 'hdmi'))
else
echo "No valid input (must be either 'pc' or 'tv')"
exit -1
fi
# get all currently connected streams
INPUTS=($(pactl list short sink-inputs | awk '{print $1}'))
# change default sink (for new audio outputs)
pactl set-default-sink $OUTPUT
# switch sink for existing audio outputs
for i in "${INPUTS[@]}"
do
pactl move-sink-input $i $OUTPUT
done
# use notify-send to send a visual notification to the user that the sink changed
notify-send -c info "Default sink changed" "Changed default sink and sink-inputs to $OUTPUT"
pactl get short sinks
gets you a list of devices with a numerical identifier. And
pactl set-default-sink ID
Sets the default sink to the desired ID. I only ever want to swap between two so I wrots a bash script to do that. I just type 'aud' and it does it for me.
Pactl commands will do what I think you want, I keep forgetting the exact syntax. Once you find something that works, you can bind those commands to some key combos to easily switch
That depends on which audio system you're running.
Since this can vary depending on your distro, the easiest place to look for that info is going to be your distro's documentation. That documentation may also include instructions for how to accomplish exactly what you want.
all 22 comments