Bearbeiten meiner Antwort, um die Einrichtung zu vereinfachen.
Installieren Sie autorandr, um das Bildschirmlayout in xrandr zu automatisieren, holen Sie sich die neueste .deb-Datei von https://github.com/nalipaz/autorandr/releases und führen Sie Folgendes aus :
dpkg -i [file]
Richten Sie autorandr mit gespeicherten Bildschirmlayouts ein
autorandr --save [docked|mobile|home|etc]
Als Beispiel: Auf meinem Laptop ohne angeschlossene Monitore richte ich eine beliebige Konfiguration ein und lief dann wie folgt ab:
autorandr --save mobile
Dann steckte ich mein HDMI ein und rekonfigurierte arandr, dann lief:
autorandr --save docked
Nachdem Sie jedes Ihrer Layouts eingerichtet haben, können Sie Folgendes ausführen (ersetzen Sie 'mobile' durch den vorherigen bevorzugten Namen, den ich für mobile Geräte verwendet habe):
autorandr --default mobile
Jetzt, da autorandr vollständig eingerichtet ist, können Sie den Prozess automatisieren, indem Sie ein Paket installieren, das nach verbundenen Displays sucht und autorandr --change
bei Erkennung ausgeführt wird. Ja, ich kenne udev und Sie können das einrichten, wenn es für Sie funktioniert, aber in meinen Tests hat udev für mein HDMI nicht durchgehend funktioniert. Es funktionierte nur 1 von 20 Steckern / Steckern oder so, und manchmal hörte es einfach ganz auf.
Laden Sie die neueste .deb-Datei von hier herunter: https://github.com/nalipaz/poll-xrandr/releases/ und installieren Sie sie mit
dpkg -i [file]
Es ist höchstwahrscheinlich erforderlich, dass Sie nach Abschluss von weitere Tasks autorandr --change
ausführen. Mit autorandr können diese Befehle in eine Datei mit dem Namen ~ / .autorandr / postswitch eingefügt werden. Gehen Sie wie folgt vor:
cd ~/.autorandr/ && touch postswitch && chmod +x postswitch
Bearbeiten Sie nun die Postswitch-Datei so, dass sie etwa wie folgt aussieht:
#!/bin/bash
if pidof conky > /dev/null 2>&1; then
killall conky
fi
(sleep 2s && xrandr-adjust-brightness restore -q) &
(sleep 2s && nitrogen --restore) &
(sleep 3s && conky -q) &
Zusätzlich möchten Sie wahrscheinlich autorandr und poll-xrandr zu Ihren Startups hinzufügen, ähnlich wie die folgenden zwei Befehle:
autorandr --change &
poll-xrandr &
Ziehen Sie den Stecker aus der Steckdose oder schließen Sie einen Monitor an und beobachten Sie die Magie!
udevadm monitor --property
vom Terminal aus zu starten und den Monitor anzuschließen. Bei meiner Karte wird ein Ereignis angezeigt, wenn sie eingesteckt ist. Möglicherweise können Sie in udev eine + RUN-Regel und einige Bash-Skripte verwenden, um das gewünschte Ergebnis zu erzielen. Ich bin mir jedoch nicht sicher, wie Sie dies mit udev auf Benutzerbasis implementieren können.