web-dev-qa-db-fra.com

Mettre le moniteur externe à gauche

Sur mon ordinateur portable avec 14.04, je veux utiliser un moniteur externe. Je veux placer mon moniteur externe du côté gauche, mais Ubuntu semble le placer logiquement du côté droit. J'ai essayé d'organiser les emplacements d'affichage, mais lorsque je déplace le moniteur intégré vers la droite, toutes les icônes de mon bureau se déplacent vers le moniteur externe. Comment puis-je résoudre ce problème. Default display organization

muctadir@muctadir-laptop:~$ xrandr --prop 
Screen 0: minimum 8 x 8, current 3286 x 1080, maximum 32767 x 32767
LVDS1 connected primary 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
    EDID: 
        00ffffffffffff0006afec4501000000
        01150103802213780a0bb59757548c26
        23505400000001010101010101010101
        010101010101121b566050001630080a
        310058c1100000180000000f00000000
        00000000000000000020000000fe0041
        554f0a202020202020202020000000fe
        004231353658573034205635200a0046
    BACKLIGHT: 976 
        range: (0, 976)
    Backlight: 976 
        range: (0, 976)
    scaling mode: Full aspect 
        supported: None, Full, Center, Full aspect
   1366x768       60.0*+
   1360x768       59.8     60.0  
   1024x768       60.0  
   800x600        60.3     56.2  
   640x480        59.9  
VGA1 disconnected (normal left inverted right x axis y axis)
HDMI1 connected 1920x1080+1366+0 (normal left inverted right x axis y axis) 160mm x 90mm
    EDID: 
        00ffffffffffff004c2dcd053432524c
        12140103801009782a6041a6564a9c25
        125054230800a9408180814081009500
        b30001010101023a801871382d40582c
        4500a05a0000001e011d007251d01e20
        6e285500a05a0000001e000000fd0032
        3c1e5111000a202020202020000000fc
        0053796e634d61737465720a2020018f
        02031cf14890041f0514130312230907
        078301000066030c00100080011d80d0
        721c1620102c2580a05a0000009e011d
        8018711c1620582c2500a05a0000009e
        011d00bc52d01e20b8285540a05a0000
        001e8c0ad090204031200c405500a05a
        000000188c0ad08a20e02d10103e9600
        a05a0000001800000000000000000046
    Broadcast RGB: Automatic 
        supported: Automatic, Full, Limited 16:235
    audio: auto 
        supported: force-dvi, off, auto, on
   1920x1080      60.0*+   50.0     59.9  
   1920x1080i     60.1     50.0     60.0  
   1600x1200      60.0  
   1680x1050      59.9  
   1280x1024      60.0  
   1440x900       59.9  
   1280x960       60.0  
   1280x800       59.9  
   1280x720       60.0     50.0     59.9  
   1024x768       60.0  
   800x600        60.3     56.2  
   720x576        50.0  
   720x480        60.0     59.9  
   640x480        60.0     59.9  
DP1 disconnected (normal left inverted right x axis y axis)
    Broadcast RGB: Automatic 
        supported: Automatic, Full, Limited 16:235
    audio: auto 
        supported: force-dvi, off, auto, on
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
6
Hossain Muctadir

Les icônes de l'écran dans les paramètres du système peuvent en réalité être déplacées, vous pouvez donc placer le Samsung vert sur la gauche. Alternativement, vous pouvez utiliser cette commande:

xrandr --output HDMI1 --mode 1024x768 --pos 0x0 --rotate normal \
       --output LVDS1 --mode 1366x768 --pos 1024x0 --rotate normal

J'utilise cette commande (avec différentes sorties bien sûr) pour positionner mon écran, VGA à gauche, moniteur interne à droite, lors de la connexion graphique.

Alternativement, vous pouvez regarder dans le programme lxrandr, qui fait exactement le même travail que les paramètres d’Ubuntu, mais qui risque d’être un peu moins déroutant.

5

Malheureusement, il n’ya aucun moyen de faire comprendre aux paramètres du moniteur que vous avez votre écran externe à gauche et vous voulez que l’écran de droite soit l’écran "principal" et l’emplacement "d'accueil" de votre bureau. Icônes.

Cela ne signifie toutefois pas que vous êtes condamné pour avoir fait glisser et réarranger vos icônes chaque fois que votre deuxième écran est connecté ou déconnecté.

Comment gagner du temps pour réorganiser manuellement les éléments de votre bureau

Avec le script ci-dessous (sous une touche de raccourci), vous pouvez prendre un "instantané" de la façon dont vos icônes sont disposées sur votre bureau (il suffit de le faire une fois).

Avec une seconde touche de raccourci, cet instantané sera "converti" dans la nouvelle situation lorsqu'un second écran sera connecté, et inversement; vos icônes seront toujours sur votre écran principal, organisées en fonction de l'instantané.

L'avantage est que la solution fonctionnera quelle que soit la configuration de votre écran et quelle que soit la manière dont les écrans sont alignés. Vous pouvez même changer cela, le script calculera le réglage et la position de vos icônes.

Comment ça marche en pratique

  1. Appuyez sur une combinaison de touches (1) pour prendre un instantané de la disposition actuelle des icônes du bureau (comme indiqué, vous ne devez le faire qu’une seule fois). Cet arrangement sera retenu dans un fichier caché
  2. Maintenant, attachez votre deuxième écran, faites la configuration de votre choix (gauche/droite, en haut ou en bas, tout est possible). Votre bureau va être foiré.
  3. Appuyez sur une autre combinaison de touches (2) pour "traduire" la disposition de votre bureau sur la nouvelle configuration. Vos icônes seront déplacées vers votre écran intégré à droite comme si aucun deuxième écran n'était connecté. Cliquez sur le bureau et appuyez ensuite sur F5 pour actualiser le bureau (sinon vous ne verrez pas les modifications).

