Linux手機: PinePhone、Librem 5
Linux手機發行版: postmarketOS、Mobian、Manjaro ARM、PureOS
其APP目前相比Android和iOS來說少很多,不少也是從桌面軟體移植過來的。
以下簡介概況,再提出軟體少的解決辦法,並在最後推薦一些實用APP。
1. 2022年Linux手機軟體概況#
Linux手機發行版通常是用 GTK + libhandy開發APP,有些會另外收錄針對手機界面微調的程式。
KDE Plasma Mobile的APP則是另一個代表例子:全部都用 QT Quick開發,並且還用 Kirigami這個框架統一風格。KDE的APP大部分都很實用,但這些APP很大程度仰賴Plasma桌面環境,如果在Phosh上安裝KDE社群開發的APP,很容易跑板,或者圖標缺東缺西。
此外,下載APP的管道也是一個問題。每個發行板自行打包,讓使用者透過套件安裝方式來安裝APP是很方便,但就會產生問題,例如我觀察到在Phosh上安裝KDE的APP,除了icon消失,還會出現畫面模糊的問題。
另外還有中文輸入法…Linux手機目前也缺乏中文觸控輸入法。起碼Plasma Mobile環境下有Maliit Keyboard,已經支援簡體拼音和注音,但只限Plasma Mobile可以使用。而Phosh的鍵盤叫做Sqeuekboard,還沒有任何中文鍵盤出現。
我不用Plasma Mobile是因為太不穩定,系統界面很容易當掉。而Phosh雖然簡單,但是穩定許多。
如果硬要在Phosh打中文,那你只能使用 線上虛擬鍵盤輸入法這種網站,再把中文字給複製出來了。
2. 解決之道一:改用Flatpak撐著吧#
在以上問題解決前,最好採用折衷方案: Flatpak。在桌面Linux已行之有年,很多發行版都支援Flatpak,連Alpine Linux都有。Flatpak簡單說就是跨發行板的套件管理員,線上倉庫為Flathub。打包成Flatpak發布的應用程式,能夠在任一發行版上安裝。缺點就是因為要下載應用程式的依賴套件,程式會變很肥,一個文字編輯器可能動輒好幾百MB。
每個發行版的套件管理員可能會收錄Flatpak上已有的程式,但由於每個發行版編譯的版本會有所不同,統一透過Flatpak下載應用程式可以消弭這種差距。尤其是Linux手機APP開發日新月異的情況下,能夠透過一樣的通道收到更新總是好的。
Flatpak並沒有跨平台的功能,在瀏覽APP時,Flatpak會自動過濾掉非該架構的APP,像是ARM處理器就只會看到支援ARM的APP。
實務上,以Phosh為例,發行版為 postmarketOS的情況下,安裝Flatpak後,再安裝一個Gnome Software作為瀏覽線上APP的前端,這樣就有比較親民的感覺。
雖然Gnome Software的前端常常沒有回應…導致還是要用指令安裝Flathub上的APP。
3. 解決之道二:實在不行就安裝Android APP吧#
某些APP就是不可能有Linux版。
Anbox和 Waydroid可以在Linux系統上跑Android程式,而且手機本來就是ARM架構,相容性問題較小。
但這二個容器方案各有各自缺點,Anbox太舊,Waydroid的bug很多。
4. 實用Linux手機APP推薦#
以下列表是我參考各大WIKI下載,並實際使用過的感想。