Я провел некоторое время, получая мои настройки, корректные для нескольких мониторов, и это хорошо работает, когда я зарегистрирован, но не прав в экране входа в систему или для других пользователей.
Как я устанавливаю настройки дисплея глобально для всех пользователей и экрана входа в систему?
В зависимости от пути Вы настроили свою систему, это могло бы быть столь же легко как копирование monitors.xml
файл от правильно пользователь установки всем пользователям:
Для тестирования этого на одного пользователя:
cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /home/TestUser/.config/
тогда TestUser выхода, если уже зарегистрированный , войдите на и посмотрите, корректно ли все.
команда для всех пользователей:
cp /home/CorrectUser/.config/monitors.xml /tmp/
for szUser in /home/* ; do sudo cp --preserve=timestamps /tmp/monitors.xml $szUser/.config/ ; done
команда для экрана входа в систему:
sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /var/lib/lightdm/.config/
команда для всех будущих пользователей В№:
sudo mdkdir -p /etc/skel/.config
sudo cp --preserve=timestamps /home/CorrectUser/.config/monitors.xml /etc/skel/.config/
NoteВ№: Все пользователи Вы будете создавать в будущем
Просто требуемый для добавления комментария для любого находящего эту борьбу с подобной проблемой. Я застрял с разрешением моего старого монитора (1280x1024) каждый раз, когда я вхожу в систему, но экран входа в систему и вход в систему гостевого пользователя используют корректное значение по умолчанию 1680x1050.
я прочитал много сообщений за прошлые четыре месяца, ища ответ, читая на xorg.conf, monitors.xml, lightdm и xrandr и другие предложения - но некоторые изменения конфигурации являются сложными и несут риск повреждения дисплея полностью, таким образом, я закончил тем, что использовал gui для изменения настроек монитора вручную каждый вход в систему.
Сегодня я сделал grep для старого разрешения в моей .config папке.
grep -HrnIF '1280' .config | less
Первым результатом был ~/.config/autostart/xrandr.desktop файл, содержащий это,
Exec=xrandr -s 1280x1024 -r 75
, таким образом, я просто переместил файл из туда. И бинго, я вхожу в систему и получаю значение по умолчанию 1680x1050 разрешение.
мне потребовались несколько часов поиска, и я не мог найти достаточно близкий ответ, таким образом отправив здесь в случае, если это полезно для кого-то.
В моей системе (Ubuntu 16.04) для входа в систему экранируют просто cp
'луг, поскольку корень (использование sudo
) не работал. Вы, возможно, также должны удостовериться, что владелец/группа monitors.xml lightdm:lightdm
.
sudo chown lightdm:lightdm /var/lib/lightdm/.config/monitors.xml
Для установки экранной конфигурации для каждого пользователя на входят в систему (это не изменит конфигурацию на журнале на экране), можно создать a .desktop
файл в /etc/xdg/autostart
узнайте название экрана, который требуется быть повернутыми путем выполнения xrandr
. Это произведет много строк среди thos несколько сходств со строк:
VGA-0 connected
Это дает Вам информацию о названиях связанных экранов.
VGA-0
Создайте средство запуска с (например). gedit
:
sudo -i gedit /etc/xdg/autostart/set_screens.desktop
Вставьте текст ниже в файл:
[Desktop Entry]
Name=set_screens
Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
Type=Application
замена в строке:
Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
Строка: VGA-0
именем Вашего (повернутого) экрана.
В строке
Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
Я включал a sleep 10
. Это вызвано тем, что иногда, xrandr
команды повреждаются, если они работают слишком рано, прежде чем рабочий стол "закончен", загрузившись. Возможно необходимо увеличить повреждение, или Вы могли попытаться пропустить его. В команде, как это, вращается экран, после спустя 10 секунд после этого входят в систему любого пользователя.
Команда:
xrandr --output VGA-0 --rotate left
поворачивает оставленный экран, никакая потребность сказать, что, если Вы хотели бы другой тип вращения, можно выбрать также left
, right
, normal
, inverted
(см. также здесь).
Можно работать, команды на запуске (на самом деле входят в систему) путем размещения a .desktop
файл (средство запуска) в ~/.config/autostart
. Это только выполнит средство запуска для отдельного пользователя. Если Вы делаете то же, но помещаете средство запуска в /etc/xdg/autostart
, команда работает каждый раз, когда любой пользователь входит в систему, если определенный пользователь не отключает средство запуска для него или для нее в Тире> Приложения Запуска
Кроме того, можно просто скопировать локальное ~/.config/monitors.xml
файл к /var/lib/lightdm/monitors.xml
чтобы также установить настройки продолжить работать входят в систему экран.
Imo комбинация этого и решение выше (средство запуска в /etc/xdg
) самое легкое решение состоит в том, чтобы достигнуть точно, что Вы хотите и для экрана входа в систему и для (любого) пользователя. Кроме того, решение средства запуска в /etc/xdg
(очень) легко инвертируется или изменяется в случае, если необходимо было бы сделать другую установку, не редактируя много файлов на уровне (каждого) пользователя, так как и настройки пользователя и экран входа в систему организованы для всех пользователей сразу в двух простых файлах.
Можно хотеть добавить что-то к /etc/lightdm/lightdm.conf
. Здесь мы создаем сценарий, который использует xrandr
управляйте для установки дисплея (дисплеев). Можно использовать некоторый графический инструмент RandR для создания команды для Вас, такой как arandr
. В моем случае сценарий был бы похож:
#!/bin/sh
xrandr --output DVI-I-1 --mode 1600x1200 --pos 0x0 --rotate left --output DVI-I-0 --off --output DP-3 --off --output DP-2 --off --output DP-1 --mode 1600x900 --pos 1200x700 --rotate normal --output DP-0 --off
Можно вставить этот сценарий /usr/share
или везде, где Вы хотите. Ваш сценарий может выглядеть намного менее сложным, как это для сложной двухмониторной установки. Затем добавьте что-то как:
session-setup-script=/usr/share/mycustomxrandr.sh
и:
display-setup-script=/usr/share/mycustomxrandr.sh
Удостоверьтесь, что файл является исполняемым файлом, таким образом:
chmod a+x mycustomxrandr.sh
session-setup-script
установит дисплей для того, после входа в систему через LightDM, и display-setup-script
изменит дисплей для экрана входа в систему.