Ubuntu のターミナルをもっとかっこよく、使いやすくしたいと思ったことはありませんか?
Starship はRustで書かれた超高速のシェルプロンプトです。bash・zsh・fish など主要シェルに対応しており、インストールは1コマンドで完了します。本記事では Ubuntu 24.04 LTS の Docker 環境で実際に動かして検証した結果を載せます。
Gitブランチ名・Pythonバージョン・AWS プロファイルなど、プロンプトに表示できる情報は豊富です。それでいて starship prompt の生成は実測で数ミリ秒(後述の計測では8ms以下)という軽さでした。

この記事のポイント
- Starship 1.25.1 を Ubuntu 24.04 の Docker コンテナで実測インストール済み
- インストールは
curl -sS https://starship.rs/install.sh | shの1行だけ。単一バイナリ(実測 9.8MB)で依存パッケージ不要 - bash・zsh どちらも設定ファイル(
~/.config/starship.toml)を共有できる - 12種類の内蔵プリセットで、TOML編集なしに見た目を一括変更できる
- プロンプト生成は実測 8ms / 4ms / 4ms(3回計測)と体感ゼロの軽さ
- Ubuntu 22.04 でも同じ手順で同じバージョン(1.25.1)がインストールできる(実測で確認)
注意
本記事のコマンドは Ubuntu 24.04 LTS(Docker公式イメージ ubuntu:24.04)で検証しています。検証環境は arm64(aarch64)ですが、x86_64 のVPSでも同じコマンドで動作します(インストーラが自動で CPU を判別します)。Ubuntu 22.04 でも同様に動作することを確認済みですが、バージョンが異なると挙動が変わる場合があります。
目次
- Starshipとは
- 前提環境
- Starshipのインストール手順
- シェルへの設定(bash / zsh)
- プロンプト生成速度を実測する
- Nerd Fontの準備(任意)
- カスタマイズ — プリセットとstarship.toml
- よくあるエラーと解決策
- まとめ
Starshipとは
Starship は、シェルのプロンプト部分を置き換えるツールです。デフォルトでは user@host ~/projects ❯ のようなシンプルな表示ですが、Git リポジトリの中では自動的にブランチ名・変更数・stash 数などが追記されます。
特徴をまとめると:
- 高速:Rust 製の単一バイナリのため、プロンプト生成のオーバーヘッドが体感できないほど小さい(実測で8ms以下)
- マルチシェル対応:bash・zsh・fish・Nushell・PowerShell など幅広く対応
- 設定ファイル共有:
~/.config/starship.tomlひとつで全シェルの見た目を統一できる - プリセット搭載:1.25.1 時点で12種類のプリセットを内蔵。1コマンドで適用可能
- インストール不要な依存関係:バイナリひとつ(実測 9.8MB)で動く。pip・npm・cargo は不要

前提環境
今回の検証環境は以下の通りです:
- OS:Ubuntu 24.04.4 LTS(Noble Numbat)— Docker公式イメージ
ubuntu:24.04で実測 - curl:8.5.0(apt でインストール)
- bash:5.2.21
- CPUアーキテクチャ:aarch64(arm64)
Ubuntu 22.04 LTS(Jammy Jellyfish)でも同じ手順で Starship 1.25.1 がインストールできることを確認しています(後述の比較表参照)。
Starshipのインストール手順
手順1:apt を更新して curl をインストールする
Starship のインストールスクリプトは curl を使って GitHub から最新バイナリを取得します。まずは curl を用意します。
Hit:1 http://archive.ubuntu.com/ubuntu noble InRelease
Reading package lists… Done
$ sudo apt install -y curl
Setting up curl (8.5.0-2ubuntu10.9) …
$ curl –version
curl 8.5.0 (aarch64-unknown-linux-gnu) libcurl/8.5.0 OpenSSL/3.0.13 …
curl 8.5.0 がインストールされました(Ubuntu 24.04 の場合)。
手順2:Starship をインストールする
公式インストールスクリプトを使います。標準では | sh の途中でインストール先の確認を求められますが、-s -- --yes を付けると対話確認をスキップできます。
> Bin directory: /usr/local/bin
> Platform: unknown-linux-musl
> Arch: aarch64
> Tarball URL: https://github.com/starship/starship/releases/latest/download/starship-aarch64-unknown-linux-musl.tar.gz
> Installing Starship, please wait…
✓ Starship latest installed
$ starship –version
starship 1.25.1
$ ls -lh /usr/local/bin/starship
-rwxr-xr-x 1 root root 9.8M Apr 30 19:38 /usr/local/bin/starship
Starship 1.25.1 が /usr/local/bin/starship にインストールされました。バイナリサイズは実測で 9.8MB で、Python・Node.js・Go などの追加インストールは不要です。インストーラは Arch: aarch64 のように CPU を自動判別するので、x86_64 のVPSでも同じコマンドがそのまま使えます。

