Bagaimana cara mengukur pengelola jendela i3 untuk tampilan HiDPI saya?


36

Saya memiliki Dell XPS 13 9343 2015 dengan resolusi 3200x1800 piksel.

Saya mencoba menggunakan windows i3 manager di atasnya tetapi semuanya kecil dan sulit dibaca.

Saya berhasil mengatur skala setiap aplikasi (firefox, terminal, dll ...) menggunakan .Xresources:

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

tapi antarmuka i3 masih tidak skala ...


Saya mengerti bahwa xrandr --dpi 220mungkin menyelesaikan masalah, tetapi saya tidak tahu bagaimana / di mana menggunakannya.

Adakah yang bisa memberi tahu saya tentang masalah ini?

Jawaban:


25

Anda dapat menjalankan xrandr karena setiap pengguna menjalankan sesi X. Xrandr adalah program baris perintah, jadi Anda menjalankannya di terminal Anda.

Jadi Anda akan menjalankan sesuatu seperti ini di terminal pengguna Anda

$ xrandr --dpi 220

Bisakah Anda menjelaskan mengapa sepertinya semua aplikasi lain bekerja dengan Xft.dpi sementara i3 membutuhkan xrandr untuk mengatur dpi?
maletor

1
Beberapa program membaca dari file Xresources, tetapi i3 mendapatkan pembacaan DPI langsung dari server X.
Dennis Chen

4
Sepertinya ini tidak lagi terjadi pada 4,13. Catatan rilis menyatakan ini berfungsi dengan Xresources (seperti seharusnya).
Maletor

1
@maletor Benar, 4.13 dan kemudian dibaca Xft.dpi. »Seperti seharusnya« melebih-lebihkannya, karena i3 akan menggunakannya untuk DPI secara umum sementara Xftseharusnya berlaku untuk font. Secara umum lebih cocok untuk pengguna dengan cara ini. :-)
Ingo Bürk

21

Jika Anda hanya ingin mengubah DPI di dalam i3, Anda bisa meletakkan perintah di file konfigurasi i3 Anda dengan baris:

exec xrandr --dpi 220

Tergantung pada distro Anda, Anda akan menemukan file konfigurasi di tempat yang berbeda tetapi sering di bawah ~/.config/i3/config


16

IMHO komentar oleh @maletor ke jawaban yang disetujui membenarkan jawaban baru. Sejak versi 4.13 i3 membaca informasi DPI dari Xft.dpi ( sumber ). Jadi, untuk mengatur i3 agar berfungsi dengan layar DPI tinggi, Anda mungkin perlu memodifikasi dua file.

Tambahkan baris ini ke ~/.Xresourcesdengan nilai pilihan Anda:

Xft.dpi: 120

Pastikan pengaturan dimuat dengan benar ketika X dimulai pada ~/.xinitrc( sumber ) Anda:

xrdb -merge ~/.Xresources
exec i3

Perhatikan bahwa itu akan mempengaruhi aplikasi lain (misalnya terminal Anda) yang membaca pengaturan DPI dari sumber X.


1
Di Ubuntu 18.04, saya tidak perlu ~/.xinitrcfile untuk membuatnya berfungsi.
aparkerlue

0

Karena hasil edit dalam pertanyaan saya dihapus (tidak yakin mengapa), berikut adalah cara saya memperbaikinya:

Saya menyelesaikannya dengan hanya meletakkan:

xrandr --dpi 220
exec i3

Di saya .xinitrc.


0

Terus terang di VirtualBox, saya menyelesaikan masalah konfigurasi resolusi I3 saya dengan cara lingkungan ubuntu / linux standar, karena jawaban yang dipilih di sini tidak bekerja untuk saya ketika menggunakan VirtualBox ('xrandr - dpi 220') - jendela sesi i3 saya adalah baru saja tutup. Jadi saya menggunakan urutan perintah standar berikut untuk mengkonfigurasi resolusi:

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

Menggunakan bagian dari output (setelah kata Modeline) sebagai parameter dari perintah baru

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

// perintah terakhir ini mengaktifkan resolusi yang dibuat

xrandr -s 3840x2160

Untuk menjaga konfigurasi antar sesi logging pengguna, tentu saja kita harus memasukkan perintah berikut ke dalam file .bashrc init.

Setelah dikonfigurasi, untuk menghilangkan ruang scrollbar 1 piksel, mode Tampilan-> Skala dari menu adalah opsi. Saya juga ingin mengkonfigurasi tampilan UltraHd saya sebagai tampilan utama di host Windows.

Solusi saya adalah kombinasi dari dua jawaban dari tautan berikut: Referensi: https://askubuntu.com/questions/377937/how-to-set-a-custom-resolution

Sunting: Alat sederhana yang terdiri dari satu baris

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

sebagai rasio aspek ukuran layar resolusi hasil yang tepat mungkin kemudian dievaluasi kembali / disesuaikan, oleh karena itu cari tahu resolusi yang dibuat oleh perintah xrand - ditambahkan pada akhir output,

1) menetapkan resolusi ke tampilan tertentu -

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

2) menampilkan resolusi yang diinginkan pada layar

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


Ini mungkin komentar, bukan jawaban.

Poin yang baik, akan meletakkannya sebagai komentar, akan menghapus yang ini, meskipun tidak sepenuhnya yakin, karena pendekatan ini tidak berhasil untuk saya, jika seseorang seperti saya datang, dia mungkin tidak membaca komentar saya, toh saya membiarkannya terserah Anda untuk memutuskan, dan memberikan komentar ke jawaban seperti: "Pendekatan Anda tidak bekerja dengan baik, ('karena itu Anda salah')" lebih sulit untuk megap-megap untuk saya, edit terakhir, apalagi saya menyadari saya belum memiliki hak istimewa komentar , aduh
FantomX1

1
Jika "jawaban yang dipilih di sini tidak bekerja untuk saya ketika menggunakan VirtualBox" adalah satu-satunya hal yang Anda katakan, maka komentar akan menjadi tempat yang tepat untuk itu. Tetapi, jika Anda mengetahui jawaban yang berfungsi untuk Anda (saat menggunakan VirtualBox), di mana jawaban yang diterima (di sini) tidak berfungsi, maka itu harus diposting sebagai jawaban. Tapi jangan memposting hanya tautan; salin jawabannya di sini. (1: jawaban lain mungkin dihapus, dan 2: kami tidak tahu jawaban mana dari pertanyaan lain yang membantu Anda.) Identifikasi penulis asli dengan nama (pengguna), dan simpan tautannya.
G-Man Mengatakan 'Reinstate Monica'
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.