Linux

是什麼讓 HiDPI 發揮作用?

  • August 31, 2018

我正在測試 Ubuntu Bionic、GNOME、elementary OS、KDE、Xfce 4.13(GTK3 版本,所有應用程序都已移植到 GTK3)。

所有發行版都支持跨框架的 hidpi:當我啟動 Google Chrome/Firefox/etc 時。(GTK 3)、VirtualBox (Qt 5) 或 Spotify (Electron) DE 中的某些組件檢測到我的螢幕是 4K 並執行正確的操作,以便應用程序以 2 倍縮放。

Xfce 除外。在 Xfce 中,第三方應用程序執行不佳,尤其是 Qt 和 Electron 應用程序,它們從未以正確的縮放比例啟動。

​Xfce 4.13 有一個“縮放”選項,您可以使用它來指定您希望將所有內容縮放到 x2。但是,即使我這樣做了,Qt 和 Electron 應用程序也不會選擇該設置。除了 Xfce 之外,我還嘗試使用 gsettings 設置“GNOME”設置,但無濟於事。Qt 和 Electron 應用程序看起來仍然很糟糕,而在 GNOME 上它們開箱即用看起來很棒。

我的問題是:Ubuntu、初級和在一定程度上 KDE 如何使使用不同框架的應用程序都能正確擴展?

當然,我知道如何手動以正確的縮放比例啟動 Qt 應用程序,但我想知道是什麼讓這個過程在 Xfce 以外的發行版上變得如此容易。

有沒有我可以從另一個發行版安裝的包,它可以讓 Xfce 行為“正確”,所以如果我啟動 GTK3、Qt 或 Electron 應用程序,它們可以正確縮放?它是啟動器而不是傳遞一些變數,還是一個較低級別的組件?

不幸的是,沒有這樣的全域選項可以設置。這些分佈正在為您設置各種變數。

許多應用程序都在考慮Xft.dpi設置~/.Xresources(這是我設置的唯一選項,但我幾乎不使用 GUI 應用程序)

從 Qt 5.6 開始,可以指示 Qt 5 應用程序通過導出來遵守螢幕 DPI

export QT_AUTO_SCREEN_SCALE_FACTOR=1

如果這不起作用,請嘗試

export QT_AUTO_SCREEN_SCALE_FACTOR=0
export QT_SCALE_FACTOR=2

GDK 3 (GTK+ 3) 可以用

export GDK_SCALE=2

電子應用程序很難在 linux 上處理$$ 1 $$ $$ 2 $$. 例如,他們尊重text-scaling-factorGNOME 的選項$$ 3 $$.

在這裡,您別無選擇,只能--force-device-scale-factor=1.5用作論據。

有據可查的 Arch Linux HiDPI wiki 頁面供進一步閱讀

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