:이 질문은 유닉스 StackExchange에 대한 답변 /unix/101809/how-can-i-automatically-update-my-monitor-layout-in-xfce/120945#120945 그렇지 않은 이후, 그러나 이 질문을 다른 사이트의 질문과 중복으로 표시 할 수 있습니다. 여기에 답을 복사하겠습니다.
한 가지 방법은 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 구성을 사용하도록 스왑 할 수 있습니다.