「ものづくり:make」を楽しみながら学ぶ人へ向けた独習サポートサイト。

and more...

Lab.以外の情報を紹介しています。

ラズパイ5によるROS 2(JAZZY)の環境構築

【ROS 2】Ubuntu Server 24.04.3 LTS(64-bit)に軽量版デスクトップ環境を構築する

2025-11-092025-11-09

Raspberry Pi 5にインストールしたUbuntu Server 24.04.3 LTS(64-bit)に軽量版デスクトップ環境を構築する手順を解説します。本記事で解説する軽量版とは[ubuntu-desktop]パッケージの依存関係のうち、推奨(Recommends)パッケージを省いた最小構成のデスクトップ環境のことです。

(1)[ubuntu-desktop]パッケージの依存関係

Ubuntu Serverのユーザーインターフェースは、デフォルトがコマンドラインインターフェース(CLI)のみで、操作はip aなどのコマンドを入力して行います。後からグラフィカルユーザーインターフェース(GUI)が必要になった場合は[ubuntu-desktop]というパッケージをインストールして、デスクトップ環境を構築することができます。

パッケージとは

Ubuntuでは、アプリケーションの実行ファイルや設定ファイル、ドキュメントなどを[パッケージ]という単位で管理しています。パッケージをインストールするには、APT(Advanced Package Tool)コマンドを使ってsudo apt install <パッケージ名>と入力します。<パッケージ名>には、インストールするパッケージの名前を入力します。

インストールは、パッケージの依存関係に基づいて行われます。そのため、自動的に新しいパッケージが導入されたり、他の関連パッケージが更新されることもあります。例えば、あるパッケージをインストールすると、それに必要なライブラリも自動で追加されます。

パッケージの依存関係

パッケージの依存関係には、代表的なものとして[Depends(依存)]と[Recommends(推奨)]があります。[Depends]は、必須の依存関係のことで、依存先のパッケージがインストールされていないと正しく動作しません。[Recommends]は、インストールが推奨される依存関係で、なくても動作には影響ありませんが、機能が制限されることがあります。例えば、ある画像ビューアのパッケージでは、印刷機能を使うためのツールが[Recommends]として指定されていることがあります。

なお、依存関係には、上記の他に[Suggests][Enhances][Pre-Depends]などがありますが、本記事では説明を省略します。

パッケージの依存関係を確認する

あるパッケージの必須の依存関係である[Depends]と、インストールが推奨される依存関係である[Recommends]を確認するにはsudo apt show <パッケージ名>と入力します。<パッケージ名>には、確認するパッケージの名前を入力します。

では、デスクトップ環境を構築する[ubuntu-desktop]パッケージの依存関係を確認してみましょう。入力するコマンドはsudo apt show ubuntu-desktopです。

上記出力のDepends:(13行目)とRecommends:(15行目)に、それぞれ必須および推奨される依存パッケージの一覧が表示されています。この一覧を見ると[ubuntu-desktop]パッケージがとても多くの他のパッケージに依存していることがわかります。

(2) 軽量版デスクトップ環境の構築

では、本記事の本題である軽量版デスクトップ環境の構築に進みます。通常、デスクトップ環境をインストールするコマンドはsudo apt install ubuntu-desktopです。この場合、必須(Depends)および推奨(Recommends)される依存パッケージのすべてがインストールされます。いわゆるフル機能のデスクトップ環境であり、多くのアプリケーションやサービスが含まれています。そのぶん、ディスク(Raspberry Pi 5の場合はmicroSDカードなど)やメモリー、CPUなどのシステムリソースが多く消費されます。もちろんこのままフル機能のデスクトップ環境を構築してもかまいません。

軽量版デスクトップ環境の構築

本記事では、[ubuntu-desktop]パッケージのうち、依存関係が必須であるパッケージのみをインストールすることで軽量化を図ります。そのためには、インストール時のコマンドにオプションの--no-install-recommendsを指定します。

入力するコマンドはsudo apt install --no-install-recommends ubuntu-desktopです。このコマンドを実行することで、推奨パッケージを省いた最小構成のデスクトップ環境をインストールできます。なお、インストール前にsudo apt updateを実行して、ローカルのパッケージリストを更新しておきます。

再起動前に...

