
Ich verwende Gnome mit mehreren Displays. Ich verwende diese in einem Mirroring-Setup. Wenn mein externes Display jedoch erneut eine Verbindung herstellt (sei es durch Anschließen oder durch Einschalten des Displays), scheint es zu vergessen, dass ich die Spiegelung bevorzugt habe.
Gibt es eine Möglichkeit, dies irgendwie als Standard festzulegen?
Antwort1
Wenn ein externes Display angeschlossen wird, müssen wir ein Shell-Skript auslösen. Dies können wir tun, indem wirudev
Erstens, wenn Sie nicht habenudevauf Ihrem Ubuntu
Führen Sie den folgenden Befehl aus:
sudo apt install udev
Überwachen (Ausgabe) von UDEV-Ereignissen mit udevadm
Dieser Schritt ist für jeden Benutzer der wichtigste. Führen Sie aus udevadm monitor --environment --udev
. Schließen Sie dann Ihr HDMI-Kabel an.
udev-Regel
Basierend auf der Ausgabe des obigen Befehls hat der Benutzer diese Udev-Regel unter erstellt /etc/udev/rules.d/95-monitor-hotplug.rules
.
KERNEL=="card0", SUBSYSTEM=="drm", ENV{DISPLAY}=":0", ENV{XAUTHORITY}="/home/YOUR_USER_NAME_GOES_HERE/.Xauthority", RUN+="/usr/local/bin/hotplug_monitor.sh"
Wo YOUR_USER_NAME_GOES_HERE
ist Ihr Benutzername?
Möglicherweise möchten Sie die xrandr
Optionen Ihren Bedürfnissen entsprechend anpassen.
Führen Sie zunächst Folgendes aus xrandr
, um Ihre aktuellen Bildschirme zu erkennen:
$ xrandr
Screen 0: minimum 320 x 200, current 3840 x 1080, maximum 8192 x 8192
LVDS1 connected (normal left inverted right x axis y axis)
1600x900 60.0*+ 40.0
1024x768 60.0
800x600 60.3 56.2
640x480 59.9
HDMI3 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 521mm x 293mm
1920x1080 60.0*+
1600x1200 60.0
1680x1050 59.9
1680x945 60.0
[...]
So stellen Sie die Anzeigen so ein, dass der externe Monitor die aktuelle Anzeige spiegelt:
$ xrandr --output HDMI3 --same-as LVDS1
Überprüfen Sie die auf Ihrem Bildschirm angezeigten Namen (LVDS1 usw.).
Zum Einfügen des xrandr-Skripts hier /usr/local/bin/hotplug_monitor.sh
:
#! /usr/bin/bash
export DISPLAY=:0
export XAUTHORITY=/home/YOUR_USER_NAME_GOES_HERE/.Xauthority
function connect(){
xrandr --output HDMI3 --same-as LVDS1
}
function disconnect(){
xrandr --output HDMI3 --off
}
xrandr | grep "HDMI3 connected" &> /dev/null && connect || disconnect