Сохранение настроек монитора?

Если вы используете dnsmasq (устанавливается по умолчанию), то выполните следующие действия:

$ pkill -HUP dnsmasq
13
задан 12 October 2010 в 02:05

54 ответа

Конфигурация для всех ваших мониторов - с горячим подключением или нет - должна быть сохранена в $ HOME / .config / monitors.xml с помощью xrandr для gnome-settings-daemon , что и фактически применяет конфигурацию, которую вы делаете в кассете «Мониторы».

Так как кажется, что это не работает должным образом для всех, там где-то есть ошибка. Urgh.

5
ответ дан 6 August 2018 в 04:32

Первые три шага для подключения внешнего монитора так, как вы хотите, и 4-го - сохранить настройки.

  1. Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q [ ! d0]
  2. Дайте следующую команду (это отключит монитор вашего ноутбука): xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 - -pos 0x0 --rotate normal
  3. Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеуказанная конфигурация будет клонировать ваш экран. Поиграйте с параметром - справа от / - слева ".
  4. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (Возможно, вам потребуется создать его). xrandr | grep VGA1 | grep "connected" | если [$? -eq 0]; затем xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 - нормальный режим # Измените способ u; fi
4
ответ дан 6 August 2018 в 04:32

Ubuntu 12.04 запоминает настройки горячего подключения монитора. Но они применяются только при повторном открытии апплета системы> Дисплеи. Это, по крайней мере, для меня, и это окончательно ошибка.

1
ответ дан 6 August 2018 в 04:32

Нет, нет способа сохранить конфигурации на мониторах с горячей заменой. Если вы подключаетесь перед загрузкой, GNOME должен помнить конфигурацию при каждой загрузке на основе каждого устройства (т. Е. Подключаться к вашему монитору на работе или дома).

0
ответ дан 6 August 2018 в 04:32

В офисе у меня есть 3 монитора на моем ноутбуке и 2 дома. Два из офисных мониторов установлены вертикально, в то время как другие мониторы имеют нормальную ориентацию.

A. monitors.xml находится в ~ / .config.

  1. Удалить его
  2. Установить отображение при настройке офиса
  3. Переименовать только что созданный «monitors.xml» на «monitor-office.xml».

B. Получите сценарий оболочки «update-monitor-position».

  1. Измените определение «MONITOR_XML», «monitors.xml» на «monitors-office.xml».
  2. Сохраните его как «update-monitor-position-office», в исполняемом пути (/usr/local/sbin/).
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

C. Получите ярлык на рабочем столе, «update-monitor-position.desktop»

  1. Измените определение «Exec», «update-monitor-position» на «update-monitor-position-office».
  2. Сохраните его как «update-monitor-position-office.desktop»
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

update-monitor -position-office.desktop:

  [Рабочий стол] Тип = Приложение Exec = update-monitor-position-office Hidden = false NoDisplay = false X-GNOME-Autostart-enabled = true Имя [  en_US] = Офисные мониторы Позиция Name = Офисные мониторы Позиция Комментарий [en_US] = Форсирует позицию монитора от monitor-office.xml Комментарий = Сила монитора контролирует позицию из monitor-office.xml Значок = дисплей  

