Une fois n'est pas coutume, j'ai envie de partager avec vous un problème et une partie de la solution que j'ai trouve mais qui n'est pas encore totalement satisfaisante a mon gout.
Voila le topo:
J'utilise un ordinateur portable (Dell Latitude E7240 avec LM19.3 Xfce dessus) que je connecte de temps a autre a mon écran sur mon bureau (via un adaptateur HDMI / VGA). Dans ce cas la, l’écran est mon écran principal et l’écran du portable me sert de second écran a droite du premier.
Parfois quand je veux travailler ailleurs qu'a mon bureau, j’emmène mon pc portable avec moi mais quand je reviens le brancher a mon écran, il perd la configuration et la disposition des écrans.
Comme j'avais pas envie de passer mon temps a jouer avec l'interface "Display" de xfce, je me suis tourne vers xrandr.
En farfouillant, je me suis aperçu que je pouvais definir ma configuration avec deux petites lignes.
Tout d'abord j'ai identifier mes ecrans avec:
Code : Tout sélectionner
xrandr
Code : Tout sélectionner
Screen 0: minimum 320 x 200, current 3286 x 1080, maximum 16384 x 16384
eDP-1 connected 1366x768+1920+0 (normal left inverted right x axis y axis) 277mm x 156mm
1366x768 60.00*+ 40.00
1360x768 59.80 59.96
1280x720 60.00 59.99 59.86 59.74
1024x768 60.04 60.00
960x720 60.00
928x696 60.05
896x672 60.01
1024x576 59.95 59.96 59.90 59.82
960x600 59.93 60.00
960x540 59.96 59.99 59.63 59.82
800x600 60.00 60.32 56.25
840x525 60.01 59.88
864x486 59.92 59.57
800x512 60.17
700x525 59.98
800x450 59.95 59.82
640x512 60.02
720x450 59.89
700x450 59.96 59.88
640x480 60.00 59.94
720x405 59.51 58.99
684x384 59.88 59.85
680x384 59.80 59.96
640x400 59.88 59.98
576x432 60.06
640x360 59.86 59.83 59.84 59.32
512x384 60.00
512x288 60.00 59.92
480x270 59.63 59.82
400x300 60.32 56.34
432x243 59.92 59.57
320x240 60.05
360x202 59.51 59.13
320x180 59.84 59.32
HDMI-1 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 476mm x 268mm
1920x1080 60.00*+ 59.94
1600x900 60.00
1280x1024 75.02 60.02
1152x864 75.00
1280x720 60.00 59.94
1024x768 75.03 60.00
800x600 75.00 60.32
720x480 60.00 59.94
640x480 75.00 60.00 59.94
720x400 70.08
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 disconnected (normal left inverted right x axis y axis)
Code : Tout sélectionner
xrandr --output HDMI-1 --mode 1920x1080 --primary
xrandr --output eDP-1 --mode 1366x768 --right-of HDMI-1
L’idée était que ce script devait se lancer a chaque connexion a ma session, identifier le nombre d’écrans connectes et si il y'en a deux, exécuter les deux commandes ci-dessus.
Donc j'en suis arrive au script suivant:
Code : Tout sélectionner
#!/bin/sh
nb_screen=`xrandr | egrep -c ' connected'`
if [ $nb_screen -eq 2 ]
then
echo "There is $nb_screen screens detected"
xrandr --output HDMI-1 --mode 1920x1080 --primary
xrandr --output eDP-1 --mode 1366x768 --right-of HDMI-1
else
echo "There is only $nb_screen screen detected, no multi-screen configuration possible"
xrandr --auto
fi
Code : Tout sélectionner
sh script_xrandr.sh
Soit ça prend pas en compte le script, soit je me retrouve avec les écrans superposes.
En gros mes questions sont:
- Est-ce que mon script est correct ?
- Et ou dois-je placer mon script pour qu'il soit exécuté a chaque fois que je me log a ma session ?