У меня есть команда xrandr, которая настраивает мои мониторы точно как требуется (различные масштабы для контакта с чрезвычайно ограниченной поддержкой HDPI Ubuntu в токе):
xrandr --fb 7040x2160 --output DP1 --mode 1920x1080 --pos 0x0 --scale 2x2 --output eDP1 --mode 3200x1800 --pos 3840x180 --scale 1x1
Если я выполняю это в терминале после входа в систему, он работает отлично. Это также работает с помощью Приложений Запуска, как замечено в этих ответах: 1, 2, и 3 (работает безо сна). Я получаю конфигурацию, которая похожа на это:
Screen 0: minimum 8 x 8, current 7040 x 2160, maximum 32767 x 32767
eDP1 connected primary 3200x1800+3840+180 (normal left inverted right x axis y axis) 294mm x 165mm
3200x1800 59.98*+ 47.99
2880x1620 60.00
2560x1440 60.00
2048x1536 60.00
1920x1440 60.00
1856x1392 60.01
1792x1344 60.01
2048x1152 60.00
1920x1200 59.95
1920x1080 60.00 59.93
1600x1200 60.00
1680x1050 59.95 59.88
1600x1024 60.17
1400x1050 59.98
1600x900 60.00
1280x1024 60.02
1440x900 59.89
1280x960 60.00
1368x768 60.00
1360x768 59.80 59.96
1152x864 60.00
1280x720 60.00
1024x768 60.00
1024x576 60.00
960x540 60.00
800x600 60.32 56.25
864x486 60.00
640x480 59.94
720x405 60.00
640x360 60.00
DP1 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 531mm x 299mm
1920x1080 60.00*+ 50.00 59.94
1920x1080i 60.00 50.00 59.94
1600x1200 60.00
1680x1050 59.88
1280x1024 75.02 60.02
1440x900 74.98 59.90
1280x960 60.00
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 59.94
1024x768 75.03 70.07 60.00
832x624 74.55
800x600 72.19 75.00 60.32 56.25
720x576 50.00
720x480 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94
720x400 70.08
DP2 disconnected (normal left inverted right x axis y axis)
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
Если я выполняю точно ту же команду куда-нибудь в процессе запуска, я любой получает искаженную конфигурацию, в которой мой размер кадрового буфера является неправильным (с экранами, помещенными друг поверх друга) или никакой эффект вообще. Места, которые я попробовал, .xprofile
, lightdm
конфигурация (названный с display-setup-script
, greeter-setup-script
, и session-setup-script
).
Я зарегистрировал подробный вывод от команды, и все время это говорит, что установило правильные значения, но вывод на моих экранах и запросах xrandr
впоследствии, очевидно, говорит иначе. Как я могу настроить свои экраны далее цепочка (по крайней мере так, чтобы зазывала была отображена правильно)? Учитывая X-сервер инициализируется задолго до того затем, есть ли способ добраться xrandr
конфигурация управляет, чтобы придерживаться?
Примечание редактирования: вопрос теперь фокусирует на корне проблемы "настраивающие мониторы до, когда-то вошел в систему"
Мое предположение - то, что во время процесса входа в систему, Единица пытается настроить экран отдельно, так, чтобы могла бы быть одна из вещей, которая повреждается. Если Ваш экран входа в систему не требует, чтобы конфигурация, и только необходимый для сессии Единицы, была бы Вы рассматривать добавление, которые управляют для запущения приложений так, чтобы это работало автоматически после входа в систему. Тем путем единица применяет свои изменения, но затем Вы переопределяете их со своей собственной командой.
то, Что я также рекомендовал бы, должно использовать измененную версию Вашей команды:
bash -c 'sleep 3 && xrandr --fb 7040x2160 --output DP1 --mode 1920x1080 --pos 0x0 --scale 2x2 --output eDP1 --mode 3200x1800 --pos 3840x180 --scale 1x1'
Тем путем там является достаточная задержка Единицы для применения ее изменений, и затем Вы выполняете свое собственное