Сценарий оболочки, update-monitor-position-office

  #! / Bin / bash # -----------------------  -------------------------- # Получить конфигурацию мониторов из monitor.xml и применить ее для текущего сеанса пользователя.  # В случае нескольких определений в файле monitor.xml используется только первый.  # # См. Http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # для инструкций # # Параметры: # $ 1: время ожидания в секундах.  перед форсированием конфигурации (необязательно) # # История изменений: # 19/04/2014, V1.0 - Создание Н. Бернаертсом # 10/07/2014, V1.1 - Подождите 5 секунд для полной инициализации X # 01/09  / 2014, V1.2 - Исправлена ​​ошибка с NULL-файлом (спасибо Ивану Хардади) и обрабатывалась вращением # 07/10/2014, V1.3 - Добавить размер монитора и скорость обработки (идея от jescalante) # 08/10/2014, V1  .4 - Обратиться к параметру первичного отображения # 08/12/2014, V1.5 - Время ожидания в секундах становится параметром # ------------------------  ------------------------- # monitor.xml путь MONITOR_XML = "$ HOME / .config / monitors-office.xml" # получить номер объявленного  мониторы NUM = $ (xmllint --xpath 'count (// monitors / configuration [' 1 '] / output)' $ MONITOR_XML) # цикл через объявленные мониторы для создания параметров командной строки для ((i = 1; i & lt; =  $ NUM; i ++));  do # получать атрибуты текущего монитора (имена и позиции x & amp; y) NAME = $ (xmllint --xpath 'string (// monitors / configuration [' 1 '] / output [' $ i '] / @ name)'  $ MONITOR_XML 2 & gt; / dev / null) POS_X = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / x / text ()' $ MONITOR_XML 2 & gt; / dev /  null) POS_Y = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / y / text ()' $ MONITOR_XML 2 & gt; / dev / null) ROTATE = $ (xmllint  --xpath '// monitors / configuration [' 1 '] / output [' $ i '] / rotation / text ()' $ MONITOR_XML 2 & gt; / dev / null) WIDTH = $ (xmllint --xpath '// monitor  / configuration ['1'] / output ['$ i'] / width / text () '$ MONITOR_XML 2 & gt; / dev / null) HEIGHT = $ (xmllint --xpath' // monitor / configuration ['1']  / output ['$ i'] / height / text () '$ MONITOR_XML 2 & gt; / dev / null) RATE = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'  ] / rate / text () '$ MONITOR_XML 2 & gt; / dev / null) PRIMARY = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'] / primary / text ()  '$ MONITOR_XML 2 & gt; / dev / null) # если позиция определена для текущего монитора  или, добавьте его положение и ориентацию к параметрам командной строки [-n "$ POS_X"] & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--output" "$ NAME" "--pos" "$ {POS_X} x $ {POS_Y}" "--fbmm" "$ {WIDTH} x $ {  HEIGHT} "" --rate "" $ RATE "" --rotate "" $ ROTATE ") #, если монитор определен как первичный, добавляет его в параметры командной строки [" $ PRIMARY "=" yes "] & amp; & amp; & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--primary") сделано # если необходимо, подождите несколько секунд (для завершения инициализации X) [-n "$ 1"] & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp;  sleep $ 1 # положение всех мониторов xrandr "$ {PARAM_ARR [@]}"  
1
ответ дан 6 August 2018 в 04:32

Короче говоря (сделайте то, что предлагает Nicolas Bernaerts , но я оставляю вам детали): конфигурация мониторов фактически сохраняется в ~ / .config / monitors.xml , но он не применяется при запуске / входе в систему.

Действия, которые необходимо преодолеть, это:

Вход с неправильной конфигурацией мониторов.

Удалить текущий Конфигурация монитора:

  cd .config mv monitors.xml {,. bak}  

Используйте приложение Displays для организации мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки).

Как только вы нажмете Apply , будет создан новый monitors.xml .

Теперь, загрузите и создайте исполняемый файл сценария и пусковой установки, которые вынуждают конфигурацию монитора на основе вновь созданного файла конфигурации:

  $ sudo wget -O / usr / local / sbin / update-monitor-position https  : //raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position $ sudo chmod + x / usr / local / sbin / update-monitor-position $ sudo wget -O / usr / share  /applications/update-monitor-position.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position.desktop $ sudo chmod + x / usr / share / applications / update  -monitor-position.desktop  

На этом этапе конфигурацию мониторов можно устранить, запустив приложение update monitor position .

Если вы хотите, чтобы это было автоматически, просто добавьте загрузочное приложение со следующими данными:

  • Имя: Обновление мониторов Позиция
  • Команда: update-monitor-position 5
  • Комментарий: Через 5 секунд после входа в систему

3
ответ дан 6 August 2018 в 04:32

Первые три шага для подключения внешнего монитора так, как вы хотите, и 4-го - сохранить настройки.

  1. Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q [ ! d0]
  2. Дайте следующую команду (это отключит монитор вашего ноутбука): xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 - -pos 0x0 --rotate normal
  3. Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеуказанная конфигурация будет клонировать ваш экран. Поиграйте с параметром - справа от / - слева ".
  4. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (Возможно, вам потребуется создать его). xrandr | grep VGA1 | grep "connected" | если [$? -eq 0]; затем xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 - нормальный режим # Измените способ u; fi
4
ответ дан 7 August 2018 в 22:41

