Вопрос или проблема
Я пытаюсь найти и затем изменить настройку экрана в DPI (точек на дюйм) в версиях 12.04 и 12.10. Однако, кажется, я не могу найти ни приложение, ни конфигурационный файл, который мог бы это сделать. Есть ли приложение или конфигурационный файл для этого?
Обратите внимание, что это для версий 12.04+, поэтому следующее не будет работать:
- Как изменить настройки DPI шрифта?
- Как изменить DPI экрана в 11.10?
- Можно ли изменить DPI шрифта в 11.04?
Кроме того, они в основном изменяют размер шрифта, а не фактический DPI экрана.
Это обновленная версия моего предыдущего ответа, который был связан с Ubuntu 12.04. В версии 16.04 (Xenial) необходимо три шага, чтобы правильно установить DPI вместо двух.
Я объясню на примере системы с Ubuntu 12.04 с Gnome Classic и монитором с разрешением 1680×1050. Мои начальные настройки: 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
.
P.S. Существует еще один метод исправления настройки 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:
Была аналогичная проблема на экране 2880×1620.
См. http://ubuntuforums.org/showthread.php?t=2106549
Решено путем добавления
xrandr --output DP-0 --scale 0.75x0.75
в мой ~/.xprofile
Вместо “DP-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 dpi.
Похоже, что веб-браузеры, такие как Firefox и Chromium, не замечают этой настройки, но в каждом из них вы можете задать минимальный размер шрифта в их настройках приложения, чтобы масштабировать шрифты на веб-страницах таким же образом.
Установите Ubuntu-Tweak http://ubuntu-tweak.com/
Откройте его и перейдите в “Настройки > Шрифты”. Затем измените “Коэффициент масштабирования текста”
Отлично работает. Удачи.
В Ubuntu 14.10, с ноутбуком 15 дюймов, разрешение 1920×1080 (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 # В миллиметрах
EndSection
Это устанавливает системные настройки dpi на правильные 143dpi:
$ xdpyinfo | grep dots
разрешение: 142x142 dots per inch
Я также сделал все вышеупомянутые настройки:
- Системные настройки (в панели Unity) -> Дисплеи -> Масштабирование для меню и панелей заголовков: 1.25
- В chromium, я запускаю с: chromium-browser –enable_hidpi=1
- В Firefox я устанавливаю в about: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
Запуск и панель могут исчезнуть на мгновение, но просто наведите на них курсор, и они должны появиться снова. Возможно, вам также придется изменить размер любых открытых окон, чтобы они подходили под меньшее разрешение.
Когда я оказался на этом вопросе в поисках 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, однако большинство программ предполагает ppi 72 dpi по историческим причинам, хотя теперь не редкость 96 dpi.
Вы можете изменить разрешение монитора, что изменяет переводимый ppi, и вы можете изменить размер шрифта и другие вещи.
Если вы установите MyUnity, вы можете изменить DPI шрифта, среди прочего.
Если у вас был бы настоящий монитор 1024×768 пикселей (разрешение) и он был бы истинного 72 dpi, это был бы монитор около 17 дюймов. Если вы установите размер шрифта на 72, тогда символ будет высотой в 1 дюйм. Если вы установите дисплей на разрешение 800×600, то шрифт будет крупнее, в то время как установка 1600×1200 сделает шрифт меньше.
.
Ответ или решение
Как найти и изменить настройку DPI экрана в Ubuntu 12.04 и 12.10
Если вы хотите изменить настройку DPI (dots per inch) на вашем экране в дистрибутивах Ubuntu 12.04 и 12.10, это руководство поможет вам разобраться с этим вопросом. Мы обсудим, как узнать текущие настройки DPI и изменить их, используя командную строку и конфигурационные файлы, что актуально для систем этих версий.
Что такое DPI и почему это важно?
DPI экран – это мера плотности пикселей на дюйм, и эта настройка может повлиять на четкость и размер отображаемых объектов, таких как тексты и иконки. Изменение DPI позволяет адаптировать визуальную среду под нужды пользователя, делая её более удобной для восприятия.
Шаг 1: Определение текущих настроек DPI
-
Использование команды
xdpyinfo
:Откройте терминал и введите следующую команду:
xdpyinfo | grep dots
Эта команда покажет текущее значение DPI, например,
96x96 dots
. -
Дополнительные команды для проверки DPI:
- Команда
xrdb -query | grep dpi
может показать значениеXft.dpi
, то есть плотность шрифтов. - Команда
grep DPI /var/log/Xorg.0.log
может раскрыть другие конфигурации DPI, заданные драйверами.
- Команда
Шаг 2: Расчет оптимального DPI
Чтобы рассчитать более точное значение DPI, вам нужно знать физические размеры экрана и его разрешение:
-
Определение размеров экрана:
Используйте команду:
xrandr | grep -w connected
Это даст размер экрана в миллиметрах. Чтобы более точно измерить экран, можно воспользоваться линейкой.
-
Расчёт DPI:
Переведите физические размеры в дюймы (разделите на 2.54) и используйте разрешение экрана для расчета:
DPI по ширине = ширина в пикселях / ширина в дюймах DPI по высоте = высота в пикселях / высота в дюймах
Например, для экрана с разрешением 1680×1050 и физическими размерами 47.4×29.6 см, DPI будет примерно 90.
Шаг 3: Изменение настроек DPI
-
Изменение конфигурации X Server:
Для Ubuntu 12.04:
Отредактируйте файл
/etc/lightdm/lightdm.conf
, добавив строку под[SeatDefaults]
:xserver-command=X -dpi 90
Для Ubuntu 16.04 и новее создайте файл со следующим содержимым в
/etc/lightdm/lightdm.conf.d/
:[SeatDefaults] xserver-command=X -dpi 90
-
Использование
xrandr
:Для получения временного эффекта до перезагрузки системы, добавьте строку в "Startup Applications":
xrandr --dpi 90
Если не помогает, добавьте задержку:
bash -c "sleep 15; xrandr --dpi 90"
-
Настройка масштабирования текста в GNOME3:
Используйте команду для изменения масштабирования текста:
gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Эти инструкции помогут вам определить и изменить настройки DPI экрана в Ubuntu, адаптируя интерфейс под ваши нужды. Корректная настройка DPI улучшит визуальное восприятие и комфорт работы с системой.