
我使用具有多個顯示器的 gnome。我在鏡像設定中使用它們。然而,每當我的外部顯示器重新連接時(無論是通過插入還是通過打開顯示器電源),它似乎忘記了我更喜歡它進行鏡像。
有什麼辦法可以設定為預設值嗎?
答案1
當外部顯示器連接時,我們需要觸發一個 shell 腳本,我們可以透過使用來做到這一點烏德夫
首先,如果你沒有烏德夫在你的Ubuntu上
運行以下命令:
sudo apt install udev
使用 udevadm 監視(輸出)UDEV 事件
這一步對每個使用者來說都是最重要的。跑步udevadm monitor --environment --udev
。然後連接 HDMI 電纜。
udev規則
根據上述命令的輸出,使用者在 處建立了此 udev 規則/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"
你的用戶名在哪裡YOUR_USER_NAME_GOES_HERE
。
您可能需要調整xrandr
選項以滿足您的需求。
首先運行xrandr
來檢測您當前的螢幕:
$ 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
[...]
設定顯示以便外接顯示器鏡像目前顯示:
$ xrandr --output HDMI3 --same-as LVDS1
檢查您的螢幕顯示名稱(LVDS1 等..)。
xrandr 腳本放置在/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