Hi.
Wir haben aktuell das „Problem“, dass diverse Geräte in den unterschiedlichen Räumen andere maximale Auflösungen je nach Grafikkarte schaffen. Daher habe ich dieses kleine postsync-Script geschrieben, das pro Raum bzw Hardwareklasse eine andere Auflösung fest einstellt. Hinzu kommt natürlich, dass eine VM auch nochmal anders reagiert als eine bare-metal-Installation …
Da das ganze mit Wayland anders läuft als mit X11.org, gibt es beide Varianten … vielleicht kann das jemand von Euch gebrauchen
Voraussetzungen:
Alle VMs beginnen mit „vm“ als hostname
; alle PCs in den Räumen beginnen mit „raumX“ und sind mit einem -
vom Rest des Namens getrennt.
Das ist natürlich leicht anpassbar.
Script ablegen unter /opt/videosettings und ausführbar machen:
touch /opt/videosettings/xrandr-settings.sh
chmod +x /opt/videosettings/xrandr-settings.sh
Inhalt:
#!/bin/bash
#set -x
#alte Methode (X.org)
#xrandr --output VGA-0 --mode 1280x800 --output HDMI-0 --mode 1280x800 --same-as VGA-0 --scale-from 1280x800
#neue Methode (Wayland) -- python-Script nicht als root ausführbar!
#Neu: python-Script: https://gitlab.com/Oschowa/gnome-randr
cd /opt/videosettings/
#Primäres Display herausfinden mit xrandr:
primary=$(xrandr |grep "connected primary" |cut -d ' ' -f1)
#Entscheidung, welche Auflösung für welches Gerät eingestellt wird:
room=$(hostname |cut -f1 -d"-")
case $room in
vm) aufl=2048x1152
xrandr --output $primary --mode $aufl;;
raum1) aufl=1680x1050
python3 ./gnome-randr.py --output $primary --mode $aufl;;
raum2) aufl=1920x1200
python3 ./gnome-randr.py --output $primary --mode $aufl;;
raum3) aufl=1920x1080
python3 ./gnome-randr.py --output $primary --mode $aufl;;
*) break;;
esac
Wenn das ganze lokal funktioniert, kann man es natürlich auch auf den Server packen und per postsync auf die Clients verteilen lassen. Ich habe es bei uns unter {...}/common/
geparkt, damit man mit einem Script alle Clients ansprechen kann.
Hier nochmal die Infos zu den Postsync-Verzeichnissen:
https://docs.linuxmuster.net/de/latest/clients/postsync/postsync-patchclasses.html
Viele Grüße,
Michael