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

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

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

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

11 ответов

Решение

Это обновленная версия моего предыдущего ответа, который был связан с 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 выходные данные всех этих 3 команд были согласованы и равны 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 и 2, действительно имеют значение в современной Ubuntu, или они молча игнорируются. Только Шаг 3 производит изменения, которые мгновенно заметны. Тем пользователям, которые считают, что определенные приложения могут по-прежнему полагаться на настройки X-сервера, рекомендуется выполнить все 3 шага, описанных выше. В остальном достаточно шага 3 - это единственный способ настройки, принятый в современных дистрибутивах Ubuntu.

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

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

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

введите описание здесь

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

введите описание здесь

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

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

введите описание изображения здесь

Была похожая проблема, на экране 2880x1620. См. Http://ubuntuforums.org/showthread.php?t=2106549.

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

в мой ~/.xprofile

Вместо "ДП-0" ставьте все

xrandr

говорит как имя устройства.

Можно, конечно, настроить масштаб, но 0,5 как-то не очень хорошо смотрелось на моем экране.

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

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

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

Установите Ubuntu-Tweak http://ubuntu-tweak.com/

Откройте его и перейдите к "Tweaks > Fonts". Затем измените "Коэффициент масштабирования текста"

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

В 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

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

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

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

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

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

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

Вы можете найти свой DPI с помощью этой команды:

xrdb -query | grep dpi

Вы можете установить свой DPI, создав файл ~/.Xresources с этим содержимым:

Xft.dpi: 96

Замените 96 желаемым DPI.

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

Чтобы увеличить разрешение, сначала найдите название вашего дисплея с помощью 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

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

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

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

Я использую 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

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

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

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

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

Другие вопросы по тегам