如何查找和更改屏幕 DPI?

Lui*_*ado 100 dpi

我正在尝试查找并更改12.04 和 12.10 中的屏幕DPI(每英寸点数)设置。但是,我似乎找不到任何可以执行此操作的应用程序或配置文件。是否有任何应用程序或配置文件?

请注意,这是针对 12.04+ 的,因此以下内容不起作用:

此外,他们基本上是在改变字体大小,而不是实际的屏幕 DPI。

wht*_*ger 139

这是我之前与 Ubuntu 12.04 相关的答案的更新版本。在 16.04 (Xenial) 中,正确设置 DPI 需要 3 个步骤,而不是 2 个。

我将以带有 Gnome Classic 的 Ubuntu 12.04 和分辨率为 1680x1050 的显示器的系统为例进行说明。我的起始设置:xdpyinfo | grep dots报告96x96 dotsxrdb -query | grep dpi报告Xft.dpi: 96grep 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 run 中gksudo gedit,打开/etc/lightdm/lightdm.conf并在[SeatDefaults]部分下添加一个参数:

xserver-command=X -dpi 90
Run Code Online (Sandbox Code Playgroud)

16.04默认没有这样的文件,所以必须lightdm.conf手动创建并放入/etc/lightdm/lightdm.conf.d/. 这个文件的内容是一样的:

[SeatDefaults]
xserver-command=X -dpi 90
Run Code Online (Sandbox Code Playgroud)

重新启动计算机或重新启动 X。现在grep DPI /var/log/Xorg.0.log将显示所需的设置。

2)在我以前的回答中,我建议创建一个/etc/X11/Xsession.d/包含 string的文件xrandr --dpi 90。这在 12.04 中有效,但在 16.04 中此设置不是持久的。在较新的系统中,我们可以在会话开始时添加所需的值。运行“启动应用程序”,按“添加”按钮,将其命名为“修复 DPI”并xrandr --dpi 90在字段中设置命令。保存更改并重新登录。现在xdpyinfo | grep dots来汇报90x90 dots

如果xdpyinfo仍然显示 96 则在运行之前添加超时xrandr。编辑“启动应用程序”中的命令并将其更改为:

bash -c "sleep 15; xrandr --dpi 90"
Run Code Online (Sandbox Code Playgroud)

参考

步骤 2 对于 12.04 是可选的,因为在较旧的系统中,步骤 1 修复了Xorg.0.logxdpyinfo值。

3)在 GNOME3 中,DPI 设置被硬编码为 96,不能直接更改,但可以缩放文本。计算所需的乘数:(desired_DPI / 96在我的情况下90/96 = 0.9375)。现在运行命令(或者dconf如果您愿意,可以使用):

gsettings set org.gnome.desktop.interface text-scaling-factor 0.9375
Run Code Online (Sandbox Code Playgroud)

更改将立即应用。xrdb -query | grep dpi将报告所需的Xft.dpi: 90.

PS还有另一种修复 DPI 设置的方法,它要困难得多,指南中对此进行了描述。我也尝试过,结果是一样的(至少在 12.04 中)。

后记:只有 Ubuntu 开发人员可以肯定地说,由步骤 1 和 2 修改的值在现代 Ubuntu 中是否真的很重要,或者它们被默默地忽略了。只有第 3 步会产生立即引起注意的变化。鼓励那些认为某些应用程序可能仍依赖于 X 服务器设置的用户执行上述所有 3 个步骤。剩下的步骤 3 就足够了——这是现代 Ubuntu 发行版中采用的唯一定制方式。


Lui*_*ado 28

从 14.04 开始,我们有一个有点帮助的选项:

扩展支持

在下图中,我们可以看到它在字体和标题栏上的缩放比例为0.75

在此处输入图片说明

在下图中,我们可以看到它在字体和标题栏上的缩放比例为1.38

在此处输入图片说明

  • 这不只是改变菜单和标题栏,包括启动器,而不是总 DPI? (4认同)
  • 这在 Ubuntu 14.04(德语:“Anzeigegeräte”)中对我有用,我必须将默认字体缩放因子恢复为 1.0(我将其设置为 2.0 berfore)并在“所有设置”->“Darstellung”中重新缩放启动器图标大小” (3认同)

