Atribuindo atalhos de teclado para configurações de vários monitores

6

Usando o Ubuntu 10.10. Eu tenho uma tela externa e freqüentemente movo meu computador para dentro e para fora da sala.

Existe uma maneira de evitar configurar manualmente via nvidia-settings toda vez que eu preciso tirar meu laptop do meu quarto?

Gostaria de poder pressionar Ctrl + 1 e ter apenas a tela do laptop ativa, Ctrl + 2 para o externo somente e Ctrl + 3 para o TwinView.

    
por BorgDomination 12.02.2011 / 07:49

2 respostas

1

Minha resposta pode não ser 100% apropriada para o seu caso, pois uso drivers ATI, mas uso um pequeno script que detecta um monitor externo e, nesse caso, habilito-o, usando a ferramenta de linha de comando xrandr. Então criei um atalho-chave que o executa.

Se o xrandr também for executado em sua configuração, você poderá usar uma versão modificada dele. O xrandr está contido no pacote "x11-xserver-utils", então você pode precisar primeiro executar o "sudo apt-get install x11-xserver-utils" no console.

O que você precisa modificar no script:

  • Primeiro, execute "xrandr -q" no console para descobrir o nome do seu monitor principal e externo. Os meus são "LVDS" e "DisplayPort-0".
  • Defina EXT_DISPLAY no script como o nome do seu monitor externo
  • Defina MAIN_DISPLAY no script como o nome do seu monitor principal
  • Deixe EXT_POS para "direita" para ter o monitor externo à direita do seu monitor principal, substitua-o por "esquerda" (ou na verdade qualquer outra coisa) para tê-lo à esquerda

O 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]*\).*//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

Armazene o script em algum diretório, dê a ele direitos de execução e defina um atalho de teclado que o inicie. Funciona bem, pelo menos aqui.

    
por Oliver 22.02.2011 / 14:24
1

Eu uso o disper: link . você pode atribuir o comando disper -s a um atalho apenas para sua exibição principal, disper -S apenas para seu monitor secundário, disper -e para uma área de trabalho estendida e disper -c para um clone nas duas exibições. Eu tive que tweek um pouco para definir o meu monitor principal direito para o desktop estendido Eu uso o comando disper -d CRT-1,DFP-0 -e , onde CRT-1 e DFP-0 são os nomes dos monitores encontrados com disper -l .

    
por Wouter 11.01.2012 / 11:42

Tags