ฉันจะปรับขนาดตัวจัดการหน้าต่าง i3 สำหรับการแสดงผล HiDPI ของฉันได้อย่างไร


36

ฉันมี Dell XPS 13 9343 2015 ที่มีความละเอียด 3200x1800 พิกเซล

ฉันพยายามที่จะใช้ตัวจัดการ windows i3 บนมัน แต่ทุกอย่างเล็กและอ่านยาก

ฉันจัดการเพื่อการใช้งานทุกขนาด (Firefox, terminal, ฯลฯ ... ) โดยใช้.Xresources:

! Fonts {{{
Xft.antialias: true
Xft.hinting:   true
Xft.rgba:      rgb
Xft.hintstyle: hintfull
Xft.dpi:       220
! }}}

แต่อินเทอร์เฟซ i3 ยังไม่ปรับขนาด ...


ฉันเข้าใจว่าxrandr --dpi 220อาจแก้ปัญหาได้ แต่ฉันไม่รู้ว่าจะใช้ยังไง / ที่ไหน

ใครช่วยสอนฉันเกี่ยวกับปัญหานี้ได้ไหม

คำตอบ:


25

คุณสามารถรัน xrandr ในฐานะผู้ใช้ที่รันเซสชัน X Xrandr เป็นโปรแกรมบรรทัดคำสั่งดังนั้นคุณจึงรันในเทอร์มินัลของคุณ

ดังนั้นคุณจะเรียกใช้สิ่งนี้ใน terminal ผู้ใช้ของคุณ

$ xrandr --dpi 220

คุณช่วยอธิบายได้ไหมว่าทำไมดูเหมือนว่าแอปพลิเคชั่นอื่น ๆ ทั้งหมดทำงานกับ Xft.dpi ในขณะที่ i3 ต้องการ xrandr เพื่อตั้งค่า dpi?
maletor

1
บางโปรแกรมอ่านจากไฟล์ Xresources แต่ i3 ทำให้ DPI อ่านโดยตรงจากเซิร์ฟเวอร์ X
เดนนิสเฉิน

4
ดูเหมือนว่านี่จะไม่ใช่กรณีที่มี 4.13 อีกต่อไป บันทึกย่อประจำรุ่นระบุว่าทำงานได้กับ Xresources (อย่างที่ควรจะเป็น)
maletor

1
@maletor ที่ถูกต้อง, 4.13 Xft.dpiและต่อมาอ่าน »ตามที่ควรจะ«เกินจริง แต่เนื่องจาก i3 จะใช้สำหรับ DPI โดยทั่วไปในขณะที่Xftควรจะใช้กับแบบอักษร โดยทั่วไปจะเหมาะกับผู้ใช้ที่ดีกว่าด้วยวิธีนี้ :-)
Ingo Bürk

21

หากคุณต้องการเปลี่ยน DPI ภายใน i3 เท่านั้นคุณสามารถใส่คำสั่งในไฟล์กำหนดค่า i3 ด้วยบรรทัด:

exec xrandr --dpi 220

ขึ้นอยู่กับ distro ของคุณคุณจะพบไฟล์ config ในที่ต่าง ๆ แต่บ่อยครั้งที่อยู่ภายใต้ ~/.config/i3/config


16

IMHO ความคิดเห็นโดย @maletor ถึงคำตอบที่ได้รับการรับรองจะช่วยให้ได้คำตอบใหม่ ตั้งแต่เวอร์ชัน 4.13 i3 อ่านข้อมูล DPI จาก Xft.dpi ( ต้นฉบับ ) ดังนั้นหากต้องการตั้งค่า i3 ให้ทำงานกับหน้าจอ DPI สูงคุณอาจต้องแก้ไขไฟล์สองไฟล์

เพิ่มบรรทัดนี้~/.Xresourcesด้วยค่าที่คุณต้องการ:

Xft.dpi: 120

ตรวจสอบให้แน่ใจว่าโหลดการตั้งค่าอย่างถูกต้องเมื่อ X เริ่มทำงานใน~/.xinitrc( แหล่งที่มา ) ของคุณ:

xrdb -merge ~/.Xresources
exec i3

โปรดทราบว่าจะมีผลกับแอปพลิเคชันอื่น ๆ (เช่นเทอร์มินัลของคุณ) ที่อ่านการตั้งค่า DPI จากแหล่งข้อมูล X


1
ใน Ubuntu 18.04 ฉันไม่ต้องการ~/.xinitrcไฟล์เพื่อใช้งานได้
aparkerlue

0

เนื่องจากการแก้ไขในคำถามของฉันถูกลบ (ไม่แน่ใจว่าทำไม) นี่คือวิธีที่ฉันแก้ไข:

ฉันแก้ไขมันโดยเพียงแค่ใส่:

xrandr --dpi 220
exec i3

.xinitrcในของฉัน


0

