7
juin
2021
11:52

Comment changer la résolution d'affichage à partir de la ligne de commande Linux

7 juin 2021 11:52

Si la résolution de l'image à l'écran ne correspond pas à la résolution d'affichage, vous pouvez modifier la résolution à l'aide de la ligne de commande.

На Travaillant sur un PC avec le système d'exploitation Linux Mint 19.3, j'ai un écran large avec une résolution de 1366 x 768 pixels. Un jour, j'ai démarré l'ordinateur avec l'écran éteint et la résolution était réglée sur 1024 x 768. D'une manière ou d'une autre, cette résolution a été mémorisée et l'image s'est étirée.

Exécution des diagnostics de l'écran main (affichage des résolutions prises en charge par l'écran) :

xrandr -d :0 -q

Écran 0 : minimum 8 x 8, actuel 1024 x 768, maximum 32767 x 32767
VGA1 connecté primaire 1024x768+0+0 (normal gauche inversé droit axe x axe y) 0mm x 0mm
1024x768 60,00*
800x600 60,32 56,25
848x480 60,00
640x480 59,94

Comme vous pouvez le constater, la résolution de 1024x768 est sélectionnée par le système et est marquée d'un astérisque*.

 

Résoudre le problème

  1. Découvrez le modèle d'affichage (autocollant sur la couverture arrière) - à l'aide du modèle de la spécification, découvrez la résolution maximale prise en charge par le moniteur.
    Dans ce cas, 1366 x 768 px à un taux de rafraîchissement de 60 Hz.

Connectez-vous à Internet et installez le package xcvt.

sudo apt installer xcvt

  1. Exécuter la commande CV avec des paramètres correspondant à la résolution et au taux de rafraîchissement :
    cvt 1366 768 60

Dans mon cas, le résultat suivant a été généré :

#1 368 x 768 59,88 Hz (CVT) synchronisation h : 47,79 kHz ; PCLC : 85,25 MHz
Modèle "1368x768_60.00" 85,25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync

  1. Vous devez prendre la ligne et la transmettre à l'entrée xrandr pour créer un nouveau mode vidéo :

xrandr --newmode "1368x768_60.00" 85,25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync

  1. Découvrez le nom de l'affichage - affiché par la commande xrandr :

    xrandr -d :0 -q

dans mon cas il n'y a qu'un seul affichage et son nom VGA1

  1. Ajoutez un nouveau mode créé précédemment à l'affichage :

