軽量でおしゃれなコマンドプロンプトStarshipをUbuntuにインストールする手順

公開日:2019/09/12 更新日:2019/09/12
軽量でおしゃれなコマンドプロンプトStarshipをUbuntuにインストールする手順のサムネイル

はじめに

最近Starshipというコマンドプロンプトを知ったのでUbuntuに入れてみました。この記事では、StarshipをUbuntuにインストールする手順をまとめます。

Starshipについて

Starshipの特徴は色々とありますが、例えば以下があります。

  • Rust言語によって動作しており高速
  • 設定ファイルによって細かくカスタマイズ可能
  • 必要な情報を必要な時にのみ表示するというコンセプト
  • Git管理しているディレクトリであれば、ブランチ名なども表示可
  • Node.jsやPythonなどのバージョン情報も表示可
  • コマンドの実行に要した時間を表示

以下が公式リポジトリです。

starship.rs

The cross-shell prompt for astronauts

前提と環境

この記事では、Ubuntu18.04にインストールしました。公式ドキュメントにもあるようにmacOSだとUbuntuの場合よりも簡単にインストールできます。

  • OS : Ubuntu18.04 (WSL上)

事前準備

Starshipは、Rustで開発されているため、CargoというRustのパッケージマネージャおよびビルドツールを用いてインストールします。したがって、aptでCargoを関連パッケージと一緒にインストールしておきます。

$ sudo apt install cargo libssl-dev

また、Cargoへのパスを通すために以下の記述を.bashrcに追記しておきます。

~/.bashrc
export PATH="$PATH:$HOME/.cargo/bin"

追記したらsource.bashrcを再読込します。

$ source ~/.bashrc

以上で事前準備は完了です。

Starshipをインストールする

以下のようにCargoを使ってインストールできます。

$ cargo install starship

これだけでインストール完了です。試しに、starshipコマンドを実行してみると、以下のように使い方が表示されます。

$ starship
starship 0.16.0
Matan Kushner 
The cross-shell prompt for astronauts. ☄🌌️

USAGE:
    starship 

FLAGS:
    -h, --help       Prints help information
    -V, --version    Prints version information

SUBCOMMANDS:
    help      Prints this message or the help of the given subcommand(s)
    init      Prints the shell function used to execute starship
    module    Prints a specific prompt module
    prompt    Prints the full starship prompt

https://github.com/starship/starship

最後に、以下の記述を.bashrcに追記します。

~/.bashrc
eval "$(starship init bash)"

追記したらsource.bashrcを再読込します。

$ source ~/.bashrc

上記を実行した時点でコマンドプロンプトの見た目がstarshipに変わり、これ以降は全てstarshipになります。

Ubuntu以外のOSやLinuxディストーション、bash以外のシェルについては以下の公式ドキュメントに記載されています。

starship.rs

Installation

Starshipをカスタマイズする

Starshipは、TOML形式の設定ファイルで色々とカスタマイズ可能です。具体的には、まず以下のようにホームディレクトリにある.configディレクトリにstarship.tomlというファイルを作成します。

$ touch ~/.config/starship.toml

後は自由にstarship.tomlに好みの設定を記述します。例えば、以下は公式ドキュメントのものに少しだけ設定を加えたものです。

~/.config/starship.toml
# 新しい行の前に改行をいれるか falseでいれない。
add_newline = false

# シンボルを "❯" から"➜"に変更する
[character]      # The name of the module we are confguring is "character"
symbol = "➜"     # The "symbol" segment is being set to "➜"

# コマンドに要した時間の表示を最低4秒以上にする
[cmd_duration]
min_time = 4

# ディレクトリパスのスタイルを変更する
[directory]
style = "bold cyan"

変更できる設定内容は全て公式ドキュメントに記載されています。

まとめ

少しだけ毎日使うターミナルがおしゃれになり、色々とカスタマイズできるの興味のある方は使ってみてください。

関連記事

開発アプリ

nanolog.app

毎日の小さな出来事をなんでも記録して、ログとして残すためのライフログアプリです。