GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Un outil pour appliquer automatiquement la configuration Randr lorsque l'affichage externe est branché ?

existe-t-il un outil permettant de :

  • se souvenir de la configuration RandR actuelle (position, orientation, résolution, etc.) pour chaque moniteur,
  • applique automatiquement la dernière bonne configuration connue dès que l'écran est branché, sans avoir besoin de jouer avec des applets ou xrandr(1) ?

Les configurations devraient être appliquées par utilisateur et par affichage.

S'il n'y a pas un tel outil dans la nature, j'aimerais en créer un moi-même, mais pour autant que je sache, il n'y a aucun moyen de dire qu'un moniteur a été branché. Dois-je interroger avec xrandr -q de temps en temps pour comprendre qu'une sortie a été connectée ou déconnectée, ou existe-t-il un moyen plus efficace de le faire ? udev peut-il être réglé pour faire exactement cela ?

Réponse acceptée :

J'utilise ce script simple (fait maison) qui continue d'interroger RandR et bascule entre LVDS1 et VGA1 lorsque VGA est connecté/déconnecté. (Pour HDMI sorties, dans le fichier de script suivant, modifiez tous les VGA1 vers HDMI1 )

C'est une sale solution, mais elle fonctionne très bien.

Il est personnalisé pour ma configuration :vous devrez probablement modifier les noms de sortie RandR (LVDS1 et VGA1 ) et contrairement à moi, vous serez probablement d'accord avec votre mode par défaut RandR pour 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

Étapes complètes :

  1. Mettez le script ci-dessus (homemadeMonitor.sh ) dans votre répertoire préféré

  2. Rendez le fichier .sh exécutable en tapant la commande suivante dans le terminal

    chmod +x homemadeMonitor.sh

  3. Exécutez le fichier .sh

    ./homemadeMonitor.sh


Linux
  1. Quel est votre outil d'enregistrement d'écran préféré pour Linux ?

  2. Quel outil de balisage MP3 pour Linux ? ?

  3. Linux – Outil pour mesurer la qualité de l'entropie ?

  4. Krita - Un excellent outil de peinture professionnel pour Linux

  5. Vérifier les fichiers de configuration Linux pour les erreurs de syntaxe

Afficher les informations réseau sous Linux à l'aide de What IP Tool

Une introduction à Cockpit, un outil d'administration basé sur un navigateur pour Linux

Skanlite - Un outil simple d'analyse d'images pour Linux

Top 15 des meilleurs logiciels de traduction pour système Linux

Top 10 des meilleurs outils d'analyse pour le système Linux

Top 10 des meilleurs outils météo pour le système Linux