
Yo uso gnome con múltiples pantallas. Los uso en una configuración de duplicación. Sin embargo, cada vez que mi pantalla externa se vuelve a conectar (ya sea enchufándola o encendiéndola), parece olvidar que preferí que se reflejara.
¿Hay alguna manera de que pueda configurar esto como predeterminado de alguna manera?
Respuesta1
Cuando se conecta una pantalla externa, necesitamos activar un script de shell. Podemos hacer esto usandoudev
Primero, si no tienesudeven tu ubuntu
Ejecute el siguiente comando:
sudo apt install udev
Monitorear (salida) eventos UDEV con udevadm
Este paso será el más importante para cada usuario. Correr udevadm monitor --environment --udev
. Luego conecte su cable HDMI.
regla udev
Según el resultado del comando anterior, el usuario creó esta regla udev en /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"
¿Dónde YOUR_USER_NAME_GOES_HERE
está tu nombre de usuario?
Es posible que desee ajustar las xrandr
opciones para adaptarlas a sus necesidades.
Primero ejecute xrandr
para detectar sus pantallas actuales:
$ 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
[...]
Para configurar las pantallas para que el monitor externo refleje la pantalla actual:
$ xrandr --output HDMI3 --same-as LVDS1
Verifique los nombres que muestra en pantalla (LVDS1, etc.).
script xrandr para poner en /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