Coloque o monitor externo à esquerda

5

No meu laptop com o 14.04, quero usar um monitor externo. Eu quero colocar o meu monitor externo no lado esquerdo, mas o Ubuntu parece logicamente colocá-lo no lado direito. Tentei organizar as veiculações de exibição, mas quando arrasto no monitor embutido à direita, todos os ícones da minha área de trabalho são movidos para o monitor externo. Como posso resolver esse problema?

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)
    
por Muctadir 23.05.2015 / 14:38

3 respostas

4

Os ícones da tela nas configurações do sistema podem ser arrastados, para que você possa colocar o Samsung verde à esquerda. Alternativamente, você pode usar este comando:

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

Eu uso este comando (com saídas diferentes, é claro) para posicionar minha tela, VGA para a esquerda, monitor interno para a direita, no login gráfico.

Alternativamente, você pode olhar para o programa lxrandr , que faz exatamente o mesmo trabalho que as configurações do Ubuntu, mas pode ser um pouco menos confuso.

    
por Sergiy Kolodyazhnyy 23.05.2015 / 21:56
1

Infelizmente, não há como fazer as configurações do monitor entenderem que você tem a tela externa à esquerda e que a tela da direita é a tela "principal" e a localização "principal" para seus ícones da área de trabalho.

Isso não significa, no entanto, que você esteja condenado a arrastar e reorganizar seus ícones sempre que sua segunda tela for conectada ou desconectada.

Como poupar tempo para reorganizar manualmente os itens da área de trabalho

Com o script abaixo (sob uma tecla de atalho), você pode tirar um "instantâneo" da maneira como seus ícones são organizados em sua área de trabalho (você só precisa fazer isso uma vez).

Com uma segunda tecla de atalho, esse instantâneo será "convertido" para a nova situação quando uma segunda tela for anexada e vice-versa; seus ícones estarão sempre na tela principal, organizados de acordo com o instantâneo.

A vantagem é que a solução funcionará independentemente da configuração da sua tela, e não importa como as telas estejam alinhadas. Você pode até mudar isso, o script irá calcular a configuração e as posições dos seus ícones.

Como funciona na prática

  1. Pressione uma combinação de teclas (1) para obter um instantâneo da disposição atual dos ícones da área de trabalho (conforme mencionado, você só precisa fazer isso uma vez). Este arranjo será lembrado em um arquivo oculto
  2. Agora, anexe sua segunda tela, faça qualquer configuração desejada (esquerda / direita, superior ou não, tudo é possível). Seu desktop ficará bagunçado.
  3. Pressione outra combinação de teclas (2) para "traduzir" o layout da sua área de trabalho para a nova configuração. Seus ícones serão movidos para a tela incorporada à direita, como se nenhuma segunda tela estivesse conectada. Clique na área de trabalho e, em seguida, pressione F5 para atualizar a área de trabalho (caso contrário, você não verá as alterações).

Se você desconectar a segunda tela, sua área de trabalho ficará desarrumada novamente. Basta pressionar a combinação de teclas (2) , clicar na área de trabalho e pressionar F5 novamente para restaurar o layout novamente.

Como configurar

  1. Copie o script abaixo em um arquivo vazio, salve-o como arrange_desktop.py
  2. Na seção head do script, defina o nome da sua tela "principal" (use o comando xrandr para descobrir). Esta será provavelmente a sua tela embutida. Eu já o configurei para a saída de xrandr em sua pergunta.
  3. Organize seus ícones da área de trabalho conforme desejar
  4. Teste o script:

    • Execute-o a partir de um terminal pelo comando:

      python3 /path/to/arrange_desktop.py snapshot
      
    • Você verá uma notificação:

    • Agora conecte a segunda tela, configure-a como quiser, seus ícones ficarão confusos.

    • Agora, execute o script novamente, com a opção restore :

      python3 /path/to/arrange_desktop.py restore
      
    • Você verá uma notificação:

    • Clique na área de trabalho (em qualquer lugar) e pressione F5 , seus ícones serão organizados de acordo com o instantâneo na tela main (o correto no seu caso) ), não importa qual seja a configuração atual da tela.

    • Se tudo funcionar bem, crie duas teclas de atalho para os comandos:

      python3 /path/to/arrange_desktop.py snapshot
      

    e

        python3 /path/to/arrange_desktop.py restore
    

    e você estará pronto. Agora você pode corrigir o layout da sua área de trabalho nos dois sentidos (conectar-desconectar) com uma simples combinação de teclas.

Notas

  • Não é preciso dizer que, se você alterar o arranjo da área de trabalho e quiser que ele seja lembrado, tire um instantâneo novamente.
  • Você pode tirar um instantâneo enquanto a segunda tela é anexada ou não, o script calcula as posições do ícone corretamente para a tela "principal".

O script

#!/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'"])
    
por Jacob Vlijm 25.05.2015 / 15:56
0

Eu tenho esse problema em virtuabox a solução, mude a tela entre monitores.

  • A tela principal é movida para o seu Build-in Display
  • A tela secundária é movida para a tela do seu Samsumg

Outro modo no Ubuntu é alterar os monitores xml:

    gedit ~/.config/monitors.xml 

e edite:

    <primary>yes</primary> <!-- For primary monitor -->
    <primary>no</primary> <!-- For not primary monitor -->
    
por CodeNoob 23.05.2015 / 15:11