Gnome и KDE меняют разрешение, когда я подключаю / отключаю свой ноутбук.
Они, кажется, делают это автоматически, более или менее, в зависимости от состояния компьютера. Я хотел бы иметь такое поведение, если я просто запустить что-то вроде IceWM или Openbox. Или даже XFCE.
Любые рекомендации?
Я имею в /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
Некоторые подсказки и выгоды с этим примером:
udevadm monitor --property
выяснять, что использовать.--off
для выключения всех дисплеев явно сначала прежде, чем реконфигурировать перед, xrandr позволил мне настраивать новые. Я думаю, что это зависимо от драйвера и не хорошо зарегистрированное.