postmarektOSはAlpine Linuxをベースに開発されたスマホ向けLinux OSで、現在は多くのAndroidスマホへ移植されています。
- 関連記事:postmarketOSとは?
postmarketOSにはグラフィカルUIがありますが、それでも時々コマンドが必要になります。そのため必要ならSSHでリモートからコマンドを入力するのがおすすめです。postmarketOSもスマホ用端末APPを提供しています。
この記事ではIvonがpostmarketOS v25.12を使ってデモします。デスクトップ環境はPhoshで、postmarketOSの使い方Tipsを解説します。
1. Phoshの操作ロジック#
Phoshはモバイルデバイス専用に設計されたデスクトップ環境で、元の作者はPurism社です。PhoshはGNOMEとwlrootsの技術で開発されています。Waylandコンポジタはphoc、ディスプレイマネージャはTinyDM(postmarketOSメンテナーが特別にパッケージ化したもの)、画面タッチキーボードはSteviaです。SteviaはpostmarketOSメンテナーが開発したタッチキーボードで、機能は純正Squeekboardより多いです。
postmarketOS公式ビルドのイメージでシステムをインストールした場合、デフォルトのユーザーアカウントはuser、パスワードは147147です。
ロック解除後、すべてのアプリケーションが表示されます。アイコンを長押しすると、よく使うアプリケーションを一番上へ追加できます。

複数のアプリケーションを開いた後、画面下から上へスワイプするとマルチタスク画面に入ります。左右にスワイプしてアプリケーションを切り替えます。アプリケーションの小さいウィンドウを上へスワイプすると、そのアプリケーションを閉じられます。

画面上部から下へスワイプすると、クイック設定項目が表示されます。右上を押すとロックまたは電源オフできます。

PhoshにはDockedとUndockedモードがあり、クイック設定で手動切り替えできます。Undockedは一般的なスマホ利用モードで、1つの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にはPC向けLinuxのアプリケーションをインストールできます。GTKやQTで書かれたプログラムも含みます。ただし、すべてのLinuxアプリが小画面でシームレスに使えるわけではありません。UIが自動で変形しないものもあるので、自分でテストする必要があります。参照:Applications by category - postmarketOS Wiki
PhoshにはGNOME Softwareというアプリケーションストアがあり、postmarketOSのAPKパッケージリポジトリやFlathubのアプリケーションをダウンロードできます。AndroidスマホのようにAPPをタップしてダウンロードでき、コマンドを打つ必要はありません。

ただ正直に言うと、GNOME SoftwareのUIはあまり滑らかではありません。なのでソフトウェアをインストールする一番楽な方法は、結局コマンドを打つことです。いつものやつ。
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使用Tips#
postmarketOSのFirefoxはカスタムCSSを追加した改造版で、ユーザーがタッチジェスチャーで操作しやすいようになっています。機能はPC版とほぼ同じですが、検索エンジンとして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を使用しています。Phoshはwlrootsベースで開発されたWaylandデスクトップです。
もしデバイスのType-CがHDMI出力に対応していない場合、どうやって大画面へ投影するのか?
3. postmarketOSの中国語化と入力メソッド#
postmarketOSのPhoshは一部中国語に対応しており、Firefoxのようなよくあるアプリケーションも中国語対応です。
執筆時点では、Phosh環境にはまだ「タッチ」中国語入力メソッドがありません。この場合は内蔵タッチキーボードで物理キーボード入力をエミュレートし、Fcitx5拼音と組み合わせて中国語を入力できます。
- まず中国語フォントとFcitx5パッケージをインストールします。postmarketOSがパッケージ化したものが使えない場合は、Flatpak版Fcitx5を試してください。
sudo apk add font-noto-cjk fcitx5 fcitx5-chinese-addons fcitx5-configtool fcitx5-gtk4 fcitx5-gtk3 fcitx5-qtシステム言語を中国語へ調整したい場合は、Settings → System → Region & Languageを開き、中国語(台湾)へ変更します。その後ログインし直します。

環境変数を編集します:
sudo vim /etc/environment- 以下の内容を入力します
# 入力メソッドフレームワークを指定
GTK_IM_MODULE=fcitx # GNOMEで純Waylandプログラムを動かす場合、この行は設定不要です
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
# 言語環境変数を強制指定
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=次に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 upgradeStable 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 dockerOpenRC関連コマンド:
# サービスの停止または起動には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 reload5. ネットワーク接続#
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 PCのネットワークをUSB Networkingで逆方向にスマホへ共有することもできます。
モバイルネットワーク#
グラフィカルUIで4Gネットワークを有効化できない場合は、以下のコマンドを使います。
- ModemManagerサービスが有効になっているか確認します
sudo systemctl status modemmanagersudo 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インストール後、スマホをPCへ接続するとRNDISデバイスになります。PCからシステムへ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
# PC側からスマホへSSH
ssh 使用者名稱@區域IPタイムゾーン設定&時刻補正#
シンボリックリンクを使ってタイムゾーンを台北に設定します:
sudo ln -sf /usr/share/zoneinfo/Asia/Taipei /etc/localtimeまた、Alpine Linuxのスクリプトで時刻を自動補正します:
sudo setup-timezone
# Asia/Taipeiと入力または起動時の自動時刻同期を設定します:
sudo apk add systemd-timesyncd
sudo systemctl enable systemd-timesyncd

