GNU/Linux >> Znalost Linux >  >> Linux

Linux – nástroj pro automatické použití konfigurace Randr, když je připojen externí displej?

existuje nástroj, který umožňuje:

  • zapamatovat si aktuální konfiguraci RandR (pozice, orientace, rozlišení atd.) na základě jednotlivých monitorů,
  • automaticky použít poslední známou dobrou konfiguraci, jakmile je displej zapojen, bez nutnosti makat s applety nebo xrandr(1)?

Konfigurace by musely být aplikovány na jednotlivé uživatele a jednotlivé obrazovky.

Pokud ve volné přírodě žádný takový nástroj neexistuje, rád bych si jeden dal dohromady, ale pokud vidím, není způsob, jak zjistit, že byl připojen monitor. Musím se dotazovat pomocí xrandr -q jednou za čas zjistit, že byl výstup připojen nebo odpojen, nebo existuje efektivnější způsob, jak to udělat? Lze udev vyladit právě tak?

Přijatá odpověď:

Používám tento jednoduchý (domácí) skript, který neustále dotazuje RandR a přepíná mezi LVDS1 a VGA1, když se VGA připojí/odpojí. (Pro HDMI výstupy, v následujícím souboru skriptu změňte všechny VGA1 na HDMI1 )

Je to špinavé řešení, ale funguje dobře.

Je přizpůsoben mému nastavení:s největší pravděpodobností budete muset změnit názvy výstupů RandR (LVDS1 a VGA1 ) a na rozdíl ode mě si pravděpodobně vystačíte s výchozím režimem RandR pro 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

Úplné kroky:

  1. Vložte výše skript (homemadeMonitor.sh ) do vámi preferovaného adresáře

  2. Udělejte soubor .sh spustitelným zadáním následujícího příkazu do terminálu

    chmod +x homemadeMonitor.sh

  3. Spusťte soubor .sh

    ./homemadeMonitor.sh


Linux
  1. Linux – nástroj pro měření kvality entropie?

  2. Blender – Perfektní nástroj pro tvorbu 3D pro Linux

  3. Zkontrolujte konfigurační soubory Linuxu, zda neobsahují chyby syntaxe

  1. Jaký je váš oblíbený nástroj pro nahrávání obrazovky pro Linux?

  2. Který nástroj pro značkování MP3 pro Linux?

  3. Nástroj pro porovnání kódu pro Linux

  1. Lynis – nástroj pro automatizovaný bezpečnostní audit pro linuxové servery

  2. Krita – Vynikající profesionální nástroj pro malování pro Linux

  3. Nástroj pro automatické použití konfigurace RandR, když je připojen externí displej