Как найти и изменить экран DPI?

81

Я пытаюсь найти, а затем изменить настройку экрана DPI (точек на дюйм) в 12.04 и 12.10. Однако я не могу найти приложение или файл конфигурации, которые могут это сделать. Есть ли приложение или файл conf для этого?

Обратите внимание, что это значение 12.04+, поэтому следующее не будет работать:

  • Как изменить настройки шрифта DPI?
  • Как изменить экран DPI в 11.10?
  • Можно ли изменить шрифт DPI в 11.04 ?

Кроме того, они в основном меняют размер шрифта, а не фактический экран DPI.

    
задан Luis Alvarado 08.10.2012 в 16:53
источник

11 ответов

105

Это обновленная версия моего предыдущего ответа, которая была связана с Ubuntu 12.04. В 16.04 (Xenial) требуется 3 шага, чтобы правильно установить DPI вместо 2.

Я объясню на примере системы с Ubuntu 12.04 с Gnome Classic и монитором с разрешением 1680x1050. Мои начальные настройки: xdpyinfo | grep dots сообщили 96x96 dots , xrdb -query | grep dpi сообщили Xft.dpi: 96 , grep DPI /var/log/Xorg.0.log сообщили о некоторых странных настройках NOUVEAU(0): DPI set to (90, 88) .

В 16.04 выходы всех этих трех команд были согласованными и равными 96. Хотя такой консенсус лучше, чем беспорядок 12.04, сообщаемое значение является жестко запрограммированным и далеким от реального значения DPI.

Давайте вычислим оптимальный DPI для моего монитора. Фактический размер экрана можно найти с помощью команды xrandr | grep -w connected (конвертировать вывод в сантиметры) или с длинной линейкой вручную. В моем случае: X = 47.4cm ; Y = 29.6cm. Разделите их на 2.54, чтобы получить размер в дюймах: X ~ 18.66in ; Y ~ 11.65in. Наконец, разделите количество фактических точек (на основе вашего разрешения) на размер в дюймах: X = 1680/18.66 ~ 90dpi ; Y = 1050/11.65 ~ 90dpi. Таким образом, мой реальный dpi составляет 90.

Предупреждение , ручной метод измерения может быть более точным, чем вывод команды xrandr | grep -w connected , поскольку более новые версии X-сервера игнорируют размер, указанный EDID, и вычисляют размер, используя разрешение экрана и твердое значение DPI (подробнее здесь ). < ш> Другой способ найти размер монитора - это прочитать его EDID напрямую. Установите пакет read-edid и запустите команду sudo get-edid | parse-edid | grep DisplaySize в терминале. Его выход даст вам фактический размер вашего монитора в миллиметрах. Если нет - используйте линейку.

Давайте начнем исправление DPI:

1) . В 12.04 запустите gksudo gedit , откройте /etc/lightdm/lightdm.conf и добавьте параметр в разделе [SeatDefaults] :

xserver-command=X -dpi 90

Нет такого файла в 16.04 по умолчанию, поэтому вы должны вручную создать lightdm.conf и поместить его в /etc/lightdm/lightdm.conf.d/ . Содержимое этого файла одинаково:

[SeatDefaults]
xserver-command=X -dpi 90

Перезагрузите компьютер или перезапустите X. Теперь grep DPI /var/log/Xorg.0.log отобразит нужную настройку.

2) В моем предыдущем ответе я предложил создать файл в /etc/X11/Xsession.d/ , содержащий строку xrandr --dpi 90 . Это работало в 12.04, но в 16.04 этот параметр не является постоянным. В новых системах мы можем добавить желаемое значение в начало сеанса. Запустите «Запуск приложений», нажмите кнопку «Добавить», назовите его «Fix DPI» и установите команду xrandr --dpi 90 в поле. Сохраните изменения и повторно войдите в систему. Теперь xdpyinfo | grep dots сообщит 90x90 dots .

Если xdpyinfo все еще показывает 96, то добавьте тайм-аут перед запуском xrandr . Измените команду в «Запуск приложений» и измените ее на:

bash -c "sleep 15; xrandr --dpi 90"

Справка

Шаг 2 является необязательным для 12.04, потому что в старых системах шаг 1 фиксирует значения Xorg.0.log и xdpyinfo .

3) В GNOME3 параметр DPI жестко закодирован до 96 и не может быть изменен напрямую, но текст можно масштабировать. Вычислите желаемый множитель: desired_DPI / 96 (в моем случае 90/96 = 0.9375 ). Теперь запустите команду (или используйте dconf , если хотите):

gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375

Изменения будут применены сразу. xrdb -query | grep dpi сообщит о желаемом Xft.dpi: 90 .

PS Существует еще один способ исправить настройку DPI, что намного сложнее и описано в этот . Я тоже попробовал, и результат был таким же (по крайней мере, в 12.04).

Послесловие: Только разработчики Ubuntu могут сказать наверняка, будут ли значения изменены с помощью шагов 1 и amp; 2 действительно имеют значение в современном Ubuntu, или они молча игнорируются. Только шаг 3 производит изменения, которые мгновенно заметны. Те пользователи, которые считают, что некоторые приложения могут по-прежнему полагаться на настройки X-сервера, рекомендуется выполнить все 3 шага, описанные выше. Для остальных шаг 3 достаточно - это единственный способ настройки, принятый в современных дистрибутивах Ubuntu.

    
ответ дан whtyger 25.03.2013 в 10:32
источник
28

Начиная с 14.04 у нас есть опция, которая помогает немного:

Поддержка масштабирования

На изображении ниже мы можем увидеть масштабирование, которое оно имеет на 0,75 на шрифтах и заголовках:

Наизображениинижемыможемувидетьмасштабирование,котороеоноимеетна1,38нашрифтахизаголовках:

    
ответ дан Luis Alvarado 07.05.2014 в 01:46
9

Что касается моего опыта работы в Ubuntu, изменение параметра DPI шрифта изменяется намного больше, чем просто способ отображения шрифтов. Это также относится к значкам и размерам меню, например.

Это просто, что Xorg намекает Desktop Environment на то, что DPI физического дисплея. И да, вы можете переопределить это в Xorg.conf, но он имеет тот же эффект, что и изменение настройки в вашем DE. Например, в Kubuntu / KDE:

    
ответ дан gertvdijk 26.01.2013 в 19:47
8

Аналогичная проблема имела место на экране 2880x1620. См. Ссылка Решается путем размещения

xrandr --output DP-0 --scale 0.75x0.75

в мой файл ~ / .xprofile

Вместо «DP-0» поместите все

xrandr

указывает вам имя устройства.

Вы можете настроить масштаб, конечно, но 0.5 как-то не выглядел красиво на моем экране.

    
ответ дан tkruse 07.11.2013 в 00:36
6

Хотя приведенные выше xserver-command=X -dpi ... и xrandr --dpi ... , возможно, хорошо работали в более ранних версиях Ubuntu, в Ubuntu 13.10 (это то, что у меня есть) Unity игнорирует эти настройки и фиксирует фиксированные dpi (насколько X сервер имеет 96 точек на дюйм).

И команда xrandr --scale ... масштабирует экран, как описано, но масштабирует его таким образом, что текст и значки немного размыты. Но он работает.

Похоже, что в Ubuntu 13.10 лучшим вариантом может быть не попытка изменить настройку dpi для X-сервера, а вместо этого использовать unity-tweak-tool , чтобы изменить шрифты по умолчанию, используемые Unity, и коэффициент масштабирования шрифта по умолчанию. Вы можете загрузить unity-tweak-tool из Ubuntu Software Center. Когда вы откроете unity-tweak-tool , перейдите к кнопке Fonts и попробуйте изменить коэффициент масштабирования шрифта на 1,2 или 1,25 (или выше или ниже), чтобы шрифты отображались для вас хорошим размером. На этой панели управления вы также можете изменить шрифты по умолчанию, используемые Unity. По общему признанию, это решение не масштабирует все на экране, просто текст, но он отлично работает на моем ноутбуке с его экраном с разрешением 166 точек на дюйм. Кажется, веб-браузеры, такие как Firefox и Chromium, не замечают эту настройку, но каждый из них и Firefox и Chromium позволяют установить минимальный размер шрифта в своих настройках приложения, чтобы масштабировать шрифты на веб-страницах таким же образом.

    
ответ дан CarlGWatts 23.03.2014 в 02:12
4

В Ubuntu 14.10 с 15-дюймовым ноутбуком, разрешением 1920x1080 (345 x 145 мм) с плотностью 143ppi / dpi, я сделал следующее.

В /etc/X11/xorg.conf.d/xorg.conf я добавил следующее:

# xdpyinfo | grep -B2 resolution
# https://wiki.archlinux.org/index.php/xorg#Display_size_and_DPI
Section "Monitor"
    Identifier             "<default monitor>"
    DisplaySize             345 195    # In millimeters
