คำถามนี้ตอบใน Unix StackExchange: /unix/101809/how-can-i-automatically-update-my-monitor-layout-in-xfce/120945#120945อย่างไรก็ตามเนื่องจากมันไม่ใช่ เป็นไปได้ที่จะทำเครื่องหมายคำถามนี้ว่าเป็นคำถามที่ซ้ำกันในเว็บไซต์อื่นฉันแค่คัดลอกคำตอบที่นี่
วิธีหนึ่งคือการสร้างกฎ udev แต่เมื่อฉันต้องการสิ่งที่พกพามากขึ้นฉันมีสคริปต์ทุบตีนี้ มันขึ้นอยู่กับการสนับสนุนที่ไม่คาดคิดรอคอยไม่มีลูปบางชนิดและถือว่ามีประสิทธิภาพ
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