Как я могу автоматически обновлять макет монитора в XFCE?

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

У XFCE, похоже, нет встроенной поддержки нескольких мониторов. Я нашел ARandR , который позволил мне настроить мои мониторы так, как я хочу. Я могу использовать ARandR для сохранения профилей для закрепленных и отстыкованных конфигураций (которые на самом деле являются только сценариями оболочки, которые вызывают xrandr ).

Но как я могу получить эти профили автоматически, когда ноутбук застыл и отстыкован? Должен ли я попытаться создать правило udev, которое обнаруживает док-станцию? Есть ли способ лучше?

One Solution collect form web for “Как я могу автоматически обновлять макет монитора в XFCE?”

Один из способов – создать правило udev, но поскольку я хотел что-то более портативное, у меня есть этот сценарий bash. Он полагается на поддержку inotifywait, не имеет каких-то петель и считается эффективным.

external-lcd.sh

#!/bin/sh # inspired of: # http://unix.stackexchange.com/questions/4489/a-tool-for-automatically-applying-randr-configuration- when-external-display-is-p # http://ozlabs.org/~jk/docs/mergefb/ # http://superuser.com/questions/181517/how-to-execute-a-command-whenever-a-file-changes/181543#181543 export MONITOR2=/sys/class/drm/card0-VGA-1/status while inotifywait -e modify,create,delete,open,close,close_write,access $MONITOR2; dmode="$(cat $MONITOR2)" do if [ "${dmode}" = disconnected ]; then /usr/bin/xrandr --auto echo "${dmode}" elif [ "${dmode}" = connected ];then /usr/bin/xrandr --output VGA1 --auto --right-of LVDS1 echo "${dmode}" else /usr/bin/xrandr --auto echo "${dmode}" fi done 

Не забудьте сделать исполняемый файл ( chmod +x external-lcd.sh ). Тогда просто начните его всякий раз, когда вы запустите свой DE.

Я использую это на archlinux, поэтому я думаю, что он должен работать. Вы можете изменить параметры xrandr или обменять его на использование конфигураций arandr.

  • Сбросьте xrandr (или: отключите параметр -scale-from при отключении)
  • Xrandr не обнаруживает старый монитор
  • Почему запрос xrandr ненадолго замораживает экран?
  • Выход VGA для ноутбука Случайно меняет имя между VGA1 и VGA2
  • Xrandr показывает экран без текущего / активного разрешения
  • Как получить разрешение внешнего монитора, установленное xrandr, для сохранения
  • «Не может найти crtc для вывода VGA-0» из xrandr
  • Курсор мерцает с масштабированием xrandr
  • Как настроить функцию масштабирования xrandr для переключения на следующее или предыдущее разрешение в предопределенном списке?
  • Запустите один скринсейвер на нескольких мониторах
  • Как получить xinput для идентификации устройства-пользователя по имени с избыточным пробелом?
  • Interesting Posts

    Недостаток Linux: / dev / stdin не работает с сокетами

    Опция «USB HDD», замененная на «ubuntu» в BIOS, теперь не может использовать USB-носитель

    Несколько операторов `awk` с трубками` | `?

    Стандартные и / или общие каталоги в операционных системах Unix / Linux

    Как установить BPG (лучшая портативная графика) на Linux Mint 17?

    Установите Java JDK и JRE на Debian 8

    Fedora 22 не может найти ясность или какие команды

    Поддержка журнала USN (журнал изменений) в драйвере NTFS-3G

    Удаление повторяющихся записей в текстовом файле

    Как найти символическую ссылку, когда местоположение, в котором оно было создано, неизвестно?

    Где Cygwin NFS Server?

    перемещение подкаталогов с помощью команды mv

    Найти каталог, если количество файлов превышает X

    Ubuntu: в сети со многими клиентами есть две машины, которые не могут одновременно получать доступ к веб-браузеру через браузер

    Лоток GNOME-SHELL с несколькими рядами

    Linux и Unix - лучшая ОС в мире.