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