Если я просто использую диспетчер окон, а не среду рабочего стола, как я могу получать автоматические обновления разрешения стыковки / отсоединения?

Gnome и KDE меняют разрешение, когда я подключаю / отключаю свой ноутбук.

Они, кажется, делают это автоматически, более или менее, в зависимости от состояния компьютера. Я хотел бы иметь такое поведение, если я просто запустить что-то вроде IceWM или Openbox. Или даже XFCE.

Любые рекомендации?

3
задан 7 April 2012 в 08:12

1 ответ

Я имею в /etc/udev/rules.d/80-monitor.rules

ACTION=="change", SUBSYSTEM=="drm", ENV{HOTPLUG}=="1", ENV{DEVNAME}=="dri/card0", RUN+="/etc/udev/monitors.sh"

Затем в /etc/udev/monitors.sh (отмеченный исполняемый файл):

#!/bin/sh
set -e

export DISPLAY=:0
export XAUTHORITY=$(getent passwd $(w -h -s|awk '$3==":0"{print $1}'|sed 1q)|cut -d: -f6)/.Xauthority

desktop() {
    xrandr --output LVDS1 --off || true
    xrandr --output HDMI3 --auto --primary --output HDMI2 --auto --right-of HDMI3
}

laptop() {
    xrandr --output HDMI3 --off || true
    xrandr --output HDMI2 --off || true
    xrandr --output LVDS1 --auto
}

if xrandr|grep -q 'HDMI2 connected'; then
    desktop
else
    laptop
fi

Некоторые подсказки и выгоды с этим примером:

  1. Это только работает на первое, графически вошел в систему пользователь.
  2. Необходимо будет настроить сценарий для соответствия установке монитора. См. xrandr страницу справочника для справки с этим.
  3. Я не уверен, будет ли правило udev соответствовать общему событию изменения состояния монитора. Я использовал udevadm monitor --property выяснять, что использовать.
  4. Я должен был использовать --off для выключения всех дисплеев явно сначала прежде, чем реконфигурировать перед, xrandr позволил мне настраивать новые. Я думаю, что это зависимо от драйвера и не хорошо зарегистрированное.
  5. Я использую присутствие внешнего экрана для решения который окольный путь реконфигурировать. Это не могло бы работать на всех.
  6. xrandr устанавливает некоторое разрешение по умолчанию, которое было оптимально для меня. См. страницу справочника для получения дополнительной информации о том, как установить другие разрешения, если Вам нужно.
2
ответ дан 7 April 2012 в 08:12

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

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