Ubuntu 12.04 запоминает настройки горячего подключения монитора. Но они применяются только при повторном открытии апплета системы> Дисплеи. Это, по крайней мере, для меня, и это окончательно ошибка.

1
ответ дан 7 August 2018 в 22:41

Нет, нет способа сохранить конфигурации на мониторах с горячей заменой. Если вы подключаетесь перед загрузкой, GNOME должен помнить конфигурацию при каждой загрузке на основе каждого устройства (т. Е. Подключаться к вашему монитору на работе или дома).

0
ответ дан 7 August 2018 в 22:41

Конфигурация для всех ваших мониторов - с горячим подключением или нет - должна быть сохранена в $ HOME / .config / monitors.xml с помощью xrandr для gnome-settings-daemon , что и фактически применяет конфигурацию, которую вы делаете в кассете «Мониторы».

Так как кажется, что это не работает должным образом для всех, там где-то есть ошибка. Urgh.

5
ответ дан 7 August 2018 в 22:41

В офисе у меня есть 3 монитора на моем ноутбуке и 2 дома. Два из офисных мониторов установлены вертикально, в то время как другие мониторы имеют нормальную ориентацию.

A. monitors.xml находится в ~ / .config.

  1. Удалить его
  2. Установить отображение при настройке офиса
  3. Переименовать только что созданный «monitors.xml» на «monitor-office.xml».

B. Получите сценарий оболочки «update-monitor-position».

  1. Измените определение «MONITOR_XML», «monitors.xml» на «monitors-office.xml».
  2. Сохраните его как «update-monitor-position-office», в исполняемом пути (/usr/local/sbin/).
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

C. Получите ярлык на рабочем столе, «update-monitor-position.desktop»

  1. Измените определение «Exec», «update-monitor-position» на «update-monitor-position-office».
  2. Сохраните его как «update-monitor-position-office.desktop»
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

update-monitor -position-office.desktop:

  [Рабочий стол] Тип = Приложение Exec = update-monitor-position-office Hidden = false NoDisplay = false X-GNOME-Autostart-enabled = true Имя [  en_US] = Офисные мониторы Позиция Name = Офисные мониторы Позиция Комментарий [en_US] = Форсирует позицию монитора от monitor-office.xml Комментарий = Сила монитора контролирует позицию из monitor-office.xml Значок = дисплей  

Сценарий оболочки, update-monitor-position-office

  #! / Bin / bash # -----------------------  -------------------------- # Получить конфигурацию мониторов из monitor.xml и применить ее для текущего сеанса пользователя.  # В случае нескольких определений в файле monitor.xml используется только первый.  # # См. Http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # для инструкций # # Параметры: # $ 1: время ожидания в секундах.  перед форсированием конфигурации (необязательно) # # История изменений: # 19/04/2014, V1.0 - Создание Н. Бернаертсом # 10/07/2014, V1.1 - Подождите 5 секунд для полной инициализации X # 01/09  / 2014, V1.2 - Исправлена ​​ошибка с NULL-файлом (спасибо Ивану Хардади) и обрабатывалась вращением # 07/10/2014, V1.3 - Добавить размер монитора и скорость обработки (идея от jescalante) # 08/10/2014, V1  .4 - Обратиться к параметру первичного отображения # 08/12/2014, V1.5 - Время ожидания в секундах становится параметром # ------------------------  ------------------------- # monitor.xml путь MONITOR_XML = "$ HOME / .config / monitors-office.xml" # получить номер объявленного  мониторы NUM = $ (xmllint --xpath 'count (// monitors / configuration [' 1 '] / output)' $ MONITOR_XML) # цикл через объявленные мониторы для создания параметров командной строки для ((i = 1; i & lt; =  $ NUM; i ++));  do # получать атрибуты текущего монитора (имена и позиции x & amp; y) NAME = $ (xmllint --xpath 'string (// monitors / configuration [' 1 '] / output [' $ i '] / @ name)'  $ MONITOR_XML 2 & gt; / dev / null) POS_X = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / x / text ()' $ MONITOR_XML 2 & gt; / dev /  null) POS_Y = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / y / text ()' $ MONITOR_XML 2 & gt; / dev / null) ROTATE = $ (xmllint  --xpath '// monitors / configuration [' 1 '] / output [' $ i '] / rotation / text ()' $ MONITOR_XML 2 & gt; / dev / null) WIDTH = $ (xmllint --xpath '// monitor  / configuration ['1'] / output ['$ i'] / width / text () '$ MONITOR_XML 2 & gt; / dev / null) HEIGHT = $ (xmllint --xpath' // monitor / configuration ['1']  / output ['$ i'] / height / text () '$ MONITOR_XML 2 & gt; / dev / null) RATE = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'  ] / rate / text () '$ MONITOR_XML 2 & gt; / dev / null) PRIMARY = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'] / primary / text ()  '$ MONITOR_XML 2 & gt; / dev / null) # если позиция определена для текущего монитора  или, добавьте его положение и ориентацию к параметрам командной строки [-n "$ POS_X"] & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--output" "$ NAME" "--pos" "$ {POS_X} x $ {POS_Y}" "--fbmm" "$ {WIDTH} x $ {  HEIGHT} "" --rate "" $ RATE "" --rotate "" $ ROTATE ") #, если монитор определен как первичный, добавляет его в параметры командной строки [" $ PRIMARY "=" yes "] & amp; & amp; & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--primary") сделано # если необходимо, подождите несколько секунд (для завершения инициализации X) [-n "$ 1"] & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp;  sleep $ 1 # положение всех мониторов xrandr "$ {PARAM_ARR [@]}"  
