快轉到主要內容

使用Wayback在Linux的Wayland桌面啟動X11桌面

· 民國115年丙午年
·
切換繁體/簡體
分類 Linux系統 Linux好用軟體
標籤 X Window Wayland
目錄

用Wayland當作後端,執行X11桌面。

蛤!?

1. 簡介Wayback專案
#

未來Linux世界,X11即將退場,Wayland取而代之。但是現有的大量X Window桌面用戶怎麼辦呢?

2025年,Alpine Linux開發者提出了一個實驗性的解決方法:Wayback。

我們可以這樣理解:Wayback是用Wayland技術開發而成的新一代X Server相容層。你表面上好像啟動的是Wayland桌面,但其實跑的是X11桌面。

根據Wayback專案發起人Ariadne Conill在XDC論壇2025年的簡報,他們認為與其再維護一個獨立的X Server去撐起整個Linux桌面,不如將底層交給Wayland負責,再於上面跑一個X Server就好了。這樣能減少日後Linux各發行版維護X11的負擔。

其實這已經是目前XWayland在做的事情了,XWayland即是跑在Wayland桌面上的nested X Server。RedHat等大型組織的資源基本只剩下維護XWayland,用於在Wayland桌面相容舊版X11程式。至於X.Org X Server本體不多做維護了,只修復安全性問題。

順帶一提,多虧RedHat這種對待X.Org的消極態度,才會導致XLibre這個憤怒fork出現。可惜的是XLibre被FreeDesktop趕跑了,因為違反Code of Conduct被禁止參與貢獻,從此與主流企業Linux發展方向絕緣。Wayback則是很快被FreeDesktop接納了。

XWayland目前的實現是,預設只能在Wayland桌面上執行單個X11程式的視窗,也就是XWayland Rootless Mode。Wayland桌面會在需要執行X11程式的時候自動幫你啟動XWayland視窗。可是XWayland不能執行完整桌面。執行桌面需要XWayland Rooful Mode,它允許在XWayland視窗內執行X11桌面環境。

既然是要執行桌面,總不能讓它以單個視窗執行吧?但XWayland又不能單獨存在,它需要依附一個Wayland合成器才能用。因此Wayback便是提供一個最小的Wayland合成器,讓XWayland Rootful Mode跑在上面,並以全螢幕執行。

以下架構圖來自XDC 2025的簡報

wayback.webp

如此一來可以滿足那些想要繼續用X11桌面用戶的需求,又不用單獨維護X Server了。這就是用Wayland技術去相容舊有X11桌面的辦法。

只是…不知道Wayback為了相容X11,他們又得重新發明多少輪子。目前看來用了一些wlroots的技術。

2. 如何使用Wayback
#

目前Wayback這個專案處於初步階段,未來可能會有許多變化,以上游原始碼為準。

那麼,具體來說Wayback要怎麼用呢?參考Wayback官網文件

  1. 我在Arch Linux測試,嘗試用Wayback啟動XFCE桌面。

  2. 從AUR安裝wayback-x11-git套件

yay -S wayback-x11-git
  1. 編輯~/.xinitrc,填入要啟動的X11桌面
exec dbus-launch --exit-with-session xfce4-session
  1. 重開機,按Ctrl + Alt + F2,登入tty。

  2. 再以wayback-session指令啟動,這類似過去startx的用法。

wayback-session
  1. Wayback好像堅持要用DRM模式啟動,所以得要在真實GPU加速的實機環境下使用。虛擬機會無法啟動。

  2. 此外,尚不清楚要怎麼從Display Manager啟動Wayback,再啟動想要的X11桌面環境。可能得手動寫Desktop Entry並放到/usr/share/xsessions/吧。目前只能在tty打指令啟動Wayback。

相關文章


此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。

(留言板載入中)這是Giscus留言板,需要Github帳號才能留言。支援Markdown語法,若要上傳圖片請善用外部圖床。您的留言會在Github Discussions向所有人公開。

Click here to edit your comments.

(留言板載入中)這是Disqus留言板,您可能會看到Disqus強制投放的廣告。為防止垃圾內容,有時留言可能會被系統判定需審核,導致延遲顯示,請見諒。若要上傳圖片請善用外部圖床網站。