xrandr --addmode VGA1 1368x768_60.00

  1. Enfin, j'ai exécuté la commande pour changer la résolution de l'image (en passant l'affichage au nouveau mode "1368x768_60.00") :

sudo xrandr --output VGA1 --mode 1368x768_60.00

L’affichage peut s’allumer ou s’éteindre. Si tout s'est bien passé, l'image deviendra la résolution sélectionnée.

Si nécessaire, restaurez la résolution à 1024x768 :
Appuyez plusieurs fois sur Entrée et entrez la commande suivante dans la ligne de commande

sudo xrandr --output VGA1 --mode 1024x768

Si nécessaire, répétez le changement de mode d'affichage :

xrandr --output VGA1 --mode 1368x768_60.00

appuyez sur "Entrée"

Vous n'avez pas besoin de saisir le mot de passe sudo à chaque fois.


Ajout pour moniteur avec résolution 1280x1024 :

cvt 1280 1024 60
xrandr --newmode "1280x1024_60.00"   109.00  1280 1368 1496 1712  1024 1027 1034 1063 -hsync +vsync
xrandr --addmode VGA-1 1280x1024_60.00
sudo xrandr --output VGA-1 --mode 1280x1024_60.00

Ajout du 29/12/2023 : Pour définir la résolution d'affichage et enregistrer un script shell prêt à être exécuté pour modifier la résolution de l'écran, vous pouvez utiliser le programme Arandr:
sudo apt installer arandr
Arandr

Mise à jour du 27/01/2026 : certains pilotes de carte vidéo répondent à la commande permettant de définir le mode xrandr --output avec les erreurs "xrandr : échec de l'obtention de la taille du gamma pour la sortie par défaut", "xrandr : échec de la configuration du crtc 0" et "xrandr : la taille du gamma est 0". Vous pouvez essayer d'appuyer sur « e » ou « Tab » dans le menu Grub lors du chargement et ajouter quelque chose comme ceci au paramètre de ligne GRUB_CMDLINE_LINUX_DEFAULT nvidia_drm.fbdev=1 nvidia_drm.modeset=1. Ou dans le cas de la carte vidéo ATI Rage 128 :fb.fbdev=1 fb.modeset=1, en fonction du contenu du fichier /var/log/Xorg.0.log. Et continuez à charger F10 ou Ctrl+X ou Entrée. Un exemple de commande complexe qui ne fonctionne toujours pas avec une ancienne carte vidéo :sudo xrandr --output default --panning 1368x768 --crtc 0 --brightmess 1.0 --scale 1x1 --gamma 1:1:1, l'erreur est la même : "xrandr : la taille Gamma est 0". Le moyen le plus simple consiste alors à remplacer la carte vidéo. ;-[

Définition permanente de la résolution d'affichage lors de la connexion à Linux

J'ai écrit les trois commandes suivantes dans le fichier exécutable.

J'ai d'abord créé un fichier vide dans mon dossier personnel

nano resolution.sh

Et j'y ai inséré 4 lignes de texte :

#!/bin/bash
xrandr --newmode "1368x768_60" 85,25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync
xrandr --addmode VGA1 1368x768_60
xrandr --sortie VGA1 --mode 1368x768_60

J'ai enregistré le fichier.

Le même fichier, mais pour un moniteur 1280x1024, je joins :
résolution.sh.zip

A donné des autorisations - exécution uniquement par l'utilisateur actuel (propriétaire).

sudo chmod 700 resolution.sh

Ajouté au démarrage (j'ai le shell LXQT) :
Démarrer - Options - Paramètres LXQT - Paramètres de session - Démarrage automatique - Ajouter
sh /home/vladimir/resolution.sh.
Confirmé et fermé la fenêtre.

Une autre option consiste à ajouter les commandes à un fichier dans le répertoire personnel de l'utilisateur..xinitrc:

exporter GNOME_SHELL_SESSION_MODE=ubuntu
exporter XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/openbox:/usr/local/share/:/usr/share/


xrandr --newmode "1280x1024_60.00" 109,00 1280 1368 1496 1712 1024 1027 1034 1063 -hsync +vsync
xrandr --addmode VGA-1 1280x1024_60.00
xrandr --sortie VGA-1 --mode 1280x1024_60.00

Déconnecté et connecté pour vérifier. Lors de l'entrée, l'écran a clignoté et la résolution d'affichage correcte a été appliquée.
De plus, le fichier de commande resolution.sh peut être exécuté depuis la fenêtre borne.

Le cas de la connexion HDMI et de plusieurs moniteurs

Contrairement à la connexion via un câble VGA évoquée ci-dessus, lors de l'utilisation de plusieurs moniteurs connectés via des interfaces HDMI, la syntaxe des commandes est différente :

xrandr --newmode DVI-I-1 nom_mode1 ...
xrandr --newmode DVI-I-2 nom_mode2 ...
xrandr --addmode DVI-I-1 nom_mode1
xrandr --addmode DVI-I-2 nom_mode2
xrandr --output DVI-I-1 --mode nom_mode1
xrandr --output DVI-I-2 --mode nom_mode1

Les noms d'interface du moniteur peuvent être obtenus en utilisant la même commande

xrandr -q

Ajout : les fichiers de commandes shell permettant de modifier la résolution, pour plusieurs moniteurs à la fois, peuvent être préparés à l'aide d'un utilitaire graphique Arandr(installation :sudo apt installer arandr). Le nom arandr signifie « Another XRandR GUI » (utilitaire GUI pour installer XRandR).

Ajout : pour l'environnement de bureau LXQT(sous Lubuntu OS, Fedora Linux ou dans un shell auto-installé) - il existe un utilitaire graphique lxqt-config-moniteur disponible dans le menu "Options" - "Paramètres LXQT" -"Paramètres du moniteur". Avec son aide, vous pouvez modifier la résolution et le taux de rafraîchissement des écrans du moniteur et enregistrer les paramètres dans un « profil » (fichier de paramètres). Cependant, les profils de résolution d'écran dans LXQT ne peuvent pas être modifiés à partir de la ligne de commande. Utilitaire **lxqt-config-moniteur**modifie les fichiers texte :
./.config/autostart/lxqt-config-monitor-autostart.desktop
./.config/lxqt/lxqt-config-monitor.conf

Les fichiers de paramètres répertoriés ici sont utilisés lors du démarrage d'une session LxQT à partir du fichier ~/.xinitrc, à partir duquel le script est appelé exécutable startlxqt.


Sources :
https://askubuntu.com/questions/281509/...
Forum Linuxmint.com



Publications connexes