1
ответ дан 7 August 2018 в 22:41

Короче говоря (сделайте то, что предлагает Nicolas Bernaerts , но я оставляю вам детали): конфигурация мониторов фактически сохраняется в ~ / .config / monitors.xml , но он не применяется при запуске / входе в систему.

Действия, которые необходимо преодолеть, это:

Вход с неправильной конфигурацией мониторов.

Удалить текущий Конфигурация монитора:

  cd .config mv monitors.xml {,. bak}  

Используйте приложение Displays для организации мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки).

Как только вы нажмете Apply , будет создан новый monitors.xml .

Теперь, загрузите и создайте исполняемый файл сценария и пусковой установки, которые вынуждают конфигурацию монитора на основе вновь созданного файла конфигурации:

  $ sudo wget -O / usr / local / sbin / update-monitor-position https  : //raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position $ sudo chmod + x / usr / local / sbin / update-monitor-position $ sudo wget -O / usr / share  /applications/update-monitor-position.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position.desktop $ sudo chmod + x / usr / share / applications / update  -monitor-position.desktop  

На этом этапе конфигурацию мониторов можно устранить, запустив приложение update monitor position .

Если вы хотите, чтобы это было автоматически, просто добавьте загрузочное приложение со следующими данными:

  • Имя: Обновление мониторов Позиция
  • Команда: update-monitor-position 5
  • Комментарий: Через 5 секунд после входа в систему

3
ответ дан 7 August 2018 в 22:41

Конфигурация для всех ваших мониторов - с горячим подключением или нет - должна быть сохранена в $ HOME / .config / monitors.xml с помощью xrandr для gnome-settings-daemon , что и фактически применяет конфигурацию, которую вы делаете в кассете «Мониторы».

Так как кажется, что это не работает должным образом для всех, там где-то есть ошибка. Urgh.

5
ответ дан 10 August 2018 в 10:47

Первые три шага для подключения внешнего монитора так, как вы хотите, и 4-го - сохранить настройки.

  1. Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q [ ! d0]
  2. Дайте следующую команду (это отключит монитор вашего ноутбука): xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 - -pos 0x0 --rotate normal
  3. Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеуказанная конфигурация будет клонировать ваш экран. Поиграйте с параметром - справа от / - слева ".
  4. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (Возможно, вам потребуется создать его). xrandr | grep VGA1 | grep "connected" | если [$? -eq 0]; затем xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 - нормальный режим # Измените способ u; fi
4
ответ дан 10 August 2018 в 10:47

Ubuntu 12.04 запоминает настройки горячего подключения монитора. Но они применяются только при повторном открытии апплета системы> Дисплеи. Это, по крайней мере, для меня, и это окончательно ошибка.

1
ответ дан 10 August 2018 в 10:47

Нет, нет способа сохранить конфигурации на мониторах с горячей заменой. Если вы подключаетесь перед загрузкой, GNOME должен помнить конфигурацию при каждой загрузке на основе каждого устройства (т. Е. Подключаться к вашему монитору на работе или дома).

