Як змінити масштаб i3 менеджера вікон для мого дисплея HiDPI?


36

У мене Dell XPS 13 9343 2015 з роздільною здатністю 3200x1800 пікселів.

Я намагаюся використовувати на ньому менеджер i3 windows, але все крихітно і важко читабельно.

Мені вдалося масштабувати всі програми (firefox, термінал тощо), використовуючи .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 - програма командного рядка, тому ви запускаєте її у своєму терміналі.

Отже, ви б запустили щось подібне у своєму користувальницькому терміналі

$ xrandr --dpi 220

Чи можете ви пояснити, чому здається, що всі інші додатки працюють з Xft.dpi, тоді як для i3 потрібен xrandr для встановлення dpi?
малетор

1
Деякі програми читають з файлу Xresources, але i3 отримує його читання DPI безпосередньо з сервера X.
Денніс Чен

4
Здається, що це вже не так з 4.13. У примітках до випуску зазначено, що він працює з Xresources (як і слід).
малетор

1
@maletor Правильно, 4.13 і пізніше прочитати Xft.dpi. "Як слід", це завищує його, оскільки i3 буде використовувати його для DPI взагалі, в той час як Xftвін повинен застосовуватися до шрифтів. Як правило, таким чином краще підходить користувачам. :-)
Інго Бюрк

21

Якщо ви хочете лише змінити DPI в i3, ви можете помістити команду у свій конфігураційний файл i3 за допомогою рядка:

exec xrandr --dpi 220

Залежно від вашого дистрибутива ви знайдете конфігураційний файл у різних місцях, але часто під ним ~/.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') - мої вікна 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

Щоб зберегти конфігурацію між сеансами реєстрації користувачів, потрібно, звичайно, помістити наступні команди у файл inb .bashrc.

Після налаштування, щоб позбутися пробілів з прокруткою в 1 пікселі, виберіть пункт меню Вид-> Масштабований режим. Я також капелюх налаштовувати мій дисплей 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 каже: "Відновіть Моніку"
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.