シェルへの設定(bash / zsh)
インストールしただけでは Starship はまだ有効になりません。シェルの設定ファイルに1行追加する必要があります。
①bash の場合(~/.bashrc に追記)
$ source ~/.bashrc
# → Starship プロンプトが有効になります
実際に starship init bash を実行すると、次のように ~/.bashrc に書く eval 行の中身が出力されます:
eval — “$(/usr/local/bin/starship init bash –print-full-init)”
②zsh の場合(~/.zshrc に追記)
$ source ~/.zshrc
# → zsh でも Starship が有効になります
bash と zsh で設定ファイル ~/.config/starship.toml は共通です。1つのファイルを編集するだけで両シェルの見た目を変えられます。

③fish・その他シェルの場合
$ echo ‘starship init fish | source’ >> ~/.config/fish/config.fish
# Nushell: ~/.config/nushell/config.nu に追記
$ starship init nu | save -f ~/.config/starship-init.nu
プロンプト生成速度を実測する
「プロンプトに色々表示すると重くなるのでは?」と心配になるかもしれません。そこで starship prompt の生成にかかる時間を Ubuntu 24.04 コンテナで実際に計測してみました。
Run 1:
real 0m0.008s
Run 2:
real 0m0.004s
Run 3:
real 0m0.004s
$ starship timings
Here are the timings of modules in your prompt (>=1ms or output):
username – <1ms – “root in “
directory – <1ms – “/ “
container – <1ms – “⬢ [Docker] “
character – <1ms – “❯ “
3回計測で 8ms / 4ms / 4ms。各モジュールの処理時間も starship timings で見るとすべて <1ms でした。Rust 製の単一バイナリなので、プロンプト表示のもたつきはまず体感しません。
面白いのは container モジュールで、Docker コンテナ内で実行したため自動的に ⬢ [Docker] という表示が付きました。このように Starship は「今どこで作業しているか」を勝手に検出して教えてくれます。

Nerd Fontの準備(任意)
Starship のデフォルト表示は通常の UTF-8 文字のみで動作しますが、Nerd Font をインストールすると Git ブランチのマークやファイルタイプアイコンが使えます。
Ubuntu VPS でターミナルをリモート接続する場合は、接続元PC側(ローカルのターミナルアプリ)に Nerd Font をインストールします。VPS 本体へのインストールは不要です。フォントを描画するのは手元のターミナルだからです。
Nerd Fontがまだない場合は no-nerd-font プリセットを使う
- 12種類の内蔵プリセットのうち、
no-nerd-fontとplain-text-symbolsは Nerd Font 不要 - まずはこちらで動作確認してから、後でフォントを導入するのがおすすめです
カスタマイズ — プリセットとstarship.toml
①プリセットで一括テーマ変更
Starship 1.25.1 には12種類のプリセットが内蔵されています。starship preset --list で一覧表示でき、適用は1コマンドです。以下は実際にコンテナで starship preset --list を実行した結果です。
bracketed-segments
catppuccin-powerline
gruvbox-rainbow
jetpack
nerd-font-symbols
no-empty-icons
no-nerd-font
no-runtime-versions
pastel-powerline
plain-text-symbols
pure-preset
tokyo-night
# 例:pure-preset を適用する
$ starship preset pure-preset -o ~/.config/starship.toml
# → ~/.config/starship.toml が生成・更新されます(既存設定は上書き)

