みなさんこんにちは〜!
みなさんは、Raspberry PiにUbuntuをインストールして、使用したことはありますか?
僕は、今までRaspbianを使っていたので、Raspberry PiでUbuntuを使うのは今回が初めてです。
最近、Raspberry PiでUbuntuを使用する必要が出てきたので試しにインストールしてみることにしました。
Ubuntuは、先日、22.04 LTSが発表されていますが、諸事情により20.04LTSのデスクトップ版を使用したいと思います。
基本的に、Raspberry PiのOSの書き込みは、専用のソフトウェアを使用することで、以前に比べて圧倒的に容易に導入できます。
しかし、Ubuntu Desktop 20.04 LTSは、専用のソフトウェアから書き込めません。そこで、専用のソフトウェアから書き込めるUbuntu Server 20.04 LTSを書き込んでから、デスクトップ版を導入する必要があります。
一瞬戸惑ったので、その手順について紹介していきたいと思います。
これからUbuntu Desktop 20.04 LTSをRaspberry Piで、使用したいと考えている方にとって、役に立つはずです。
それは、説明していきます。
YouTubeでも同じ内容を解説していますので、ご活用ください!
用意するもの
私が使用したものを以下に記載します。
- ノートPC(Windows 10)
- Raspberry Pi 4 Model B (8GB)
- micro SDカード(128GB)
ノートPCは、micro SDカードにOSを書き込むために使用します。
私が使用しているものと全く同じ製品ではありませんが、参考までに以下にリンクを貼りした。
Raspberry Pi Imagerのインストール
Raspberry PiにOSを書き込むために、Raspberry Pi Imagerと呼ばれるソフトウェアをPCにインストールします。
ブラウザを開き、「raspberry pi imager」もしくは「raspberry pi os」と検索すると、Raspberry Pi Imagerを配布しているサイトが見つかります。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/67EA096A-F7D7-4BDC-A85E-010A878409AF-1024x490.jpeg)
私は、今回Windowsを使用したので、Download for Windowsをクリックして、インストーラーをダウンロードしました。お使いのOSに合わせて、適切なものをダウンロードしてください。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/DE38A1F8-654C-4DAF-8953-478677E17BFD-1024x485.jpeg)
あとは、ウィザードに沿って、インストールします。
Ubuntu Server 20.04 LTSの書き込み
それでは、Ubuntuを書き込んでいきます。ただし、Raspberry Pi Imagerから、直接、Ubuntu Desktop 20.04 LTSを指定できないので、Ubuntu Server 20.04 LTSを書き込んでから、ターミナルでコマンドを使い、Ubuntu Desktop 20.04 LTSを書き込みます。
それでは、インストールしたRaspberry Pi Imagerを起動し、「OSを選ぶ」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/D075AA48-D508-42D5-9EB8-7D02AF078826.jpeg)
「Other general-purpose OS」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/2C1223DB-F60E-4A26-89E9-22EB50C9511C.jpeg)
「Ubuntu」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/01E303AA-7BEA-4518-A812-7AEA790EFF72.jpeg)
そしたら、「Ubuntu Server 20.04 LTS」を選択します。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/20DAC6DB-FB34-42B1-A670-D09D67D5863C.jpeg)
書き込むOSの選択をすると、元の画面に戻り、OSが選択されていることがわかります。次に、「ストレージを選ぶ」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/E6B98E4E-C110-42D8-AFB0-4D8533C5F1AA.jpeg)
すでに、書き込み先となる、ストレージがPCに接続されていれば、一覧に表示されるので、それを選択します。表示されていない場合は、micro SDカードをPCに接続し、認識させる必要があります。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/8F59AA62-42E5-4B57-8DB8-33ABA8FFCFD2.jpeg)
ストレージの選択ができたら、次に、「書き込む」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/061DB9B6-6A07-4E33-BE46-88B73D1D6BF6.jpeg)
書き込みの確認画面が表示されるので、「はい」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/FD6B884A-2F05-40C9-A500-BB8E103A961D.jpeg)
少々時間がかかりますが、書き込みが終わるまで待ちましょう。
書き込みが終わったら、micro SDカードをPCから取り外します。
Raspberry Piの起動とSSH接続
OSを書き込んだmicro SDカードをRaspberry Pi 4 Model Bに差し込みます。次に、電源ケーブル、HDMIケーブル、キーボード、LANケーブルを接続します。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/096BEFD3-F190-4750-BD67-76A56723B528-1024x688.jpeg)
電源を入れると、Ubuntu Serverが起動し、ログインが求められます。デフォルトのユーザーおよびパスワードは、ubuntuです。
パスワードの変更が求められるので、変更しましょう。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/72FC6D8A-6138-4823-A7A2-C4B1EB2FCEA5-1024x440.jpeg)
パスワードの変更が済んだら、Serverが自動で立ち上がります。以下のような画面が表示されると思うので、PCからSSHで接続しましょう。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/F588C5FE-D14B-46A0-89A8-96E7374677BE-1024x494.jpeg)
私は、コマンドプロンプトを開いて、「ssh ubuntu@192.168.3.28」で接続しました。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/B63F41BB-39C2-4395-9933-2FEC92B61892-1024x576.jpeg)
Ubuntu Desktopのインストール
SSHで接続しているターミナルから、以下のコマンドを実行します。
sudo apt update
sudo apt upgrade -y
sudo apt install ubuntu-desktop
reboot
再起動すると、Ubuntu Desktop 20.04 LTSが起動しました。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/387EA955-B677-4D81-80D9-250DB4A2AED8-1024x560.jpeg)
最初の起動時は、Livepatchなど、いくつかの設定が聞かれると思いますが、お好みで設定してください。
日本語化とタイムゾーンの設定
それでは、日本語化する方法を説明していきます。まず、電源ボタン付近をクリックして、メニューを表示します。メーニューの中に、Settingという項目があるので、それをクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/D0AE8412-48AE-4ACE-B766-B1CD3E54657B-1024x572.jpeg)
設定を開いたら、「Region & Language」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/3F6129A3-70D2-40DC-B695-764917E8BE41-1024x578.jpeg)
「Manage Installed Languages」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/4EF275BC-97F8-4EF5-AAB7-D421E82AB218-1024x575.jpeg)
Language Supportという画面が開くので、「install / Remove Languages...」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/ADE35FFA-0948-4430-B668-F7B88059802F-1024x578.jpeg)
「Japanese」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/B0C1BE4A-275F-4C34-9573-6B2C0169AA74-1024x577.jpeg)
ここまでの設定が終了したら、再起動します。再起動しないと、設定が反映されないので、言語を日本語に設定することができません。
再起動したら、再度、設定画面を開き、「Language」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/2BF4F3DD-82FD-43F0-8429-9A43F249ECAF-1024x583.jpeg)
日本語が指定できるようになるので、「日本語」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/36476611-0B61-40A9-A5BA-FEC9B87DB1C4-1024x576.jpeg)
ここで、再び再起動しましょう。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/09B92C97-9558-4F5D-96B0-438651581298-1024x573.jpeg)
再起動すると、標準フォルダの名前を日本語に変更するか聞かれるので、お好みで設定しましょう。
私は、日本語化しました。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/047CBB9A-4AD0-4391-9503-03A7460E0722-1024x575.jpeg)
再度、設定画面を開いて、「フォーマット」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/B948939A-8BC4-4244-8DA0-913FDA7048E3-1024x576.jpeg)
「日本」を選択し、完了をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/CFAFF80E-AC1C-4544-B3F0-375D9C081899-1024x576.jpeg)
入力ソース欄の「+」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/FE3FED48-4353-4565-AD85-89C657D67603-1024x576.jpeg)
「日本」を選択します。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/697E5FC4-0A2D-4111-9A62-340AAD29790F-1024x575.jpeg)
私は、「日本語」と「日本語(Mozc)」を追加しました。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/A5B45442-625E-462D-98A4-E7A68AC23BE8-1024x577.jpeg)
以上で、日本語化の設定は終了です。
日本語入力が可能になりました。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/86E5DDA2-DAB4-47A9-BE3A-F5FE02980575-1024x577.jpeg)
あと、タイムゾーンを設定しておきましょう。先ほどと同様に設定画面を開き「日付と時刻」を選択します。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/42235158-EFA2-4AEC-B075-A18198B8CB0E-1024x578.jpeg)
「タイムゾーン」をクリックします。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/05E420F2-2E36-4ED8-989A-8D5FF3BF5D52-1024x577.jpeg)
地図が表示されるので、日本地図のあたりをクリックしましょう。JSTと表示されればOKです。
![](https://developers.agirobots.com/jp/wp-content/uploads/2022/05/F7E3DB8D-51F1-450C-8CCF-A6830CBA82C9-1024x578.jpeg)
以上で、日本語化とタイムゾーンの設定は終了です。
さいごに
内容は、以上になります。これを参考に設定を行った方は、Raspberry PiでUbuntu Desktop 20.04 LSTが動きましたでしょうか?
そもそも、Raspberry PiでUbuntuが起動するというのは本当にロマンがあります。
ただ、使用感としては、若干動作は遅く、カクつくので、少々疲れるかもしれません。
今後、いくつかのベンチマークを行なっていきたいと思います。
そちらも、動画を公開する予定です。
動画でも、解説しているので、もしお時間が許す範囲で、ご視聴いただけると幸いです。
最後までお読みいただき、ありがとうございました。
追加: DockerとROSのインストール
Dockerのインストール
#!/bin/bash
# スクリプトの実行を停止するためのエラーチェック
set -e
# Dockerのインストール
curl -fsSL https://get.docker.com -o get-docker.sh
sudo sh get-docker.sh
rm get-docker.sh
# 現在のユーザーをDockerグループに追加
sudo usermod -aG docker $(whoami)
# 完了メッセージ
echo "Dockerのインストールと設定が完了しました。"
echo "sudoなしでDockerを使用するためには、ログアウトして再ログインしてください。"
ROS(noetic)のインストール
インストール時のスクリプトは以下の通りです。
#!/bin/bash
# スクリプトの実行を停止するためのエラーチェック
set -e
# リポジトリのセットアップ
sudo sh -c 'echo "deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main" > /etc/apt/sources.list.d/ros-latest.list'
# リポジトリの鍵を追加
sudo apt install -y curl
curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -
# パッケージ情報の更新
sudo apt update
# ROS Noeticのインストール
sudo apt install -y ros-noetic-desktop-full
# rosdepの初期化と更新
sudo apt install -y python3-rosdep
sudo rosdep init
rosdep update
# 環境設定
echo "source /opt/ros/noetic/setup.bash" >> ~/.bashrc
# 開発ツールのインストール
sudo apt install -y python3-rosinstall python3-rosinstall-generator python3-wstool build-essential
# 終了メッセージ
echo "ROS Noeticのインストールが完了しました。"