web-dev-qa-db-fra.com

Utiliser automatiquement le moniteur externe lors du démarrage dans la station d'accueil

J'utilise un Thinkpad T510 et je l'amorce souvent dans un ThinkPad Mini Dock Plus série 3 (EU). Le problème est que si je le démarre avec le couvercle fermé, je peux voir grub, je peux voir le démarrage de Ubuntu, mais après cela, mon moniteur externe (connecté via VGA) s’éteint et je dois ouvrir le couvercle et dire au Pilote NVIDIA manuellement pour utiliser l’écran externe et éteindre le panneau intégré LCD. Y a-t-il un moyen de le mettre dans une règle udev, ou quelque chose comme ça pour éviter le basculement manuel?

7
user63899

Je me suis ajusté un script que j'ai trouvé à mes besoins.

Vous pouvez ignorer les commandes wacom. Celles-ci ne servent qu'à faire correspondre la couche d'entrée de la tablette à l'orientation de l'écran.

#!/bin/bash
#!/bin/sh
# wait for the dock state to change
sleep 2.0
DOCKED=$(cat /sys/devices/platform/dock.0/docked)
case "$DOCKED" in
    "0")
       #undocked event - lets remove all connected outputs apart from LVDS
       for output in $(/usr/bin/xrandr -d :0.0 --verbose|grep " connected"|grep -v LVDS|awk '{print $1}')
         do
         /usr/bin/xrandr -d :0.0 --output $output --off
       done
    xrandr --output LVDS1 --rotation normal
        xsetwacom set "Wacom ISDv4 90 Pen stylus" MapToOutput LVDS1
    xsetwacom set "Wacom ISDv4 90 Pen eraser" MapToOutput LVDS1
    # rotates the tablet input to the according position (half=180°, (c)cw=(counter)clockwise, none=normal)
    xsetwacom set "Wacom ISDv4 90 Pen stylus" rotate none
    # if multiouch present set: xsetwacom set "Wacom ISDv4 E6 Finger touch" rotate half
    xsetwacom set "Wacom ISDv4 90 Pen eraser" rotate none
    ;;
    "1")
    ## rotates internal Laptop Display LVDS1 to inverted
    xrandr --output HDMI2 --auto --above LVDS1
    xrandr --output LVDS1 --rotation inverted
    xsetwacom set "Wacom ISDv4 90 Pen stylus" MapToOutput LVDS1
    xsetwacom set "Wacom ISDv4 90 Pen eraser" MapToOutput LVDS1
    # rotates the tablet input to the according position (half=180°, (c)cw=(counter)clockwise, none=normal)
    xsetwacom set "Wacom ISDv4 90 Pen stylus" rotate half
    # if multiouch present set: xsetwacom set "Wacom ISDv4 E6 Finger touch" rotate half
    xsetwacom set "Wacom ISDv4 90 Pen eraser" rotate half
    ;;
esac
exit 0

Il identifie un fichier d'état dans /sys/devices/platform/dock.0 avec la valeur 1 pour ancré ou 0 pour un ancré, déclenche xrandr pour ajuster la sortie d'affichage à un poste de travail étendu à l'aide de l'affichage intégré LVDS1 et de la configuration de l'affichage externe. HDMI2 ci-dessus.

1
phaeton616

Il existe quelques outils pour l’automatiser comme RandR, Disper, Displex ou celui-ci http://gnomefiles.org/content/show.php/Laptop+external+display+hotplugging?content=138742

1
Cmorales