หน้าต่างทั้งหมดเปิดขึ้นบนจอด้านซ้ายและไฟล์ใหม่ทั้งหมดได้รับการบันทึกไว้ที่นั่นฉันต้องการจอมอนิเตอร์ด้านขวาของฉันเป็นจอมอนิเตอร์หลักของฉัน
ดังที่แสดงด้านล่างฉันได้ตั้งตัวเรียกใช้งานบนหน้าจอด้านขวาของฉัน แต่นั่นไม่ได้ช่วยแก้ไขปัญหาของฉัน
หน้าต่างทั้งหมดเปิดขึ้นบนจอด้านซ้ายและไฟล์ใหม่ทั้งหมดได้รับการบันทึกไว้ที่นั่นฉันต้องการจอมอนิเตอร์ด้านขวาของฉันเป็นจอมอนิเตอร์หลักของฉัน
ดังที่แสดงด้านล่างฉันได้ตั้งตัวเรียกใช้งานบนหน้าจอด้านขวาของฉัน แต่นั่นไม่ได้ช่วยแก้ไขปัญหาของฉัน
คำตอบ:
ฉันมีปัญหาเดียวกันนี้เช่นเดียวกับปัญหาอื่น ๆ ที่เกี่ยวข้องกับการมีจอภาพหลายจอ
ปรากฎว่านี่เป็นข้อผิดพลาดแบบเปิดสำหรับ Ubuntu หมายความว่าลิงก์โซลูชันที่โพสต์ในความคิดเห็นด้านบนไม่มีโซลูชันที่ทำงานได้อย่างสมบูรณ์ ดูรายงานบั๊กที่เปิดได้ที่นี่: https://bugs.launchpad.net/ubuntu/+source/xorg-server/+bug/1425000
โชคดีที่ฉันใช้เวลาในการหาวิธีกำหนดค่านี้รวมถึงการวางแนวของหน้าจอเข้าสู่ระบบ แต่อธิบายไว้ในเธรดอื่น (ฉันมีสี่หน้าจอและการวางแนวเข้าสู่ระบบผิด แต่ทุกอย่างเรียงกันถ้าคุณมีสิ่งนี้ด้วย ปัญหาดูวิธีแก้ไขที่นี่: Unity / Unity-Greeter Load X Configuration จากที่ไหน )
วิธีแก้ไขปัญหาอย่างง่าย ๆ อย่างรวดเร็วสำหรับปัญหาที่ไม่สามารถตั้งค่าการแสดงผลเริ่มต้นของคุณและ / หรือการแสดงผลเริ่มต้นได้รับการรีเซ็ตหลังจากบูตใหม่คือการใส่คำสั่งเชลล์สั้น ๆ ที่เปลี่ยนจอภาพหลักเป็นหนึ่งใน "Startup Applications" ของคุณ ทำงานทุกครั้งที่คุณลงชื่อเข้าใช้ (ควรใช้กับ Ubuntu ล่าสุดที่ใช้ Unity display manager ซึ่งเป็นโปรแกรมจัดการหน้าจอเริ่มต้นและอาจเป็น DM อื่น แต่ฉันไม่ได้ทดสอบ)
1) ก่อนอื่นคุณจะต้องติดตั้งarandr
เพื่อค้นหาชื่อที่แสดงบนจอภาพของคุณเรียกใช้งานในเชลล์:
sudo apt-get install arandr --upgrade
2) ถัดไปเรียกใช้arandr
คำสั่งและดูว่าส่วนต่อประสานผู้ใช้ที่โหลด (อาจจะโหลดบนหน้าจอผิดเนื่องจากคุณยังไม่ได้กำหนดค่าอะไร)
3) ตอนนี้จดบันทึกสิ่งที่แสดง (ชื่อควรเป็นอะไรเช่นHDMI - # สำหรับ hdmi หรือDP - # สำหรับพอร์ตจอแสดงผล, DVI -I- # สำหรับวิดีโอดิจิทัล ฯลฯ ) ฉลากควรมีขนาดใหญ่และชัดเจนเมื่อคุณรัน arandr คุณสามารถจดชื่อที่แสดงหรือarnadr
เปิดหน้าต่างค้างไว้เพื่อที่คุณจะได้เห็นและเปิดเชลล์ใหม่หากคุณต้องการสำหรับส่วนถัดไป จอแสดงผลเริ่มต้นของฉันคือDP-4 ที่ใช้ในตัวอย่างถัดไป แต่ไม่ต้องสงสัยเลยว่าของคุณจะแตกต่างกันดังนั้นโปรดทราบสำหรับขั้นตอนต่อไป
4) ถัดไปโหลดเครื่องมือ "แอปพลิเคชันเริ่มต้น" คุณสามารถค้นหาได้โดยไปที่เส้นประแล้วพิมพ์ "Startup Applications" และ Ubuntu จะค้นหาให้คุณหรือคุณสามารถเรียกใช้คำสั่งนี้ในเปลือก:
gnome-session-properties
5) ตอนนี้จากภายในเครื่องมือแอปพลิเคชั่นเริ่มต้นให้คลิกปุ่ม "เพิ่ม" และเพิ่มโปรแกรมใหม่เพื่อทำงานเมื่อเข้าสู่ระบบหน้าต่างจะปรากฏขึ้นเพื่อถามคุณว่าจะทำงานอย่างไรนี่คือสิ่งที่จะพิมพ์:
ชื่อ: ตั้งค่าการตรวจสอบเริ่มต้น
(หมายเหตุ: ใส่ชื่อที่คุณต้องการ)
คำสั่ง: xrandr --output DP-4 --primary
(หมายเหตุ: เปลี่ยน DP-4
* เป็นรหัสการตรวจสอบใด ๆ ที่คุณพบว่าคุณต้องการให้เป็นจอแสดงผลเริ่มต้นเมื่อคุณรัน * arandr
)
ความคิดเห็น:ปล่อยว่างไว้หรือเตือนตัวเองภายหลังว่าสิ่งนี้ทำอะไร
รีบูตเพื่อทดสอบการทำงานอย่างเต็มที่และควรทำเคล็ดลับ หากคุณไม่แน่ใจว่าคำสั่งใช้งานได้หรือไม่และต้องการทดสอบก่อนคุณสามารถเรียกใช้xrandr --output DP-4 --primary
(อีกครั้งแทนที่DP-4
ด้วยจอภาพเริ่มต้นของคุณ) จากเปลือกหอยจากนั้นเปิดหน้าต่างและดูว่าปรากฏขึ้นบนจอภาพเริ่มต้นที่ถูกต้องหรือไม่ แต่เพื่อที่จะมีการบันทึกและการทำงานในแต่ละครั้งเพื่อหลีกเลี่ยงข้อผิดพลาดที่คุณจะต้องเพิ่มคำสั่งที่จะเริ่มต้นใช้งาน
UPDATE : ดูเหมือนว่านี่เป็นขั้นตอนที่สอง / ส่วนที่ 2 ของโซลูชันนี้เพื่อให้สามารถทำงานได้อย่างเต็มที่ หลังจากการทดสอบบน Ubuntu เป็นเวลา 16.04 หลายวันฉันค้นพบว่ามันจำเป็นที่จะต้องปรับเปลี่ยน~/.config/monitors.xml
เพื่อระบุจอภาพหลัก หากคุณไม่ได้ตั้งค่าจอภาพหลัก~/.config/monitors.xml
ไว้จะมีหน้าต่างและ / หรือโปรแกรมบางตัวปฏิบัติตามคำสั่ง xrandr และบางหน้าจอไม่ทำงาน สิ่งที่คุณต้องทำเพื่อดำเนินการตามขั้นตอนนี้คือเปิดขึ้น ~/.config/monitors.xml
ในตัวแก้ไขข้อความที่ชอบgedit
และตั้งค่า<primary>
แท็กเป็นyes
สำหรับจอแสดงผลที่คุณต้องการเป็นหลักและno
สำหรับการแสดงอื่น ๆ ทั้งหมด นี่คือขั้นตอน:
1) ในเชลล์ให้สำรองmonitors.xml
ไฟล์ที่มีอยู่ก่อนเพื่อให้คุณสามารถกู้คืนได้หากมีสิ่งผิดปกติเกิดขึ้นระหว่างการแก้ไข:
cp ~/.config/monitors.xml ~/.config/monitors_OLD.xml
2) เปิดmonitors.xml
ในgedit
การเปลี่ยนแปลงแท็กการตั้งค่าการกำหนดค่า:
gedit ~/.config/monitors.xml
3) ตอนนี้ภายในของหน้าต่างแก้ไขของ gedit ค้นหาแท็กเอาท์พุทที่มีข้อความสำหรับจอภาพที่คุณต้องการที่จะเป็นหลักจากนั้นภายใต้ที่<output>
บล็อกเปลี่ยนแท็ก <primary>
ให้แน่ใจว่าจะมองไปที่จอภาพอื่น ๆ ทั้งหมดและเปลี่ยนแท็กหลักสำหรับทุกจอภาพอื่น ๆ เพื่อyes
no
สำหรับฉันการทำสองสิ่งนี้ช่วยแก้ปัญหาได้ในทุกกรณีที่ฉันเคยพบมา
นอกเหนือจากคำตอบของ etron - มันไม่ได้ผลสำหรับฉันหน้าจอที่สองของฉัน (HDMI1) ซึ่งอยู่ทางซ้ายจะยังคงทำหน้าที่เหมือนเป็นทางด้านขวาของหลัก (HDMI2) หลังจากรีบูตแม้ว่ามันจะเป็น ถูกต้องทั้งหมดใน monitor.xml ของฉัน สิ่งที่ใช้ได้ผลสำหรับฉันคือ etron อธิบาย แต่ฉันใส่คำสั่งต่อไปนี้ในแอปพลิเคชันเริ่มต้นของฉันแทน:
xrandr --output HDMI2 --pos 1920x0 --output HDMI1 --pos 0x0
นี่บังคับให้ฉันหลัก (HDMI2) ทางด้านขวา (แนวนอนชดเชย x = 1920) และตัวที่สอง (HDMI1) ทางซ้าย (x = 0)
คุณสามารถลองปิดและเปิดมอนิเตอร์หลักในปัจจุบันในการกำหนดค่าการแสดงผลตามที่ระบุไว้ที่นี่: มีความสามารถในการตั้งค่าจอภาพหลักของฉันหรือไม่?
OS: Ubuntu Studio 16.04 LTS
ปัญหาคือว่าการกำหนดค่าของฉันคือการบันทึกการตั้งค่าการแสดงผลของฉันผ่านโปรแกรมการแสดงผลเริ่มต้นแม้ว่าจะไม่ได้ใช้การตั้งค่า "หลัก" อย่างถูกต้องในการบูตเครื่อง
ฉันมีแล็ปท็อปของฉันทางด้านขวาและหน้าจอหลักทางด้านซ้ายฉันมีจอภาพด้านซ้ายที่กำหนดค่าเป็นหลัก
ในการบูทมันแสดงแถบเครื่องมือด้านบนทางด้านขวาในขณะที่ OS (เมาส์) คิดว่ามันอยู่ทางซ้ายดังนั้นการใช้แถบเครื่องมือด้านบนฉันต้องนำทาง (ประมาณ) ไปยังตำแหน่งที่ menuitems มองหา บนหน้าจอด้านขวาและใช้เมาส์ของฉันทางด้านซ้าย ฉันสามารถเอาชนะสิ่งนี้ได้โดยเปลี่ยนการหมุนอย่างน้อยหน้าจอเดียวใช้การตั้งค่าจากนั้นนำกลับมาอีกครั้ง แถบเครื่องมือด้านบนจะถูกตั้งค่าอย่างถูกต้องเป็นหน้าจอหลัก (ซ้าย) ของฉัน
กระบวนการด้านล่างตอนนี้ทำสิ่งนี้ให้ฉันโดยอัตโนมัติ ( ขอบคุณมากกับโพสต์ของ etron ):
ติดตั้ง arandr เพื่อค้นหาและกำหนดค่าชื่อที่แสดงของคุณได้อย่างง่ายดาย
sudo apt-get install arandr --upgrade
รันarandr
คำสั่งจากเชลล์เพื่อกำหนดค่าและระบุจอแสดงผลของคุณ
- สำหรับเค้าโครงคุณสามารถลากจอภาพไปรอบ ๆ
- สำหรับการใช้งานระดับประถมศึกษา, Outputs > %Display
ความละเอียดและการตั้งค่าปฐมนิเทศโกโตะตัวเลือกเมนู
เมื่อตั้งค่าข้างต้นตามที่คุณต้องการตัวเลือกเมนู goto Layout > Save as:
และป้อน~/.screenlayout/ScreenLayout.sh
ในฟิลด์ชื่อ
แก้ไข~/.screenlayout/ScreenLayout.sh
ไฟล์ในเท็กซ์เอดิเตอร์และทำซ้ำ (คัดลอก & วาง) บรรทัด xrandr ทั้งหมด
ตอนนี้แก้ไขค่าในบรรทัดแรก xrandr
ผมเปลี่ยนค่าตัวเลือกในการ--rotate normal
--rotate left
เมื่อสคริปต์นี้ทำงานสคริปต์จะเปลี่ยนการหมุนไปทางซ้ายชั่วครู่จากนั้นกลับสู่สภาวะปกติเปิดใช้งานการกำหนดค่าอีกครั้ง เหมือนกับสิ่งที่ฉันต้องทำด้วยตนเองตามที่อธิบายไว้ข้างต้น
My ScreenLaout.sh ไฟล์ของฉันตอนนี้มีลักษณะเช่นนี้:
#!/bin/sh
xrandr --output LVDS-1 --mode 1680x1050 --pos 1680x0 --rotate left --output HDMI-1 --off --output VGA-1 --primary --mode 1680x1050 --pos 0x0 --rotate normal
xrandr --output LVDS-1 --mode 1680x1050 --pos 1680x0 --rotate normal --output HDMI-1 --off --output VGA-1 --primary --mode 1680x1050 --pos 0x0 --rotate normal
จากนั้นโหลดเครื่องมือ "แอปพลิเคชันเริ่มต้น" ขึ้น คุณสามารถค้นหาได้โดยไปที่เส้นประแล้วพิมพ์ "Startup Applications" และ Ubuntu จะค้นหาให้คุณหรือคุณสามารถเรียกใช้คำสั่งนี้ในเปลือก:
gnome-session-properties
ตอนนี้จากภายในเซสชั่นและเครื่องมือเริ่มต้นไปที่ "Applcation Autostart" คลิกที่ปุ่ม "เพิ่ม" และเพิ่มโปรแกรมใหม่เพื่อเรียกใช้เมื่อเข้าสู่ระบบหน้าต่างจะปรากฏขึ้นถามคุณว่าจะทำงานอะไรนี่คือสิ่งที่ เพื่อพิมพ์:
ชื่อ:ตั้งค่าการตรวจสอบเริ่มต้น (หมายเหตุ: ใส่ชื่อใดก็ได้ที่คุณต้องการ)
คำอธิบาย: ปล่อยว่างไว้หรือเตือนความจำให้ตัวเองภายหลังสิ่งนี้
คำสั่ง: ~/.screenlayout/ScreenLayout.sh
รีบูตเพื่อทดสอบการทำงานอย่างเต็มที่
หมายเหตุ:หากคุณไม่แน่ใจว่าคำสั่งจะใช้งานได้หรือไม่และต้องการทดสอบก่อนคุณสามารถเรียกใช้สคริปต์ด้วยตนเองเช่นในกรณีของฉันฉันจะเรียกใช้
~/.screenlayout/ScreenLayout.sh
ในเชลล์ นอกจากนี้หากคุณต้องการใช้การเชื่อมโยงคีย์เพื่อตั้งค่าการกำหนดค่าหลายรายการฉันเชื่อว่าคุณสามารถทำได้ภายใน arandr แม้ว่าจะต้องใช้ Metacity ซึ่งฉันไม่ได้ตรวจสอบดังนั้นคุณจึงมาที่นี่ด้วยตัวเอง