Por padrão, como exibir a saída VGA acima da tela principal?

2

Minha saída VGA ( VGA-1 está configurada para estar no direito da minha tela principal ( LVDS-1 ).

Como posso configurar meu sistema para minha saída VGA como acima de minha tela principal por padrão?

PS:

Para colocar meu VGA acima, eu uso

xrandr --output VGA-1 --auto --above LVDS-1
    
por Jacob Vlijm 14.11.2016 / 15:21

1 resposta

2

O problema que o layout da tela não cola é provavelmente o resultado de um pequeno bug, no entanto:

Você tem duas opções :

1. Execute um script de segundo plano para executar seu comando automaticamente quando a segunda tela estiver conectada:

#!/usr/bin/env python3
import subprocess
import time

#--- set both commands (connect / disconnect) below
connect_command = "gedit"
disconnect_command = ""
#---

# function to get the output of xrandr
def get(cmd): return subprocess.check_output(cmd).decode("utf-8")
# - to count the occurrenc of " connected "
def count_screens(xr): return xr.count(" connected ")
# - to run the connect / disconnect command(s)
def run_command(cmd): subprocess.Popen(cmd)

# first count
xr1 = count_screens(get(["xrandr"]))

while True:
    time.sleep(5)
    # second count
    xr2 = count_screens(get(["xrandr"]))
    # check if there is a change in the screen state
    if xr2 != xr1:
        if xr2 == 2:
            # command to run if connected (two screens)
            run_command(["xrandr", "--output", "VGA-1", "--auto", "--above", "LVDS-1"])
        elif xr2 == 1:
            # command to run if disconnected (one screen)
            # uncomment run_command(disconnect_command) to enable, then also comment out pass
            pass
            # run_command(disconnect_command)
    # set the second count as initial state for the next loop
    xr1 = xr2

O script é uma aquisição de este .

Para usá-lo

  • Copie o script em um arquivo vazio, salve-o como setup_scr.py
  • Teste-o pelo comando:

    python3 /path/to/setup_scr.py
    
  • Se tudo funcionar como deveria, adicione a Startup Applications: Dash > Aplicativos de inicialização > Adicionar. Adicione o comando:

    /bin/bash -c "sleep 15 && python3 /path/to/setup_scr.py"
    

2. Basta adicionar o comando a um atalho e pressioná-lo depois de conectar a segunda tela:

Adicione a tecla de atalho: escolha: Configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:

python3 /path/to/setup_scr.py

Notas

  • O script abrange tanto os comandos em execução na conexão como a desconexão de uma tela, deixei-a como estava, para que você tenha opções extras.
  • Eu não pude testar, pois não tenho uma segunda tela anexada atualmente. Deve funcionar bem, mas sou sensível a pontos cegos e erros de digitação ...
  • O script, como é, presume que nenhum erro irá ocorrer, o que significa que a tela definida deve ser a única tela (externa) que você usa. Se esse não for o caso, devemos construir um condicional ou um try / except. Se sim, por favor mencione.

    Em caso de erros, avise-nos.

por Jacob Vlijm 14.11.2016 / 15:47