1. Limpo e simples
Acho que o mais fácil e mais limpo seria:
- Descubra os dois nomes de tela com a ajuda de
xrandr
(procure a string "connected") -
Abra as configurações do sistema > "Teclado" > "Atalhos" > "Atalhos personalizados". Clique no botão "+" e adicione o comando:
xrandr --output <screen_name1> --auto --same-as <screen_name2>
Para uma combinação de teclas à sua escolha.
Dessa forma, você só precisa pressionar a combinação de teclas para ativar as telas espelhadas.
2. Sem ter que procurar o nome de tela
Um pouco mais sofisticado seria fazer o mesmo, mas deixar um script descobrir os dois nomes de tela:
#!/usr/bin/env python3
import subprocess
output = subprocess.check_output(["/bin/bash", "-c", "xrandr"]).decode("utf-8").split()
connected = [output[i-1] for i in range(len(output)) if output[i] == "connected"]
command = "xrandr --output "+connected[0]+" --auto --same-as "+connected[1]
subprocess.Popen(["/bin/bash", "-c", command])
Salve o script como mirror.py
, execute-o pelo comando:
python3 /path/to/mirror.py
sob uma combinação de teclas, como na primeira opção.
3. Totalmente automático
Se você quer que tudo seja feito sem qualquer ação do seu lado, execute o script abaixo em segundo plano. Ele verifica a cada 5 segundos se um segundo monitor está conectado e define como espelhado em caso afirmativo.
O script
#!/usr/bin/env python3
import subprocess
import time
def screens():
output = subprocess.check_output(["/bin/bash", "-c", "xrandr"]).decode("utf-8").split()
return [output[i-1] for i in range(len(output)) if output[i] == "connected"]
todo = True
while True:
scr = screens()
if len(scr) == 2 and todo == True:
command = "xrandr --output "+scr[0]+" --auto --same-as "+scr[1]
subprocess.Popen(["/bin/bash", "-c", command])
todo = False
elif len(scr) == 1 and todo == False:
todo = True
time.sleep(5)
Como usar
- Copie o script em um arquivo vazio, salve-o como
mirror_screen.py
- Teste-o reiniciando seu laptop (tela desconectada)
-
Execute o script pelo comando:
python3 /path/to/mirror_screen.py
-
Conecte o segundo monitor para ver se ele alterna automaticamente para espelhado.
- Se tudo funcionar bem, adicione o comando (acima) aos seus aplicativos de inicialização:
Dash > Aplicativos de inicialização > Adicionar