Поставьте внешний монитор слева

На моем ноутбуке с 14.04 я хочу использовать внешний монитор. Я хочу поставить свой внешний монитор на левую сторону, но Ubuntu, кажется, логически ставит его на правой стороне. Я попытался упорядочить места размещения на экране, но при перетаскивании встроенного монитора вправо все значки на рабочем столе перемещаются на внешний монитор. Как я могу решить эту проблему. 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)
7
задан 23 May 2015 в 15:38

4 ответа

Экранные значки в параметрах настройки системы могут на самом деле быть перетащены, таким образом, можно разместить зеленую Samsung слева. С другой стороны, можно использовать эту команду:

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

я использую эту команду (с различными выводами, конечно) для расположения моего экрана, VGA налево, внутренний монитор направо, на графическом входе в систему.

Alternativelly, можно изучить lxrandr программа, которая делает точно то же задание как настройки Ubuntu, но может немного менее сбивать с толку.

0
ответ дан 23 May 2015 в 15:38

К сожалению, нет никакого способа установить настройки монитора, понимают, что у Вас есть свой внешний экран слева, и Вы хотите, чтобы правильный экран был "основным" экраном и "домашним" расположением для Ваших значков на рабочем столе.

Это не означает однако, что Вы осуждены к перетаскиванию и реконструкции Ваших значков каждый раз, когда Ваш второй экран соединен или разъединен.

Как сэкономить себе время для ручной реконструкции настольных объектов

Со сценарием ниже (под сочетанием клавиш), можно взять "снимок" способа, которым значки расположены на рабочем столе (только необходимо сделать это однажды).

Со вторым сочетанием клавиш этот снимок будет "преобразован" в новую ситуацию, когда второй экран будет присоединен, и наоборот; Ваши значки всегда будут на Вашем основном экране, расположенном согласно снимку.

Преимущество состоит в том, что решение будет работать независимо от того, что Ваша экранная установка, и неважно как экраны выравниваются. Можно даже изменить это, сценарий вычислит установку и положения значков.

Как это работает на практике

  1. Нажмите сочетание клавиш (1) взять снимок текущего расположения значка на рабочем столе (как упомянуто, только необходимо сделать это однажды). Это расположение будут помнить в скрытом файле
  2. Теперь присоедините свой второй экран, сделайте любую установку, которую Вы хотели бы (слева/справа, выровненная вершина или нет, все возможно). Ваш рабочий стол будет испорчен.
  3. Нажмите другое сочетание клавиш (2), "переводить" Ваше настольное расположение в новую установку. Ваши значки будут перемещены в Ваш встроенный экран справа, как будто никакой второй экран не был соединен. Нажмите на рабочий стол и впоследствии нажмите F5 для обновления рабочего стола (еще, Вы не будете видеть изменений).

При разъединении второго экрана рабочий стол будет испорчен снова. Просто нажмите сочетание клавиш (2), нажмите на рабочий стол и нажмите F5 снова для восстановления расположения снова.

Как настроить

  1. Скопируйте сценарий ниже в пустой файл, сохраните его как arrange_desktop.py
  2. В главном разделе сценария, определенного имя Вашего "основного" экрана (используют xrandr команда для обнаружения). Это, вероятно, будет Вашим встроенным экраном. Я уже установил его на вывод xrandr в Вашем вопросе.
  3. Расположите свои значки на рабочем столе, как Вам нравится
  4. Тестовый прогон сценарий:

    • Выполните его от терминала командой:

      python3 /path/to/arrange_desktop.py snapshot
      
    • Вы будете видеть уведомление:

      enter image description here

    • Теперь соедините второй экран, настройте его, как Вы хотите, Ваши значки будут испорчены.

    • Теперь запустите скрипт снова с опцией restore:

      python3 /path/to/arrange_desktop.py restore
      
    • Вы будете видеть уведомление:

      enter image description here

    • Нажмите на рабочий стол (где угодно) и нажмите F5, Ваши значки будут расположены согласно снимку на основном экране (правильный в Вашем случае), независимо от того, что текущая экранная установка.

    • Если все хорошо работает, создайте два сочетания клавиш для команд:

      python3 /path/to/arrange_desktop.py snapshot
      

    и

        python3 /path/to/arrange_desktop.py restore
    

    и Вы будете сделаны. Теперь можно зафиксировать настольное расположение обоими путями (разъединение подключения) с простым сочетанием клавиш.

Примечания

  • Никакая потребность сказать, что при изменении thge настольного расположения и Вы хотите, чтобы это помнилось, возьмите снимок снова.
  • Можно взять снимок, в то время как второй экран присоединяется или нет, сценарий вычисляет позиции значка правильно на "основной" экран.

Сценарий

#!/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
ответ дан 23 May 2015 в 15:38

Я имею этот problemin virtuabox решение, изменяю экран между мониторами.

  • основное экранное перемещение к Вашей Сборке - в Дисплее
  • вторичное экранное перемещение к Вашему дисплею Samsumg

Другой режим в Ubuntu является изменением xml мониторы:

    gedit ~/.config/monitors.xml 

И редактирование:

    <primary>yes</primary> <!-- For primary monitor -->
    <primary>no</primary> <!-- For not primary monitor -->
0
ответ дан 23 May 2015 в 15:38

Можно использовать arandr это - простой в использовании инструмент.

  • установка с sudo apt-get install arandr
  • выполненный arandr и GUI подойдет

перетащите дисплеи для установки им, как Вам нравится, например.

arandr gui

0
ответ дан 23 November 2019 в 06:36

Другие вопросы по тегам:

Похожие вопросы: