web-dev-qa-db-fra.com

Comment faire afficher la sortie VGA au-dessus de mon écran principal par défaut?

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
2
user618632

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 :

1. Exécutez un script d'arrière-plan pour exécuter votre commande automatiquement une fois le deuxième écran connecté:

#!/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 .

Pour l'utiliser

  • Copiez le script dans un fichier vide, enregistrez-le sous 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"
    

2. Ajoutez simplement la commande à un raccourci, appuyez dessus après avoir connecté le deuxième écran:

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

Remarques

  • Le script couvre à la fois l'exécution des commandes lors de la connexion et la déconnexion d'un écran, je l'ai laissé tel quel, vous avez donc des options supplémentaires.
  • Je n'ai pas pu tester, car je n'ai pas de deuxième écran attaché actuellement. Cela devrait fonctionner correctement, mais je suis sensible aux angles morts et aux fautes de frappe ...
  • 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.

1
Jacob Vlijm