ger*_*ijk 10

就我在 Ubuntu 中的经验而言,更改字体 DPI 设置不仅会改变字体的呈现方式。例如,它也适用于图标和菜单的大小。

只是 Xorg 向桌面环境暗示了物理显示器的 DPI 是什么。是的,您可以在 Xorg.conf 中覆盖它,但这与更改 DE 中的设置具有相同的效果。例如在 Kubuntu/KDE 中:

在此处输入图片说明

  • 是否有此字体管理器的 Ubuntu (Unity) 版本。 (3认同)

tkr*_*use 9

在 2880x1620 的屏幕上遇到了类似的问题。见http://ubuntuforums.org/showthread.php?t=2106549 解决了

xrandr --output DP-0 --scale 0.75x0.75
Run Code Online (Sandbox Code Playgroud)

进入我的 ~/.xprofile

而不是“DP-0”,把任何东西

xrandr
Run Code Online (Sandbox Code Playgroud)

告诉你作为设备名称。

您当然可以调整比例,但是 0.5 在我的屏幕上以某种方式看起来不太好。

  • 这只是一种解决方法,导致您失去真正的分辨率。通过这种缩放,您的显示器只显示一半的像素,而不是以缩放的分辨率重新渲染它 (4认同)

Car*_*tts 7

虽然上面给出的xserver-command=X -dpi ...xrandr --dpi ...可能在 Ubuntu 的早期版本中工作得很好,但在 Ubuntu 13.10(这是我所拥有的)中,Unity 会忽略这些设置并保持 dpi 固定(就 X 服务器而言,96 dpi)。

xrandr --scale ...命令确实按照描述缩放屏幕,但缩放方式会使文本和图标有点模糊。但它有效。

在 Ubuntu 13.10 中,最好的选择可能不是尝试更改 X 服务器的 dpi 设置,而是使用unity-tweak-tool来更改 Unity 使用的默认字体和默认字体缩放因子。您可以unity-tweak-tool从 Ubuntu 软件中心下载。当你打开unity-tweak-tool转到“字体”按钮并尝试将字体缩放系数更改为 1.2 或 1.25(或更高或更低),以使字体显示为适合您的大小。在此控制面板上,您还可以更改 Unity 使用的默认字体。诚然,此解决方案不会缩放屏幕上的所有内容,仅缩放文本,但它在我的 166 dpi 屏幕的笔记本电脑上运行得非常好。看起来像 Firefox 和 Chromium 这样的网络浏览器没有注意到这个设置,但是 Firefox 和 Chromium 都允许你在它们的应用程序设置中设置最小字体大小,以同样的方式放大网页上的字体。


小智 6

在 Ubuntu 14.10 中,使用 15" 笔记本电脑、1920x1080 分辨率(345mm x 145mm)、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
Run Code Online (Sandbox Code Playgroud)

这会将系统范围的 dpi 设置设置为正确的 143dpi:

$ xdpyinfo | grep dots
resolution:    142x142 dots per inch
Run Code Online (Sandbox Code Playgroud)

我也做了上面提到的所有调整:

  • 系统设置(在 Unity 面板中)-> 显示 -> 菜单和标题栏的比例:1.25
  • 在chrome中,我从:chromium-browser --enable_hidpi=1开始
  • 在 Firefox 中我设置了 about:config -> layout.css.devPixelsPerPx: 1.4
  • 在atom.io,我评论了这个问题

我几乎需要调整我打算使用的每个应用程序。同样在浏览器中,这种缩放也会导致图像模糊(图标、网页上的按钮等),因为它也会被缩放。我想通过单击或手势将一些图像设置为 1:1 和 2:1 大小。

希望它在 2014 年 10 月 9 日添加一些有用的信息。


小智 5

安装 Ubuntu-Tweak http://ubuntu-tweak.com/

打开它并转到“调整>字体”。然后更改“文本缩放因子”

效果很好。享受。


kas*_*kas 5

您可以使用以下命令找到您的 DPI:

xrdb -query | grep dpi

您可以通过创建包含以下内容的文件 ~/.Xresources 来设置 DPI:

Xft.dpi: 96

将 96 替换为您所需的 DPI。