0
ответ дан 10 August 2018 в 10:47

В офисе у меня есть 3 монитора на моем ноутбуке и 2 дома. Два из офисных мониторов установлены вертикально, в то время как другие мониторы имеют нормальную ориентацию.

A. monitors.xml находится в ~ / .config.

  1. Удалить его
  2. Установить отображение при настройке офиса
  3. Переименовать только что созданный «monitors.xml» на «monitor-office.xml».

B. Получите сценарий оболочки «update-monitor-position».

  1. Измените определение «MONITOR_XML», «monitors.xml» на «monitors-office.xml».
  2. Сохраните его как «update-monitor-position-office», в исполняемом пути (/usr/local/sbin/).
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

C. Получите ярлык на рабочем столе, «update-monitor-position.desktop»

  1. Измените определение «Exec», «update-monitor-position» на «update-monitor-position-office».
  2. Сохраните его как «update-monitor-position-office.desktop»
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

update-monitor -position-office.desktop:

  [Рабочий стол] Тип = Приложение Exec = update-monitor-position-office Hidden = false NoDisplay = false X-GNOME-Autostart-enabled = true Имя [  en_US] = Офисные мониторы Позиция Name = Офисные мониторы Позиция Комментарий [en_US] = Форсирует позицию монитора от monitor-office.xml Комментарий = Сила монитора контролирует позицию из monitor-office.xml Значок = дисплей  

Сценарий оболочки, update-monitor-position-office

  #! / Bin / bash # -----------------------  -------------------------- # Получить конфигурацию мониторов из monitor.xml и применить ее для текущего сеанса пользователя.  # В случае нескольких определений в файле monitor.xml используется только первый.  # # См. Http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # для инструкций # # Параметры: # $ 1: время ожидания в секундах.  перед форсированием конфигурации (необязательно) # # История изменений: # 19/04/2014, V1.0 - Создание Н. Бернаертсом # 10/07/2014, V1.1 - Подождите 5 секунд для полной инициализации X # 01/09  / 2014, V1.2 - Исправлена ​​ошибка с NULL-файлом (спасибо Ивану Хардади) и обрабатывалась вращением # 07/10/2014, V1.3 - Добавить размер монитора и скорость обработки (идея от jescalante) # 08/10/2014, V1  .4 - Обратиться к параметру первичного отображения # 08/12/2014, V1.5 - Время ожидания в секундах становится параметром # ------------------------  ------------------------- # monitor.xml путь MONITOR_XML = "$ HOME / .config / monitors-office.xml" # получить номер объявленного  мониторы NUM = $ (xmllint --xpath 'count (// monitors / configuration [' 1 '] / output)' $ MONITOR_XML) # цикл через объявленные мониторы для создания параметров командной строки для ((i = 1; i & lt; =  $ NUM; i ++));  do # получать атрибуты текущего монитора (имена и позиции x & amp; y) NAME = $ (xmllint --xpath 'string (// monitors / configuration [' 1 '] / output [' $ i '] / @ name)'  $ MONITOR_XML 2 & gt; / dev / null) POS_X = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / x / text ()' $ MONITOR_XML 2 & gt; / dev /  null) POS_Y = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / y / text ()' $ MONITOR_XML 2 & gt; / dev / null) ROTATE = $ (xmllint  --xpath '// monitors / configuration [' 1 '] / output [' $ i '] / rotation / text ()' $ MONITOR_XML 2 & gt; / dev / null) WIDTH = $ (xmllint --xpath '// monitor  / configuration ['1'] / output ['$ i'] / width / text () '$ MONITOR_XML 2 & gt; / dev / null) HEIGHT = $ (xmllint --xpath' // monitor / configuration ['1']  / output ['$ i'] / height / text () '$ MONITOR_XML 2 & gt; / dev / null) RATE = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'  ] / rate / text () '$ MONITOR_XML 2 & gt; / dev / null) PRIMARY = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'] / primary / text ()  '$ MONITOR_XML 2 & gt; / dev / null) # если позиция определена для текущего монитора  или, добавьте его положение и ориентацию к параметрам командной строки [-n "$ POS_X"] & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--output" "$ NAME" "--pos" "$ {POS_X} x $ {POS_Y}" "--fbmm" "$ {WIDTH} x $ {  HEIGHT} "" --rate "" $ RATE "" --rotate "" $ ROTATE ") #, если монитор определен как первичный, добавляет его в параметры командной строки [" $ PRIMARY "=" yes "] & amp; & amp; & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--primary") сделано # если необходимо, подождите несколько секунд (для завершения инициализации X) [-n "$ 1"] & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp;  sleep $ 1 # положение всех мониторов xrandr "$ {PARAM_ARR [@]}"  