ตรงไปตรงมาบน VirtualBox ฉันแก้ไขปัญหาการกำหนดค่าความละเอียดของ I3 โดยมาตรฐานสภาพแวดล้อม Ubuntu / linux เนื่องจากคำตอบที่เลือกในที่นี่ไม่ได้ผลสำหรับฉันเมื่อใช้ VirtualBox ('xrandr --dpi 220') - windows เซสชัน i3 ของฉันคือ เพิ่งปิด ดังนั้นฉันจึงใช้ลำดับคำสั่งมาตรฐานต่อไปนี้สำหรับการกำหนดค่าความละเอียด:

cvt 3840 2160 60
// Output: -> Modeline "3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync

การใช้ส่วนของเอาต์พุต (หลังคำ Modeline) เป็นพารามิเตอร์ของคำสั่งใหม่

xrandr --newmode "3840x2160_60.00"  3840x2160_60.00"  712.75  3840 4160 4576 5312  2160 2163 2168 2237 -hsync +vsync
xrandr --addmode VGA-1 3840x2160_60.00

// คำสั่งสุดท้ายนี้เปิดใช้งานการแก้ไขที่สร้างขึ้น

xrandr -s 3840x2160

เพื่อรักษาการกำหนดค่าระหว่างเซสชันการบันทึกของผู้ใช้เราต้องใส่คำสั่งต่อไปนี้ลงในไฟล์. bashrc init

เมื่อกำหนดค่าแล้วเพื่อกำจัดช่องว่างแถบเลื่อน 1 พิกเซลตัวเลือก View-> โหมดปรับขนาดจากเมนูเป็นตัวเลือก ฉันยังสวมหมวกเพื่อกำหนดค่าการแสดงผล UltraHd ของฉันเป็นจอแสดงผลหลักในโฮสต์ Windows

โซลูชันของฉันคือการรวมกันของสองคำตอบจากลิงค์ต่อไปนี้: การอ้างอิง: https://askubuntu.com/questions/377937/how-to-set-a-custom-resolution

แก้ไข:เครื่องมือประยุกต์ที่เรียบง่ายโดยใช้หนึ่งซับในตัวเดียว

eval $(cvt 2220 1250 60 |sed 's/Modeline/xrandr --newmode /g'|sed -n '1!p')

เนื่องจากอัตราส่วนขนาดหน้าจอความละเอียดผลลัพธ์ที่เหมาะสมอาจมีการประเมิน / ปรับปรุงใหม่ในภายหลังดังนั้นจึงหาคำตอบที่สร้างขึ้นโดยคำสั่ง xrand - ต่อท้ายผลลัพธ์

1) กำหนดความละเอียดให้กับจอแสดงผลเฉพาะ -

xrandr --addmode VGA-1 "2224x1250_60.00"

2) แสดงผลความละเอียดที่ต้องการบนหน้าจอ

xrandr --output VGA-1 --mode "2224x1250_60.00"


นี่น่าจะเป็นความเห็นไม่ใช่คำตอบ

จุดดีจะใส่ไว้ในความคิดเห็นจะลบอันนี้แม้ว่าจะไม่แน่ใจอย่างสมบูรณ์เพราะวิธีการนี้ใช้ไม่ได้สำหรับฉันถ้ามีคนอย่างฉันมาเขาอาจไม่อ่านความคิดเห็นของฉันต่อไปฉันจะปล่อยให้คุณ ในการตัดสินใจและแสดงความคิดเห็นต่อคำตอบเช่น: "วิธีการของคุณไม่ได้ผลงานของฉัน ('ดังนั้นคุณผิด") "เป็นการยากที่จะอ้าปากค้างสำหรับฉันแก้ไขล่าสุดและฉันรู้ว่าฉันยังไม่มีสิทธิ์แสดงความคิดเห็นเลย , ouch
FantomX1

1
หาก“ คำตอบที่เลือกในที่นี่ไม่ได้ผลสำหรับฉันเมื่อใช้ VirtualBox” เป็นสิ่งเดียวที่คุณต้องพูดดังนั้นความคิดเห็นจะเป็นที่ที่เหมาะสมสำหรับมัน แต่ถ้าคุณรู้คำตอบที่เหมาะกับคุณ (เมื่อใช้ VirtualBox) ซึ่งคำตอบที่ยอมรับได้ (ที่นี่) ใช้งานไม่ได้แสดงว่าควรโพสต์เป็นคำตอบ แต่อย่าโพสต์ลิงก์ คัดลอกคำตอบที่นี่ (1: คำตอบอื่น ๆ อาจถูกลบออกและ 2: เราไม่ทราบว่าที่ . คำตอบของคำถามอื่น ๆ ที่เป็นส่วนหนึ่งที่ช่วยให้คุณ) ระบุผู้เขียนต้นฉบับโดย (ผู้ใช้) ชื่อและให้การเชื่อมโยง
G-Man กล่าวว่า 'Reinstate Monica'
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.