✨ はじめに
ターミナルを立ち上げたときに「これ本当に自分の開発環境?」と思えるような、見た目も機能もカッコいいROS2開発ターミナルを作りたい人向けです。
以下のようなPowerlevel10kの美しいプロンプト表示や補完機能が使えるようになります:
ROS2を使っていると、bash環境での作業が少し煩雑に感じることはありませんか?
この記事では、Ubuntuユーザー向けにzsh + Powerlevel10k + 補完付きの快適ターミナル環境を構築する手順をまとめました。
- 対象OS: Ubuntu 22.04
- ROS2: Humble Hawksbill
- 目標: zshでROS2コマンドの補完を使える環境を作る
⚠️ 注意点
- Raspberry Piなどリソースの少ない環境では、Powerlevel10kの描画がやや重く感じる場合があります。軽量テーマを選ぶか、必要に応じてzsh単体で運用するのがおすすめです。
- 本記事はROS2をaptでインストールした環境を前提としています
- ROS2の補完設定はbashに最適化されているため、zshでは工夫が必要です
- Powerlevel10k導入時、フォントが対応していないと文字化けします(推奨:MesloLGS NF)
✅ zsh + Powerlevel10k を使うメリット・デメリット
✔️ メリット
- 見た目がスタイリッシュでモチベが上がる
- Powerlevel10kの情報表示が充実(Git情報、時間、ジョブ数など)
- zsh補完がbashよりも柔軟&強力(補完候補の表示が見やすい)
- 設定次第で作業効率が爆上がり(aliasや関数との組み合わせ)
⚠️ デメリット
- Powerlevel10kは環境によっては描画がやや重い(特に低スペック機)
- 補完設定やテーマの導入に少し手間がかかる
- bashに比べて初期状態では互換性が低く、補完やscript実行時に注意が必要
① zshのインストール
sudo apt install zsh
chsh -s $(which zsh)
- ログアウト/ログインするとzshが有効化される
- 初回起動で.zshrcが作成される
② oh-my-zshの導入
sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
③ Powerlevel10kのテーマ適用
💡 フォント設定(重要)
Powerlevel10kはアイコンや記号を多く使うため、対応フォントが必要です。
MesloLGS NF フォントの使用を強く推奨します。
インストール方法(例:手動インストール)
- https://github.com/romkatv/powerlevel10k#manual-font-installation からフォントをダウンロード
-
.ttf
ファイルをダブルクリックして「インストール」 - ターミナルの設定 → 使用フォントを「MesloLGS NF」に変更
Powerlevel10kのセットアップウィザード中は、描画が軽くなる「Lean」または「Classic」プロンプトスタイルがおすすめです。特にラズパイなどでは快適に動作します。
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
-
.zshrc
を修正:
ZSH_THEME="powerlevel10k/powerlevel10k"
source ~/.zshrc
- セットアップウィザード起動するので、要項順に選択
④ ROS2環境の設定
source /opt/ros/humble/setup.zsh
source ~/ros2_ws/install/local_setup.zsh
# ROS2の通信ドメイン設定
export ROS_DOMAIN_ID=10
⑤ ROS2コマンドの補完をzshで使う
補完を有効化することで、コマンド入力の効率が大幅に向上します。
if [ -f /opt/ros/humble/share/ros2cli/environment/ros2-argcomplete.zsh ]; then
source /opt/ros/humble/share/ros2cli/environment/ros2-argcomplete.zsh
fi
- タブキー、十字キーでros2コマンドの補完が使える
- ros2, ros2 topic, ros2 node ... が手らずに表示される
🔍 補完の使用例
ros2 <Tab> # コマンド名が補完される(run, topic, launchなど)
ros2 run <Tab> # パッケージ名が補完される
ros2 launch <Tab> # launchファイル名が補完される
💡 .zshrc
変更後の反映方法
設定を変更したら、以下で反映しましょう:
source ~/.zshrc
☑️ 完成形: .zshrcサンプル
以下は、補足コメント付きの.zshrc
サンプルです。
# bash補完機能(zshでbash補完を使うため)
autoload -Uz bashcompinit
bashcompinit
# ROS2 setup
source /opt/ros/humble/setup.zsh
source ~/ros2_ws/install/local_setup.zsh
source ~/lidar_ws/install/local_setup.zsh
export ROS_DOMAIN_ID=10
# zsh用ROS2補完スクリプト(ros2コマンド補完有効化)
if [ -f /opt/ros/humble/share/ros2cli/environment/ros2-argcomplete.zsh ]; then
source /opt/ros/humble/share/ros2cli/environment/ros2-argcomplete.zsh
fi
🔁 Powerlevel10kセットアップウィザードをやり直すには?
もしPowerlevel10kの設定をやり直したい場合は、以下のコマンドを実行してください:
p10k configure
このコマンドで再びウィザードが起動し、プロンプトスタイルや表示内容を自由に再設定できます。
🌟 おわりに
- Powerlevel10kの美しさ + zshの便利さ + ROS2補完
- 最高の開発環境が手に入る
- ROS2の補完が効かないときは
BASH_SOURCE
に注意