黄色で示した no-nerd-font・plain-text-symbols・pure-preset は Nerd Font なしで使えるプリセットです。試してみて気に入らなければ、rm ~/.config/starship.toml でデフォルト設定に戻せます。

②starship.toml で細かく調整
設定ファイルは ~/.config/starship.toml です。インストール直後はこのファイルは存在せず、すべてデフォルト設定で動きます。実際にコンテナで確認すると、設定ファイルがない状態では次のように表示されました。
no config file (using defaults)
カスタマイズしたいときは、自分で ~/.config/starship.toml を作成します。たとえば次のような内容です(これは設定例であって、自動生成されるものではありません)。
“$schema” = ‘https://starship.rs/config-schema.json’
# プロンプトの前に空行を入れる
add_newline = true
# 500ms以上かかるモジュールは表示しない
command_timeout = 500
# Python バージョン表示を無効化する例
[python]
disabled = true
主要な設定オプション:
add_newline = false:プロンプトの前の空行をなくすとすっきりしますcommand_timeout = 1000:遅いネットワークドライブがある場合は増やすと良いです(デフォルトは500ms)scan_timeout = 30:ファイルスキャンのタイムアウト(ms)[git_branch] disabled = true:特定モジュールを無効化できます

よくあるエラーと解決策
①プリセット適用後に文字化けする
原因:Nerd Font 未インストール
nerd-font-symbols など Nerd Font が必要なプリセットを、通常のフォントを使っているターミナルで適用すると記号が「□」や「?」になります。no-nerd-font プリセットに切り替えるか、Nerd Font(FiraCode Nerd Font など)をローカルのターミナルアプリに設定してください。
②starship コマンドが見つからない
command not found と出る場合は、インストール先の /usr/local/bin が PATH に含まれているかを確認します。
bash: starship: command not found
# /usr/local/bin が PATH に含まれているか確認
$ echo $PATH
/usr/local/bin:/usr/bin:/bin
# バイナリが存在するか確認
$ ls /usr/local/bin/starship
/usr/local/bin/starship
/usr/local/bin が PATH に含まれていれば正常に動くはずです。含まれていない場合は export PATH=$PATH:/usr/local/bin を ~/.bashrc に追記してください。
③eval 行を追記したのにプロンプトが変わらない
source ~/.bashrc(bash の場合)を実行するか、新しいターミナルを開く必要があります。設定変更は現在のセッションには即座には反映されません。
④プロンプト生成が遅く感じる
本記事の実測ではプロンプト生成は8ms以下でしたが、Git の大きなリポジトリやネットワーク越しのファイルを扱うと特定のモジュールが遅くなることがあります。starship timings コマンドで各モジュールの処理時間を確認できます。遅いモジュールが特定できたら disabled = true で無効化するか、command_timeout を短くするとよいです。
まとめ
Starshipのまとめ(Ubuntu 24.04 実測)
- Starship 1.25.1 を
curl -sS https://starship.rs/install.sh | shでインストール - バイナリは
/usr/local/bin/starship(実測 9.8MB)。pip・npm・cargo は不要 - bash は
~/.bashrc、zsh は~/.zshrcに eval 行を1行追記するだけ - プロンプト生成は実測 8ms / 4ms / 4ms(3回計測)と非常に高速
- 12種類の内蔵プリセットで即座にテーマ変更。Nerd Font 不要なプリセットもある
- Ubuntu 22.04 / 24.04 どちらでも同一バージョン(1.25.1)・同一手順でインストール可能(実測)

Starship を入れると毎日使うターミナルが格段に使いやすくなります。正直、一度慣れると素の bash プロンプトには戻れなくなります。まず no-nerd-font プリセットで試してみて、気に入ったら Nerd Font を導入してみてください。
自分の VPS を持っていれば、Starship を入れたサーバーにいつでも SSH でアクセスできます。VPS をまだお持ちでない方は、東京リージョンがある Vultr がLinuxの学習環境としておすすめです。
VPS 各社の比較・価格・東京リージョン対応状況については、以下の記事にまとめています。



コメント