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

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

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

54 ответа

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

Чтобы устранить это, выполните следующие действия:

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

Удалите текущую конфигурацию монитора:

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

Используйте приложение «Дисплеи» для упорядочивания мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки). Nicolas Bernaerts

После нажатия Дисплеи создается новый 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 Monitors Position Команда: update-monitor-position 5 Комментарий: Force monitors position 5 seconds after login

2
ответ дан 25 July 2018 в 23:07
  • 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

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

1
ответ дан 25 July 2018 в 23:07

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

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

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

B.

Удалить его Сохранить как «update-monitor-position-office», в исполняемом пути (/ usr / local / SBIN /). Установите дисплей в настройках офиса

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

Сохраните его как «update-monitor-position-office», в исполняемом пути (/ usr / local / sbin /). [ ! d10] Сохраните его как «update-monitor-position-office.desktop» Переименуйте только что созданный «monitors.xml» в «monitors-office.xml».

update- monitor-position-office.desktop:

[Desktop Entry] Type=Application Exec=update-monitor-position-office Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=Office Monitors Position Name=Office Monitors Position Comment[en_US]=Force monitors position from monitor-office.xml Comment=Force monitors position from monitor-office.xml Icon=display

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

#!/bin/bash # ------------------------------------------------- # Get monitors configuration from monitor.xml and apply it for current user session. # In case of multiple definitions in monitor.xml only first one is used. # # See http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # for instructions # # Parameters : # $1 : waiting time in sec. before forcing configuration (optional) # # Revision history : # 19/04/2014, V1.0 - Creation by N. Bernaerts # 10/07/2014, V1.1 - Wait 5 seconds for X to fully initialize # 01/09/2014, V1.2 - Correct NULL file bug (thanks to Ivan Harmady) and handle rotation # 07/10/2014, V1.3 - Add monitors size and rate handling (idea from jescalante) # 08/10/2014, V1.4 - Handle primary display parameter # 08/12/2014, V1.5 - Waiting time in seconds becomes a parameter # ------------------------------------------------- # monitor.xml path MONITOR_XML="$HOME/.config/monitors-office.xml" # get number of declared monitors NUM=$(xmllint --xpath 'count(//monitors/configuration['1']/output)' $MONITOR_XML) # loop thru declared monitors to create the command line parameters for (( i=1; i<=$NUM; i++)); do # get attributes of current monitor (name and x & y positions) NAME=$(xmllint --xpath 'string(//monitors/configuration['1']/output['$i']/@name)' $MONITOR_XML 2>/dev/null) POS_X=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/x/text()' $MONITOR_XML 2>/dev/null) POS_Y=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/y/text()' $MONITOR_XML 2>/dev/null) ROTATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rotation/text()' $MONITOR_XML 2>/dev/null) WIDTH=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/width/text()' $MONITOR_XML 2>/dev/null) HEIGHT=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/height/text()' $MONITOR_XML 2>/dev/null) RATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rate/text()' $MONITOR_XML 2>/dev/null) PRIMARY=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/primary/text()' $MONITOR_XML 2>/dev/null) # if position is defined for current monitor, add its position and orientation to command line parameters [ -n "$POS_X" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--output" "$NAME" "--pos" "${POS_X}x${POS_Y}" "--fbmm" "${WIDTH}x${HEIGHT}" "--rate" "$RATE" "--rotate" "$ROTATE") # if monitor is defined as primary, adds it to command line parameters [ "$PRIMARY" = "yes" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--primary") done # if needed, wait for some seconds (for X to finish initialisation) [ -n "$1" ] && sleep $1 # position all monitors xrandr "${PARAM_ARR[@]}"
1
ответ дан 25 July 2018 в 23:07

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

0
ответ дан 25 July 2018 в 23:07
  • 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

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

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

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

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

Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q Дайте следующую команду (это будет отключите монитор ноутбука): xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеупомянутая конфигурация будет клонировать ваш экран. Играйте с опцией «--right-of / --left-of», если хотите. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (возможно, вам нужно будет создать его). xrandr |grep VGA1 | grep " connected " | if [ $? -eq 0 ]; then xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal #Change the way u need ; fi
4
ответ дан 25 July 2018 в 23:07

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

Чтобы устранить это, выполните следующие действия:

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

Удалите текущую конфигурацию монитора:

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

Используйте приложение «Дисплеи» для упорядочивания мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки). Nicolas Bernaerts

После нажатия Дисплеи создается новый 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 Monitors Position Команда: update-monitor-position 5 Комментарий: Force monitors position 5 seconds after login

2
ответ дан 27 July 2018 в 02:50
  • 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

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

1
ответ дан 27 July 2018 в 02:50

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

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

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

B.

Удалить его Сохранить как «update-monitor-position-office», в исполняемом пути (/ usr / local / SBIN /). Установите дисплей в настройках офиса

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

