Alternar monitores da linha de comando

20

Desde que encontrei um método diferente para alcançar meu objetivo, e como nenhuma resposta foi postada na minha pergunta anterior, alterei a pergunta para corresponder à resposta que encontrei.

Existe uma maneira de desligar o monitor do meu laptop e ligar o monitor externo (e vice-versa) inteiramente a partir da linha de comando?

    
por Malabarba 21.06.2010 / 16:05

2 respostas

25

Com os comandos

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

A tela é transferida automaticamente para o monitor externo. Não precisa nem de poderes sudo. Para descobrir o nome dos monitores, faça o seguinte:

xrandr -q

Qual deve dar algo como:

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)
...

Estender as exibições provavelmente pode ser feito de maneira semelhante.

    
por 21.06.2010 / 21:22
4

Esta certamente não é uma resposta direta à sua pergunta. Mas achei útil no meu caso de uso. Esta não é uma exportação do arquivo de configuração, mas mostra como automatizar o disper em um script de shell. Estou configurando isso para ser executado toda vez que eu encaixar / desconectar e parece estar corrigindo meus problemas de exibição ao encaixar e desacoplar meu laptop:

Você precisa ter o disper e o Python instalado.

#!/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
    
por 21.06.2010 / 18:47