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.
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 '*'
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.
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
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]\*\+'
xrandr
sortie pour une utilisation imagemagickxrandr |grep \* |awk '{print $1}'