Como posso desligar automaticamente a tela interna ao iniciar se um monitor externo estiver conectado?

3

Solução de alguém para um newb? Eu conecto meu notebook ao monitor externo com HDMI. Eu desligo o notebook porque não estou usando. O Ubuntu 15.04 lembrou dessa configuração após a reinicialização, mas com 15.10 eu tenho que mudar essa configuração toda vez. Alguém sabe como consertar isso?

    
por FrankThuis 20.03.2016 / 20:52

1 resposta

0

O problema é bastante certo do resultado de um bug, mas é facilmente corrigido no login.

O que fazer

  1. Copie o script abaixo em um arquivo vazio, salve-o como set_screen.py

    #!/usr/bin/env python3
    import subprocess
    import time
    
    #--- set the name of your internal screen below
    internal = "DVI-I-1"
    #---
    
    time.sleep(10)
    
    extr = [l.split()[0] for l in subprocess.check_output("xrandr").decode("utf-8").splitlines() if " connected" in l\
           and not internal in l]
    if extr:
        subprocess.Popen(["xrandr", "--output", internal, "--off", "--output", extr[0], "--auto"])
    
  2. Obtenha o nome da sua tela interna: abra uma janela de terminal: pressione Ctrl + Alt + T e digite o comando

    xrandr
    

    e pressione Enter . Entre as linhas na saída, há uma linha parecida com:

    DVI-I-1 connected 1680x1050+0+0 (normal left inverted right x axis y
    

    Você precisa olhar para a primeira string, como DVI-I-1 , este é o nome da sua tela interna (obviamente, você não escolhe o com HDMI nela :))

  3. Digite o nome que você encontrou na cabeça do script, na linha:

    internal = "DVI-I-1"
    

    entre aspas, como no exemplo.

  4. Teste- execute o script com o comando (novamente, a partir da janela do terminal):

    python3 /path/to/set_screen.py
    

    (onde você obviamente precisa substituir /path/to pelo caminho real) Após dez segundos, a tela interna deve desligar, enquanto a tela externa fica.

  5. Se tudo funcionar bem, adicione-o aos aplicativos de inicialização: abra o Dash > Aplicativos de inicialização > Adicionar. Adicione o comando:

    python3 /path/to/set_screen.py
    

De agora em diante, dentro de alguns segundos após o login, sua tela interna será desligada.

    
por Jacob Vlijm 20.03.2016 / 21:46