如何在 Linux 中從 Wayland 切換到 Xorg
長期以來,大多數 Linux 發行版都在慢慢地將用戶從 Xorg 轉移到 Wayland。在大多數情況下,這是一件好事。 Wayland 更安全,性能比 X 好得多,並且克服了舊協議的許多障礙。壞消息是,如果您的應用程序希望在 X11 中運行,它們可能無法完美運行。
幸運的是,大多數 Linux 發行版都同時安裝了 Wayland 和 Xorg,您可以輕鬆地在兩者之間切換。在這裡,我們將了解如何從 Wayland 切換到 Xorg。
從 Wayland 切換到 Xorg
從 Wayland 切換到 Xorg 的過程完全取決於您使用的是哪種顯示管理器。如果您在此處找不到您的顯示管理器,那麼對於大多數人來說,該過程非常相似,您可能只需使用這些說明中的任何一個即可完成。
如果您不知道您使用的是哪個顯示管理器,它通常與您的發行版附帶的桌面環境有關。 GNOME 使用 GDM,KDE Plasma 使用 SDDM,而其他幾個桌面環境(如 LXQt、LXDE 和 XFCE)使用 LightDM。
對於下面的示例,我們將使用 Ubuntu 作為我們的發行版,但無論您使用什麼,說明都是相同的。
在 GDM 中
如果您使用 Ubuntu、Fedora 或任何其他隨附 GNOME 作為默認桌面環境 的發行版,您幾乎可以 100% 保證使用 GDM。
登錄屏幕非常簡單,很容易錯過讓您選擇顯示協議的圖標。以下是確保找到它的方法:
- 像往常一樣從登錄屏幕選擇您的用戶名。
- 在輸入密碼之前,請在屏幕右下角查找設置齒輪。
- 點擊齒輪並選擇您喜歡的桌面環境的 Xorg 版本。
完成後,繼續並完成您的登錄。你現在應該在 Xorg 上了!
在 SDDM 中
如果您的發行版附帶 KDE Plasma,您可能正在使用 SDDM。由於 SDDM 允許大量的自定義,一個界面看起來可能與另一個界面截然不同。唯一的保證是您將有一個地方可以選擇您的桌面環境。下拉菜單的位置完全取決於發行版提供的定制。
使用默認的 SDDM 配置,您只需查看屏幕的左上角即可選擇 Xorg 或 Wayland。
這就是您要做的一切!如果您的 SDDM 登錄屏幕看起來不像這個,下拉菜單可能就在您的用戶名的正上方或下方。
在 LightDM 中
如果您不使用 KDE Plasma 或 GNOME,您可能正在使用 LightDM 作為您的顯示管理器。對於提供輕量級或替代桌面環境的發行版來說,這是一個流行的選擇。
在 LightDM 中,您會在用戶名旁邊看到一個圖標。
點擊它,您將能夠選擇您的顯示協議。
只需選擇您需要的內容,然後登錄!
如何檢查你運行的是 Xorg 還是 Wayland
如果你想知道你當前運行的是哪個顯示服務器,你可以在任何終端使用下面的命令:
echo $XDG_SESSION_TYPE
如果您看到 x11
,那麼您正在運行 Xorg。同樣,如果您看到 wayland
,那麼您正在運行 Wayland。
常見問題
我可以強制應用程序在 Wayland 中工作嗎?
如果您的應用程序在 Wayland 中出現故障,他們可能不知道他們應該使用 Wayland 協議。這完全取決於他們使用什麼 API 來生成他們的窗口。除非您將 QT_QPA_PLATFORMTHEME="wayland;xcb"
添加到您的“/etc/environment”文件中,否則某些 Qt 應用程序會出現故障。
如果您的應用正在使用 Electron,請嘗試在啟動選項中使用 --enable-features=UseOzonePlatform --ozone-platform=wayland
標誌啟動它。
在基於 Chromium 的瀏覽器(Brave、Chrome、Opera、Microsoft Edge 等)中,導航至 URL 欄中的 chrome://flags 並選擇 Auto
或 Wayland
在“首選 Ozone 平台”下。
為什麼我不能在 Wayland 中使用 sudo 運行應用程序?
Wayland 中較舊的 Linux 環境實現有時會導致無法以 root 身份運行應用程序。如果您遇到此問題,請確保您運行的是最新的軟件包!發生這種情況是因為 WAYLAND_DISPLAY
等環境變量未能傳遞到根 shell。
如果您仍然遇到此問題,請使用 sudo -E 而不是簡單的 sudo
來運行應用程序。這將保留您的環境變量並解決問題。
Xorg 會被取代嗎?
隨著 Wayland 繼續克服它自己的一些障礙,隨著時間的推移,X 看起來會不那麼有吸引力,應用程序開發人員可能會放棄支持它。與此同時,Xorg 是一個有用的替代方案,可以作為硬件和軟件的“備份”顯示服務器,這些硬件和軟件尚未完全受較新的顯示協議的支持。
圖片來源:作者的精選圖片。
發佈留言