Mise à jour : Debian 10.2
On décrit ici la gestion d'un affichage double écran pc portable / écran externe HDMI
Sommaire
On suppose l'environnement graphique installé.
Installer si ce n'est pas déjà fait x11-xserver-utils qui fournit l'utilitaire xrandr :
$ sudo apt install x11-xserver-utils
Liste des écrans connectés
$ xrandr --listmonitors
Monitors: 1
0: +LVDS1 1600/340x900/190+0+0 LVDS1
Dans le cas présent,
Liste des interfaces graphiques disponibles et, pour celles qui sont connectées, résolutions disponibles
$ xrandr
Screen 0: minimum 8 x 8, current 1600 x 900, maximum 32767 x 32767
LVDS1 connected 1600x900+0+0 (normal left inverted right x axis y axis) 340mm x 190mm
1600x900 60.00*+
1368x768 60.00
1360x768 59.80 59.96
1152x864 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
800x450 60.00
640x480 59.94
720x405 60.00
640x360 60.00
VGA1 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
VIRTUAL2 disconnected (normal left inverted right x axis y axis)
Dans l'exemple ci-dessous, 4 interfaces sont énumérées :
LVDS1, l'interface de l'écran du portable, connecté en résolution 1600x900
VGA1, déconnecté
VIRTUAL1 et VIRTUAL2, deux interfaces virtuelles
La commande xrandr accepte un grand nombre d'options permettant de définir la résolution, la position et l'orientation des écrans, ... Le nom de l'écran et la résolution doivent être sélectionnés parmi ceux proposés par xrandr. Les caractéristiques non spécifiées ne sont pas modifiées ou prennent leur valeur par défaut.
Configurer l'écran LDVS1 en résolution 1600x900
$ xrandr --output LVDS1 --mode 1600x900
Configurer la résolution, la position, la rotation de l'écran LDVS1 et éteindre les écrans VGA1, VIRTUAL1,VIRTUAL2
$ xrandr --output LVDS1 --mode 1600x900 --pos 0x0 --rotate normal --output VGA1 --off --output VIRTUAL1 --off --output VIRTUAL2 --off
Utiliser deux écrans (LDVS1 et VIRTUAL1) et définir leurs positions respectives en pixels
$ xrandr --output LVDS1 --mode 1600x900 --pos 0x0 --output VIRTUAL1 --mode VIRTUAL1.637-1920x1080 --pos 1600x0
Exemple : positionner l'écran VIRTUAL1 à droite de l'écran LVDS1
$ xrandr --output LVDS1 --output VIRTUAL1 --right-of LVDS1
Exemple : superposer les coins haut / gauche des deux écrans (position 0x0)
$ xrandr --output LVDS1 --outpus VIRTUAL1 --same-as LVDS1
Si les écrans ont la même résolution (nombre de pixels), leurs affichages seront identiques. Si un écran a une résolution inférieure, son affichage couvrira une partie de l'affichage de l'autre écran.
Installer arandr
$ sudo aptitude install arandr
Lancer arandr, soit depuis le menu graphique, soit en ligne de commande :
$ arandr
La fenêtre qui s'ouvre fait apparaître les interfaces activées et connectées à un écran. Dans le cas ci-dessus, un seul écran est branché et LVDS désigne la zone d'affichage du pc portable.
En cliquant sur la portion de fenêtre marquée LVDS, on fait apparaître un menu permettant
d'activer / désactiver l'écran
de modifier sa résolution et son orientation.
Valider pour faire prendre en compte les modifications :
Menu Disposition > Appliquer
ou bien Icône équivalente dans la barre de menu
En cliquant dans la zone libre de la fenêtre, faire apparaître la liste des écrans disponibles.
Connecter un deuxième écran, sa zone d'affichage apparaît alors dans la fenêtre, :
Positionner, avec la souris, les deux écrans l'un par rapport à l'autre. Les modifications seront prises en compte après activation.
Les dispositions peuvent être enregistrées sous forme de scripts situés dans ~/.screenlayout :Menu Disposition > Enregister sous ...
Dans le cas ci-dessous, deux configurations ont été sauvegardées, l'une pour l'affichage sur deux écrans, l'autre pour l'affichage simple.
ls -l ~/.screenlayout/
total 8
-rwx------ 1 philippe philippe 221 avril 27 20:15 portable_hdmi.sh
-rwx------ 1 philippe philippe 181 avril 28 15:53 portable.sh
Pour rappeler une configuration, la lancer en ligne de commande ou l'associer à une touche ou une combinaison de touche.
Un premier menu simplifié permet de sélectionner la disposition des écrans parmi
un seul écran (Portable ou Philips dans l'exemple ci-dessous)
écrans en miroir ou écran étendu à droite
Utiliser la combinaison de touches Fonction + F8 pour faire apparaître ce menu
Accéder au menu Avancé soit en cliquant sur le bouton Avancé dans la fenêtre ci-dessus, soit par le Menu Paramètres > Affichage de XFCE4
Ce menu permet d'activer et configurer les écrans : sélectionner les écrans disponibles (fenêtre déroulante marquée Portable dans l'exemple ci-dessous) et les configurer (Utilisation, Résolution, ...)
Il permet également de positionner un écran par rapport à un autre
cliquer sur Écrans en miroir pour mettre les écrans en miroir (choix par défaut)
cliquer à nouveau sur Écrans en miroir pour supprimer l'option et faire apparaître les deux écrans. Il est alors possible de les positionner l'un par rapport à l'autre.
Dans le menu Paramétrage > Tableau de bord
Dans le menu déroulant Sortie, sélectionner l'écran sur lequel afficher le tableau de bord, ou bien Automatique
Si la sortie Automatique est sélectionnée, les tableaux de bord seront partagés ou recopiés entre les différents moniteurs selon la position des écrans et des tableaux de bord. Lorsqu'un tableau de bord apparaît sur deux moniteurs, il peut être dupliqué ou partagé selon la sélection ou non de l'option "Étendre à tous les moniteurs".
Dans le menu Paramètres >> Bureau, sélectionner le fonds d'écran, pour chaque moniteur / espace de travail, en déplaçant la fenêtre vers l'écran dont on souhaite modifier les paramètres.