ฉันใช้ Ubuntu 20 ฉันใช้ i3 เป็นตัวจัดการ windows บนจอภาพสองจอ
HDMI-1
ควรจะเป็นจอภาพหลักของฉันทางด้านซ้ายและ วีจีเอ-1-1
ควรจะอยู่ทางขวาของมัน
พื้นที่ทำงานแรกของฉัน (พื้นที่ทำงานเทอร์มินัลของฉัน) จะต้องเปิดบน HDMI-1
และต้องปฏิบัติก ดึงหน้าจอ
สั่งการ. จอภาพอื่นต้องอยู่ในพื้นที่ทำงานที่สองของฉัน (ซึ่งสำหรับ Firefox)
ฉันใส่การกำหนดค่าต่อไปนี้สำหรับ i3 (.config/i3/config
):
ตั้ง $workspace0 "0: เทอร์มินัล"
ตั้ง $workspace1 "1: Firefox"
exec --no-startup-id xrandr --output HDMI-1 --primary --mode 1920x1080 --pos 0x0 --rotate normal --output DP-1 --off --output VGA-1-1 --mode 1920x1080 --pos 1920x0 --หมุนปกติ
พื้นที่ทำงาน $workspace0 เอาต์พุต HDMI-1
พื้นที่ทำงาน $workspace1 เอาต์พุต VGA-1-1
exec --no-startup-id gnome-terminal -- zsh -c "ดึงหน้าจอ; zsh"
นี่คือปัญหาของฉัน ใช้งานได้จริง 60% ของเวลาที่ฉันรีบูต
เวลาส่วนใหญ่ทำงานได้ดี
แต่บางครั้งของฉัน วีจีเอ-1-1
จอภาพเปลี่ยนเป็นสีม่วงทั้งหมด (ซึ่งเป็นพื้นหลังของหน้าจอเข้าสู่ระบบ Ubuntu 20) บางครั้งฉันได้รับพื้นหลังจริงและแถบสถานะของฉัน แต่ไม่มีอะไรเกิดขึ้นเมื่อฉันเปิดสิ่งที่ควรจะปรากฏบนจอภาพนี้ (เช่น เมื่อฉันเปิด Firefox ซึ่งกำหนดให้กับ $พื้นที่ทำงาน1
).
ทางออกเดียวของฉันคือการเปิด อารันดร์
และเพื่อเปลี่ยนและบันทึกการตั้งค่าของฉัน หลังจากบันทึกการตั้งค่าของฉัน xrandr จะรีเซ็ตและในที่สุดฉันก็เห็นของฉัน วีจีเอ-1-1
ด้วยทุกอย่างที่เปิดอยู่
ฉันต้องการที่จะเข้าใจสิ่งที่กำลังผิดพลาดในขณะนี้ทำไมบางครั้งถึงใช้งานได้และบางครั้งก็ใช้ไม่ได้? และสำคัญกว่า: ฉันจะแก้ไขได้อย่างไร
FYI: ฉันใช้สคริปต์ polybar ดำเนินการกับการกำหนดค่า i3 ของฉัน ก่อน ดำเนินการคำสั่ง xrandr ฉันไม่รู้ว่าสิ่งนี้อาจเกี่ยวข้องหรือไม่ ดังนั้นฉันจึงใส่ไว้ที่นี่ในกรณี:
.config/i3/config
:
exec_always --no-startup-id $HOME/.config/polybar/dual_monitors.sh
.config/polybar/dual_monitors.sh
:
#!/usr/bin/env ทุบตี
killall -q โพลิบาร์
เสียงสะท้อน "---" | ที -a /tmp/polybar_top-primary.log /tmp/polybar_top-secondary.log /tmp/polybar_bottom-primary.log /tmp/polybar_bottom-secondary.log
polybar หลัก >> /tmp/polybar_top-primary.log 2>&1 &
polybar ทุติยภูมิ >> /tmp/polybar_top-secondary.log 2>&1 &
polybar หลักด้านล่าง >> /tmp/polybar_bottom-primary.log 2>&1 &
polybar ทุติยภูมิ >> /tmp/polybar_bottom-secondary.log 2>&1 &
echo "เปิดบาร์แล้ว..."