Debian
如何只在執行Wayland時為Debian下系統的所有使用者設置環境變數?
在 Wayland 下執行 Gnome 時,我想為每個使用者設置一個環境變數。在 X11 下執行 Gnome 時不應設置該變數。具體來說,假設我想在執行 Wayland 時將變數設置
QT_QPA_PLATFORM
為該值。wayland
我嘗試
QT_QPA_PLATFORM=wayland
輸入/usr/share/gdm/env.d/wayland-env
(按照此處提到的文件)(希望這僅在 Wayland 下有效)但這似乎沒有效果,即使在 Wayland 下也是如此:重新啟動後,在 Gnome / Wayland 下登錄,打開終端:沒有任何效果。echo $QT_QPA_PLATFORM
我使用新安裝的 Debian Bullseye。
這應該 在debian下工作:
您可以創建一個簡單的腳本來確定機器是在 X11 還是 Wayland 下執行:
loginctl show-session "$XDG_SESSION_ID" -p Type --value
可以返回
X11
或者Wayland
(也可以返回tty
)所以:
if [[ $(loginctl show-session "$XDG_SESSION_ID" -p Type --value) = 'wayland' ]]; then export QT_QPA_PLATFORM=wayland fi
您也可以只檢查您的會話是否使用
$DISPLAY
或$WAYLAND_DISPLAY
作為其環境變數之一。在 bash 上,您可以放置希望所有使用者在登錄後執行的腳本
/etc/profile.d
。不要忘記使其可執行並確保它具有副檔名.sh
。