How хан I make my left/right монитор configuration stick after в restart

Every украл I start my ПК, my leftmost монитор is configured to be my rightmost one. It works умер after I change it in display settings.

However, whenever I restart my ПК, they're back to the wrong configuration. Is there в file I хан edit that will я вынудил them to в certain configuration?

1
задан 17 September 2015 в 21:21

2 ответа

Конфигурации монитора на вторых мониторах, как установлено в Мониторах, часто не помнят после перезапуска.

Со сценарием ниже, можно определить, какой из мониторов должен быть левыми один на запуске. Это превысит, ориентируют оба монитора в слева/справа установка.

Используемые команды xrandr команды для расположения экранов в область охвата двух экранов (см. ссылку в "Примечаниях").

Сценарий для установки слева/справа монитора на запуске

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

Сценарий

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

left = sys.argv[1]

# get the data on screens and resolutions, parsed from xrandr
current = [l.split() for l in subprocess.check_output(["xrandr"]).decode("utf-8").splitlines()]
# find the name(s), x-res of the screen(s)
screens = [
    (l[l.index("connected")-1], [s.split("x")[0] for s in l if s.count("+") == 2][0]) \
    for l in current if "connected" in l
    ]
# set up screen positions from left to right (important)
if left == screens[0][0]:
    subprocess.call(["xrandr", "--output", screens[0][0], "--pos", "0x0"])
    subprocess.call(["xrandr", "--output", screens[1][0], "--pos", screens[0][1]+"x0"])
elif left == screens[1][0]:
    subprocess.call(["xrandr", "--output",  screens[1][0], "--pos", "0x0"])
    subprocess.call(["xrandr", "--output",  screens[0][0], "--pos", screens[1][1]+"x0"])

Как использовать его

  1. Скопируйте сценарий в пустой файл, сохраните его как setup_monitors.py
  2. Откройте окно терминала, выполните команду xrandr
  3. В выводе две строки (если Ваш второй монитор подключен) будут содержать названия Ваших "связанных" экранов. Имена похожи: DVI-I-1 или VGA-0. Выскажите образованное предположение, которое является тем, которое Вы хотите слева.
  4. Запустите скрипт (от терминала) командой:

    python3 /path/to/setup_monitors.py <left_screen>
    

    например:

    python3 /path/to/setup_monitors.py DVI-I-1
    

    Протестируйте команду на обоих экранах. Экраны потеряют сознание в течение секунды и будут конфигурированы.

  5. Если все хорошо работает, добавьте команду к своим Приложениям Запуска: выберите Dash> Startup Applications> Add команда

    /bin/bash -c "sleep 15 && python3 /path/to/setup_monitors.py DVI-I-1"
    

Примечание:

  • Сон конкретно необходим для xrandr команды, когда второй монитор включен. Если сценарий (на самом деле команды в нем) выполненный слишком рано, рабочий стол еще не полностью загружается, и команды или повредят или пропустят свою цель.
  • См. также здесь для большего количества информации о том, что команду (команды) в сценарии делают.
0
ответ дан 1 October 2019 в 01:50

Работы решения Jacob, но существуют некоторые дополнительные альтернативы. Вы могли поместить xrandr команды в Вашем .xsessionrc файл, так, чтобы они были выполнены при запуске. Вы могли также просто записать xorg.conf запись для установки мониторов явно слева/справа друг друга. Я не в своем ПК, таким образом, я, к сожалению, короток в деталях в данный момент, но возвращусь для заполнения их позже, если я получаю время. Тем временем это стоило бы, чтобы Вы читали на обоих xrandr и xorg.conf файлы в целом; Вы могли бы обнаружить лучшее решение, чем, что я заканчиваю тем, что поместил здесь так или иначе. ^_^

Править: Хорошо я наконец нахожу время для этого.

Используя xrandr и ~/.xsessionrc

xrandr утилита используется, чтобы и получить и установить информацию о Ваших дисплеях. Ввести xrandr отдельно на командной строке и Вы получите список всех своих дисплеев и "режимов", которые они поддерживают. Вот некоторый вывод в качестве примера, соответствующий старому Dell 4:3 жидкокристаллический дисплей.

DP2 connected 1280x1024+1920+0 (normal left inverted right x axis y axis) 338mm x 270mm
   1280x1024      60.0*+   75.0  
   1152x864       75.0  
   1024x768       75.1     60.0  
   800x600        75.0     60.3  
   640x480        75.0     60.0  
   720x400        70.1  

Вы добавили бы режимы к ним, если разрешение Вашего монитора не является правильным, и т.д., но Ваша проблема о расположении. xrandr обеспечивает простые параметры --left-of <output> и --right-of <output> это позволяет Вам диктовать, где Ваши дисплеи находятся друг относительно друга.

Таким образом, скажем, Ваши дисплеи определяют как FOO1 и FOO2. (Они никогда не будут; это - просто пример.), Если Вы хотите FOO1 быть всегда слева от FOO2, Вы вошли бы:

xrandr --output FOO1 --left-of FOO2

или

xrandr --output FOO2 --right-of FOO1

Ввод этого на командной строке сразу внесет изменение для Вашей текущей сессии. Вставка той же строки в Ваш ~/.xsessionrc файл будет делать изменение эффективным каждый раз, когда Вы запускаете X.

Используя xorg.conf

Ваша другая альтернатива должна записать xorg.conf запись, которая продиктует конфигурацию дисплея как часть X процессов запуска. Если Вы будете на Ubuntu затем, то это, вероятно, будет частью файла в xorg.conf.d каталог, любой в /usr/share/X11/xorg.conf.d или /etc/X11/xorg.conf.d. Таким образом, если Вы уже не имеете один, создайте файл конфигурации для управления адаптерами дисплея и мониторами. Я назвал мой 01-monitors.conf гарантировать его выполнялось сначала. Многократное использование предыдущего примера с FOO1 быть слева от FOO2, мы можем настроить то же предпочтение здесь с a Monitor раздел конфигурации.

Section "Monitor"
    Identifier "FOO1"
    Option "LeftOf" "FOO2"
EndSection

Обратите внимание что Identifier тот же, Вы добрались бы от xrandr.

Дальнейшее чтение

man страница для xorg.conf система конфигурации доступна по http://www.x.org/archive/X11R7.7/doc/man/man5/xorg.conf.5.xhtml

0
ответ дан 1 October 2019 в 01:50

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

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