GNU/Linux >> Linux Esercitazione >  >> Linux

Come ottenere la risoluzione corrente del monitor o il nome del monitor (LVDS, VGA1, ecc.)

Dovresti essere in grado di farlo con una combinazione di xrandr e xwininfo .

  1. Ottieni gli schermi, le loro risoluzioni e gli offset:

    $ xrandr | grep -w connected  | awk -F'[ \+]' '{print $1,$3,$4}'
    VGA-0 1440x900 1600
    DP-3 1600x900 0
    
  2. Ottieni la posizione della finestra corrente

    $ xwininfo -id $(xdotool getactivewindow) | grep Absolute
     Absolute upper-left X:  1927
     Absolute upper-left Y:  70
    

Quindi, combinando i due dovresti essere in grado di ottenere la risoluzione dello schermo corrente:

#!/usr/bin/env bash

## Get screen info
screen1=($(xrandr | grep -w connected  | awk -F'[ +]' '{print $1,$3,$4}' | 
    head -n 1))
screen2=($(xrandr | grep -w connected  | awk -F'[ +]' '{print $1,$3,$4}' | 
    tail -n 1))

## Figure out which screen is to the right of which
if [ ${screen1[2]} -eq 0  ]
then
    right=(${screen2[@]});
    left=(${screen1[@]});
else
    right=(${screen1[@]});
    left=(${screen2[@]});

fi

## Get window position
pos=$(xwininfo -id $(xdotool getactivewindow) | grep "Absolute upper-left X" | 
      awk '{print $NF}')

## Which screen is this window displayed in? If $pos
## is greater than the offset of the rightmost screen,
## then the window is on the right hand one
if [ "$pos" -gt "${right[2]}" ]
then
    echo "${right[0]} : ${right[1]}"    
else
    echo "${left[0]} : ${left[1]}"    
fi

Lo script stamperà il nome e la risoluzione della schermata corrente.


Linux
  1. Linux:come ottenere in modo affidabile il nome del sistema operativo?

  2. Come ottenere in sicurezza la versione di Ksh?

  3. Come impostare una risoluzione del monitor che non è disponibile nella finestra di dialogo delle impostazioni dello schermo?

  4. Come ottenere il sistema operativo corrente in MSBuild?

  5. Come posso ottenere in modo affidabile il nome del sistema operativo?

Come risolvere l'errore temporaneo nella risoluzione dei nomi Error

Come ottenere la data e l'ora correnti in Python

Come ottenere la dimensione di una directory in Linux

Come ottenere il massimo da Qmmp 1.0

Come ottenere la data e l'ora correnti in JavaScript

Come ottenere il nome dell'utente da uid