Obtenir et définir la taille de l'écran pour Xorg


13

Je voudrais exécuter une commande comme get-screen-resolutionlors d'une session X pour obtenir une sortie '800x480'. (ou quelle que soit la taille réelle de l'écran).

Y a-t-il quelque chose de disponible pour cela? Actuellement, je prends une capture d'écran et mesure les *.jpgattributs de largeur et de hauteur du résultat.

De plus, comment définir la taille d'écran pendant une session X à partir de la ligne de commande?


Réponses:


13

Vous pouvez utiliser xrandrpour faire les deux

Obtenez la résolution

$ xrandr
Screen 0: minimum 320 x 240, current 1920 x 1080, maximum 1920 x 1080
default connected 1920x1080+0+0 0mm x 0mm

Définir la résolution

$ xrandr --output default --mode 1280x1024

Si vous exécutez xrandrsur SSH, il est important de spécifier explicitement l'affichage, soit en ajoutant le paramètre --display 0à votre exemple, soit en définissant d'abord la variable d'environnement export DISPLAY=0avant d'exécuter votre exemple. Cela est dû au fait que l'affichage ne peut pas être détecté automatiquement via les connexions SSH.
Jonathan Komar

7

De ma bibliothèque shell personnelle:

get_screen_size()
{
    xdpyinfo | awk '/dimensions:/ { print $2; exit }'
}

1
Dans une configuration à plusieurs moniteurs, cela montrera les dimensions de la boîte englobante qui contient tous les moniteurs.
pause jusqu'à nouvel ordre.

2

xrandrSortie propre pour une utilisation imagemagick

La ligne suivante prend la sortie de xrandret la nettoie awkpour une utilisation avec imagemagick:

$ xrandr |awk '$0 ~ "*" {print $1}'

1366x768
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.