GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿una herramienta para aplicar automáticamente la configuración de Randr cuando se conecta una pantalla externa?

¿Existe alguna herramienta que permita:

  • recuerde la configuración actual de RandR (posición, orientación, resolución, etc.) por monitor,
  • ¿Aplicar automáticamente la última configuración buena conocida tan pronto como se conecte la pantalla, sin necesidad de perder el tiempo con applets o xrandr(1)?

Las configuraciones tendrían que aplicarse por usuario y por pantalla.

Si no existe tal herramienta en la naturaleza, me gustaría armar una yo mismo, pero por lo que puedo ver, no hay forma de saber si se ha conectado un monitor. ¿Tengo que sondear con xrandr -q? de vez en cuando para averiguar si una salida estaba conectada o desconectada, o hay una forma más eficiente de hacerlo? ¿Se puede ajustar udev para que haga precisamente eso?

Respuesta aceptada:

Estoy usando este script simple (hecho en casa) que sigue sondeando RandR y cambia entre LVDS1 y VGA1 cuando VGA se conecta/desconecta. (Para HDMI salidas, en el siguiente archivo de script, cambie todos los VGA1 a HDMI1 )

Es una solución sucia, pero funciona bien.

Está personalizado para mi configuración:lo más probable es que necesite cambiar los nombres de salida de RandR (LVDS1 y VGA1 ) y, a diferencia de mí, probablemente estará bien con su modo predeterminado RandR para VGA.

#!/bin/bash

# setting up new mode for my VGA
xrandr --newmode "1920x1080" 148.5 1920 2008 2052 2200 1080 1089 1095 1125 +hsync +vsync
xrandr --addmode VGA1 1920x1080

# default monitor is LVDS1
MONITOR=LVDS1

# functions to switch from LVDS1 to VGA and vice versa
function ActivateVGA {
    echo "Switching to VGA1"
    xrandr --output VGA1 --mode 1920x1080 --dpi 160 --output LVDS1 --off
    MONITOR=VGA1
}
function DeactivateVGA {
    echo "Switching to LVDS1"
    xrandr --output VGA1 --off --output LVDS1 --auto
    MONITOR=LVDS1
}

# functions to check if VGA is connected and in use
function VGAActive {
    [ $MONITOR = "VGA1" ]
}
function VGAConnected {
    ! xrandr | grep "^VGA1" | grep disconnected
}

# actual script
while true
do
    if ! VGAActive && VGAConnected
    then
        ActivateVGA
    fi

    if VGAActive && ! VGAConnected
    then
        DeactivateVGA
    fi

    sleep 1s
done

Pasos completos:

  1. Coloque el script anterior (homemadeMonitor.sh ) en su directorio preferido

  2. Haga que el archivo .sh sea ejecutable escribiendo el siguiente comando en la terminal

    chmod +x homemadeMonitor.sh

  3. Ejecute el archivo .sh

    ./homemadeMonitor.sh


Linux
  1. ¿Cuál es tu herramienta de grabación de pantalla favorita para Linux?

  2. ¿Qué herramienta de etiquetado de MP3 para Linux?

  3. Linux:¿herramienta para medir la calidad de la entropía?

  4. Krita:una excelente herramienta de pintura profesional para Linux

  5. Compruebe los archivos de configuración de Linux en busca de errores de sintaxis

Mostrar información de red en Linux usando la herramienta What IP

Una introducción a Cockpit, una herramienta de administración basada en navegador para Linux

Skanlite:una herramienta simple de escaneo de imágenes para Linux

Los 15 mejores software de traducción para el sistema Linux

Las 10 mejores herramientas de escaneo para el sistema Linux

Las 10 mejores herramientas meteorológicas para el sistema Linux