การปรับขนาดหน้าต่างตามแอปพลิเคชันใน Xorg เพื่อการแสดงผลที่มีความละเอียดสูง


28

ฉันใช้ Gnome Shell กับจอภาพ 4k และมีแอปพลิเคชั่นบางตัวที่ฉันใช้ซึ่งไม่ได้ปรับขนาดด้วยความละเอียดสูง

นี่คือตัวอย่างของ LMMS แอปพลิเคชันที่ยังไม่ได้รับการจัดเรียง Qt 5 ดังนั้นจึงไม่มีความสามารถในการปรับสเกล dpi สูง:

ภาพหน้าจอ
(คลิกที่ภาพเพื่อขยาย)

มีวิธีใดที่จะขยายขนาดหน้าต่าง X ที่เจาะจงโดยไม่เปลี่ยนความละเอียดการแสดงผลหรือไม่

โซลูชันปัจจุบันของฉันคือครึ่งหนึ่งของความละเอียดการแสดงผลของฉัน แต่สิ่งนี้ลดความละเอียดของแอปพลิเคชันอื่น ๆ ทุกตัวที่รองรับการปรับสเกล dpi ที่เหมาะสม:

ภาพหน้าจอ

คำตอบ:


20

ในที่สุดฉันก็สามารถหาวิธีแก้ปัญหาที่ปรับขนาดแอปพลิเคชันเก่าโดยไม่เห็นภาพหรือประสิทธิภาพลดลง

ขอขอบคุณที่ kaueraal run_scaledตอนนี้คุณสามารถปรับขนาดการใช้งานเก่าใช้ คุณสามารถรับสคริปต์จากหน้า GitHubของเขาหรือผ่านAURrun_scaled-gitหากคุณใช้งาน Arch Linux

นี่คือตัวอย่างของสองแอปพลิเคชันที่ทำงานแบบเคียงข้างกัน:

  • Firefox พร้อม HiDPI รองรับด้านซ้าย
  • LMMS ทำงานด้วยrun_scaledด้านขวา

ป้อนคำอธิบายรูปภาพที่นี่

ผมค้นพบสคริปต์นี้ผ่านArch Linux วิกิพีเดีย



โปรแกรมนี้กิน CPU มากจริงๆ
L29Ah

6

โดยไม่เห็นปัญหาที่แน่นอนที่คุณกำลังประสบอยู่ฉันขอแนะนำให้ใช้

GDK_SCALE=x

หรือ

GDK_DPI_SCALE=x

ก่อนเริ่มต้นแต่ละแอปพลิเคชัน คุณอาจจะต้องเปลี่ยน.desktopไฟล์ด้วยตนเองหรือเรียกใช้จากคำนำหน้าเชลล์ของคุณด้วยคำสั่งGDK_SCALE=x

GDK_SCALEอนุญาตเฉพาะค่า interger แต่ GDK_DPI_SCALE=xอนุญาตสำหรับค่าทศนิยมเช่นGDK_DPI_SCALE=0.66

สำหรับแอปพลิเคชันอื่น ๆ ที่ใช้ SDK จะมีการตั้งค่าที่คล้ายคลึงกันสำหรับชุดคิทนั้น ๆ อย่างไรก็ตามเนื่องจากปัญหาของคุณกับเดสก์ท็อป GNOME ฉันจะให้วิธีการแก้ปัญหานี้

ฉันไม่ได้ลองกับมอนิเตอร์ 4k แต่การทำงานGDK_DPI_SCALE=1.66 gnome-calculatorจะสาธิตวิธีแก้ปัญหา

ที่มา: https://developer.gnome.org/gtk3/stable/gtk-x11.html


1
ขอบคุณสำหรับคำตอบ แต่นี่ไม่ได้ผลสำหรับแอปพลิเคชัน Xlib
Ho1

