Le temps qu’il fait à Bruxelles   Le temps de Bruxelles :

Dominique Meeùs
Dernière modification le   
retour à la table des matières — à l’index — à ma page de départ

Plusieurs moniteurs

You may want to put a xrandr command to be executed automatically at the start of a session for a multihead configuration. In the case of a laptop, it has to be conditional, as in this example, because you are not likely to always take the external monitor “on the road again” 1.

On peut régler l’affichage avec Outils système > Paramètres système > Affichage. Le résultat de ces choix est écrit dans ~/.config/monitors.xml pour être conservé d’une session à l’autre, mais en général, ça ne marche pas (en tout cas pour moi dont le bureau est Flashback seul, du paquet gnome-session-flashback) et il faut répéter l’opération à chaque démarrage de session. Une solution est d’écrire une commande xrandr correspondant à sa configuration favorite et de l’inscrire comme Application au démarrage de la session.

La solution de l’application automatique d’une commande xrandr au lancement d’une session peut créer des problèmes si l’unité centrale est un ordinateur portable, qu’on utilisera parfois en déplacement sans le ou les moniteurs supplémentaires, en particulier si la configuration fait que l’écran du portable n’est pas le moniteur primaire. La solution est d’alors mettre la commande de configuration xrandr dans un script conditionnel. À titre d’exemple, voici le script conditionnel, chez moi ~/bin/xprofile, inscrit comme Application au démarrage :

#!/bin/bash
# 1366 × 768 internal monitor, left, in low position : top is 1080 − 768 lower than the other
# 1920 × 1080 external monitor, right : thus at 1366, primary
# I am using the multiplication sign × in these comments. It has to be a letter x in the commands.

intoutput="eDP-1"
extoutput="HDMI-1"
if (xrandr | grep $extoutput | grep "connected"); then
    xrandr --output $intoutput --auto --pos 0x312 --output $extoutput --auto --pos 1366x0 --primary
    # by the way, I want HDMI audio output too; therefore:
    pacmd set-card-profile 0 output:hdmi-stereo
fi
#

Beware! new naming scheme for monitors in Ubuntu 16.10. Best delete your ~/.config/monitors.xml containing confusing old names.

J’ai profité de ce script que j’ai mis dans les applications au démarrage de session pour régler aussi le choix de la sortie audio avec la commande pacmd set-card-profile.

Attention qu’avec le passage de 16.04 à 16.10, les noms de moniteur ont changé. Chez moi, par exemple, EDP1 est devenu EDP-1 et HDMI1 HMDI-1. (La commande xrandr | grep connected me donne les noms effectivement utilisés.) La mise à jour préserve l’ancien fichier personnel ~/.config/monitors.xml avec les anciens noms et une nouvelle configuration est écrite à la suite de l’ancienne, avec les nouveaux noms, ce qui donne les résultats les plus surprenants, comme de perdre tout affichage. Il faudrait effacer monitors.xml de préférence avant la mise à jour, sinon le plus vite après.

Notes
1.
Canned Heat, 1967.
Dominique Meeùs . Date: 2011… 2019