Я потратил некоторое время на то, чтобы мои настройки были правильными для нескольких мониторов, и это нормально работает, когда я вошел в систему, но не прав на экране входа в систему или для других пользователей.
Как установить настройки отображения в глобальном масштабе для всех пользователей и экран входа в систему?
Чтобы настроить конфигурацию экрана для каждого пользователя при входе в систему (это не изменит конфигурацию на экране входа в систему), вы можете создать файл .desktop в /etc/xdg/autostart
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"
string: VGA-0 с помощью вашего (повернутого) экрана. Exec=/bin/bash -c "sleep 10&&xrandr --output VGA-0 --rotate left"
я включил sleep 10. Это происходит потому, что иногда команды xrandr ломаются, если они запускаются слишком рано, прежде чем «закончится» загрузка рабочего стола. Возможно, вам нужно увеличить разрыв, или вы можете попробовать его оставить. В команде, как она есть, экран поворачивается через 10 секунд после входа в систему любого пользователя. Команда: xrandr --output VGA-0 --rotate left
поворачивает экран слева, не нужно говорить, что если вы хотите использовать другой тип вращения, вы можете выбрать left, right, normal, inverted (см. Также здесь) , Вы можете запускать команды при запуске (фактически входить в систему), поместив файл .desktop (запуска) в ~/.config/autostart. Это запустит запуск только одного пользователя. Если вы сделаете то же самое, но поместите пусковую установку в /etc/xdg/autostart, команда запускается всякий раз, когда для каждого пользователя, входящего в журнал , регистрируется пользователь, если только конкретный пользователь не отключает пусковую установку для него или нее в Dash> Запуск приложений
Кроме того, вы можете просто скопировать локальный файл ~/.config/monitors.xml на /var/lib/lightdm/monitors.xml, чтобы также настроить параметры на экране входа в систему.
Imo комбинация этого, и решение выше (пусковая установка в /etc/xdg) является самым простым решением для достижения именно того, что вы хотите как для экрана входа, так и для любого пользователя. Кроме того, решение пусковой установки в /etc/xdg (очень) легко меняться или изменяться, если вам нужно будет сделать еще одну настройку, не редактируя много файлов на каждом уровне пользователя, поскольку как настройки пользователя, так и экран входа в систему управляются для всех пользователей одновременно в двух простых файлах.
Просто хотел добавить комментарий для тех, кто нашел это, борясь с аналогичной проблемой. Я застрял с разрешением моего старого монитора (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.
Мне потребовалось несколько часов, и я не мог найти достаточно близкий ответ, поэтому отправляю его здесь, если он кому-то полезен.
Возможно, вы захотите добавить что-то к /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 изменит отображение экрана входа в систему.
В моей системе (Ubuntu 16.04) для экрана входа в систему просто cp с именем root (с помощью sudo) не работает. Вам также может потребоваться убедиться, что владелец / группа monitors.xml - lightdm:lightdm.
sudo chown lightdm:lightdm /var/lib/lightdm/.config/monitors.xml