Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
xrandr [Le 03/04/2019, 16:55] TravellingFroggy [Ajouter une résolution] - fautes de frappe |
xrandr [Le 22/12/2024, 19:55] (Version actuelle) 90.125.218.60 [Lister les propriétés disponibles] |
||
---|---|---|---|
Ligne 1: | Ligne 1: | ||
- | {{tag>Xenial Trusty écran personnalisation résolution}} | + | {{tag>Focal écran personnalisation résolution}} |
---- | ---- | ||
Ligne 9: | Ligne 9: | ||
Le point fort de l'extension RandR est que cette dernière est directement implémentée dans Xorg et ne nécessite pas le redémarrage de X lorsque l'on souhaite par exemple changer sa résolution, brancher un deuxième écran ou [[:multi-écran|en utiliser plusieurs]]. | Le point fort de l'extension RandR est que cette dernière est directement implémentée dans Xorg et ne nécessite pas le redémarrage de X lorsque l'on souhaite par exemple changer sa résolution, brancher un deuxième écran ou [[:multi-écran|en utiliser plusieurs]]. | ||
- | Il existe des interfaces graphiques réalisant une partie des transformations de xrandr. | + | Il existe des interfaces graphiques réalisant une partie des transformations de xrandr : |
- | * Voir la page [[:configurer_son_ecran|sur comment configurer son écran]]. | + | * Voir la page [[:configurer_son_ecran|sur comment configurer son écran]] pour les interfaces graphiques par défaut. |
* **[[apt>LXRandR]]** (installé par défaut sous [[:Lubuntu]]). | * **[[apt>LXRandR]]** (installé par défaut sous [[:Lubuntu]]). | ||
- | * **[[apt>ARandR]]** : très utile pour gérer le multi-écran avec LXDE (Lubuntu). Permet de régler l'emplacement d'un écran activé mais qui n'est pas connecté (écran virtuel qui peut être partagé via vnc) | + | * **[[https://debian-facile.org/doc:environnements:x11:arandr|ARandR]]** : très utile pour gérer le multi-écran avec LXDE (Lubuntu). Permet de régler l'emplacement d'un écran activé mais qui n'est pas connecté (écran virtuel qui peut être partagé via vnc) |
===== Configuration ===== | ===== Configuration ===== | ||
+ | ==== Connaitre la configuration xrandr actuelle ==== | ||
+ | Avant de jouer avec xrandr, il est souvent utile de connaitre la configuration xrandr actuelle. Voici une astuce super utile : utiliser l'application arandr : | ||
+ | - Installer **[[apt>arandr]]** | ||
+ | - Lancer //arandr// | ||
+ | - (optionnel) changer la configuration de vos écrans | ||
+ | - Menu //Disposition// => commande //Enregisrter sous...// | ||
+ | - Choisir un fichier | ||
+ | - Ouvrir le fichier dans un éditeur de texte et vous verrez la commande //xrandr// complète | ||
==== Lister les sorties et les résolutions disponibles ==== | ==== Lister les sorties et les résolutions disponibles ==== | ||
Ligne 43: | Ligne 50: | ||
</code> | </code> | ||
- | Vous voyez apparaître les noms des modes écrans disponibles en première colonne et les différentes fréquences de rafraîchissement disponibles en seconde colonne. | + | Vous voyez apparaître les noms des modes écrans disponibles en première colonne et les différentes fréquences de rafraîchissement disponibles en seconde colonne. |
- | Les noms des écrans apparaissent en MAJUSCULES et leur statut suit. Il existe 4 sorties vidéo possibles : sortie VGA, sortie DVI, sortie LVDS pour la sortie principale d'un portable et sortie TV pour S-video. Les écrans utilisables sont marqués « connected », leurs noms seront utilisés avec la commande « -- output ». | + | Les noms des écrans apparaissent en MAJUSCULES et leur statut suit. Il existe 5 sorties vidéo possibles : sortie VGA, sortie DVI, sortie HDMI, sortie LVDS pour la sortie principale d'un portable et sortie TV pour S-video. Les écrans utilisables sont marqués « connected », leurs noms seront utilisés avec la commande « -- output ». |
Attention, il n'est pas nécessaire d'avoir sur votre ordinateur toutes les sorties détectées par XRandR. Certaines peuvent être bridées par le constructeur. | Attention, il n'est pas nécessaire d'avoir sur votre ordinateur toutes les sorties détectées par XRandR. Certaines peuvent être bridées par le constructeur. | ||
Ligne 53: | Ligne 60: | ||
==== Lister les propriétés disponibles ==== | ==== Lister les propriétés disponibles ==== | ||
- | L'option « --prop » permet d'obtenir un affichage encore plus détaillé des propriétés disponibles. | + | L'option ''%%--%%prop'' permet d'obtenir un affichage encore plus détaillé des propriétés disponibles. |
<code> | <code> | ||
- | usr@pc:~$ xrandr --prop | + | xrandr --prop |
</code> | </code> | ||
La sortie de cette commande renvoie une information analogue à l'affichage ci-dessous : | La sortie de cette commande renvoie une information analogue à l'affichage ci-dessous : | ||
Ligne 110: | Ligne 117: | ||
==== Fréquence listée dans les modes disponibles ==== | ==== Fréquence listée dans les modes disponibles ==== | ||
=== Dimension de la fenêtre=== | === Dimension de la fenêtre=== | ||
- | Pour changer la résolution vers 1440x900 (plus haute fréquence disponible d'après la réponse du terminal), tapez dans un [[:terminal]]: <code>xrandr -s 1440x900</code> | + | Pour changer la résolution vers 1440x900 (plus haute résolution disponible d'après la réponse du terminal), tapez dans un [[:terminal]]: <code>xrandr -s 1440x900</code> |
=== Fréquences de rafraîchissement === | === Fréquences de rafraîchissement === | ||
Ligne 133: | Ligne 140: | ||
Pour tester après une modification de configuration, il suffit de fermer puis réouvrir une session. | Pour tester après une modification de configuration, il suffit de fermer puis réouvrir une session. | ||
- | * **%%Deux écrans cote à cote : %%** | + | * **%%Deux écrans cote à cote : %%** |
DP-2 est l'écran principal, DP-1 est **%%à droite%%** de DP-2, résolutions différentes : | DP-2 est l'écran principal, DP-1 est **%%à droite%%** de DP-2, résolutions différentes : | ||
<code> | <code> | ||
Ligne 142: | Ligne 149: | ||
Vous pouvez adapter la position de l'écran secondaire avec **%% --left-of, --right-of, --above, --below%%** en fonction de vos besoins. | Vous pouvez adapter la position de l'écran secondaire avec **%% --left-of, --right-of, --above, --below%%** en fonction de vos besoins. | ||
- | * **%%Deux écrans clonés, résolutions identiques (Clone dual screen) : %%** | + | * **%%Deux écrans clonés, résolutions identiques (Clone dual screen) : %%** |
DP-2 est l'écran principal, DP-1 est identique à DP-2, les résolutions sont identiques : | DP-2 est l'écran principal, DP-1 est identique à DP-2, les résolutions sont identiques : | ||
<code> | <code> | ||
Ligne 160: | Ligne 167: | ||
==== Fréquence non listée dans les modes disponibles ==== | ==== Fréquence non listée dans les modes disponibles ==== | ||
- | Il est tout à fait possible que votre écran supporte le mode //1280x1024 à 60Hz// mais que ce mode n'est actuellement pas listé dans les modes disponibles. Dans ce cas vous pouvez imposer la résolution de l'écran à cette dimension et cette fréquence avec ''xrandr''. Mais, si ce mode n'est pas supporté, vous obtiendrez un message ''Frequency out of range'' et vous ne verrez plus rien à l'écran... Vous pourrez éventuellement revenir à une résolution et une fréquence supportées en utilisant le paragraphe [[#Fréquence listée dans les modes disponibles|Fréquence listée dans les modes disponibles]] en aveugle (c'est à dire sans voir ce que l'on tape!). | + | Il est tout à fait possible que votre écran supporte le mode //1280x1024 à 60Hz// mais que ce mode ne soit actuellement pas listé dans les modes disponibles. Dans ce cas vous pouvez imposer la résolution de l'écran à cette dimension et cette fréquence avec ''xrandr''. Mais, si ce mode n'est pas supporté, vous obtiendrez un message ''Frequency out of range'' et vous ne verrez plus rien à l'écran... Vous pourrez éventuellement revenir à une résolution et une fréquence supportées en utilisant le paragraphe [[#Fréquence listée dans les modes disponibles|Fréquence listée dans les modes disponibles]] en aveugle (c'est à dire sans voir ce que l'on tape!). |
Pour obtenir un mode non listé, utilisez les programmes complémentaires **//gtf//** et **//sed//**. Vous entrez la ligne de commande suivante, vous devriez bien entendu adapter les nombres 1280, 1024 et 60 à votre résolution cible : | Pour obtenir un mode non listé, utilisez les programmes complémentaires **//gtf//** et **//sed//**. Vous entrez la ligne de commande suivante, vous devriez bien entendu adapter les nombres 1280, 1024 et 60 à votre résolution cible : | ||
Ligne 182: | Ligne 189: | ||
exit 0; | exit 0; | ||
</code> | </code> | ||
- | rendez votre script [[:tutoriel:script_shell#executer_un_script|éxécutable]] et ajoutez-le enfin [[:tutoriel:application_demarrage|aux applications au démarrage]] (cf. point suivant pour une explication détaillée de la procéure de créatin d'un script). | + | rendez votre script [[:tutoriel:script_shell#executer_un_script|éxécutable]] et ajoutez-le enfin [[:tutoriel:application_demarrage|aux applications au démarrage]] (cf. point suivant pour une explication détaillée de la procédure de créatoin d'un script). |
<note>Autre solution, sous Lubuntu (du moins la 16.04) : pour activer la résolution voulue aux prochaines démarrages, il suffit d'ouvrir l'éditeur des [[:configurer_son_ecran#lubuntu|paramètres d'affichage de Lubuntu]] et d’enregistrer la configuration (bouton "Enregistrer") pour que le système retrouve la résolution à l'avenir.</note> | <note>Autre solution, sous Lubuntu (du moins la 16.04) : pour activer la résolution voulue aux prochaines démarrages, il suffit d'ouvrir l'éditeur des [[:configurer_son_ecran#lubuntu|paramètres d'affichage de Lubuntu]] et d’enregistrer la configuration (bouton "Enregistrer") pour que le système retrouve la résolution à l'avenir.</note> | ||
- | ==== Ajouter une résolution ==== | + | ==== Ajouter une résolution non listée==== |
+ | La résolution de votre écran n'est pas disponible par défaut. C'est rare et ça arrive, on va voir comment gérer cela. | ||
+ | |||
+ | Commencez par identifier votre écran : | ||
+ | <code bash>xrandr | awk '/connected [^(]/{print $1}'</code> | ||
+ | |||
+ | Par exemple comme réponse vous avez "eDP-1-1" comme identifiant, vous aurez à le remplacer par le votre dans les prochaines commandes. | ||
+ | |||
+ | Si vous désirez essayer avec une résolution de 1920x1080 en 60hz (n.b. vérifiez si la carte graphique le supporte avant) | ||
+ | Tapez la commande : | ||
+ | <code bash>gtf 1920 1080 60</code> | ||
+ | |||
+ | En retour vous aurez : <code bash># 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz | ||
+ | Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync</code> | ||
+ | |||
+ | Ce qui nous intéresse ici est la seconde ligne (# est toujours suivi d'un commentaire) | ||
+ | |||
+ | Pour ajouter la résolution depuis xrandr cela donne donc : | ||
+ | <code bash>xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync</code> | ||
+ | |||
+ | et donc pour l'ajouter au menu ("eDP-1-1" sera à remplacer par votre identifiant d'écran) tapez : | ||
+ | <code bash>xrandr --addmode eDP-1-1 1920x1080_60.00</code> | ||
+ | |||
+ | Pour changer de résolution depuis le terminal : | ||
+ | <code bash>xrandr -s 1920x1080_60.00</code> | ||
+ | |||
+ | Cependant au redémarrage, ces modifications seront perdues, d'ou le chapitre suivant | ||
+ | |||
+ | <note tip>Une autre méthode consiste à regarder les choix disponibles en lançant **arandr** puis en regardant les lignes de commandes xrandr avec le nom du ou des sorties dans le menu **Sortie**.</note> | ||
- | Pour ajouter une résolution par exemple de ''1366x768_60'' sur une sortie VGA : | ||
- | * Demandez d'abord les informations sur la résolution avec la commande : <code>cvt 1366 768 60</code> | ||
- | * Puis copiez les informations données en retour : <code>"1366x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync</code> | ||
- | * Essayez la résolution dans la console : <code>xrandr --newmode "1366x768_60.00" 85.25 1368 1440 1576 1784 768 771 781 798 -hsync +vsync | ||
- | xrandr --addmode VGA1 1366x768_60.00</code> | ||
=== Rendre persistantes les modifications === | === Rendre persistantes les modifications === | ||
- | == En créant le fichier **45x11-xrandr** == | + | |
- | La première méthode consiste à [[:tutoriel:comment_modifier_un_fichier|créer le fichier]] **45x11-xrandr** avec les [[:sudo|droits d'administration]] dans **/etc/X11/Xsession.d/**, en y mettant les 2 lignes ci-dessus. | + | == Créer le script == |
- | == avec arandr == | + | Reprenez les commandes précédentes (en modifiant les commandes au besoin) : |
- | Une autre méthode consiste à regarder les choix disponibles en lançant **arandr** puis en regardant le nom du ou des sorties dans le menu **Sortie**. | + | <file bash>#!/bin/sh |
- | == Avec un script == | + | xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync |
+ | xrandr --addmode eDP-1-1 1920x1080_60.00 | ||
+ | xrandr -s 1920x1080_60.00</file> | ||
+ | 'Ctrl+X' pour quitter, n'oubliez pas de sauvegarder en tapant "o". | ||
+ | |||
+ | |||
+ | == Lancer le script via /etc/X11/Xsession.d/ == | ||
+ | La première méthode consiste à [[:tutoriel:comment_modifier_un_fichier|créer le fichier]] **45x11-xrandr** avec les [[:sudo|droits d'administration]] dans **/etc/X11/Xsession.d/**, en y mettant le script. | ||
+ | |||
+ | |||
+ | == Lancer le script via ~/.xprofile == | ||
+ | Créez un fichier "~/.xprofile" et copiez y le script | ||
+ | |||
+ | == Lancer le script via le lancement d'application au démarrage == | ||
Une autre méthode, peut-être plus artisanale mais efficace, consiste à préparer un script qui sera lancé avec applications au démarrage. | Une autre méthode, peut-être plus artisanale mais efficace, consiste à préparer un script qui sera lancé avec applications au démarrage. | ||
- | Le script ci-dessous permet d'utiliser un écran de résolution 1366x768 avec une sortie écran dont la résolution maximale est 1024x768. | + | Ajouter au script précédent : |
<code>#!/bin/bash | <code>#!/bin/bash | ||
- | # Adaptation de la résolution d'écran à celle du LG Flatron E1960S | ||
- | xrandr --newmode "1366x768_60.00" 84.75 1366 1432 1568 1776 768 771 781 798 -hsync +vsync | ||
- | xrandr --addmode DP-1 1366x768_60.00 | ||
- | xrandr --output DP-1 --mode 1366x768_60.00 | ||
gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/Xerus_Wallpaper_Grey_4096x2304.png | gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/Xerus_Wallpaper_Grey_4096x2304.png | ||
gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/TCP118v1_by_Tiziano_Consonni.jpg | gsettings set org.gnome.desktop.background picture-uri file:///usr/share/backgrounds/TCP118v1_by_Tiziano_Consonni.jpg | ||
exit 0; | exit 0; | ||
</code> | </code> | ||
+ | |||
Le script est enregistré dans un fichier texte (adapt_resolution.sh par exemple) auquel les droits d’exécution sont accordés : | Le script est enregistré dans un fichier texte (adapt_resolution.sh par exemple) auquel les droits d’exécution sont accordés : | ||
<code> | <code> | ||
chmod gua+x adapt_resolution.sh | chmod gua+x adapt_resolution.sh | ||
</code> | </code> | ||
- | Ensuite, sélectionner « applications au démarrage » parmi les applications d'Ubuntu. | + | Ensuite, sélectionner « applications au démarrage » parmi les applications d'Ubuntu. |
{{ ::rchrapplic.png?nolink&600 |}} | {{ ::rchrapplic.png?nolink&600 |}} | ||
Choisir « Ajouter » parmi les options proposées : | Choisir « Ajouter » parmi les options proposées : | ||
Ligne 226: | Ligne 266: | ||
==== Pivoter l'affichage ==== | ==== Pivoter l'affichage ==== | ||
- | Pour pivoter l'affichage (utilisation d'un écran en mode portrait par exemple), il est nécessaire d’utiliser l'option « --rotate » suivie du sens de rotation et précédée du nom de l'écran concerné. | + | Pour pivoter l'affichage (utilisation d'un écran en mode portrait par exemple), il est nécessaire d’utiliser l'option ''%%--%%rotate'' suivie du sens de rotation et précédée du nom de l'écran concerné. |
Les options de rotation disponibles sont : | Les options de rotation disponibles sont : | ||
- | |« normal » | orientation par défaut (selon l'écran, généralement paysage ou portrait) | | + | |''normal'' | orientation par défaut (selon l'écran, généralement paysage ou portrait) | |
- | |« left » | pivoté de 90° vers la gauche par rapport à l’orientation « normal » | | + | |''left'' | pivoté de 90° vers la gauche par rapport à l’orientation « normal » | |
- | |« right » | pivoté de 90° vers la droite par rapport à l’orientation « normal » | | + | |''right'' | pivoté de 90° vers la droite par rapport à l’orientation « normal » | |
- | |« inverted » | pivoté de 180° (à l'envers) par rapport à l'orientation « normal » | | + | |''inverted'' | pivoté de 180° (à l'envers) par rapport à l'orientation « normal » | |
Ainsi, pour un écran nommé « eDP1 » dont l'affichage doit être tourné vers la gauche, la commande sera la suivante : | Ainsi, pour un écran nommé « eDP1 » dont l'affichage doit être tourné vers la gauche, la commande sera la suivante : | ||
Ligne 282: | Ligne 322: | ||
</code> | </code> | ||
| | ||
- | Vous pouvez créer un fichier **[[xorg|xorg.conf]]** en adaptant les données : | + | Vous pouvez créer un fichier **[[xorg|xorg.conf]]** en adaptant les données : |
<file xorg.conf> | <file xorg.conf> | ||
Ligne 345: | Ligne 385: | ||
EndSection | EndSection | ||
</file> | </file> | ||
+ | |||
+ | |||
+ | Pour plus de détail, voir l'article hyper complet en Anglais sur xrandr sur [[https://askubuntu.com/questions/710172/why-do-xrandr-errors-badmatch-badname-gamma-failed-happen|askubuntu.com]] | ||
==== Conserver les paramètres ==== | ==== Conserver les paramètres ==== | ||
Ligne 353: | Ligne 396: | ||
Enregistrez et quittez. Dorénavant, la résolution sera augmentée automatiquement lors de chaque connexion. | Enregistrez et quittez. Dorénavant, la résolution sera augmentée automatiquement lors de chaque connexion. | ||
- | ===== Ajouter et appliquer une résolution non listée ===== | ||
- | |||
- | Commencez par identifiez votre écran : | ||
- | <code bash>xrandr | grep -e " connected [^(]" | sed -e "s/\([A-Z0-9]\+\) connected.*/\1/"</code> | ||
- | |||
- | Par exemple comme réponse vous avez "eDP-1-1" comme identifiant, vous aurez à le remplacer par le votre dans les prochaines commandes. | ||
- | |||
- | Si vous désirez essayer avec une résolution de 1920x1080 en 60hz (n.b. vérifiez si la carte graphique le supporte avant) | ||
- | Tapez la commande : | ||
- | <code bash>gtf 1920 1080 60</code> | ||
- | |||
- | En retour vous aurez : <code bash># 1920x1080 @ 60.00 Hz (GTF) hsync: 67.08 kHz; pclk: 172.80 MHz | ||
- | Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync</code> | ||
- | | ||
- | Ce qui nous intéresse ici est la seconde ligne (# est toujours suivi d'un commentaire) | ||
- | |||
- | Pour ajouter la résolution depuis xrandr cela donne donc : | ||
- | <code bash>xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync</code> | ||
- | |||
- | et donc pour l'ajouter au menu ("eDP-1-1" sera à remplacer par votre identifiant d'écran) tapez : | ||
- | <code bash>xrandr --addmode eDP-1-1 1920x1080_60.00</code> | ||
- | |||
- | Pour changer de résolution depuis le terminal : | ||
- | <code bash>xrandr -s 1920x1080_60.00</code> | ||
- | |||
- | Cependant à redémarrage ces modifications seront perdues, pour l'éviter créez un fichier "~/.xprofile" | ||
- | en tapant la commande : | ||
- | <code bash>>.xprofile</code> | ||
- | puis nano pour editer : | ||
- | <code bash>nano .xprofile</code> | ||
- | copiez y (en modifiant les commandes au besoin) : | ||
- | <file bash>#!/bin/sh | ||
- | xrandr --newmode "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync | ||
- | xrandr --addmode eDP-1-1 1920x1080_60.00 | ||
- | xrandr -s 1920x1080_60.00</file> | ||
- | 'Ctrl+X' pour quitter, n'oubliez pas de sauvegarder en tapant "o". | ||
+ | ===== Ajouter des écrans virtuels ===== | ||
+ | Si vous souhaitez des écrans virtuels VIRTUALX, voir ce lien : https://askubuntu.com/questions/453109/add-fake-display-when-no-monitor-is-plugged-in | ||
===== Voir aussi ===== | ===== Voir aussi ===== |