🚀 はじめに
Androidの Termux は、スマホでLinux的な環境を使える便利なアプリ。
この記事では zsh と oh-my-zsh を組み合わせて、オートサジェスト・シンタックスハイライト・魅力的なプロンプトを備えた、快適なシェル環境をゼロから構築します。
できるようになること
- Termuxに zsh を導入してデフォルト化
- oh-my-zsh でプラグインとテーマを設定
- Powerlevel10k + Nerd Fonts で見やすいプロンプトを実現
- よくあるつまずきを事前に回避
こんな人向け
- 技術初心者〜中級者
- アプリ開発・プログラミング・Python・Linuxに興味がある
- 実際に手を動かして試したい、エラーを避けたい
初心者でも安心な理由
- Step形式で 必ず動く最小構成 → 便利な拡張 の順で説明
- 失敗例・回避策・復旧方法までカバー
注意:Play ストア版 Termux は更新停止です。F-Droid または GitHub Releases から最新版を入手しましょう。
(参考:Termux公式Wiki / GitHub)
💡 概要解説
Termuxとは何か
- Android上で動く 端末エミュレーター + パッケージ管理(
pkg)を備えた環境。 - 追加のroot不要で、bash/zsh、Python、git、ssh 等を扱える。
zsh / oh-my-zshとは
- zsh:高機能なシェル。補完や設定の自由度が高く、開発者に人気。
- oh-my-zsh:zsh向けのフレームワーク。テーマやプラグインを簡単に導入・管理できる。
なにが便利?
- 補完・サジェストでタイプ量が激減
- シンタックスハイライトでタイポに気づきやすい
- 美しいプロンプトで分岐・ブランチ・ステータス可視化
どんな場面で使える?
- Python/Nodeの開発前準備(仮想環境作成、パッケージ導入)
- Git操作(ブランチやステータスが一目で分かる)
- SSH・サーバ管理(ショートカットや履歴が効く)
📱 Step 1:インストールと前提条件
- Termuxの準備
- F-Droid または GitHub Releases から最新版を導入
- 起動後、パッケージを更新
# パッケージの更新(まずはここから)
pkg update && pkg upgrade -y
# よく使う基本ツール
pkg install -y git curl wget tar
補足:通信が遅いときは
termux-change-repoを実行してミラーを変更します。
- zshのインストール
# zshを導入
pkg install -y zsh
# バージョン確認
zsh --version
- oh-my-zshのインストール
# oh-my-zsh公式インストールスクリプト(curl版)
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# gitが無いと言われたら前段でgitをインストールしてから再実行
Termuxでのポイント:インストーラが
chshを試みても 無視してOK。Termuxはログインシェルをchshで切り替えないため、後述の方法で zsh を起動時に実行します。
- 起動時にzshを使う設定
# bashが起動したら自動でzshに切り替える設定を .bashrc に追記
echo 'if [ -x "$PREFIX/bin/zsh" ]; then exec zsh; fi' >> ~/.bashrc
# 反映:Termuxを再起動するか、今すぐ切り替え
source ~/.bashrc
裏ワザ:
~/.zshrcが存在すれば zsh の設定が読み込まれます。初期化スクリプトは oh-my-zsh が生成します。
🛠️ Step 2:基本的な使い方
- テーマとプラグインの設定ファイル(~/.zshrc)
- oh-my-zshは
~/.zshrcに ZSH_THEME と plugins を列挙します。 - まずは最小構成から。
- oh-my-zshは
# ~/.zshrc のキー項目(例)
# oh-my-zsh本体へのパス(インストーラが設定)
export ZSH="$HOME/.oh-my-zsh"
# テーマ(まずは 'robbyrussell' か 'agnoster' などから)
ZSH_THEME="robbyrussell"
# 利用するプラグイン(最小構成)
plugins=(git)
# 変更を反映
source ~/.zshrc
- 便利プラグインの追加
- zsh-autosuggestions:タイプ中に履歴/候補を薄い文字で提示
- zsh-syntax-highlighting:コマンドや引数を色分け
- oh-my-zshのカスタムディレクトリにクローンします。
# autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
# syntax-highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
# ~/.zshrc のプラグイン一覧に追加
# 例:plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
sed -i 's/plugins=(git)/plugins=(git zsh-autosuggestions zsh-syntax-highlighting)/' ~/.zshrc
# 反映
source ~/.zshrc
注意:
zsh-syntax-highlightingは 必ず最後に読み込むのが推奨です。順序にこだわる場合は.zshrcに手動で追記しましょう。
🔧 Step 3:実用的な例
A. 美しいプロンプト:Powerlevel10k(推奨)
# テーマを導入(oh-my-zshのテーマディレクトリへ)
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k
# ~/.zshrc のテーマを切り替え
sed -i 's/^ZSH_THEME=".*"/ZSH_THEME="powerlevel10k\/powerlevel10k"/' ~/.zshrc
# 反映
source ~/.zshrc
# 初回起動で p10k の対話的セットアップが始まります
フォントの準備:グリフ(アイコン)を綺麗に表示するには Nerd Fonts を Termux に設定。
~/.termux/font.ttfとして配置すれば反映されます。
# 例:JetBrainsMono Nerd Font をダウンロードして適用(URLは変更される場合あり)
mkdir -p ~/.termux
cd ~/.termux
wget -O font.ttf https://github.com/ryanoasis/nerd-fonts/releases/latest/download/JetBrainsMono.zip
# ↑ zipから ttf を取り出す必要あり。スマホのファイルマネージャで解凍して配置してもOK。
# Termuxを再起動するとフォントが適用されます
代替手段:Termux設定メニューからフォント選択が可能なビルドもあります。ビルド差異により挙動が異なるため、最新版のリリースノートを確認しましょう。
B. よく使うエイリアス(時短)
# ~/.zshrc に追記(例)
alias ll='ls -lah --color=auto'
alias gs='git status'
alias gb='git branch'
alias gl='git log --oneline --graph --decorate'
alias py='python'
source ~/.zshrc
C. Python開発の初期化
# Pythonと仮想環境ツール
pkg install -y python
python -m pip install --upgrade pip
# venvで仮想環境
python -m venv .venv
source .venv/bin/activate
pip install requests numpy
⚠️ 補足・注意点
ミラーエラー:
pkg updateが失敗する場合はtermux-change-repoを実行して、F-Droid / SciNet / Tsinghua など安定ミラーへ切り替え。
ストレージアクセス:
termux-setup-storageを実行すると、/storage/emulated/0へのアクセスが可能。初回は権限ダイアログに許可が必要。
Play版の非推奨:Google PlayのTermuxは更新停止。F-Droid版やGitHub版を推奨。
chsh不可:Termuxでは
chsh -s zshがうまく動きません。.bashrcでzshへexecする方式を使います。
プラグインの読み込み順:
zsh-syntax-highlightingは最後。エラー時は.zshrcの順序を見直してください。
✅ よくあるつまずき(チェックリスト)
-
pkg updateがタイムアウトする → ミラー変更(termux-change-repo) -
oh-my-zshインストール後に zshが起動しない → .bashrc に exec zsh を追記 - プロンプトが四角や「?」で表示される → Nerd Fonts を設定(
~/.termux/font.ttf) -
zsh-syntax-highlightingが効かない → プラグインの読み込み順を最後に修正 -
gitコマンドが見つからない →pkg install -y gitを再実行 - Python仮想環境でpipが古い →
python -m pip install --upgrade pip - ストレージにアクセスできない →
termux-setup-storageで許可
📚参考リンク
Termux
- Termux Wiki(インストール・リポジトリ・FAQ)
https://wiki.termux.com/wiki/Main_Page - Termux GitHub(Releases / Issues / Docs)
https://github.com/termux/termux-app - パッケージやコマンド(
pkg/termux-change-repo)
https://wiki.termux.com/wiki/Package_Management
zsh / oh-my-zsh
- zsh 公式ドキュメント
https://zsh.sourceforge.io/Doc/ - oh-my-zsh(テーマ/プラグイン一覧)
https://github.com/ohmyzsh/ohmyzsh
プラグイン
- zsh-autosuggestions
https://github.com/zsh-users/zsh-autosuggestions - zsh-syntax-highlighting
https://github.com/zsh-users/zsh-syntax-highlighting
テーマ・フォント
- Powerlevel10k
https://github.com/romkatv/powerlevel10k - Nerd Fonts(JetBrainsMono等)
https://github.com/ryanoasis/nerd-fonts
🔧 拡張案・次にやると良いこと
- コマンド履歴強化:
HISTSIZE/SAVEHIST/HISTIGNOREを.zshrcで調整 - キーバインド最適化:
bindkey -e(Emacs)やbindkey -v(Vim)を試す - 追加プラグイン:
zsh-vi-mode:Vim風編集z(jump):ディレクトリ移動を学習colored-man-pages:manの色付け
- 開発環境拡張:
- Node.js(
pkg install nodejs) - neovim(
pkg install neovim)+~/.config/nvimの設定
- Node.js(
- Termux-API連携:
pkg install termux-api→ クリップボード/トースト/通知などをシェルから呼び出し - SSHの活用:
pkg install openssh→ リモートへ安全にアクセス
🎯 まとめ
- Termux で zsh + oh-my-zsh を使うと、補完・ハイライト・美しいプロンプトで生産性が上がる
- インストール順序:
pkg update→zsh→oh-my-zsh→ プラグイン → テーマ/フォント - Termux特有の注意:
chshではなく .bashrc の exec zsh 方式 - 表示崩れ対策:Nerd Fonts を
~/.termux/font.ttfに設定 - 困ったとき:ミラー変更・読み込み順・権限付与 をチェック
- 次の一歩:Powerlevel10kの調整、プラグイン追加、Python/Node開発環境の整備
