X11
X DPI(每英寸點數)設置是否僅用於文本縮放?
在 Linux 上,DPI(每英寸點數)設置為
96
預設值,例如可以在X
啟動參數上全域更改X -dpi 120
這似乎主要影響文本/字型縮放。相比之下,當螢幕解析度(例如 1920x1080)發生變化時,這會影響一切(視窗/文本/圖像/等)。
DPI 是否僅用於文本縮放?
DPI
DPI 代表每英寸點數,是空間列印/顯示的量度,特別是在 1 英寸(2.54 厘米)的跨度內可以放置在一條線上的單個點的數量。電腦的螢幕沒有點,但有像素,密切相關的概念是每英寸像素或 PPI,因此 DPI 是用 PPI 概念實現的。預設
96
DPI 測量意味著 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