ここで注意点を一つ。Ubuntu Serverのネットワーク管理はデフォルトで[Netplan]が使用されますが、デスクトップ環境では[NetworkManager]となります。しかしながら[NetworkManager]パッケージの依存関係が[Recommends]のため、本手順ではインストールされません。このまま再起動するとネットワーク管理が正しく機能しない(ネットワークアダプターが無効になる)可能性があります。

引き続き[Netplan]を使用するために[/etc/netplan/50-cloud-init.yaml]に[renderer: networkd]があること(下表の3行目)を確認します。ない場合は追加します。

確認が完了したらsudo shutdown -r nowまたはsudo rebootで再起動します。

再起動後にすることは

再起動後は、従来通りSSH接続が可能です。念のため、Windows 11のターミナルからssh <ユーザー名>@<IPアドレス>で接続できることを確認しておきましょう。<ユーザー名>にはログインするユーザー名、<IPアドレス>にはRaspberry Pi 5のIPアドレスを入力します。

SSH接続では、デスクトップ環境の恩恵がないため、Raspberry Pi 5にディスプレイとキーボード・マウスを接続して、デスクトップ環境を整えましょう。接続できるディスプレイが手元にない場合は、HDMI-USB変換アダプターを接続すると、Raspberry Pi 5の映像出力がUSB経由でパソコンに送られ、Windows 11標準のカメラアプリで表示できます。USBビデオキャプチャーデバイスとして認識されるタイプを選ぶとスムーズです。

Ubuntuデスクトップのログイン画面です。デフォルトで、microSDカードにOSを書き込んだときに設定したユーザー名が表示されているので、そのまま[Enter]キーを押します。

図2-1.Ubuntuデスクトップのログイン画面
図2-1.Ubuntuデスクトップのログイン画面

SSH接続時と同じパスワードを入力して[Enter]キーを押します。

図2-2.パスワード入力
図2-2.パスワード入力

Ubuntuデスクトップ画面です。

図2-3.Ubuntuデスクトップ
図2-3.Ubuntuデスクトップ

デスクトップ左下の[Show Apps]をクリックすると、インストール済みのアプリが一覧で表示されます。最小構成でのインストールのため、アプリの数は多くありません。アプリ(例えばブラウザーなど)が必要になった場合は、個別にインストールします。

図2-4.Show Appsによるインストール済みアプリの一覧
図2-4.Show Appsによるインストール済みアプリの一覧

ログアウト、またはパワーオフするには、デスクトップ右上の電源ボタンのマークをクリックします。ウィンドウが表示されるので、右上の電源ボタンのマークをクリックします。[Log out...]または[Power Off...]を選択します。

図2-5.ログアウト・電源オフ
図2-5.ログアウト・電源オフ

以上が、Ubuntu Server 24.04.3 LTS(64-bit)に軽量版デスクトップ環境を構築する手順です。[ubuntu-desktop]パッケージの依存関係のうち、推奨パッケージを省いた最小構成のデスクトップ環境をインストールしました。インストールされるアプリが少ないため、必要に応じて好みのアプリを追加しましょう。

また、ネットワーク管理に関する注意点がありました。本記事では、Ubuntu Serverのデフォルトである[Netplan]を引き続き使用する手順を紹介しました。

おすすめ

【Raspberry Pi 5完全対応】Raspberry Pi はじめてガイド

出版社
技術評論社
著者
山内直・大久保竣介・森本梨聖
発売日
2024/6/26

【改訂第2版】ROS 2とPythonで作って学ぶAIロボット入門

出版社
‎講談社
著者
出村公成・萩原良信・升谷保博・タンジェフリートゥチュアン
発売日
2025/2/14

ロボットプログラミングROS 2入門

出版社
科学情報出版株式会社
著者
岡田浩之
発売日
2020/9/16

Raspberry Pi 5プログラミング教育ロボット

Raspberry Pi 5ベースのROS 2(Humble)に対応したロボットカーです。4つの独立した駆動輪(エンコーダー付き金属製モーター)による走行、LiDARによるマッピング(SLAM)・2軸のカメラによるAI画像認識(OpenCV)などが行えます。

この記事を読んだ人は、こんな記事にも興味があります。
スポンサーリンク
TOPへ移動
目次へ移動