Làm cách nào để chia tỷ lệ trình quản lý cửa sổ i3 cho màn hình HiDPI của tôi?


36

Tôi có Dell XPS 13 9343 2015 với độ phân giải 3200x1800 pixel.

Tôi đang cố gắng sử dụng trình quản lý cửa sổ i3 trên đó nhưng mọi thứ đều nhỏ bé và khó đọc.

Tôi đã quản lý để mở rộng mọi ứng dụng (firefox, terminal, v.v.) bằng cách sử dụng .Xresources:

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

nhưng giao diện i3 vẫn không mở rộng ...


Tôi đã hiểu rằng xrandr --dpi 220có thể giải quyết vấn đề, nhưng tôi không biết làm thế nào / sử dụng nó ở đâu.

Ai đó có thể khai sáng cho tôi về vấn đề này?

Câu trả lời:


25

Bạn có thể chạy xrandr như bất kỳ người dùng nào đang chạy phiên X. Xrandr là một chương trình dòng lệnh, vì vậy bạn chạy nó trong thiết bị đầu cuối của bạn.

Vì vậy, bạn sẽ chạy một cái gì đó như thế này trong thiết bị đầu cuối người dùng của bạn

$ xrandr --dpi 220

Bạn có thể giải thích tại sao có vẻ như tất cả các ứng dụng khác hoạt động với Xft.dpi trong khi i3 yêu cầu xrandr để đặt dpi không?
maletor

1
Một số chương trình đọc từ tệp Xresource, nhưng i3 được DPI đọc trực tiếp từ máy chủ X.
Dennis Chen

4
Có vẻ như đây không còn là trường hợp của 4.13. Bản ghi chú phát hành cho biết nó hoạt động với Xresource (giống như vậy).
maletor

1
@maletor Đúng, 4.13 và sau đó đọc Xft.dpi. »Tuy nhiên, vì nó nên nói quá về nó, vì i3 sẽ sử dụng nó cho DPI nói chung trong khi Xftđược cho là áp dụng cho các phông chữ. Nói chung, phù hợp với người dùng tốt hơn theo cách này. :-)
Ingo Bürk

21

Nếu bạn chỉ muốn thay đổi DPI trong i3, bạn có thể đặt lệnh trong tệp cấu hình i3 của mình bằng dòng:

exec xrandr --dpi 220

Tùy thuộc vào bản phân phối của bạn, bạn sẽ tìm thấy tệp cấu hình ở những nơi khác nhau nhưng thường ở dưới ~/.config/i3/config


16

IMHO bình luận của @maletor cho câu trả lời được phê duyệt biện minh cho câu trả lời mới. Vì phiên bản 4.13 i3 đọc thông tin DPI từ Xft.dpi ( nguồn ). Vì vậy, để đặt i3 hoạt động với màn hình DPI cao, có thể bạn sẽ cần phải sửa đổi hai tệp.

Thêm dòng này ~/.Xresourcesvới giá trị ưa thích của bạn:

Xft.dpi: 120

Đảm bảo các cài đặt được tải đúng cách khi X bắt đầu trong ~/.xinitrc( nguồn ) của bạn :

xrdb -merge ~/.Xresources
exec i3

Lưu ý rằng nó sẽ ảnh hưởng đến các ứng dụng khác (ví dụ như thiết bị đầu cuối của bạn) đọc cài đặt DPI từ tài nguyên X.


1
Trên Ubuntu 18.04, tôi không cần một ~/.xinitrctệp để làm việc này.
aparkerlue

0

Vì phần chỉnh sửa trong câu hỏi của tôi bị xóa (không rõ tại sao), đây là cách tôi sửa nó:

Tôi đã giải quyết nó bằng cách đơn giản là:

xrandr --dpi 220
exec i3

Trong tôi .xinitrc.


0

Thành thật trên VirtualBox, tôi đã giải quyết vấn đề cấu hình độ phân giải I3 của mình bằng cách môi trường ubfox / linux tiêu chuẩn, bởi vì câu trả lời được chọn ở đây không hiệu quả với tôi khi sử dụng VirtualBox ('xrandr --dpi 220') - cửa sổ phiên i3 của tôi là chỉ cần đóng cửa Vì vậy, tôi đã sử dụng chuỗi lệnh tiêu chuẩn sau để cấu hình độ phân giải:

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

Sử dụng một phần của đầu ra (sau từ Modeline) làm tham số của lệnh mới

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

// lệnh cuối cùng này kích hoạt độ phân giải đã tạo

xrandr -s 3840x2160

Để duy trì cấu hình giữa các phiên ghi nhật ký của người dùng, tất nhiên người ta phải đặt các lệnh sau vào tệp init .bashrc.

Sau khi được định cấu hình, để loại bỏ khoảng trắng thanh cuộn 1 pixel, chế độ Xem-> Thu nhỏ từ menu là tùy chọn. Tôi cũng có thể định cấu hình màn hình UltraHd của mình làm màn hình chính trong máy chủ Windows.

Giải pháp của tôi là sự kết hợp của hai câu trả lời từ liên kết sau: Giới thiệu: https://askubfox.com/questions/377937/how-to-set-a-custom-resolution

Chỉnh sửa: Thiết bị đơn giản hóa chống lại một lớp lót

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

do tỷ lệ khung hình kích thước màn hình độ phân giải kết quả phù hợp có thể được đánh giá lại / điều chỉnh sau đó, do đó tìm ra độ phân giải được tạo bằng lệnh xrand - được thêm vào cuối đầu ra,

1) gán độ phân giải cho một màn hình cụ thể -

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

2) xuất độ phân giải mong muốn trên màn hình

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


Đây có lẽ nên là một bình luận, không phải là một câu trả lời.

điểm tốt, sẽ đặt nó như một bình luận, sẽ xóa cái này, mặc dù không hoàn toàn chắc chắn, vì cách tiếp cận này không hiệu quả với tôi, nếu ai đó như tôi đến, anh ta có thể không đọc bình luận của tôi, dù sao tôi cũng để nó cho bạn để quyết định và đưa ra nhận xét cho câu trả lời như: "Cách tiếp cận của bạn không hiệu quả với công việc của tôi, ('do đó bạn sai')" khó thở hơn đối với tôi, lần chỉnh sửa cuối cùng, hơn nữa tôi nhận ra tôi chưa có đặc quyền nhận xét , ouch
FantomX1

1
Nếu câu trả lời được chọn ở đây không phù hợp với tôi khi sử dụng VirtualBox thì đó là điều duy nhất bạn phải nói, thì một bình luận sẽ là nơi thích hợp cho nó. Nhưng, nếu bạn biết câu trả lời phù hợp với mình (khi sử dụng VirtualBox), trong đó câu trả lời được chấp nhận (ở đây) không hoạt động, thì đó nên được đăng dưới dạng câu trả lời. Nhưng đừng chỉ đăng một liên kết; sao chép câu trả lời ở đây (1: câu trả lời khác có thể bị xóa, và 2: chúng ta không biết các câu trả lời cho câu hỏi khác là một trong đó đã giúp bạn.) Xác định các tác giả ban đầu theo tên (người sử dụng), và giữ liên kết.
G-Man nói 'Phục hồi Monica'
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.