Externe Monitore richtig anordnen & Audioausgabe umschalten

Wenn man einen externen Monitor an einem Laptop anschließt, kann es sein, dass man ihn lieber an einer anderen Stelle positioniert haben möchte und dass über diesen Anschluss(HDMI) der Ton nun ausgegeben werden soll. Hier wird erklärt, wie man eine udev Regel erstellt, welche danach das Skript aufruft, welches die Monitorposition und den Audioausgang bestimmt.

udev-Regel erstellen:
Wir erstellen die Regeldatei sudo nano /etc/udev/rules.d/monitor.rules
mit folgendem Inhalt
SUBSYSTEM=="drm", ACTION=="change", RUN+="/usr/local/bin/monitor_toggle"

Danach erstellen wir das Skript, welches die Anpassungen vornimmt: sudo nano /usr/local/bin/monitor_toggle
Wir müssen die Datei noch ausführbar machen: sudo chmod +x /usr/local/bin/monitor_toggle
Danach müssen wir die Datei nur noch mit ihrem Inhalt befüllen.
Mit diesem Skript können Monitore an HDMI(HDMI1) und VGA(DP1) angeschlossen und angepasst werden. Mit dem Befehl xrandr kann man feststellen, wie die angeschlossenen Bildschirme heißen. Beide Monitore werden jeweils links des Laptopmonitors(eDP1) stehen und die Auflösung 1920×1080 fahren. Der Laptopmonitor wird der Hauptmonitor sein. Wenn HDMI angeschlossen wird, wird die Tonausgabe noch auf den Monitor gestellt, sonst wird der Ton über den Analogen Ausgang und die Laptoplautsprecher ausgegeben.

#!/usr/bin/env bash

xrandr_command="/usr/bin/xrandr"
sed_command="/bin/sed"

is_hdmi_connected=`DISPLAY=:0 $xrandr_command | $sed_command -n '/HDMI1 connected/p'`
is_dp1_connected=`DISPLAY=:0 $xrandr_command | $sed_command -n '/DP1 connected/p'`

if [ -n "$is_hdmi_connected" ]; then
xrandr --auto
xrandr --output HDMI1 --left-of eDP1
xrandr --output eDP1 --primary
xrandr --output eDP1 --mode 1920x1080
pacmd set-card-profile 0 "output:hdmi-stereo"
elif [ -n "$is_dp1_connected" ]; then
xrandr --auto
xrandr --output DP1 --left-of eDP1
xrandr --output eDP1 --primary
xrandr --output eDP1 --mode 1920x1080
pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo"
else
xrandr --auto
pacmd set-card-profile 0 "output:analog-stereo+input:analog-stereo"
fi