EndSection

Это устанавливает настройки масштаба для всей системы вправо 143dpi:

$ xdpyinfo | grep dots
resolution:    142x142 dots per inch

Я также сделал все вышеупомянутые настройки:

  • Системные настройки (на панели Unity) - > Дисплеи - > Шкала для меню и заголовков: 1.25
  • В хром я начинаю с: chromium-browser --enable_hidpi = 1
  • В Firefox я установил примерно: config - > layout.css.devPixelsPerPx: 1.4
  • В atom.io я прокомментировал этот вопрос

В значительной степени мне нужно настроить каждое приложение, которое я планирую использовать. Также в браузерах этот масштаб также приводит к размытым изображениям (значки, кнопки на веб-страницах и т. Д.), Поскольку он также увеличивается. Я хотел бы установить изображение размером 1: 1 и 2: 1 одним щелчком или жестом.

Надеюсь, что он добавит полезную информацию с 9 октября 2014 года.

    
ответ дан user12933 09.10.2014 в 13:38
3

Установите Ubuntu-Tweak Ссылка

Откройте его и перейдите в раздел «Tweaks > Шрифты. Затем измените коэффициент масштабирования текста

Отлично работает. Наслаждаться.     

ответ дан Royer 06.03.2013 в 15:43
3

Вы можете масштабировать все с помощью xrandr, что, вероятно, является тем, что вы ищете. Я не уверен, как это работает внутри, но эффект, похоже, меняется на дюйм.

Чтобы масштабировать свое разрешение, сначала найдите имя вашего дисплея с помощью xrandr:

lars:~$ xrandr
Screen 0: minimum 320 x 200, current 1366 x 768, maximum 1600 x 1600
LVDS connected 1366x768+0+0 (normal left inverted right x axis y axis) 344mm x 194mm
   1366x768       60.0*+
   1280x768       60.0 +
   1280x720       60.0 +
   1024x768       60.0 +
   1024x600       60.0 +
   800x600        60.0 +
   800x480        60.0 +
   720x480        60.0 +
   640x480        60.0 +
DFP1 disconnected (normal left inverted right x axis y axis)
CRT1 disconnected (normal left inverted right x axis y axis)

Итак, в моем случае дисплей моего ноутбука называется LVDS.

Затем выполните следующие действия для масштабирования вашего разрешения:

xrandr --output LVDS --scale 0.75x0.75

Пусковая установка и панель могут исчезнуть на мгновение, но просто наведите курсор на них, и они снова появятся. Вам также может потребоваться изменить размер всех открытых окон, чтобы они соответствовали меньшему разрешению.

    
ответ дан Lars Nyström 18.10.2013 в 22:19
2

По мере того как я закончил этот вопрос, ищущий масштабирование HiDPI окон в Ubuntu Gnome, вот мое дополнение к случайным предложениям, так что я найду его, когда мне это понадобится еще раз. :)

Чтобы открыть это диалоговое окно, откройте Gnome Tweaks и перейдите в раздел Windows.

    
ответ дан andersoyvind 22.03.2016 в 09:44
0

Я использую Zorin8 (на основе Ubuntu13.x).

Вы можете масштабировать экран с помощью мыши (1024/800 = 1,28, 768/600 = 1,28):

xrandr --output LVDS1 --mode 800x600 --panning 1024x768 --scale 1.28x1.28

Или просто панорамируйте экран, поэтому вам нужно использовать мышь, чтобы увидеть детали, которые не видны на экране:

xrandr --output LVDS1 --mode 800x600 --panning 1024x768
    
ответ дан DaanP 06.05.2014 в 13:20
-2

Вы не можете изменить физический ppi вашего монитора. Реальный ppi - это фактическое аппаратное обеспечение ppi, однако большинство программных продуктов будет принимать ppi 72 dpi по историческим причинам, хотя 96 dpi не редкость.

Вы можете изменить разрешение монитора, которое изменяет переведенный ppi, и вы можете изменить такие вещи, как размер шрифта.

Если вы устанавливаете MyUnity, вы можете изменить шрифт DPI, среди прочего.

Если у вас был настоящий монитор с разрешением 1024x768 пикселей (разрешение), и это было верно 72dpi, это было бы около 17-дюймового монитора. Если вы установите размер шрифта 72, тогда символ будет 1 "высоким. Если вы установите разрешение экрана 800x600, шрифт будет больше, а установка 1600x1200 сделает шрифт меньше.

    
ответ дан fabricator4 08.10.2012 в 17:39