web-dev-qa-db-fra.com

Affectation de raccourcis clavier aux configurations multi-écrans

Utilisation d'Ubuntu 10.10. J'ai un écran externe et je déplace fréquemment mon ordinateur dans et hors de la pièce.

Existe-t-il un moyen d'éviter une configuration manuelle via nvidia-settings chaque fois que je dois sortir mon ordinateur portable de ma chambre?

Voudrait pouvoir appuyer Ctrl + 1 et que seul l'écran du portable est actif, Ctrl + 2 pour l'extérieur uniquement, et Ctrl + 3 pour TwinView.

6
BorgDomination

J'utilise disper: https://launchpad.net/~disper-dev/+archive/ppa . vous pouvez affecter la commande disper -s vers un raccourci pour uniquement votre affichage principal, disper -S uniquement pour votre moniteur secondaire, disper -e pour un bureau étendu et disper -c pour un clone sur les deux écrans. J'ai dû le modifier un peu pour régler mon moniteur principal sur le bureau étendu. J'utilise la commande disper -d CRT-1,DFP-0 -e, où CRT-1 et DFP-0 sont les noms des moniteurs trouvés avec disper -l.

1
Wouter

Ma réponse ne convient peut-être pas à 100% à votre cas, car j'utilise des pilotes ATI, mais j'utilise un petit script qui détecterait un moniteur externe et, dans ce cas, l'activerait, en utilisant l'outil de ligne de commande xrandr. J'ai ensuite créé un raccourci clavier qui l'exécute.

Si xrandr s'exécute également sur votre configuration, vous pouvez en utiliser une version modifiée. xrandr est contenu dans le package "x11-xserver-utils", vous devrez donc peut-être d'abord exécuter "Sudo apt-get install x11-xserver-utils" dans la console.

Ce que vous devez modifier dans le script:

  • Exécutez d'abord "xrandr -q" dans la console pour connaître le nom de votre moniteur principal et externe. Les miens sont "LVDS" et "DisplayPort-0".
  • Définissez EXT_DISPLAY dans le script sur le nom de votre moniteur externe
  • Définissez MAIN_DISPLAY dans le script sur le nom de votre moniteur principal
  • Laissez EXT_POS à "droite" pour avoir le moniteur externe à droite de votre moniteur principal, remplacez-le par "gauche" (ou en fait n'importe quoi d'autre) pour l'avoir à gauche

Le script:

#!/bin/bash

EXT_DISPLAY="DisplayPort-0"
MAIN_DISPLAY="LVDS"
EXT_POS="right"

EXT_OUTPUT="NONE"
xrandr -q > /var/tmp/xrandr.log

STATUS_DISPLAYPORT=$(xrandr -q | sed -n "s/${EXT_DISPLAY} \([a-z]*\).*/\1/p")

if [ "$STATUS_DISPLAYPORT" = "connected" ]; then
    echo "Detected external monitor on $EXT_DISPLAY"
    EXT_OUTPUT="$EXT_DISPLAY"
fi

if [ "$EXT_OUTPUT" = "NONE" ]; then
    echo "LCD only"

else
    echo "Enabling external monitor $EXT_OUTPUT"
    if [ "$EXT_POS" = "right" ]; then
        xrandr --output $MAIN_DISPLAY --pos 0x0 --preferred --output $EXT_OUTPUT --right-of $MAIN_DISPLAY --preferred
    else
        xrandr --output $EXT_OUTPUT --pos 0x0 --preferred --output $MAIN_DISPLAY --right-of $EXT_OUTPUT --preferred 
    fi
fi

Stockez le script dans un répertoire, donnez-lui des droits d'exécution et définissez un raccourci clavier qui le démarre. Fonctionne bien au moins ici.

1
Oliver