使镜像显示成为 gnome 中的默认设置

使镜像显示成为 gnome 中的默认设置

我使用带有多个显示器的 gnome。我将它们用于镜像设置。但是,每当我的外接显示器重新连接时(无论是插入还是打开显示器),它似乎都会忘记我更喜欢镜像。

有什么方法可以将其设置为默认值吗?

答案1

当外部显示器连接时,我们需要触发 shell 脚本,我们可以通过使用udev

首先,如果你没有udev在你的 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

相关内容