web-dev-qa-db-fra.com

Commutatez les moniteurs de la ligne de commande

Étant donné que j'ai trouvé une méthode différente pour atteindre mon objectif et que aucune réponse n'a été postée à ma question précédente, j'ai changé la question pour correspondre à la réponse que j'ai trouvée.

Existe-t-il un moyen d'éteindre le moniteur de mon ordinateur portable et d'allumer entièrement le moniteur externe (et vice-versa) de la ligne de commande?

22
Malabarba

Avec les commandes

xrandr --output VGA-0 --auto
xrandr --output LVDS --off 

L'écran transfère automatiquement à l'écran externe. Il n'a même pas besoin de pouvoirs sudo. Pour découvrir le nom des affichages, faites juste:

xrandr -q

Qui devrait donner quelque chose comme:

VGA-0 connected 1280x1024+0+0 (normal left inverted right x axis y axis) 338mm x 270mm
...
LVDS connected (normal left inverted right x axis y axis)
...

L'extension des affichages peut probablement être atteint de manière similaire.

28
Malabarba

Ceci n'est certainement pas une réponse directe à votre question. Mais j'ai trouvé cela utile dans mon cas d'utilisation. Ce n'est pas une exportation du fichier de configuration, mais il montre comment automatiser l'inverse dans un script shell. Je pose cela pour courir pour courir chaque fois que je dock/un-dock et il semble résoudre mes problèmes d'affichage lors de l'amarrage et de l'identification de mon ordinateur portable:

Vous devez avoir DISPER et Python installé.

#!/bin/sh
#
# Detect displays and move panels to the primary display
#

PYTHON=python2.6
DISPER=/usr/bin/disper

# disper command will detect and configure monitors
$PYTHON $DISPER --displays=auto -e -t left

# parse output from disper tool how many displays we have attached
# disper prints 2 lines per displer
lines=`$PYTHON $DISPER -l|wc -l`

display_count=$((lines / 2))

echo $display_count

echo "Detected display count:" $display_count

# Make sure that we move panels to the correct display based
# on the display count
if [ $display_count = 1 ] ; then
    echo "Moving panels to the internal LCD display"
    gconftool-2 \
    --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \
    --type integer "0"
    gconftool-2 \
    --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
    --type integer "0"
    sleep 5
    pkill gnome-panel
else
    echo "Moving panels to the external display"
    gconftool-2 \
    --set "/apps/panel/toplevels/top_panel_screen0/monitor" \
    --type integer "1"
    gconftool-2 \
    --set "/apps/panel/toplevels/bottom_panel_screen0/monitor" \
    --type integer "1"
    sleep 5
    pkill gnome-panel
fi
4
JD Long