Применить настройки отображения ко всем учетным записям пользователей?

Я потратил некоторое время на то, чтобы мои настройки были правильными для нескольких мониторов, и это нормально работает, когда я вошел в систему, но не прав на экране входа в систему или для других пользователей.

Как установить настройки отображения в глобальном масштабе для всех пользователей и экран входа в систему?

1
задан 23 June 2015 в 12:23

4 ответа

Чтобы настроить конфигурацию экрана для каждого пользователя при входе в систему (это не изменит конфигурацию на экране входа в систему), вы можете создать файл .desktop в /etc/xdg/autostart

Как это сделать что

узнать имя экрана, который вы хотите повернуть, выполнив xrandr. Он выведет несколько строк, среди нескольких строк, похожих на:
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 (очень) легко меняться или изменяться, если вам нужно будет сделать еще одну настройку, не редактируя много файлов на каждом уровне пользователя, поскольку как настройки пользователя, так и экран входа в систему управляются для всех пользователей одновременно в двух простых файлах.

2
ответ дан 23 May 2018 в 19:36
  • 1
    Это может сработать - изменение настроек 10 после входа в систему, но я бы предпочел знать, где они настроены, чтобы начать и изменить их для всех (и экран входа в систему, который в настоящее время боком). – mirams 23 June 2015 в 10:46
  • 2
    Почему кто-то занижает это? – Fabby 30 June 2015 в 21:48
  • 3
    @Fabby Спасибо за комментарий :) – Jacob Vlijm 30 June 2015 в 23:25

Просто хотел добавить комментарий для тех, кто нашел это, борясь с аналогичной проблемой. Я застрял с разрешением моего старого монитора (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.

Мне потребовалось несколько часов, и я не мог найти достаточно близкий ответ, поэтому отправляю его здесь, если он кому-то полезен.

2
ответ дан 23 May 2018 в 19:36
  • 1
    Добро пожаловать в Ask Ubuntu. Спасибо за то, что вы делитесь своими четырьмя месяцами (прошедшее время) исследований. – WinEunuuchs2Unix 28 December 2016 в 05:13
  • 2
    Прочитав это снова, я думаю, что два года назад я создал файл xrandr.desktop, чтобы обойти Ubuntu, всегда не выполняющий настройки основного монитора «Goldstar», и это, вероятно, проблема совместимости с моей видеокартой. – MattB 21 January 2017 в 22:38

Возможно, вы захотите добавить что-то к /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 изменит отображение экрана входа в систему.

0
ответ дан 23 May 2018 в 19:36
  • 1
    Было бы здорово, если бы вы смогли это испробовать, мне интересно узнать, будет ли это работать для вас. – nixpower 3 July 2015 в 15:57

В моей системе (Ubuntu 16.04) для экрана входа в систему просто cp с именем root (с помощью sudo) не работает. Вам также может потребоваться убедиться, что владелец / группа monitors.xml - lightdm:lightdm.

sudo chown lightdm:lightdm /var/lib/lightdm/.config/monitors.xml
0
ответ дан 23 May 2018 в 19:36

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

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