Ubuntu是著名的Linux發行版,除了在電腦上使用外,Android裝置同樣能以Proot容器技術、免Root權限安裝Linux發行版。
以下採用的懶人方案是"Udroid",安裝過程只需要三行指令,會幫你安裝好一個XFCE桌面環境的Ubuntu 20.04,內建瀏覽器和文書軟體。
此方案適合給Android平板輔助使用,接上鍵盤滑鼠,便成為一台Linux小電腦了。
因為Termux本身是純文字界面,安裝好Ubuntu不啟動圖形環境,純粹跑程式腳本也是可以的。
1. 什麼是Proot,以及Proot的限制
2. 安裝Termux和VNC Viewer
安裝Termux: Termux使用教學: 在Android手機上執行Linux指令
挑一個喜歡的VNC Viewer安裝,例如開源的AVNC。VNC Viewer在這裡像是遠端桌面檢視器的概念,用於登入Termux在本機所開啟的圖形界面。
3. 執行Ubuntu安裝腳本
- 複製這三行指令,於Termux長按貼上,執行,等待2GB檔案下載完成安裝。對,Udroid真的蠻肥的。
|
|
之後會自動登入。
root@localhost
代表已經進入純文字模式的Proot Ubuntu,試著使用apt update
指令更新套件清單吧。註:Proot預設是登入root,不過Udroid另外有提供一個普通使用者帳號
hippo
,密碼跟root一樣都是secret
。使用以下指令登入:
|
|
- 輸入
exit
退出proot,再輸入一次exit
關閉Termux。
4. 登入圖形桌面環境
- 開啟Termux,輸入指令查看已經安裝的proot-distro:
|
|
- 登入Udroid:
|
|
輸入
vncserver
,會顯示vncserver已於localhost的第幾個port開啟,預設從5900開始算,像下圖的port就是「5901」。注意如果vncserver沒有正確關閉的話,port每次都會變動。開啟AVNC,加入主機,如圖填寫。port為5901,帳號root,密碼secret。
之後點選新增的主機,登入。(Android 12以上版本,Termux可能會在登入時遇到
Signal 9
錯誤,請看這裡)解決)接著便會看到桌面。AVNC能從左側螢幕滑進來開啟鍵盤,另外需要到Settings → Input將Direct touch關閉,才能開啟觸控板滑鼠模式。
關閉圖形界面的正確步驟為:手機返回上一頁,斷開連線。之後回到Termux,輸入
vncserver -kill :1
來終止vncserver。之後再輸入exit
退出Proot。
5. 一些疑難雜症
如何切換成中文/中文顯示不完全
Temrux最好維持英文,Proot則可以改成中文語言。
使用以下指令改成中文重新登入 (參考):
|
|
中文字型無法顯示
安裝Google Noto Sans字體,大部分語言都包了。
|
|
中文輸入法
使用VNC Server時手機輸入的文字就會直接傳送到系統。但是Termux-x11如果使用實體鍵盤,就必須安裝中文輸入法。
音效無法啟動
大部分採用的方案是PulseAudio,將其重啟。參考
Termux輸入:
|
|
Proot-distro裡面輸入:
export PULSE_SERVER=127.0.0.1 && pulseaudio --start --disable-shm=1 --exit-idle-time=-1
無法執行3D應用程式
如果安裝的是Tigervnc,則其VNC Server支援軟體解碼渲染(llvm) 3D內容。
cannot find name for group ID
詳細原理參考這篇,最簡單做法是在Proot-distro家目錄建立以下空檔案:
|
|
無法使用systemd或systemctl指令
Proot-distro內無解。如果使用的是chroot可參考: https://github.com/smaknsk/servicectl