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?
Конфигурации монитора на вторых мониторах, как установлено в Мониторах, часто не помнят после перезапуска.
Со сценарием ниже, можно определить, какой из мониторов должен быть левыми один на запуске. Это превысит, ориентируют оба монитора в слева/справа установка.
Используемые команды 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"])
setup_monitors.py
xrandr
DVI-I-1
или VGA-0
. Выскажите образованное предположение, которое является тем, которое Вы хотите слева.Запустите скрипт (от терминала) командой:
python3 /path/to/setup_monitors.py <left_screen>
например:
python3 /path/to/setup_monitors.py DVI-I-1
Протестируйте команду на обоих экранах. Экраны потеряют сознание в течение секунды и будут конфигурированы.
Если все хорошо работает, добавьте команду к своим Приложениям Запуска: выберите Dash> Startup Applications> Add команда
/bin/bash -c "sleep 15 && python3 /path/to/setup_monitors.py DVI-I-1"
xrandr
команды, когда второй монитор включен. Если сценарий (на самом деле команды в нем) выполненный слишком рано, рабочий стол еще не полностью загружается, и команды или повредят или пропустят свою цель.Работы решения 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