Comment changer automatiquement la configuration des écrans X11 avec autorandr sous Linux
L’ajout d’un moniteur à une configuration est probablement l’un des moyens les plus efficaces et les plus immédiats d’augmenter la productivité. Une configuration multi-écrans peut être utile, par exemple, lorsque nous devons consulter une sorte de documentation et en même temps travailler sur une autre tâche en plein écran. Autorandr est un utilitaire gratuit et open source capable d’appliquer des configurations X11 spécifiques en fonction des écrans connectés à notre machine.
Dans ce tutoriel, nous apprenons à utiliser l’utilitaire autorandr et à l’installer sur certaines des distributions Linux les plus utilisées.
Dans ce tutoriel, vous allez apprendre :
- Comment installer autorandr dans certaines des distributions Linux les plus utilisées
- Comment créer, supprimer et charger manuellement un profil
- Comment répertorier les profils existants
- Comment obtenir les paramètres xrandr liés à un profil
- Comment et où autorandr conserve les configurations de profil
Installation d’autorandr
Autornadr est un logiciel gratuit et open source. L’utilitaire est principalement écrit en Python et publié sous la licence GPLv3. Il est disponible dans les dépôts des principales distributions Linux, et peut donc être facilement installé à l’aide de leurs gestionnaires de paquets respectifs. Voyons quelques exemples. Pour effectuer l’installation sur Fedora, nous pouvons exécuter :
sudo dnf install autorandrPour installer le paquet sur Debian ou Ubuntu, nous pouvons utiliser la commande suivante :
sudo apt-get update && sudo apt-get install autorandrAutorandr est également disponible dans le dépôt « Community » d’Archlinux. Nous pouvons l’installer en utilisant le gestionnaire de paquets pacman :
sudo pacman -Sy autorandrComme autorandr est écrit en Python, il est également distribué en tant que paquet Python, et peut donc être installé de manière indépendante de la distribution, en utilisant pip, le gestionnaire de paquets Python. Pour effectuer l’installation pour notre utilisateur uniquement (l’exécution de pip en tant que root est déconseillée), nous pouvons utiliser la commande suivante :
pip install autorandr --user Lorsqu’il est installé de cette façon, le binaire autorandr est placé dans le répertoire ~/.local/bin, qui doit déjà faire partie du PATH de l’utilisateur.
Comment fonctionne autorandr
Autorandr « empreintes digitales » écrans connectés au système et les associe à leurs paramètres de serveur X11 actuels dans des « profils » qui sont automatiquement appliqués à chaque fois qu’une empreinte digitale est associée. Voyons quelques exemples d’utilisation.
En ce moment, j’écris depuis mon carnet et je n’ai pas d’autres moniteurs connectés. Le seul écran utilisé est l’écran natif, qui est réglé pour fonctionner à sa résolution maximale (1920x1080) et avec un certain taux de rafraîchissement.
Pour qu’autorandr se souvienne de cette configuration, ce que je dois faire est de l’enregistrer dans un « profil » et de lui attribuer un nom. Pour accomplir cette tâche, j’appelle l’utilitaire avec l’option --save et je passe le nom que je veux utiliser pour le profil comme argument :
autorandr --save laptopEn invoquant l’utilitaire sans aucune option ni argument, je peux voir que le profil a été correctement enregistré et que c’est celui actuellement utilisé :
autorandr
laptop (detected) (current)Pour définir ce profil comme profil par défaut, j’exécute :
autorandr --default laptopLorsqu’un profil est défini par défaut, il est utilisé si aucune autre configuration ne correspond. S’il n’existe pas de profil par défaut, la configuration actuelle est conservée.
Bon. Maintenant, ajoutons un moniteur externe à la configuration. Je connecte le moniteur, règle la résolution souhaitée (2560x1080 dans ce cas) et le place à droite du moniteur natif de la machine, qui est marqué comme le principal. Une telle tâche peut être effectuée à partir de la ligne de commande, à l’aide de xrandr, ou, plus commodément, à l’aide d’une interface graphique. Dans cet exemple, j’utilise « arandr » :
Une fois que je suis satisfait de la configuration, je la rends efficace, puis je l'"enregistre » en tant que nouveau profil à l’aide d’autorandr. Dans ce cas, je l’enregistre sous le nom « laptop_external_ultrawide » :
autorandr --save laptop_external_ultrawideMaintenant, lorsque je vais détacher le moniteur externe, autorandr vérifiera un profil qui correspond à la nouvelle configuration. S’il en existe un, il sera appliqué (dans ce cas « laptop », qui est également le par défaut). De la même manière, le profil « laptop_external_ultrawide » sera automatiquement appliqué lorsque je reconnecterai le même moniteur externe.
Chargement manuel d’un profil
Comme nous l’avons vu, un profil se charge en fonction du ou des afficheurs connectés à notre machine. Nous pouvons cependant charger un profil spécifique manuellement. Dans ce cas, ce que nous voulons faire, c’est simplement passer le nom du profil en argument à l’utilitaire :
autorandr laptop_external_ultrawideSi un profil est déjà utilisé, il ne sera pas rechargé, sauf si l’option --force est passée.
Obtention des paramètres associés au profil actif
Il peut parfois être utile de jeter un coup d’œil aux paramètres xrandr associés au profil actif. Pour accomplir une telle action, tout ce que nous avons à faire est d’exécuter autorandr avec l’option --config :
autorandr --configVoici le résultat renvoyé par la commande lorsque le profil « laptop_external_ultrawide » est utilisé :
output DP-1
off
output HDMI-1
off
output DP-2
off
output eDP-1
crtc 0
mode 1920x1080
pos 0x0
primary
rate 60.01
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0
x-prop-scaling_mode Full aspect
output HDMI-2
crtc 1
mode 2560x1080
pos 1920x0
rate 59.98
x-prop-aspect_ratio Automatic
x-prop-audio auto
x-prop-broadcast_rgb Automatic
x-prop-colorspace Default
x-prop-max_bpc 12
x-prop-non_desktop 0Suppression d’un profil
La suppression d’un profil est vraiment facile, puisqu’il existe une option dédiée à la tâche : --remove. Pour supprimer le « laptop_external_ultrawide », nous exécuterions :
autorandr --remove laptop_external_ultrawideFichier(s) de configuration Autorandr
Autorandr conserve les données des profils dans le répertoire ~/.config/autorandr. Les configurations liées à un profil sont placées dans un sous-répertoire nommé d’après le profil lui-même, qui contient deux fichiers : config et setup. Voici la structure des fichiers liés aux profils existants sur ma machine :
/home/egdoc/.config/autorandr/
├── laptop
│ ├── config
│ └── setup
└── laptop_external_ultrawide
├── config
└── setupLe fichier nommé « config » contient les options xrandr relatives au profil ; Le fichier « setup », en revanche, contient « l’empreinte » des écrans. Voici l’empreinte digitale liée à la configuration matérielle associée au profil « laptop_external_ultrawide » sur mon système :
HDMI-2 00ffffffffffff001e6d1477d8660300081d010380502278eaca95a6554ea1260f5054256b807140818081c0a9c0b300d1c08100d1cfcd4600a0a0381f4030203a001e4e3100001a023a801871382d40582c45001e4e3100001e000000fd00384b1e5a19000a202020202020000000fc004c472048445220574648440a2001ca020337f1230907074c100403011f1359da125d5e5f830100006d030c001000b83c20006001020367d85dc4013c8000e305c000e3060501295900a0a038274030203a001e4e3100001a565e00a0a0a02950302035001e4e3100001a000000ff003930384e544142364a3933360a0000000000000000000000000000000000008a
eDP-1 00ffffffffffff0026cf7d0500000000001a0104951f11780a7690945554902721505400000001010101010101010101010101010101383680a07038204018303c0035ae10000019000000000000000000000000000000000000000000fe00496e666f566973696f6e0a2020000000fe00523134304e574635205231200a0016D’ailleurs, l’empreinte de la configuration matérielle actuelle peut être obtenue en exécutant autorandr avec l’option --fingerprint.
Conclusions
Autorandr est un utilitaire gratuit et open source écrit en Python, qui peut être utilisé pour appliquer automatiquement des configurations X11 spécifiques en fonction des écrans connectés à une machine. Dans cet article, nous avons vu comment installer l’utilitaire dans certaines des distributions Linux les plus utilisées ; Comment créer, supprimer et charger manuellement un profil, et comment répertorier les profils existants. Enfin, nous avons vu comment inspecter les configurations associées à un profil, et comment elles sont organisées dans le système de fichiers.

