Je recherche une méthode pour signaler la résolution d'affichage. Je veux configurer des scripts à lancer rdesktop
, et je veux le lancer sur plusieurs machines avec différentes résolutions, donc je veux un moyen de le déterminer dynamiquement.
Je recherche une méthode pour signaler la résolution d'affichage. Je veux configurer des scripts à lancer rdesktop
, et je veux le lancer sur plusieurs machines avec différentes résolutions, donc je veux un moyen de le déterminer dynamiquement.
Réponses:
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 '*'
xrandr |g grep \*
ça fait l'affaire?
Autre solution: xdpyinfo | grep dimensions
. xdpyinfo
est plus ancien que xrandr
, donc peut être plus portable si vous utilisez une distribution très ancienne ou un autre serveur X différent.
xdpyinfo
tout en xrandr
énumérant correctement les écrans et leur résolution. Cela peut ou non être un problème selon le contexte.
xdpyinfo
semble signaler des dimensions correctes en pixels, il signale une mauvaise résolution (DPI). Par exemple, sur mon moniteur avec des dimensions 3840x2160 (natif et réel) et une taille de 708 mm x 399 mm, comme indiqué par xrandr
, xdpyinfo
dit que la résolution est de 96x96 points par pouce.
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 distinctes à 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:
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 donné.
Par défaut, cela videra tous les paramètres d'affichage possibles, cela peut être filtré comme suit:
xrandr | egrep '^[^ ]|[0-9]\*\+'
xrandr
Sortie propre pour une utilisation imagemagickxrandr |grep \* |awk '{print $1}'