Comment puis-je connaître la résolution de mon écran à partir d'un script shell ?
Y a-t-il une raison pour que quelqu'un utilise ces commandes plutôt que ceux dans la réponse de Eliezer E. Vargas ?
Comment puis-je connaître la résolution de mon écran à partir d'un script shell ?
Deux alternatives possibles produites en combinant les réponses de @user31752 et @eliezer-e-vargas
Un regex plus simple:
$ xrandr --current | sed -n 's/.* connected \([0-9]*\)x\([0-9]*\)+.*/\1x\2/p'
1440x900
ou en utilisant cut:
$ xrandr --current | grep ' connected ' | cut -d ' ' -f 3 | cut -d '+' -f 1
1440x900
L'utilisation de grep '*' | uniq
de la part de @eliezer-e-vargas obtient une ligne différente (ex. " 1440x900 59.90*+ 59.89" ) de la sortie de xrandr, tandis que le grep ' connected ' obtient une ligne simple (ex. "LVDS1 connected 1440x900+0+0 .....").
L'utilisation du regex par @user31752 est bien, donc la ligne que j'utilise nécessite un regex plus simple, ou peut être remplacée par la commande cut plus simple.
Exemple de sortie xrandr
$ xrandr --current
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 8192 x 8192
LVDS1 connected 1440x900+0+0 (normal left inverted right x axis y axis) 331mm x 207mm
1440x900 59.90*+ 59.89
1360x768 59.80 59.96
1152x864 60.00
1024x768 60.00
800x600 60.32 56.25
640x480 59.94
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
Y a-t-il une raison pour que quelqu'un utilise ces commandes plutôt que ceux dans la réponse de Eliezer E. Vargas ?
La norme VESA fournit une méthode pour lire la résolution de l'écran du moniteur.
Données d'identification étendue de l'affichage (EDID) : Cette norme définit des formats de données pour transporter des informations de configuration, permettant une utilisation optimale des affichages.
Un moniteur prend en charge typiquement plusieurs résolutions et taux de rafraîchissement. Bien sûr, quelqu'un préférera la résolution maximale (physique).
Pour lire ces données du moniteur, essayez l'une de ces solutions :
edid-decode
Si ce n'est pas déjà installé, tapez
sudo apt install edid-decode
Puis lisez le fichier edid
edid-decode /sys/class/drm/card0-eDP-1/edid
read-edid
Installez avec
sudo apt install read-edid
Puis lisez les données du moniteur de l'écran via i2c et analysez-les
sudo get-edid | parse-edid
Hexdump des données EDID
Si les outils edid ne sont pas installés, vous pouvez afficher le fichier hexadécimal edid
, par exemple :
hd /sys/class/drm/card0-eDP-1/edid
Pour chiffrer ce fichier hexadécimal, consultez la page wiki ou téléchargez les spécifications EDID.
SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.