As configurações do monitor nos segundos monitores, conforme definidas em Monitores , geralmente não são lembradas após a reinicialização.
Com o script abaixo, você pode definir qual dos seus monitores deve ser o esquerdo na inicialização. Ele irá ligar os dois monitores em uma configuração esquerda / direita.
Os comandos usados são comandos xrandr
para posicionar as telas na área de abrangência das duas telas (veja o link em "Notas").
Script para configurar o monitor esquerdo / direito na inicialização
Como os comandos a serem executados dependem da situação atual e de quais telas você realmente quer ter à direita / esquerda, você precisará de um script para verificar suas telas, suas resoluções horizontais, criar os comandos corretos e automaticamente configurar a situação desejada na inicialização.
O script
#!/usr/bin/env python3
import subprocess
import sys
left = sys.argv[1]
# get the data on screens and resolutions, parsed from xrandr
current = [l.split() for l in subprocess.check_output(["xrandr"]).decode("utf-8").splitlines()]
# find the name(s), x-res of the screen(s)
screens = [
(l[l.index("connected")-1], [s.split("x")[0] for s in l if s.count("+") == 2][0]) \
for l in current if "connected" in l
]
# set up screen positions from left to right (important)
if left == screens[0][0]:
subprocess.call(["xrandr", "--output", screens[0][0], "--pos", "0x0"])
subprocess.call(["xrandr", "--output", screens[1][0], "--pos", screens[0][1]+"x0"])
elif left == screens[1][0]:
subprocess.call(["xrandr", "--output", screens[1][0], "--pos", "0x0"])
subprocess.call(["xrandr", "--output", screens[0][0], "--pos", screens[1][1]+"x0"])
Como usar
- Copie o script em um arquivo vazio, salve-o como
setup_monitors.py
- Abra uma janela de terminal, execute o comando
xrandr
- Na saída, duas linhas (se o segundo monitor estiver conectado) conterão os nomes das telas "conectadas". Os nomes se parecem com:
DVI-I-1
ouVGA-0
. Faça um palpite que é o que você quer do lado esquerdo. -
Execute o script (de um terminal) pelo comando:
python3 /path/to/setup_monitors.py <left_screen>
por exemplo:
python3 /path/to/setup_monitors.py DVI-I-1
Teste o comando nas duas telas. As telas ficarão pretas por um segundo e serão configuradas.
-
Se tudo funcionar bem, adicione um comando aos seus aplicativos de inicialização: escolha Traço > Aplicativos de inicialização > Adicione o comando
/bin/bash -c "sleep 15 && python3 /path/to/setup_monitors.py DVI-I-1"
Nota
- O sono é especificamente necessário para os comandos
xrandr
quando um segundo monitor está envolvido. Se o script (na verdade, os comandos dentro dele) forem executados cedo demais, a área de trabalho ainda não estará totalmente carregada e os comandos falharão ou perderão o destino. - Veja também aqui para mais informações sobre o que o (s) comando (s) dentro do script está fazendo.