快轉到主要內容

把手機當電腦用:iPad + Android Termux跑電腦版Linux軟體

分類   智慧型手機 Termux教學
標籤   Termux Linux Android IPad KasmVNC
🗓️ 民國113年 甲辰年
✍ 切換正體/簡體字
目錄

iPad is too limited, Android is too tiny. So why not combine then together?

使用 Android + Termux Proot Debian + KasmVNC + iPad的Safari,建立一個跑電腦版軟體的行動工作環境。

iPad做不到的事,就讓Android手機來做吧!

透過Termux Proot將Android手機當作電腦使用,執行Linux電腦軟體,再透過iPad控制。

iPad遠端到Android上的Linux容器操作。iPad做不到的事,就讓Android手機來做吧!

Joplin整理筆記

Visual Studio Code啟動pygame

不明白標題在說什麼?我想做的就是這樣的使用情景:

1. 動機
#

我現在的行動工作搭配是Android手機搭配iPad,雖然是不同生態系,但是透過LocalSend這類自由軟體的幫助,二者相處還算愜意。得益於Android手機的大電量,開熱點給iPad用個6小時好像也不會沒電。

這一切都是為了在iPad跑電腦版軟體,有些軟體電腦版非常智慧,移植到手機版後就變成智障。不論自由軟體還是專有軟體皆然。

比如筆記軟體Joplin,iPad的Joplin只是iPhone放大版,功能過於簡陋,尚未移植許多電腦版的功能,例如筆記關係圖。在處理筆記的時候總是綁手綁腳,很多東西得開電腦處理。所以我就在想要怎麼跑電腦版Joplin。

把iPad賣掉換Surface嗎,是有想過,不過不要削足適履,所以就拿Android手機的Termux出來用了。Termux不需要Root就能跑Linux桌面環境的容器,並且可以透過VNC給iPad存取。

之前分享過 Scrcpy Rustdesk鏡射Android到大螢幕的做法,但我不需要整個Android畫面呀!只要Linux就好。headless的執行VNC伺服器,只要Android RAM夠大掛在背景就不會輕易被kill,所以Linux程式在跑的時候Android手機還是可以使用。

iPad的網路都是從Android分享的,因此遠端桌面的區域連線延遲低。iPad就成為了Android的Linux容器的螢幕。

若是能選擇的話,Android手機應該要用樹莓派代替,我有寫過 樹莓派搭配iPad的用法,畢竟I/O較為完整,樹莓派的體積亦適合隨身攜帶。但是如果手機有大電量和強力處理器,何不就地利用呢?就比如我這支Sony Xperia 10 V性能只有iPad Air 6的三分之一,但開熱點不發熱,還有超長續航,就壓榨拿來跑一下Linux吧!

ㄟ你說這樣有點本末倒置,iPad性能那麼強,結果卻只是當作遠端桌面的客戶端,本應當負擔的高強度運算全部壓在Android端?沒辦法啊,誰教你iOS連跑個iSH Shell都費力,虛擬機又遲不開放,故Android就算慢,能跑得東西還是比iPad要多元,比iPad要更像電腦。等到Android被壓榨到沒電之後,再從你iPad這邊透過TypeC充電。

2. 設定過程
#

為了簡化登入流程,我採用的是KasmVNC的網頁VNC伺服器方案,故iPad端什麼APP都不用準備,只要瀏覽器就能登入了。

  1. 設定 Termux Proot Debian,安裝XFCE桌面

  2. 安裝 ARM64架構的KasmVNC套件

  3. 啟動KasmVNC伺服器,依照指示新增使用者,設定使用XFCE

vncserver
  1. 啟動KasmVNC伺服器
vncserver
  1. 開啟熱點,分享網路給iPad

  2. 取得Android的區域IP

ifconfig
  1. 在iPad的Safari輸入https://手機區域IP:8444,登入帳號即可連線

3. 在Termux的Linux安裝軟體
#

大部分自由軟體都有ARM64版本的套件,用APT安裝即可。

關於Joplin,我使用 leaguecn編譯的deb套件。剛好遇到志同道合之人,他也有在Android跑Joplin電腦版!

Chromium核心的軟體在Proot內啟動的時候,需要編輯/usr/share/applications/*.desktop的Exec==選項,加入--no-sandbox參數才能啟動,Visual Studio Code亦同。

儘管iPadOS的小白點能夠模擬觸控板,但是還是建議接上藍牙鍵盤操作Linux桌面。

雖然KasmVNC可以使用iOS的輸入法打中文,但是不太穩定,所以我是在Termux容器裡面安裝Fcitx5輸入。

4. 尚未解決的問題
#

無法串流Linux桌面的音訊到iPad,單靠KasmVNC做不到。因為iOS沒有PulseAudio伺服器,只能從Android端的Termux發出聲音。不過在外的話也不會隨便把音樂放出來吧,接上耳機就搞定。

關於VNC圖形效率不好的問題,KasmVNC已經是針對現代技術重新設計的伺服器了,起碼品質比TigerVNC好,別強求了。

這裡倒是有個值得考慮的方案:在iPad跑X伺服器,再透過X11 Forwarding投影Linux容器的螢幕,就像Termux X11那樣用法,只不過是遠端。可是App Store唯一的X Server APP Mocha X11好貴呀…而且我用試用版測試了VirGL 3D加速有問題。

相關文章

Android手機玩Steam上的Windows遊戲 ~ Mobox模擬器使用教學
分類   智慧型手機 Termux教學
標籤   Steam Termux Android
想買新平板,適不適合再買iPad當作行動辦公裝置?
分類   智慧型手機 3C開箱評測
標籤   IPad IOS Linux Android
Android免刷機跑postmarketOS與Phosh桌面(Termux proot)
分類   智慧型手機 Termux教學
標籤   PostmarketOS Termux GNOME KDE Plasma PinePhone

留言板

此處提供二種留言板。點選按鈕,選擇您覺得方便的留言板。要討論程式碼請用Giscus,匿名討論請用Disqus。

這是Giscus留言板,需要Github帳號才能留言。支援markdown語法,若要上傳圖片請貼Imgur或Postimages。您的留言會在Github Discussions向所有人公開。

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