X11

X DPI(每英寸點數)設置是否僅用於文本縮放?

  • July 5, 2020

在 Linux 上,DPI(每英寸點數)設置為96預設值,例如可以在X啟動參數上全域更改X -dpi 120

這似乎主要影響文本/字型縮放。相比之下,當螢幕解析度(例如 1920x1080)發生變化時,這會影響一切(視窗/文本/圖像/等)。

DPI 是否僅用於文本縮放?

DPI

DPI 代表每英寸點數,是空間列印/顯示的量度,特別是在 1 英寸(2.54 厘米)的跨度內可以放置在一條線上的單個點的數量。電腦的螢幕沒有點,但有像素,密切相關的概念是每英寸像素或 PPI,因此 DPI 是用 PPI 概念實現的。預設96DPI 測量意味著 96x96 垂直和水平。此外*,什麼是 DPI,什麼時候重要?*影片資訊量很大。

解析度

原生螢幕解析度,表示螢幕物理上具有的像素數(X、Y 水平和垂直)。例如,全高畫質螢幕 1920x1080 的水平物理像素數為 1920,垂直物理像素數為 1080,這意味著整個螢幕總共有 2073600 像素。

與 DPI(每英寸點數)相比,解析度與物理尺寸測量完全無關,而只是水平/垂直像素數。

Xorg、DPI 和解析度

X 伺服器需要、獲取和使用真實/猜測的螢幕空間測量及其解析度,以實現 DPI/PPI 功能。在桌面配置中,我們確實使用了螢幕解析度和 DPI/PPI 值,**每個顯示的元素(文本、應用程序等)都實現了大小調整機制來顯示其內容,大部分時間都使用像素,**這就是 DPI 設置的原因不會影響大多數視窗大小,因為它們執行的是像素測量而不是 DPI。另一方面,文本/字型確實實現了 DPI/PPI 測量,並且當 DPI 值更改時,它們的大小也會更改。

命令和配置

使用 SDDM 更改 DPI:

# Edit /etc/sddm.conf with the following
[X11]
ServerArguments=-nolisten tcp -dpi 120

使用 Lightdm 更改 DPI:

# Edit /etc/lightdm/lightdm.conf.d/lightdm.conf with the following 
[SeatDefaults]
xserver-command=X -dpi 120

獲取目前 DPI

xdpyinfo | grep dots
xrdb -query | grep dpi

獲取螢幕測量

# Note that xrandr Xorg extension does not display an accurate measurement  
xrandr | grep -w connected
# alternative
xdpyinfo | grep -B2 resolution

獲得準確的螢幕測量結果(需要 sudo/root)

monitor-edid
# or
monitor-edid | monitor-parse-edid
# or
get-edid | parse-edid

連結:1、2、3 _ _ _

引用自:https://unix.stackexchange.com/questions/596765