🚀 はじめに

Androidの Termux は、スマホでLinux的な環境を使える便利なアプリ。
この記事では zshoh-my-zsh を組み合わせて、オートサジェスト・シンタックスハイライト・魅力的なプロンプトを備えた、快適なシェル環境をゼロから構築します。

  • できるようになること

    • Termuxに zsh を導入してデフォルト化
    • oh-my-zsh でプラグインとテーマを設定
    • Powerlevel10kNerd 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:インストールと前提条件

  1. Termuxの準備
    • F-Droid または GitHub Releases から最新版を導入
    • 起動後、パッケージを更新
# パッケージの更新(まずはここから)
pkg update && pkg upgrade -y
# よく使う基本ツール
pkg install -y git curl wget tar

補足:通信が遅いときは termux-change-repo を実行してミラーを変更します。

  1. zshのインストール
# zshを導入
pkg install -y zsh
# バージョン確認
zsh --version
  1. 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 を起動時に実行します。

  1. 起動時に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:基本的な使い方

  1. テーマとプラグインの設定ファイル(~/.zshrc)
    • oh-my-zshは ~/.zshrcZSH_THEMEplugins を列挙します。
    • まずは最小構成から。
# ~/.zshrc のキー項目(例)
# oh-my-zsh本体へのパス(インストーラが設定)
export ZSH="$HOME/.oh-my-zsh"

# テーマ(まずは 'robbyrussell' か 'agnoster' などから)
ZSH_THEME="robbyrussell"

# 利用するプラグイン(最小構成)
plugins=(git)

# 変更を反映
source ~/.zshrc
  1. 便利プラグインの追加
    • 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

zsh / oh-my-zsh

プラグイン

テーマ・フォント


🔧 拡張案・次にやると良いこと

  • コマンド履歴強化HISTSIZE / SAVEHIST / HISTIGNORE.zshrc で調整
  • キーバインド最適化bindkey -e(Emacs)やbindkey -v(Vim)を試す
  • 追加プラグイン
    • zsh-vi-mode:Vim風編集
    • z(jump):ディレクトリ移動を学習
    • colored-man-pagesman の色付け
  • 開発環境拡張
    • Node.js(pkg install nodejs
    • neovim(pkg install neovim)+~/.config/nvim の設定
  • Termux-API連携pkg install termux-api → クリップボード/トースト/通知などをシェルから呼び出し
  • SSHの活用pkg install openssh → リモートへ安全にアクセス

🎯 まとめ

  • Termuxzsh + oh-my-zsh を使うと、補完・ハイライト・美しいプロンプトで生産性が上がる
  • インストール順序pkg updatezshoh-my-zshプラグインテーマ/フォント
  • Termux特有の注意chsh ではなく .bashrc の exec zsh 方式
  • 表示崩れ対策Nerd Fonts~/.termux/font.ttf に設定
  • 困ったときミラー変更読み込み順権限付与 をチェック
  • 次の一歩:Powerlevel10kの調整、プラグイン追加、Python/Node開発環境の整備