Termux X11可以在Android手機跑X伺服器,這意味著什麼呢?首先,它可以用來執行X11協定的Linux桌面程式,並且顯示性能比VNC延遲更低。此外Termux X11支援部份OpenGL,還可以透過實驗性的virglrenderer實現3D硬體加速。
Termux X11開發靈感來自於Sparkle。
Github的main
分支使用XWayland協定顯示X。
Termux X11可當作單一應用程式的顯示伺服器,也可以用來顯示桌面環境。雖然支援觸控手勢,但還是建議外接鍵盤滑鼠。
1. 安裝Termux X11
安裝Termux
登入Github帳號,到Termux-x11的Github workflows下載zip檔,注意後面的branch,我下載的是
master
。只要下載第二個termux-x11-arm64-v8a-debug
就好。將
termux-x11-arm64-v8a-debug.zip
解壓縮,安裝裡面的APK檔。開啟Termux,安裝x11-repo、termux-x11-nightly
|
|
2. 使用情境1: 直接在Termux使用
Termux的套件都有經過魔改,圖形程式的套件也比較少,所以建議配合Proot發行版使用Termux X11。
Termux能用來測試的套件僅有XFCE4和GIMP。
開啟Termux X11 APP,會顯示這個畫面
開啟Termux,安裝XFCE4和GIMP
|
|
- 執行Termux X11,用dbus啟動XFCE4
|
|
如果遇到Make sure an X server isn't already running(EE)
的錯誤,退出Termux,將Termux和Termux X11的APP強制停止,清除快取,再重試。
接著在Termux-x11的畫面就會看到XFCE4桌面了
不顯示桌面環境,在Termux終端機直接執行
gimp
也是可以的。如果部份APP的字體太大,開啟XFCE4的系統設定 → Appearance → 點選Cutsom DPI。點選通知欄Termux X11的Preferences,可從「觸控模式」切換成「模擬觸控板」。
要中止就是返回Termux按CTRL+C終止行程,狀態欄下滑點選
Exit
。
3. 使用情境2: 配合Proot-distro使用
由於Termux本身套件缺乏,用Proot發行版配合Termux X11會更好。
首先,安裝一個Proot-distro,例如Debian。
開啟Termux X11 APP,再回到Termux。
以一般帳戶
user
登入安裝的Proot-distro。在這裡登入proot時要附加--shared-tmp
的參數,代表掛載Termux的$TMPDIR
目錄到proot的/tmp
目錄。
|
|
- 請確認使用者已在video和audio群組,若無則將其加入:
|
|
- 之後跟Termux直接執行Termux X11一樣,啟動XFCE4桌面。
|
|
您可以安裝
onboard
充當觸控輸入法。由於Proot-distro會有更多現成的套件可以用,所以能運行的桌面程式會多更多。你甚至可以用MultiMC玩Java版Minecraft。
3. 使用情境3: 配合chroot使用
設定帶有XFCE4桌面的chroot Ubuntu with XFCE4
將SELinux設定為Permissive
|
|
- 啟動Termux X11 APP,返回Termxu,執行:
|
|
- 登入chroot,啟動XFCE4
|
|
5. Termux X11啟動真Wayland工作階段
Termux X11是X伺服器,但是呢只要借助Weston
這個Wayland參考實作,我們就能在X伺服器環境下啟動巢狀Wayland工作階段(nested Wayland session)。
用套件管理員安裝weston
後,用終端機啟動:
|
|