Si vous déconnectez le deuxième écran, votre bureau sera à nouveau perturbé. Appuyez simplement sur la combinaison de touches (2), cliquez sur le bureau et appuyez sur F5 à nouveau pour restaurer la mise en page à nouveau.

Comment mettre en place

  1. Copiez le script ci-dessous dans un fichier vide, enregistrez-le sous le nom arrange_desktop.py
  2. Dans la section head du script, définissez le nom de votre écran "principal" (utilisez la commande xrandr pour le savoir). Ce sera probablement votre écran intégré. Je l'ai déjà mis à la sortie de xrandr dans votre question.
  3. Organisez vos icônes de bureau comme vous le souhaitez
  4. Testez le script:

    • Lancez le depuis un terminal avec la commande:

      python3 /path/to/arrange_desktop.py snapshot
      
    • Vous verrez une notification:

      enter image description here

    • Maintenant, connectez le deuxième écran, configurez-le comme vous le souhaitez, vos icônes seront gâchées.

    • Exécutez à nouveau le script avec l'option restore:

      python3 /path/to/arrange_desktop.py restore
      
    • Vous verrez une notification:

      enter image description here

    • Cliquez sur le bureau (n'importe où) et appuyez sur F5, vos icônes seront organisées en fonction de l’instantané sur l’écran principal (le bon dans votre cas), quelle que soit la configuration actuelle de l’écran.

    • Si tout fonctionne correctement, créez deux touches de raccourci pour les commandes:

      python3 /path/to/arrange_desktop.py snapshot
      

    et

        python3 /path/to/arrange_desktop.py restore
    

    et vous aurez fini. Maintenant, vous pouvez corriger la disposition de votre bureau dans les deux sens (connect-disconnect) avec une simple combinaison de touches.

Remarques

  • Inutile de dire que si vous modifiez la disposition du bureau et que vous souhaitez vous en rappeler, prenez à nouveau un instantané.
  • Vous pouvez prendre un instantané lorsque le deuxième écran est connecté ou non, le script calcule correctement la position des icônes sur l'écran "principal".

Le scénario

#!/usr/bin/env python3
import subprocess
import time
import os
import sys

#--- set the localized name of your desktop below (if necessary)
dt_name = "Desktop"
#--- set the name of the "main" screen below (replace "DVI-I-1")
screen = "LVDS1"
#---

arg = sys.argv[1]

# used strings & definitions
val = " 'metadata::nautilus-icon-position' "
search = "gvfs-info -a"+val
set_val = "gvfs-set-attribute -t string "
home = os.environ["HOME"]
dt_dir = os.environ["HOME"]+"/"+dt_name
datafile = home+"/.desktop_items.txt"

# functions
get = lambda cmd: subprocess.check_output(["/bin/bash", "-c", cmd]).decode("utf-8")

def scr_data():
    scr = [l.split() for l in get("xrandr").splitlines() if screen in l][0]
    return [int(n) for n in [s for s in scr if all(["+" in s, "x" in s])][0].split("+")[-2:]]

# take a snapshot of the icon layout
if arg == "snapshot":
    screen_pos = scr_data()
    try:
        os.remove(datafile)
    except FileNotFoundError:
        pass
    dt_items = os.listdir(dt_dir)
    dt_data = []
    for f in [f for f in dt_items if all([not f.startswith("."), not f.endswith("~")])]:
        f = '"'+f+'"' if f.count(" ") > 0 else f
        file = dt_dir+"/"+f
        cmd = search+file
        try:
            loc = [int(n) for n in get(cmd).split()[-1].split(",")]
            loc[0] = loc[0] - screen_pos[0]; loc[1] = loc[1] - screen_pos[1]
            loc = (",").join([str(n) for n in loc])
            open(datafile, "a+").write(file+"|||"+loc+"\n")
        except:
            pass
    subprocess.Popen(["/bin/bash", "-c", "notify-send 'A snapshot was taken'"])

# restore icons
Elif arg == "restore":
    vector = scr_data()
    items = [l.strip().split("|||") for l in open(datafile).readlines()]
    for item in items:
        try:
            xy = [int(n) for n in item[1].split(",")]
            move_to = (",").join(str(n) for n in [vector[0]+xy[0], vector[1]+xy[1]])
            command = set_val+item[0]+val+move_to
            subprocess.Popen(["/bin/bash", "-c", command])
        except:
            pass
    subprocess.Popen(["/bin/bash", "-c", "notify-send 'Click on the desktop and press F5'"])
1
Jacob Vlijm

J'ai ce problème dans virtuabox la solution, changez l'écran entre les moniteurs.

  • L’écran principal se déplace vers votre affichage intégré
  • L'écran secondaire se déplacer sur votre affichage Samsumg

Autre mode sous Ubuntu: changez les moniteurs xml:

    gedit ~/.config/monitors.xml 

Et éditer:

    <primary>yes</primary> <!-- For primary monitor -->
    <primary>no</primary> <!-- For not primary monitor -->
0
CodeNoob

Vous pouvez utiliser arandr qui est un outil facile à utiliser.

  • installer avec Sudo apt-get install arandr
  • lancez arandr et l'interface graphique apparaîtra

faites glisser les écrans pour les adapter à votre guise, par exemple.

arandr gui

0
Gabriel Ziegler