XRandR DPI บน Linux แบบมัลติเฮด


18

ฉันมีหลายหน้าจอที่มีการตั้งค่า DPI ที่แตกต่างกัน ฉันสามารถใช้xrandr --dpi Xเปลี่ยน DPI สำหรับทุกหน้าจอได้หรือไม่สามารถตั้ง DPI ที่แตกต่างกันสำหรับแต่ละหน้าจอได้หรือไม่? ฉันจะทำให้แอปคำนวณขนาดตัวอักษรใหม่เมื่อย้ายไปยังหน้าจออื่นได้อย่างไร xrandr --dpi Xมีผลกับหน้าต่างใหม่เท่านั้นหน้าต่างเก่ายังคงใช้ค่า DPI เก่า

คำตอบ:


3

ฉันยังไม่ได้ลอง แต่มีคำตอบที่ดูดีที่นี่ซึ่งแนะนำให้ใช้xrandrตัวเลือกscale ที่จะให้ผลที่ตามมาแก่คุณ

UPDATE: คำแนะนำนี้จะสรุปการทำงานผมเคยเขียนที่นี่


3
โปรดคัดลอกคำแนะนำไปที่คำตอบเสมอ เป็นการป้องกันการสูญเสียข้อมูลของคำถามในอดีต ไม่ช้าก็เร็วลิงก์ภายนอกส่วนใหญ่จะเสีย DEAD และนั่นจะทำให้คำตอบของคุณไม่มีจุดหมาย ... อย่างไรก็ตามผู้ใช้ส่วนใหญ่ต้องการเห็นคำตอบในเว็บไซต์เดียว ...
kravemir

แม้ว่าไซต์นั้นเป็นไซต์ StackExchange อื่นหรือไม่
Jamie Kitson

คำสั่ง scale ดูเหมือนจะเป็น GPU ที่เข้มข้นมากเมื่อเปรียบเทียบกับการตั้งค่าหลายจอภาพบน Windows 10 Scale หมายถึงการปรับขนาดพิกเซลโดยตรงในขณะที่ Windows 10 ปรับขนาดข้อความ
คุ

3

ฉันสามารถที่จะแก้ปัญหานี้ (มีปัญหา) โดยใช้รายละเอียดที่ระบุไว้ในการอภิปราย GitHub ต่อไปนี้: https://github.com/linuxmint/Cinnamon/issues/3606

จอภาพภายนอก QHD (2560X1440), จอภาพภายใน / แล็ปท็อป 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2880
xrandr --output DP-1 --mode 2560x1440 --scale 2x2 --fb 5120x4680

หรือจอภาพภายนอก FHD (1920x1080), จอภาพภายใน / แล็ปท็อป 3200x1800

xrandr --output eDP-1 --scale 1x1 --pos 0x2160
xrandr --output DP-1 --mode 1920x1080 --scale 2x2 --fb 3840x3960

งานเหล่านี้ แต่มีจำนวนมากที่จะฉีกในจอแสดงผลความละเอียดสูง (แล็ปท็อป) เมื่อฉันย้ายหน้าต่างปรับขนาดหน้าจอหรือเลื่อนบนเบราว์เซอร์ สิ่งนี้ให้ความรู้สึกเหมือนเป็นการแก้ปัญหาซอฟต์แวร์ (ซึ่งมีปัญหาเหล่านี้ทั้งหมดของการฉีกขาดและรีเฟรชช้า)

ปี 2560, Linux / Gnome ต้องการแก้ไขปัญหาการปรับสเกลหลายจอภาพ ทั้ง Windows 10 และ OS X ได้รับการแก้ไขโดยไม่ต้องหันไปใช้คำสั่งแก้ไขแถบแบนด์บรรทัดคำสั่งที่ใช้งานได้บางส่วน (ปัญหาการฉีกขาดไม่เป็นที่ยอมรับสำหรับการเล่นเกม)


2

คุณสามารถตั้งค่าที่แตกต่างกันสำหรับแต่ละหน้าจอด้วย:

xrandr --output <Display1> --dpi X --output <Display2> --dpi Y

เมื่อต้องการดูว่ามีอะไรให้ใช้เพียงxrandrเพื่อรีสตาร์ทฟอนต์ ฉันคิดว่าคุณสามารถปิดจอแสดงผลและเปิดอีกครั้งด้วย:

xrandr --output <Display1> --off
xrandr --output <Display1> --auto

แต่ฉันไม่แน่ใจ


2
เท่าที่ฉันเห็น '- dpi' ไม่ใช่การตั้งค่าต่อเอาต์พุต มันส่งผลให้มีการเรียก XRRSetScreenSize สำหรับหน้าจอทั้งหมด เท่าที่ฉันเห็น X11 ไม่สนับสนุนการตั้งค่า DPI ที่แตกต่างกันสำหรับเอาต์พุตที่ต่างกัน ซึ่งจะดูด ...
Arnout Engelen

2
อาจริง ๆ แล้ว RandR output มีความกว้าง / ความสูงที่ระบุในพิกเซลและมิลลิเมตรดังนั้นเอาต์พุตที่ต่างกันสามารถมี DPI ที่แตกต่างกันได้ แต่ AFAICS ไม่มีการเรียก RandR เพื่อจัดการขนาดทางกายภาพของเอาต์พุต
Arnout Engelen

5
แหล่งข้อมูลต่าง ๆ รวมถึงwiki.archlinux.org/index.php/HiDPI#External_displaysแนะนำว่าสามารถตั้งค่า DPI เดียวได้ในครั้งเดียว (ในอินสแตนซ์ Xserver เดียว) คำสั่ง xrandr ที่แนะนำโดย Agomezl ไม่ทำงาน
ลาดีมีนา
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.