postmarektOS是一款基於Alpine Linux研發的手機Linux作業系統,目前已移植到多款Android手機上。
- 相關文章: postmarketOS通用安裝教學
postmarketOS雖然有圖形化界面,但很多時候還是需要指令,因此建議用SSH遠端輸入指令,postmarketOS也有提供手機終端機APP。
本文使用小米PocoPhone F1 (xiaomi-beryllium)當作示範裝置,桌面環境為Phosh,解說postmarketOS的使用技巧。
選擇此裝置示範的理由:GPU硬體加速正常,4G/Wifi網路正常,充電功能正常,待機功能正常,麥克風喇叭正常,只有相機無法運作。且高通s845處理器+8GB RAM是postmarketOS眾多移植機型中性能最強的。
1. postmarketOS系統管理#
postmarketOS是基於Alpine Linux開發,也沿用了其套件管理器:APK (Alpine Package Keeper)。
你可以在新裝好的系統找到Phosh內建的終端機。
1.1. 系統更新#
使用以下指令更新系統套件:
sudo apk update
sudo apk upgrade
如果你安裝的是Stable Release的postmarketOS,每次有大版本推出可用以下指令更新:
sudo apk add postmarketos-release-upgrade
sudo postmarketos-release-upgrade
重開機指令:
sudo reboot
關機指令:
sudo poweroff
1.2. 安裝套件#
使用以下指令搜尋套件:
sudo apk search "套件名稱"
安裝套件:
sudo apk add "套件名稱"
刪除套件:
sudo apk del "套件名稱"
1.3. 服務管理#
postmarketOS預設使用的init系統為OpenRC。Systemd需要在pmbootstrap手動指定安裝。
停止或啟動服務,例如docker:
sudo rc-service docker stop
sudo rc-service docker start
將服務設定為開機自動啟動:
sudo rc-update add docker
可設定開機啟動執行自訂指令稿。指令稿位於/etc/local.d/
。
# 指令稿以.start或.stop結尾
sudo echo "touch boot /home/ivon/boot" >> /etc/local.d/boot.start
sudo rc-update add local
1.4. 防火牆#
postmarketOS預設的防火牆是iptables,若有需要可安裝UFW方便管理:
sudo apk add ufw
sudo ufw enable
# 禁止所有連入連線
sudo ufw default deny incoming
# 允許SSH通訊埠
sudo ufw allow ssh
# 重新載入規則
sudo ufw reload
2. 網路連接#
2.1. Wifi網路#
跟一般手機類似,網路連線只要點選Phosh桌面的Settings → 行動網路或Wifi,即可上網。
終端機則是用ip addr
查看網卡。再透過nmcli連線:
sudo nmcli dev wifi connect "Wifi名稱" password "Wifi密碼" ifname wlan0
sudo nmcli device set wlan0 autoconnect yes
如果手機無法上網,亦可將Linux電腦的網路用 USB Networking反向分享給手機。
2.2. 行動網路#
如果圖形界面無法啟用4G網路再使用以下指令。
- 確認有啟用ModemManager服務
sudo rc-service modemmanager start
- 使用
sudo nmcli d
查看網路狀況
DEVICE TYPE STATE CONNECTION
qrtr0 gsm disconnected --
- 嘗試使用APN自動連線
sudo nmcli con add con-name "modem" type "gsm" ifname "qrtr0" auto-config "TRUE"
- 啟用連線
sudo nmcli c up "modem"
2.3. SSH連線#
postmarketOS安裝後可將手機連到電腦,變成RNDIS裝置,從電腦SSH至系統,IP是固定的(需用sudo rc-service sshd status
確認手機的SSH服務有無運作):
ssh 使用者名稱@172.16.42.1
如果手機本身有連上網路,那麼透過區域IP連線也是可以的:
# 手機端啟用SSH
sudo apk update
sudo apk add openssh
sudo rc-service sshd start
sudo rc-update add sshd
# 查看手機IP
ip addr
# 電腦端SSH到手機
ssh 使用者名稱@區域IP
2.4. 啟用4G網路熱點分享#
Phosh桌面的Settings → Wifi,開啟Wifi,再點選右上角開啟行動熱點。
2.5. 設定時區&校正時間#
使用符號連結設定時區為台北:
sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
另使用Alpine Linux的指令稿自動校正時間:
sudo setup-timezone
# 輸入Asia/Taipei
3. postmarketOS中文化與輸入法#
postmarketOS的Phosh部份支援中文,像Firefox這類常見的應用程式也是支援中文的。
撰文時點Phosh環境尚未有「觸控」中文輸入法,僅Plasma Mobile有提供簡體拼音,即Maliit Keyboard。
Phosh環境下可以用內建螢幕鍵盤"Squeekboard"的實體鍵盤輸入功能,搭配Fcitx5拼音輸入中文。
- 首先安裝中文字體和Fcitx5套件
sudo apk add font-noto-cjk fcitx5 fcitx5-chinese-addons
- 編輯環境變數
sudo vim /etc/environment
- 加入以下參數後重開機。
LANG=zh_TW.UTF-8
LC_CTYPE="zh_TW.UTF-8"
LC_NUMERIC="zh_TW.UTF-8"
LC_TIME="zh_TW.UTF-8"
LC_COLLATE="zh_TW.UTF-8"
LC_MONETARY="zh_TW.UTF-8"
LC_MESSAGES="zh_TW.UTF-8"
LC_PAPER="zh_TW.UTF-8"
LC_NAME="zh_TW.UTF-8"
LC_ADDRESS="zh_TW.UTF-8"
LC_TELEPHONE="zh_TW.UTF-8"
LC_MEASUREMENT="zh_TW.UTF-8"
LC_IDENTIFICATION="zh_TW.UTF-8"
LC_ALL=
參考 Arch Wiki,啟用Fcitx5的拼音輸入法。
Phosh 0.35.0之後的版本,需要點選底部的藥丸條才能喚醒螢幕鍵盤。鍵盤模式有一個是"Terminal"配置,可以模擬實體鍵盤輸入。按下CTRL+空白鍵就能喚醒Fcitx5的拼音輸入法。
4. 客製化Phosh桌面環境#
- 安裝postmarketOS Tweaks APP:
sudo apk add postmarketos-tweaks
開啟此APP後你就能設定桌布和睡眠模式(暫停,suspend)的觸發時間。
若要讓特定APP阻止手機進入睡眠,使用gnome-session-inhibit指令:
gnome-session-inhibit –inhibit suspend <指令>
5. 好用的Linux手機APP#
完整列表#
應用程式商店#
打造像Android手機一樣點擊下載APP的感覺,在背景自動更新,而無須終端機和sudo。
安裝Flatpak和Gnome軟體商店:
sudo apk add flatpak gnome-software gnome-software-plugin-flatpak
flatpak remote-add --user --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo
手機版Firefox使用小技巧#
postmarketOS的Firefox跟電腦版差不多,但是會強迫使用Duckduckgo當搜尋引擎。點選Firefox右下角設定→搜尋→還原預設搜尋引擎,就能使用Google搜尋。
這裡Firefox預設的User Agent是「Android上的Firefox」。你可以安裝 User-Agent Switcher and Manager切換User Agent。
地圖導航#
到系統設定 → 隱私,開啟位置存取權限,接著安裝地圖導航APP。
推薦透過Flatpak安裝 Pure Maps,可用來導航。
6. 用Waydroid跑Android APP#
7. 跑Docker容器#
postmarketOS全部機型皆支援Docker。
安裝Docker服務:
sudo apk add docker docker-compose
sudo addgroup $USER docker
sudo rc-update add docker boot
sudo service docker start
8. 遠端桌面#
postmarketOS的桌面環境大多是使用Wayland。
裝置不支援HDMI輸出,要怎麼投影到大螢幕?
9. 更換桌面環境#
注意:更換桌面環境可能導致圖示混亂。