1
ответ дан 10 August 2018 в 10:47

Короче говоря (сделайте то, что предлагает Nicolas Bernaerts , но я оставляю вам детали): конфигурация мониторов фактически сохраняется в ~ / .config / monitors.xml , но он не применяется при запуске / входе в систему.

Действия, которые необходимо преодолеть, это:

Вход с неправильной конфигурацией мониторов.

Удалить текущий Конфигурация монитора:

  cd .config mv monitors.xml {,. bak}  

Используйте приложение Displays для организации мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки).

Как только вы нажмете Apply , будет создан новый monitors.xml .

Теперь, загрузите и создайте исполняемый файл сценария и пусковой установки, которые вынуждают конфигурацию монитора на основе вновь созданного файла конфигурации:

  $ sudo wget -O / usr / local / sbin / update-monitor-position https  : //raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position $ sudo chmod + x / usr / local / sbin / update-monitor-position $ sudo wget -O / usr / share  /applications/update-monitor-position.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position.desktop $ sudo chmod + x / usr / share / applications / update  -monitor-position.desktop  

На этом этапе конфигурацию мониторов можно устранить, запустив приложение update monitor position .

Если вы хотите, чтобы это было автоматически, просто добавьте загрузочное приложение со следующими данными:

  • Имя: Обновление мониторов Позиция
  • Команда: update-monitor-position 5
  • Комментарий: Через 5 секунд после входа в систему

3
ответ дан 10 August 2018 в 10:47

Первые три шага для подключения внешнего монитора так, как вы хотите, и 4-го - сохранить настройки.

  1. Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q [ ! d0]
  2. Дайте следующую команду (это отключит монитор вашего ноутбука): xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 - -pos 0x0 --rotate normal
  3. Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеуказанная конфигурация будет клонировать ваш экран. Поиграйте с параметром - справа от / - слева ".
  4. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (Возможно, вам потребуется создать его). xrandr | grep VGA1 | grep "connected" | если [$? -eq 0]; затем xrandr - выход LVDS1 --off --output TV1 --off --output VGA1 - mode 1280x1024 --pos 0x0 - нормальный режим # Измените способ u; fi
4
ответ дан 13 August 2018 в 17:21

Конфигурация для всех ваших мониторов - с горячим подключением или нет - должна быть сохранена в $ HOME / .config / monitors.xml с помощью xrandr для gnome-settings-daemon , что и фактически применяет конфигурацию, которую вы делаете в кассете «Мониторы».

Так как кажется, что это не работает должным образом для всех, там где-то есть ошибка. Urgh.

5
ответ дан 13 August 2018 в 17:21
  • 1
    Да, и, как говорит мако, если я выключу компьютер и загрузим его обратно, он помнит, только когда он уже включен. – Oscar Godson 12 October 2010 в 21:39

Нет, нет способа сохранить конфигурации на мониторах с горячей заменой. Если вы подключаетесь перед загрузкой, GNOME должен помнить конфигурацию при каждой загрузке на основе каждого устройства (т. Е. Подключаться к вашему монитору на работе или дома).

0
ответ дан 13 August 2018 в 17:21
  • 1
    Черт, ок. Есть ли стороннее приложение, чем это можно сделать? Я знаю, что Mac OS X это делает, и Windows 7 (из того, что я пробовал с небольшим опытом, который у меня есть с W7). – Oscar Godson 12 October 2010 в 02:16
  • 2
    Конфигурация монитора GNOME также должна сохранять эту информацию для горячих подключенных мониторов. Это для меня. – RAOF 12 October 2010 в 04:11
  • 3
    RAOF: странно, поскольку обсуждение в списке рассылки ubuntu-devel ранее на этой неделе говорит, что это не так. – maco 12 October 2010 в 04:31
  • 4
    конфигурация фактически сохраняется в ~ / .config / monitors.xml , но она не применяется при запуске – Alessandro Cuttin 4 January 2016 в 13:04