3
ขอบคุณสำหรับคำตอบ แต่นี่ไม่ใช่สิ่งที่ฉันกำลังมองหา ฉันพบปัญหาเกี่ยวกับการปรับขนาดของแอปพลิเคชันที่ไม่ได้ใช้ GTK3 เท่านั้น ฉันหวังว่าจะพบทางออกที่สามารถนำไปใช้กับแอปพลิเคชัน X ใด ๆ
MetaDark

wiki.archlinux.org/index.php/HiDPIมีข้อมูลที่อาจเป็นประโยชน์สำหรับทั้งแอป GTK และที่ไม่ใช่ GTK ฉันต้องการคำตอบ แต่ไม่ต้องการคัดลอกข้อมูลไปยังคำตอบ
Emmaly Wilson

2

ฉันมีแอปพลิเคชันที่วางไข่หน้าต่างหลายบานและฉันไม่สามารถใช้งานได้xpraตามที่กำหนดไว้ในโซลูชัน run_scaled ที่ยอมรับ ฉันไม่สามารถทนต่อการปรับสเกล 2x ของ gnome-tweak-tool ได้ ใหญ่เกินไป ต้องการ 1.5x

ฉันได้ค้นพบว่าไคลเอนต์ TigerVNC java รองรับการแสดงผลฝั่งไคลเอ็นต์ 150%

ดังนั้นฉันเริ่ม vncserver ด้วยขนาด 2 / 3rds และ windows manager ขั้นต่ำ:

vncserver -geometry 2520x1380 -xstartup ~/.vnc/xstartup-mwm

จากนั้นฉันเชื่อมต่อกับไคลเอ็นต์ java v1.7 ของ TigerVNC (1.8.0 ขัดข้องสำหรับฉันอย่างสม่ำเสมอ):

java -jar VncViewer-1.7.0.jar -ScalingFactor=150

นอกเหนือจาก commandline คุณสามารถกดปุ่มF8เพื่อรับตัวเลือก VNC Viewer หน้าจอ -> อัตราส่วนการปรับ -> 150% สิ่งนี้จะปรับความละเอียดจาก 2 / 3rds เป็น 4k ถึง 4k

ป้อนคำอธิบายรูปภาพที่นี่

Archaic MWM ใน VNC พร้อมการปรับขนาด 150% ทางด้านซ้าย เดสก์ท็อป Gnome แฟนซี (ดั้งเดิม) ทางด้านขวาไม่มีการปรับสเกล คุณจะสังเกตเห็นไอคอนเล็ก ๆ Gnome ถูกปรับเป็นอย่างอื่นสำหรับ 4k ด้วยการปรับขนาดตัวอักษร 1.5x ใน gnome-tweak-tool แต่ไอคอนไม่ได้ปรับขนาด นี่เป็นเพียงตัวอย่างแอปพลิเคชัน - ไอคอนและมาตราส่วนในแอปพลิเคชันที่ผลักฉันด้วยวิธีนี้แย่กว่ามาก

น่าเสียดายที่นี่เป็นเดสก์ท็อปที่ปรับสเกลทั้งหมด 1.5x พร้อมตัวจัดการหน้าต่างแยกต่างหาก มันสร้างพื้นที่ปิดกำแพงที่ดีสำหรับแอพ multiwindow ของฉัน แต่มันน่ารำคาญที่จะมีตัวจัดการหน้าต่างที่สอง อย่างไรก็ตาม VNC เป็นสิ่งที่ฉันคุ้นเคยจากการใช้งานมานานและสิ่งนี้ทำให้ฉันคุ้นเคยกับแล็ปท็อปได้อย่างง่ายดายดังนั้นบางทีนี่อาจใช้งานได้


1

Vncdeskมอบโซลูชั่นให้กับคุณโดยอ้างอิงจาก VNC client-server (ดูที่นี่ )

มันไม่ใช่วิธีการแก้ปัญหาที่สมบูรณ์สำหรับฉันเพราะมันให้ปัญหาบางอย่างหากแอพต้องการตัวจัดการหน้าต่าง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.