Сохраните его как «update-monitor-position-office», в исполняемом пути (/ usr / local / sbin /). [ ! d10] Сохраните его как «update-monitor-position-office.desktop» Переименуйте только что созданный «monitors.xml» в «monitors-office.xml».

update- monitor-position-office.desktop:

[Desktop Entry] Type=Application Exec=update-monitor-position-office Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=Office Monitors Position Name=Office Monitors Position Comment[en_US]=Force monitors position from monitor-office.xml Comment=Force monitors position from monitor-office.xml Icon=display

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

#!/bin/bash # ------------------------------------------------- # Get monitors configuration from monitor.xml and apply it for current user session. # In case of multiple definitions in monitor.xml only first one is used. # # See http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # for instructions # # Parameters : # $1 : waiting time in sec. before forcing configuration (optional) # # Revision history : # 19/04/2014, V1.0 - Creation by N. Bernaerts # 10/07/2014, V1.1 - Wait 5 seconds for X to fully initialize # 01/09/2014, V1.2 - Correct NULL file bug (thanks to Ivan Harmady) and handle rotation # 07/10/2014, V1.3 - Add monitors size and rate handling (idea from jescalante) # 08/10/2014, V1.4 - Handle primary display parameter # 08/12/2014, V1.5 - Waiting time in seconds becomes a parameter # ------------------------------------------------- # monitor.xml path MONITOR_XML="$HOME/.config/monitors-office.xml" # get number of declared monitors NUM=$(xmllint --xpath 'count(//monitors/configuration['1']/output)' $MONITOR_XML) # loop thru declared monitors to create the command line parameters for (( i=1; i<=$NUM; i++)); do # get attributes of current monitor (name and x & y positions) NAME=$(xmllint --xpath 'string(//monitors/configuration['1']/output['$i']/@name)' $MONITOR_XML 2>/dev/null) POS_X=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/x/text()' $MONITOR_XML 2>/dev/null) POS_Y=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/y/text()' $MONITOR_XML 2>/dev/null) ROTATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rotation/text()' $MONITOR_XML 2>/dev/null) WIDTH=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/width/text()' $MONITOR_XML 2>/dev/null) HEIGHT=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/height/text()' $MONITOR_XML 2>/dev/null) RATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rate/text()' $MONITOR_XML 2>/dev/null) PRIMARY=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/primary/text()' $MONITOR_XML 2>/dev/null) # if position is defined for current monitor, add its position and orientation to command line parameters [ -n "$POS_X" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--output" "$NAME" "--pos" "${POS_X}x${POS_Y}" "--fbmm" "${WIDTH}x${HEIGHT}" "--rate" "$RATE" "--rotate" "$ROTATE") # if monitor is defined as primary, adds it to command line parameters [ "$PRIMARY" = "yes" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--primary") done # if needed, wait for some seconds (for X to finish initialisation) [ -n "$1" ] && sleep $1 # position all monitors xrandr "${PARAM_ARR[@]}"
1
ответ дан 27 July 2018 в 02:50

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

0
ответ дан 27 July 2018 в 02:50
  • 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

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

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

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

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

Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q Дайте следующую команду (это будет отключите монитор ноутбука): xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеупомянутая конфигурация будет клонировать ваш экран. Играйте с опцией «--right-of / --left-of», если хотите. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (возможно, вам нужно будет создать его). xrandr |grep VGA1 | grep " connected " | if [ $? -eq 0 ]; then xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal #Change the way u need ; fi
4
ответ дан 27 July 2018 в 02:50

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

Чтобы устранить это, выполните следующие действия:

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

Удалите текущую конфигурацию монитора:

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

Используйте приложение «Дисплеи» для упорядочивания мониторы, как вы пожелаете (у меня один монитор стороны вращается против часовой стрелки). Nicolas Bernaerts

После нажатия Дисплеи создается новый 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 Monitors Position Команда: update-monitor-position 5 Комментарий: Force monitors position 5 seconds after login

3
ответ дан 31 July 2018 в 10:43
  • 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

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

1
ответ дан 31 July 2018 в 10:43

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

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

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

B.

Удалить его Сохранить как «update-monitor-position-office», в исполняемом пути (/ usr / local / SBIN /). Установите дисплей в настройках офиса

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

Сохраните его как «update-monitor-position-office», в исполняемом пути (/ usr / local / sbin /). [ ! d10] Сохраните его как «update-monitor-position-office.desktop» Переименуйте только что созданный «monitors.xml» в «monitors-office.xml».

update- monitor-position-office.desktop:

[Desktop Entry] Type=Application Exec=update-monitor-position-office Hidden=false NoDisplay=false X-GNOME-Autostart-enabled=true Name[en_US]=Office Monitors Position Name=Office Monitors Position Comment[en_US]=Force monitors position from monitor-office.xml Comment=Force monitors position from monitor-office.xml Icon=display

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

