Ma sortie VGA (VGA-1
est configuré pour être à à droite de mon écran principal (LVDS-1
).
Comment puis-je configurer mon système pour que ma sortie VGA soit ci-dessus mon écran principal par défaut?
PS:
Pour mettre mon VGA dessus, j'utilise
xrandr --output VGA-1 --auto --above LVDS-1
Le problème que la disposition de l'écran ne colle pas est probablement le résultat d'un bug mineur, cependant:
Vous avez deux options :
#!/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
Le script est une sortie de celui-ci .
setup_scr.py
Testez-le par la commande:
python3 /path/to/setup_scr.py
Si tout fonctionne comme il se doit, ajoutez aux applications de démarrage: Dash> Applications de démarrage> Ajouter. Ajoutez la commande:
/bin/bash -c "sleep 15 && python3 /path/to/setup_scr.py"
Ajouter une touche de raccourci: Choisissez: Paramètres système> "Clavier"> "Raccourcis"> "Raccourcis personnalisés". Cliquez sur le "+" et ajoutez la commande:
python3 /path/to/setup_scr.py
Le script, tel qu'il est, suppose qu'aucune erreur ne se produira, ce qui signifie que l'écran défini doit être le seul écran (externe) que vous utilisez. Si ce n'est pas le cas, nous devrions construire soit un conditionnel soit un try/except. Si oui, veuillez le mentionner.
En cas d'erreur, merci de me le signaler.