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?

Stefan
la source
1
superuser.com/questions/418699/…
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

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
Michael Mrozek
la source
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 }'
}
camh
la source
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
Serge Stroobandt
la source