#!/bin/bash # ------------------------------------------------- # Get monitors configuration from monitor.xml and apply it for current user session. # In case of multiple definitions in monitor.xml only first one is used. # # See http://bernaerts.dyndns.org/linux/74-ubuntu/309-ubuntu-dual-display-monitor-position-lost # for instructions # # Parameters : # $1 : waiting time in sec. before forcing configuration (optional) # # Revision history : # 19/04/2014, V1.0 - Creation by N. Bernaerts # 10/07/2014, V1.1 - Wait 5 seconds for X to fully initialize # 01/09/2014, V1.2 - Correct NULL file bug (thanks to Ivan Harmady) and handle rotation # 07/10/2014, V1.3 - Add monitors size and rate handling (idea from jescalante) # 08/10/2014, V1.4 - Handle primary display parameter # 08/12/2014, V1.5 - Waiting time in seconds becomes a parameter # ------------------------------------------------- # monitor.xml path MONITOR_XML="$HOME/.config/monitors-office.xml" # get number of declared monitors NUM=$(xmllint --xpath 'count(//monitors/configuration['1']/output)' $MONITOR_XML) # loop thru declared monitors to create the command line parameters for (( i=1; i<=$NUM; i++)); do # get attributes of current monitor (name and x & y positions) NAME=$(xmllint --xpath 'string(//monitors/configuration['1']/output['$i']/@name)' $MONITOR_XML 2>/dev/null) POS_X=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/x/text()' $MONITOR_XML 2>/dev/null) POS_Y=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/y/text()' $MONITOR_XML 2>/dev/null) ROTATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rotation/text()' $MONITOR_XML 2>/dev/null) WIDTH=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/width/text()' $MONITOR_XML 2>/dev/null) HEIGHT=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/height/text()' $MONITOR_XML 2>/dev/null) RATE=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/rate/text()' $MONITOR_XML 2>/dev/null) PRIMARY=$(xmllint --xpath '//monitors/configuration['1']/output['$i']/primary/text()' $MONITOR_XML 2>/dev/null) # if position is defined for current monitor, add its position and orientation to command line parameters [ -n "$POS_X" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--output" "$NAME" "--pos" "${POS_X}x${POS_Y}" "--fbmm" "${WIDTH}x${HEIGHT}" "--rate" "$RATE" "--rotate" "$ROTATE") # if monitor is defined as primary, adds it to command line parameters [ "$PRIMARY" = "yes" ] && PARAM_ARR=("${PARAM_ARR[@]}" "--primary") done # if needed, wait for some seconds (for X to finish initialisation) [ -n "$1" ] && sleep $1 # position all monitors xrandr "${PARAM_ARR[@]}"
1
ответ дан 31 July 2018 в 10:43

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

0
ответ дан 31 July 2018 в 10:43
  • 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

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

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

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

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

Подключите внешний монитор и проверьте его поддерживаемое разрешение: xrandr -q Дайте следующую команду (это будет отключите монитор ноутбука): xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal Если вы хотите, чтобы и ноутбук, и внешний были включены: xrandr --output LVDS1 --mode yyyyXzzzz --pos 0x0 --rotate normal --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal (yyyyXzzzz - разрешение вашего ноутбука.) Вышеупомянутая конфигурация будет клонировать ваш экран. Играйте с опцией «--right-of / --left-of», если хотите. Если вам нужны эти настройки во время входа в систему, добавьте проверки в /etc/X11/Xsession.d/45custom_xrandr-settings (возможно, вам нужно будет создать его). xrandr |grep VGA1 | grep " connected " | if [ $? -eq 0 ]; then xrandr --output LVDS1 --off --output TV1 --off --output VGA1 --mode 1280x1024 --pos 0x0 --rotate normal #Change the way u need ; fi
4
ответ дан 31 July 2018 в 10:43

Короче говоря (сделайте то, что предлагает 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
ответ дан 2 August 2018 в 04:27

Первые три шага для подключения внешнего монитора так, как вы хотите, и 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
ответ дан 2 August 2018 в 04:27

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

0
ответ дан 2 August 2018 в 04:27

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

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

5
ответ дан 2 August 2018 в 04:27

В офисе у меня есть 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
ответ дан 2 August 2018 в 04:27

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

1
ответ дан 2 August 2018 в 04:27

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

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

5
ответ дан 4 August 2018 в 21:00

Первые три шага для подключения внешнего монитора так, как вы хотите, и 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
ответ дан 4 August 2018 в 21:00

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

1
ответ дан 4 August 2018 в 21:00

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

0
ответ дан 4 August 2018 в 21:00

В офисе у меня есть 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
ответ дан 4 August 2018 в 21:00

Короче говоря (сделайте то, что предлагает 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
ответ дан 4 August 2018 в 21:00

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

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