Ubuntu 12.04 запоминает настройки горячего подключения монитора. Но они применяются только при повторном открытии апплета системы> Дисплеи. Это, по крайней мере, для меня, и это окончательно ошибка.

1
ответ дан 13 August 2018 в 17:21

В офисе у меня есть 3 монитора на моем ноутбуке и 2 дома. Два из офисных мониторов установлены вертикально, в то время как другие мониторы имеют нормальную ориентацию.

A. monitors.xml находится в ~ / .config.

  1. Удалить его
  2. Установить отображение при настройке офиса
  3. Переименовать только что созданный «monitors.xml» на «monitor-office.xml».

B. Получите сценарий оболочки «update-monitor-position».

  1. Измените определение «MONITOR_XML», «monitors.xml» на «monitors-office.xml».
  2. Сохраните его как «update-monitor-position-office», в исполняемом пути (/usr/local/sbin/).
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

C. Получите ярлык на рабочем столе, «update-monitor-position.desktop»

  1. Измените определение «Exec», «update-monitor-position» на «update-monitor-position-office».
  2. Сохраните его как «update-monitor-position-office.desktop»
  3. Прикоснитесь к разрешению -> исполняемому файлу «Me».

update-monitor -position-office.desktop:

  [Рабочий стол] Тип = Приложение Exec = update-monitor-position-office Hidden = false NoDisplay = false X-GNOME-Autostart-enabled = true Имя [  en_US] = Офисные мониторы Позиция Name = Офисные мониторы Позиция Комментарий [en_US] = Форсирует позицию монитора от monitor-office.xml Комментарий = Сила монитора контролирует позицию из monitor-office.xml Значок = дисплей  

Сценарий оболочки, update-monitor-position-office

  #! / Bin / bash # -----------------------  -------------------------- # Получить конфигурацию мониторов из monitor.xml и применить ее для текущего сеанса пользователя.  # В случае нескольких определений в файле monitor.xml используется только первый.  # # См. Http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # для инструкций # # Параметры: # $ 1: время ожидания в секундах.  перед форсированием конфигурации (необязательно) # # История изменений: # 19/04/2014, V1.0 - Создание Н. Бернаертсом # 10/07/2014, V1.1 - Подождите 5 секунд для полной инициализации X # 01/09  / 2014, V1.2 - Исправлена ​​ошибка с NULL-файлом (спасибо Ивану Хардади) и обрабатывалась вращением # 07/10/2014, V1.3 - Добавить размер монитора и скорость обработки (идея от jescalante) # 08/10/2014, V1  .4 - Обратиться к параметру первичного отображения # 08/12/2014, V1.5 - Время ожидания в секундах становится параметром # ------------------------  ------------------------- # monitor.xml путь MONITOR_XML = "$ HOME / .config / monitors-office.xml" # получить номер объявленного  мониторы NUM = $ (xmllint --xpath 'count (// monitors / configuration [' 1 '] / output)' $ MONITOR_XML) # цикл через объявленные мониторы для создания параметров командной строки для ((i = 1; i & lt; =  $ NUM; i ++));  do # получать атрибуты текущего монитора (имена и позиции x & amp; y) NAME = $ (xmllint --xpath 'string (// monitors / configuration [' 1 '] / output [' $ i '] / @ name)'  $ MONITOR_XML 2 & gt; / dev / null) POS_X = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / x / text ()' $ MONITOR_XML 2 & gt; / dev /  null) POS_Y = $ (xmllint --xpath '// monitor / configuration [' 1 '] / output [' $ i '] / y / text ()' $ MONITOR_XML 2 & gt; / dev / null) ROTATE = $ (xmllint  --xpath '// monitors / configuration [' 1 '] / output [' $ i '] / rotation / text ()' $ MONITOR_XML 2 & gt; / dev / null) WIDTH = $ (xmllint --xpath '// monitor  / configuration ['1'] / output ['$ i'] / width / text () '$ MONITOR_XML 2 & gt; / dev / null) HEIGHT = $ (xmllint --xpath' // monitor / configuration ['1']  / output ['$ i'] / height / text () '$ MONITOR_XML 2 & gt; / dev / null) RATE = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'  ] / rate / text () '$ MONITOR_XML 2 & gt; / dev / null) PRIMARY = $ (xmllint --xpath' // monitor / configuration ['1'] / output ['$ i'] / primary / text ()  '$ MONITOR_XML 2 & gt; / dev / null) # если позиция определена для текущего монитора  или, добавьте его положение и ориентацию к параметрам командной строки [-n "$ POS_X"] & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--output" "$ NAME" "--pos" "$ {POS_X} x $ {POS_Y}" "--fbmm" "$ {WIDTH} x $ {  HEIGHT} "" --rate "" $ RATE "" --rotate "" $ ROTATE ") #, если монитор определен как первичный, добавляет его в параметры командной строки [" $ PRIMARY "=" yes "] & amp; & amp; & amp; & amp; & amp; & amp;  PARAM_ARR = ("$ {PARAM_ARR [@]}" "--primary") сделано # если необходимо, подождите несколько секунд (для завершения инициализации X) [-n "$ 1"] & amp; & amp; & amp; & amp; & amp; & amp; & amp; & amp;  sleep $ 1 # положение всех мониторов xrandr "$ {PARAM_ARR [@]}"  
