postmarektOS是一款基於Alpine Linux研發的手機Linux作業系統,目前已移植到多款Android手機上。
- 相關文章:postmarketOS是什麼?
postmarketOS雖然有圖形化界面,但有時候還是需要指令,因此建議用SSH遠端輸入指令,postmarketOS也有提供手機終端機APP。
本文Ivon使用postmarketOS v25.06做示範,桌面環境為Phosh,解說postmarketOS的使用技巧。
1. Phosh的操作邏輯#
Phosh是一個專為行動裝置設計Wayland合成器。
如果使用postmarketOS官方建置的映像檔,預設使用者帳號是user
,密碼是147147
。
解鎖之後會看到所有應用程式,長按圖示可以將常用的應用程式加到最上面。
開啟多個應用程式之後,用手勢從螢幕底部往上滑動,進入多工界面,左右滑動切換應用程式。將應用程式的小視窗往上滑,就可以關閉應用程式。
從螢幕頂部往下滑動,會看到快捷設定選項。按右上角鎖定或關機。
Phosh有分為Docked與Undocked模式,可以手動在快捷設定切換。Undocked就是一般手機使用模式,一個APP視窗佔滿整個螢幕。至於Docked模式會在接上實體鍵盤或者外接顯示器的時候自動開啟,讓視窗變成能夠縮放大小並重疊在一起,就好像在操作桌面Linux系統。
若要修改桌布和鈴聲,安裝postmarketOS Tweaks APP:
sudo apk add postmarketos-tweaks
開啟此APP後你就能設定桌布、睡眠模式(暫停,suspend)的觸發時間,還有要不要強制應用程式UI縮放為小螢幕。
要讓特定APP阻止手機進入睡眠,使用gnome-session-inhibit指令:
gnome-session-inhibit –inhibit suspend <指令>
2. Linux手機APP#
應用商店#
儘管你可以在postmarketOS安裝電腦Linux的應用,但不是所有Linux應用都能無縫在小螢幕上使用,有的UI不會自動變形,需要自行測試。參看:Applications by category - postmarketOS Wiki
Phosh有應用程式商店,叫做GNOME Software,可以用來下載postmarketOS的APK套件庫以及Flathub的應用程式。就像Android手機一樣點擊下載APP,而無需打指令。
不過老實說,GNOME Software界面不太流暢,因此要安裝軟體最方便的方式還是打指令。
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是加入自訂CSS的修改版,方便使用者以觸控手勢操作。功能跟電腦版差不多,但是會強迫使用Duckduckgo當搜尋引擎。點選Firefox右下角設定→搜尋→還原預設搜尋引擎,就能使用Google搜尋。
這裡Firefox預設的User Agent是「Android上的Firefox」。你可以安裝User-Agent Switcher and Manager切換User Agent。
地圖導航#
到系統設定 → 隱私,開啟位置存取權限,接著安裝地圖導航APP。
推薦透過Flatpak安裝Pure Maps,可用來導航。
用Waydroid跑Android APP#
利用LXC容器執行Android APP。參見 Waydroid + postmarketOS使用教學
遠端桌面#
postmarketOS的桌面環境大多是使用Wayland。
如果裝置不支援HDMI輸出,要怎麼投影到大螢幕?
3. postmarketOS中文化與輸入法#
postmarketOS的Phosh部份支援中文,像Firefox這類常見的應用程式也是支援中文的。
撰文時點Phosh環境尚未有「觸控」中文輸入法,這時可以用內建觸控鍵盤,模擬實體鍵盤輸入,搭配Fcitx5拼音輸入中文。
- 首先安裝中文字體和Fcitx5套件
sudo apk add font-noto-cjk fcitx5 fcitx5-chinese-addons
欲調整系統語言為中文,開啟Settings → System → Region & Launguage,修改為中文(台灣)。然後重新登入。
編輯環境變數:
sudo vim /etc/environment
- 填入以下內容
GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
再點選Fcitx5圖示,啟用拼音輸入法。
Phosh需要長按螢幕底部的藥丸條才能喚醒螢幕鍵盤(Docked的時候不會顯示觸控鍵盤)。鍵盤模式有一個是「Terminal」配置,可以模擬實體鍵盤輸入。按下CTRL+空白鍵就能喚醒Fcitx5的拼音輸入法。
4. postmarketOS系統管理#
postmarketOS是基於Alpine Linux開發,也沿用了其套件管理器:APK (Alpine Package Keeper)。這個APK跟Android的APK是沒有任何關係的。
通常,你可以在新裝好的系統找到終端機APP。
postmarketOS使用doas
來提昇使用者權限,當你執行sudo
指令的時候其實是連結到doas
的。如果使用postmarketOS官方建置的映像檔,預設使用者帳號是user
,密碼是147147
。
套件管理#
使用以下指令更新系統套件:
sudo apk update
sudo apk upgrade
如果你安裝的是Stable Release的postmarketOS,每次有大版本推出(例如v24.06 → v24.12)可用以下指令更新:
sudo apk add postmarketos-release-upgrade
sudo postmarketos-release-upgrade
重開機指令:
sudo reboot
關機指令:
sudo poweroff
使用以下指令搜尋套件:
sudo apk search "套件名稱"
安裝套件:
sudo apk add "套件名稱"
刪除套件:
sudo apk del "套件名稱"
服務管理#
postmarketOS使用的init系統為Systemd。在v24.12以前版本是使用OpenRC,在v25.06以後就改用Systemd了。使用者可以在pmbootstrap init
階段自由選擇要用OpenRC還是Systemd,不過官方預先建置的系統映像檔是使用Systemd。
Systemd相關指令:
# 停止或啟動服務使用systemctl,例如docker:
sudo systemctl stop docker
sudo systemctl start docker
# 利用systemctl將服務設定開機自動啟動:
sudo systemctl enable docker
OpenRC相關指令:
# 停止或啟動服務使用rc-service,例如docker:
sudo rc-service docker stop
sudo rc-service docker start
# 利用rc-update將服務設定開機自動啟動:
sudo rc-update add docker
防火牆#
postmarketOS預設的防火牆是iptables,若有需要可安裝UFW方便管理:
sudo apk add ufw
sudo systemctl enable --now ufw
# 禁止所有連入連線
sudo ufw default deny incoming
# 允許SSH通訊埠
sudo ufw allow ssh
# 重新載入規則
sudo ufw reload
5. 網路連接#
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反向分享給手機。
行動網路#
如果圖形界面無法啟用4G網路再使用以下指令。
- 確認有啟用ModemManager服務
sudo systemctl status modemmanager
- 使用
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"
如果要啟用4G網路熱點分享:Phosh桌面的Settings → Wifi,開啟Wifi,再點選右上角開啟行動熱點。
SSH連線#
postmarketOS安裝後可將手機連到電腦,變成RNDIS裝置,從電腦SSH至系統,IP是固定的(需用sudo systemctl status sshd
確認手機的SSH服務有無運作):
ssh 使用者名稱@172.16.42.1
如果手機本身有連上網路,那麼透過區域IP連線也是可以的:
# 手機端啟用SSH
sudo apk update
sudo apk add openssh
sudo systemctl start sshd
sudo systemctl enable sshd
# 查看手機IP
ip addr
# 電腦端SSH到手機
ssh 使用者名稱@區域IP
設定時區&校正時間#
使用符號連結設定時區為台北:
sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtime
另使用Alpine Linux的指令稿自動校正時間:
sudo setup-timezone
# 輸入Asia/Taipei