web-dev-qa-db-fra.com

Obtenir la résolution d'affichage à partir de la ligne de commande pour Linux Desktop

Je cherche une méthode pour signaler la résolution d'affichage. Je souhaite configurer des scripts pour lancer rdesktop et le lancer sur plusieurs machines avec des résolutions différentes. Je souhaite donc un moyen de le déterminer de manière dynamique.

31
Barton Chittenden

Utilisez la commande xrandr. Sans aucun argument, il affiche les résolutions disponibles et la résolution actuelle (avec un astérisque), par exemple:

$ xrandr | fgrep '*'
37
Diego Woitasen

Solution alternative: xdpyinfo | grep dimensions. xdpyinfo est plus ancien que xrandr, il pourrait donc être plus portable si vous utilisez une très ancienne distribution ou un serveur X différent.

11
liori

Vous pouvez obtenir les résolutions horizontale et verticale à l'aide de la commande suivante:

xdpyinfo | grep dimensions | awk '{print $2}' | awk -Fx '{print $1, $2}'

ou, sous une forme plus compacte (comme suggéré par Peter.O dans ce commentaire ):

xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}' 

Par exemple, sur un écran 1600x900, cela produira la sortie suivante:

1600 900

Vous pouvez ensuite placer les valeurs dans des variables séparées à l'aide de la commande:

read RES_X RES_Y <<<$(xdpyinfo | awk -F'[ x]+' '/dimensions:/{print $3, $4}')

Affichez les valeurs des variables ci-dessus à l'aide de la commande:

echo $RES_X, $RES_Y

Sur un écran 1600x900, la sortie est la suivante:

1600, 900
6
crayzeewulf

J'aurais dû regarder un peu plus fort avant de poster. xrandr fera écho aux paramètres d'affichage actuels, si aucun autre argument n'est fourni.

Par défaut, cela videra tous les paramètres d'affichage possibles, cela peut être filtré comme suit:

xrandr | egrep '^[^ ]|[0-9]\*\+'
5
Barton Chittenden

Nettoyer xrandr sortie pour une utilisation imagemagick

xrandr |grep \* |awk '{print $1}'
1
Serge Stroobandt