1
ответ дан 13 August 2018 в 17:21
  • 1
    Эй @jey, вы ответили на это в январе 2018 года. (Хотя сценарию Николаса 4 года ... ). Могу ли я предположить, что это все еще работает под недавним Ubuntu 16.x / 18.x? - И: есть ли у вас какие-либо предположения, если он будет работать под Ubuntu- MATE ? (Я вижу, что в моей системе есть monitors.xml ...) – Frank Nocke 2 August 2018 в 10:37
  • 2
    Фрэнк, мой говорит «16.04.5 LTS». Одна точка, после «dist-upgrade», мне пришлось пройти процесс, а затем перезагрузиться. «Системные настройки - & gt; Дисплеи & Quot; работает смешно в моей системе. Я не в режиме, чтобы попробовать 18.x. Благодаря, – jay 3 August 2018 в 17:33

Короче говоря (сделайте то, что предлагает Nicolas Bernaerts , но я оставляю вам детали): конфигурация мониторов фактически сохраняется в ~ / .config / monitors.xml , но он не применяется при запуске / входе в систему.

Действия, которые необходимо преодолеть, это:

Вход с неправильной конфигурацией мониторов.

Удалить текущий Конфигурация монитора:

  cd .config mv monitors.xml {,. bak}  

Используйте приложение Displays для организации мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки).

Как только вы нажмете Apply , будет создан новый monitors.xml .

Теперь, загрузите и создайте исполняемый файл сценария и пусковой установки, которые вынуждают конфигурацию монитора на основе вновь созданного файла конфигурации:

  $ sudo wget -O / usr / local / sbin / update-monitor-position https  : //raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position $ sudo chmod + x / usr / local / sbin / update-monitor-position $ sudo wget -O / usr / share  /applications/update-monitor-position.desktop https://raw.githubusercontent.com/NicolasBernaerts/ubuntu-scripts/master/ubuntugnome/update-monitor-position.desktop $ sudo chmod + x / usr / share / applications / update  -monitor-position.desktop  

На этом этапе конфигурацию мониторов можно устранить, запустив приложение update monitor position .

Если вы хотите, чтобы это было автоматически, просто добавьте загрузочное приложение со следующими данными:

  • Имя: Обновление мониторов Позиция
  • Команда: update-monitor-position 5
  • Комментарий: Через 5 секунд после входа в систему

3
ответ дан 13 August 2018 в 17:21
  • 1
    Отлично, это помогло. Благодаря! Есть ли сообщение об ошибке? – Ondra Žižka 20 September 2016 в 14:47
  • 2
    [D0] bugs.launchpad.net/launchpad/+bug/1625600 – Ondra Žižka 20 September 2016 в 15:02
  • 3
    Я думаю, что это лучший ответ. Я обновил сценарий для поддержки нескольких профилей: gist.github.com/relet/66a965cdf728e5278fbf52c9d1433be0 - просто скопируйте ваши мониторы.xml, например. monitors-office.xml, если вы хотите запустить & quot; update-monitor-position office & quot; – relet 23 August 2017 в 12:35

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

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