0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

ROS2開発環境をスタイリッシュに!zsh + Powerlevel10kで快適&補完バッチリなターミナルの環境構築!

Last updated at Posted at 2025-04-30

✨ はじめに

ターミナルを立ち上げたときに「これ本当に自分の開発環境?」と思えるような、見た目も機能もカッコいいROS2開発ターミナルを作りたい人向けです。

以下のようなPowerlevel10kの美しいプロンプト表示や補完機能が使えるようになります:

Screenshot from 2025-05-01 00-30-06.png
(十字キー、Tabで操作できます)


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 フォントの使用を強く推奨します。

インストール方法(例:手動インストール)

  1. https://github.com/romkatv/powerlevel10k#manual-font-installation からフォントをダウンロード
  2. .ttf ファイルをダブルクリックして「インストール」
  3. ターミナルの設定 → 使用フォントを「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に注意

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?