「Raspberry Piの初期設定」の版間の差分

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動
 
(同じ利用者による、間の33版が非表示)
1行目: 1行目:
== Raspbianのダウンロード ==
以下のWebサイトにアクセスして、任意のRaspbian OSのzipファイルまたはtorrentファイルをダウンロードする。(torrentを使用することを推奨する)<br>
* Raspberry Pi 公式Webサイト
*: https://www.raspberrypi.com/software/operating-systems/
* ミラーサイト(JAIST)
*: http://ftp.jaist.ac.jp/pub/raspberrypi/
<br>
ダウンロードしたRaspbian OSのzipファイルは解凍せずに、balenaEtcher等を使用してSDカードに書き込む。<br>
<br><br>
== RaspberryPi Imagerを使用してインストール ==
==== RaspberryPi Imagerとは ====
RaspberryPi Imagerは、Raspberry Pi OSや他OSをmicroSDカードにインストールして、Raspberry Piで使用できるようにするためソフトウェアである。<br>
RaspberryPi ImagerをPCにインストールした後、Raspberry Piで使用するSDカードをPCに挿入して、Raspberry Pi Imagerを起動する。<br>
<br>
==== RaspberryPi Imagerのインストール ====
RaspberryPi Imagerのビルドに必要なライブラリをインストールする。<br>
sudo zypper install libarchive-devel libcurl-devel zlib-devel libgnutls-devel \
                   
                    # Qt 5を使用する場合
                    libqt5-qtbase-common-devel libQt5Widgets-devel libQt5DBus-devel libQt5Concurrent-devel \
                    libqt5-qtsvg-devel libQt5QuickControls2-devel libqt5-linguist-devel
                   
                    # Qt 6を使用する場合
                    qt6-base-devel qt6-base-common-devel qt6-core-devel qt6-dbus-devel qt6-concurrent-devel \
                    qt6-svg-devel qt6-quick-devel qt6-quickcontrols2-devel qt6-linguist-devel
<br>
[https://github.com/raspberrypi/rpi-imager/releases/ RaspberryPi ImagerのGithub]にアクセスして、RaspberryPi Imagerのソースコードをダウンロードする。<br>
ダウンロードしたファイルを解凍する。<br>
tar xf rpi-imager-<バージョン>.tar.gz
cd rpi-imager-<バージョン>
<br>
または、<code>git clone</code>コマンドを使用して、RaspberryPi Imagerのソースコードをダウンロードする。<br>
git clone --depth 1 https://github.com/raspberrypi/rpi-imager.git
cd rpi-imager
<br>
ビルドディレクトリを作成する。<br>
mkdir build && cd build
<br>
RaspberryPi Imagerをビルドおよびインストールする。<br>
cmake -DCMAKE_C_COMPILER=<GCC 8以降のgcc> -DCMAKE_CXX_COMPILER=<G++ 8以降のg++> \
      -DCMAKE_BUILD_TYPE=Release                                              \
      -DCMAKE_INSTALL_PREFIX=<RaspberryPi Imagerのインストールディレクトリ>          \
      -DENABLE_TELEMETRY=OFF                                                  \
      ../src
make -j $(nproc)
make install
<br>
RaspberryPi Imagerのデスクトップエントリファイルを作成する。<br>
vi ~/.local/applications/RaspberryPi_Imager.desktop
<br>
<syntaxhighlight lang="ini">
# ~/.local/applications/RaspberryPi_Imager.desktopファイル
[Desktop Entry]
Type=Application
Version=1.0
Name=Raspberry Pi Imager
Comment=Raspberry Pi Imager
Exec=/<RaspberryPi Imagerのインストールディレクトリ>/bin/rpi-imager --disable-telemetry
Icon=/<RaspberryPi Imagerのインストールディレクトリ>/share/icons/hicolor/128x128/apps/rpi-imager.png
Categories=Utility
StartupNotify=false
</syntaxhighlight>
<br>
==== テレメトリの無効化 ====
標準のRaspberry Piイメージを使用する場合、<br>
ソフトウェアの使用状況(Raspberry Pi Imagerのバージョンの普及状況、どのイメージとOSが最も人気があるか等)を把握するため、<br>
選択したイメージのURL、OS名、カテゴリ、Raspberry Pi Imagerの実行バージョン、使用しているOS、CPUアーキテクチャ、ロケール、Raspberry Piリビジョンを、<br>
https://rpi-imager-stats.raspberrypi.com へ送信している。<br>
<br>
このサービスは、Herokuによってホストされており、eu-west-1地域における1日あたりの各URL、OS名、カテゴリについて、Redis Sorted Setを使用して増分するカウンターを保存している。<br>
<u>ただし、これらのカウントに個人データを関連付けることはない。</u><br>
これにより、時間の経過と共にダウンロード数を照会のみを行っている。<br>
<br>
Linuxでは、<code>rpi-imager --disable-telemetry</code>を実行する、または、~/.config/Raspberry Pi/Imager.confファイルに以下に示す内容を追記する。<br>
# ~/.config/Raspberry Pi/Imager.confファイル
[General]
telemetry=false
<br>
==== RaspberryPi Imagerの設定 ====
RaspberryPi Imagerの使用時において、[Ctrl] + [Shift] + [X]キーを同時押下することにより、詳細オプションダイアログを表示する。<br>
<br>
これは、Raspberry Piのブート設定ファイルで設定するいくつかの事柄を指定することができる。<br>
例えば、SSHの有効化および無効化、Wi-Fiの設定、ロケールの設定を行うことができる。<br>
<br><br>
== Raspbianの設定 ==
== Raspbianの設定 ==
まず、Raspbianを最新の状態にするため、以下のコマンドを実行する。<br>
まず、Raspbianを最新の状態にするため、以下のコマンドを実行する。<br>
  '''sudo apt-get update'''
  sudo apt-get update
  '''sudo apt-get upgrade'''
  sudo apt-get upgrade
 
<br><br>


== キーボードの設定 ==
== キーボードの設定 ==
設定用アプリケーションの[Localisation]タブの[Set Keyboard]ボタンを押下する。<br>
設定用アプリケーションの[Localisation]タブの[Set Keyboard]ボタンを押下する。<br>
表示されたウインドウにある[Country]を[Japan]に、[Variant]を[Japanese(OADG 109A)]に設定する。<br><br>
表示されたウインドウにある[Country]を[Japan]に、[Variant]を[Japanese(OADG 109A)]に設定する。<br>
<br><br>


== タイムゾーンの設定 ==
== タイムゾーンの設定 ==
設定用アプリケーションの[Localisation]タブの[Set Timezone]ボタンを押下する。<br>
設定用アプリケーションの[Localisation]タブの[Set Timezone]ボタンを押下する。<br>
表示されたウインドウにある[Area]を[Asia]に、[Location]を[Tokyo]に設定する。<br><br>
表示されたウインドウにある[Area]を[Asia]に、[Location]を[Tokyo]に設定する。<br>
<br><br>
 
== IPアドレスの設定 ==
==== GUIで設定する ====
まず、デスクトップ画面右上のネットワークアイコンを右クリックして、[Wireless & Wired Network Settings]を選択する。<br>
[Network Preferences]が開くので、[Interface]プルダウンを選択して、有線LANの場合は[eth0]、Wi-Fiの場合は[wlan0]を選択する。<br>
<br>
次に、以下のネットワークの設定を行う。<br>
* IPアドレス
*: <IPアドレス>/<サブネットマスク  例. 24>
* Router
*: <ゲートウェイのIPアドレス>
* DNS
*: <DNSサーバのIPアドレス>
<br>
最後に、[適用]ボタンを押下する。<br>
<br>
==== CUIで設定する (推奨) ====
まず、/etc/dhcpcd.confファイルの最下行に、以下の設定を追記する。<br>
sudo vi /etc/dhcpcd.conf
<br>
# /etc/dhcpcd.confファイル
interface <eth0 または wlan0>
static ip_address=<IPアドレス>/<サブネットマスク  例. 24>
static routers=<ゲートウェイのIPアドレス>
static domain_name_servers=<DNSのIPアドレス>
noipv6  # IPv6を使用しない場合
<br>
上記の設定を有効にする。<br>
sudo systemctl restart networking
sudo systemctl restart dhcpcd
<br>
PCを再起動する。<br>
<br>
静的IPアドレスに設定できているかどうかを確認する。<bt>
ip a
<br>
もし、静的IPアドレスが設定できない場合、dhcpcdデーモンの状態を確認する。<br>
sudo systemctl status dhcpcd
<br>
以下に示すようなメッセージが出力されている場合は、静的IPアドレスが他の端末と衝突しているため、別の静的IPアドレスの値を設定する必要がある。<br>
〜 dhcpcd 〜: eth0: hardware address <MACアドレス> claims <上記で設定した静的IPアドレス>
〜 dhcpcd 〜: eth0: DAD detected <上記で設定した静的IPアドレス>
<br><br>


== 日本語フォントのインストールと言語の変更 ==
== 日本語フォントのインストールと言語の変更 ==
日本語フォントをインストールするために、以下のコマンドを実行する。<br>
日本語フォントをインストールするために、以下のコマンドを実行する。<br>
  '''sudo apt-get install fonts-vlgothic'''
  sudo apt-get install fonts-noto-cjk fonts-vlgothic
 
<br>
インストール完了後、GUI環境で日本語を表示するために言語の変更を行う。<br>
インストール完了後、GUI環境で日本語を表示するために言語の変更を行う。<br>
設定用アプリケーションの[Localisation]タブの[Set Locale]ボタンを押下する。<br>
設定用アプリケーションの[Localisation]タブの[Set Locale]ボタンを押下する。<br>
表示されたウインドウにある[Language]を[JP(Japan)]に、[Character Set]を[UTF-8]に設定する。<br>
表示されたウインドウにある[Language]を[JP(Japan)]に、[Character Set]を[UTF-8]に設定する。<br>
設定後、再起動が促されるのでYesボタンを押下して再起動する。<br><br>
設定後、再起動が促されるのでYesボタンを押下して再起動する。<br>
<br>
上記だけでなく、以下のフォントも使用可能である。<br>
上記だけでなく、以下のフォントも使用可能である。<br>
  '''sudo apt-get install ttf-kochi-gothic ttf-kochi-mincho fonts-takao fonts-vlgothic fonts-ipafont xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname'''
  sudo apt-get install ttf-kochi-gothic ttf-kochi-mincho fonts-takao fonts-vlgothic fonts-ipafont xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname
<br>
<br><br>


== 日本語入力ソフトウェアのインストール ==
== 日本語入力ソフトウェアのインストール ==
日本語入力ソフトウェアは2種類存在するのでどちらか一方を選択する。
日本語入力ソフトウェアは2種類存在するのでどちらか一方を選択する。<br>
* Mozcをインストールする場合(NOOBS 1.4.2以降のRaspbian推奨)
<br>
:Mozcをインストールするため、以下のコマンドを実行する。<br>
===== Mozcをインストールする場合(NOOBS 1.4.2以降のRaspbian推奨) =====
  '''sudo apt-get install ibus-mozc'''
Mozcをインストールするため、以下のコマンドを実行する。<br>
  sudo apt-get install ibus-mozc
または
sudo apt-get install fcitx-mozc
<br>
インストール完了後、Raspberry Piを再起動する。<br>
[半角 / 全角]キーで日本語入力の切り替えができることを確認する。<br>
<br>
Fcitx-mozcをインストールした場合、以下の設定を行う。<br>
# デスクトップ画面左上からのメニューアイコンから、[設定] - [Fcitx設定]を選択する。
# [入力メソッドの設定]画面が開くので、画面左下にある[+]ボタンを押下する。
# [入力メソッドの追加]画面が開くので、[キーボード - 日本語 - 日本語(OADG 109A)]を選択する。
# [入力メソッドの設定]画面に戻ると、選択したキーボードが最も下に表示されるので、[↑]ボタンを押下して最も上に移動する。<br>もし、選択したものと異なるキーボードが表示されている場合は、そのキーボードを選択した状態で[-]ボタンを押下する。
# [入力メソッドの設定]画面の[全体の設定]タブを選択して、[入力メソッドのオンオフ]項目が[Zenkakuhankaku]に設定されていることを確認する。
# [入力メソッドの設定]画面の[外観]タブを選択して、[状態パネルを隠すモード]項目のプルダウンから[表示]を選択する。
# [入力メソッドの設定]画面右上の[x]ボタンを押下する。
<br>
===== UIMをインストールする場合(NOOBS 1.4.1までのRaspbian推奨) =====
wheezyをインストールするため、以下のコマンドを実行する。<br>
sudo apt-get install uim uim-anthy xfonts-kaname
<br>
インストール完了後、Raspbianを再起動する。<br>
[半角/全角]キーまたは[Shift][Space]キーを同時押下することで日本語入力のオンオフを切り替えることができる。<br>
<br><br>


:インストール完了後、Raspbianを再起動する。<br>
== ランレベルの変更 ==
:[半角/全角]キーで日本語入力のオンオフを切り替えることができる。<br><br>
デスクトップ画面左上のアイコンから、[設定] - [Raspberry Piの設定]を選択する。<br>
 
[System]タブ - [ブート]項目から、[デスクトップ]または[CLI]を選択して、[自動ログイン]のチェックを外す。<br>
* UIMをインストールする場合(NOOBS 1.4.1までのRaspbian推奨)
[OK]ボタンを押下する。<br>
:wheezyをインストールするため、以下のコマンドを実行する。<br>
<br>
'''sudo apt-get install uim uim-anthy xfonts-kaname'''
Raspberry Piを再起動すると、CLIまたはGUIでRaspberry Piが起動する。<br>
 
<br>
:インストール完了後、Raspbianを再起動する。<br>
<u>※注意</u><br>
:[半角/全角]キーまたは[Shift][Space]キーを同時押下することで日本語入力のオンオフを切り替えることができる。<br><br>
<u>リモートデスクトップ接続する場合は、[デスクトップ]を選択すること。</u><br>
 
<br><br>
== CLIでログインする方法 ==
設定用アプリケーションの[System]タブの[ブート]項目にて[CLI]を選択して、更に[自動ログイン]のチェックを外す。<br>
設定後、再起動するとCLI環境でRaspbianが起動する。<br><br>


== ファイヤーウォールの設定 ==
== ファイヤーウォールの設定 ==
firewalldのインストールを行う。<br>
firewalldのインストールを行う。<br>
  '''sudo apt-get install firewalld'''
  sudo apt-get install firewalld
<br>
正常にインストールできたかどうか確認する。<br>
正常にインストールできたかどうか確認する。<br>
Active: active (running)と表示されていれば正常に起動している。<br>
Active: active (running)と表示されていれば正常に起動している。<br>
  '''sudo systemctl status firewalld'''
  sudo systemctl status firewalld
<br>
<br>
ファイヤーウォールを自動で起動するには以下のコマンドを入力する。<br>
ファイヤーウォールを自動で起動するには以下のコマンドを入力する。<br>
  '''sudo systemctl enable firewalld'''
  sudo systemctl enable firewalld
<br>
<br>
ファイヤーウォールの設定を確認するには以下のコマンドを入力する。<br>
ファイヤーウォールの設定を確認するには以下のコマンドを入力する。<br>
  '''firewall-cmd --list-all'''
  firewall-cmd --list-all
<br>
<br>
ファイヤーウォールのポートを開放するには以下のコマンドを入力する。<br>
ファイヤーウォールのポートを開放するには以下のコマンドを入力する。<br>
下記は、SSHやHTTPのポートを開放する例である。<br>
下記は、SSHやHTTPのポートを開放する例である。<br>
  '''firewall-cmd --permanent --zone=public --add-port=ssh    // SSHを開放'''
  sudo firewall-cmd --permanent --zone=public --add-port=ssh    // SSHを開放
  '''firewall-cmd --permanent --zone=public --add-port=http    // HTTPを開放'''
  sudo firewall-cmd --permanent --zone=public --add-port=http    // HTTPを開放
  '''firewall-cmd --permanent --zone=public --add-port=22/tcp  // TCPポート22番を開放'''
  sudo firewall-cmd --permanent --zone=public --add-port=22/tcp  // TCPポート22番を開放
  '''firewall-cmd --permanent --zone=public --add-port=80/tcp  // TCPポート80番を開放'''
  sudo firewall-cmd --permanent --zone=public --add-port=80/tcp  // TCPポート80番を開放
<br>
<br>
また、ファイヤーウォールのポートを閉じるには以下のコマンドを入力する。<br>
また、ファイヤーウォールのポートを閉じるには以下のコマンドを入力する。<br>
下記は、SSHやHTTPのポートを閉じる例である。<br>
下記は、SSHやHTTPのポートを閉じる例である。<br>
  '''firewall-cmd --permanent --zone=public --remove-service=ssh'''
  sudo firewall-cmd --permanent --zone=public --remove-service=ssh
  '''firewall-cmd --permanent --zone=public --remove-service=http'''
  sudo firewall-cmd --permanent --zone=public --remove-service=http
<br>
<br>
以下のコマンドでは、publicゾーンの設定をWi-Fiのインターフェース(インターフェース名 : wlan0)に割り当てる。<br>
以下のコマンドでは、publicゾーンの設定をWi-Fiのインターフェース(インターフェース名 : wlan0)に割り当てる。<br>
  '''firewall-cmd --permanent --zone=public --change-interface=wlan0'''
  sudo firewall-cmd --permanent --zone=public --change-interface=wlan0
<br>
<br>
最後に、設定を反映させるため以下のコマンドを入力する。<br>
最後に、設定を反映させるため以下のコマンドを入力する。<br>
successと表示されていれば成功である。<br>
successと表示されていれば成功である。<br>
  '''sudo firewall-cmd --reload'''
  sudo firewall-cmd --reload
<br><br>
 
== Wi-Fiの無効化 ==
Wi-Fiを無効にする場合、以下のコマンドを実行する。<br>
Raspberry Piを再起動することにより、設定が有効になる。<br>
sudo iwconfig wlan0 txpower off
<br>
再度、Wi-Fiを有効にする場合は、以下のコマンドを実行して再起動する。<br>
sudo iwconfig wlan0 txpower on
または
sudo iwconfig wlan0 txpower auto
<br><br>
 
== debパッケージのインストールとアンインストール ==
* debファイルのみをインストールする。
*: <code>sudo deb -i <パッケージ名>.deb</code> または <code>sudo dpkg -i <パッケージ名>.deb</code>
* 依存関係のパッケージも含めてインストールする
*: <code>sudo gdebi <パッケージ名>.deb</code>
* 依存関係を無視してインストールする。
*: <code>sudo dpkg -i --force-depends <パッケージ名>.deb</code>
* debパッケージがインストールされているか確認する。
*: <code>sudo dpkg --list <パッケージ名></code>
* debパッケージをアンインストールする。
*: <code>sudo dpkg -r <パッケージ名></code>
*: <code>sudo dpkg -purge <パッケージ名>  # 設定ファイルも含めて削除する場合</code>
*: また、アンインストール時に依存関係により問題が生じる場合、<code>--force-depends</code>オプションを付加することで強制的に削除することができる。
*: <code>sudo dpkg -r --force-depends <パッケージ名></code>
* インストールされたパッケージの情報を確認する。
*: <code>sudo dpkg -s <パッケージ名></code>
* debパッケージの情報を確認する。
*: <code>sudo dpkg -I <パッケージ名>.deb</code>
<br>
* <code>dpkg-reconfigure</code>コマンドを使用すると、既にインストールされたdebパッケージの状態を再設定できる。<br>設定の初期化等も可能である。
*: <code>sudo dpkg-reconfigure <パッケージ名></code>
*: また、<code>--force</code>オプションを付加する場合、設定ファイルが破損している場合でも強制実行することができる。
*: <code>sudo dpkg-reconfigure --force <パッケージ名></code>
<br>
* その他のオプション
** インストールを行わずに、確認のみを行う。
**: <code>--no-act</code>
** システムにインストール済みのパッケージが新しい場合は、インストールしない。
**: <code>-G</code>
** 同バージョンがインストール済みの場合は、再インストールしない。
**: <code>-E</code>
<br><br>
 
== Bluetoothの無効化 ==
オンボードのBluetoothおよび関連サービスを無効にする。<br>
これらの手順は、Raspberry Piの起動時にbluetooth、hci_uart、btbcm等の関連カーネルモジュールのロードも無効化する。<br>
<br>
Raspberry Pi 3B、3B+、3A+、4B、Zero Wにおいて、オンボードのBluetoothを無効化する。<br>
また、GPIO 14(pin 8)とGPIO 15(pin10)上のUART0 / ttyAMA0を復元する。<br>
<br>
N.B.モデムを初期化するsystemdサービスを無効にしてUARTを使用しないようにするには、<code>sudo systemctl disable hciuart</code>を使用する。<br>
sudo vi /boot/config.txt
<br>
# /boot/config.txtファイル
# Disable Bluetooth
dtoverlay=disable-bt
<br>
Bluetoothのデーモンを無効化する。<br>
sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service
<br>
Raspberry Piを再起動する。<br>
sudo systemctl reboot
<br>
ただし、オンボードのBluetoothおよび関連サービスを無効にしても、外付けのBluetoothアダプタを接続する場合、Bluetoothは利用できる。<br>
もし、Bluetoothが不要な場合は、Bluetoothスタックをアンインストールする。<br>
これにより、外付けのBluetoothアダプタも利用できなくなる。<br>
sudo apt purge bluez
sudo apt autoremove
<br><br>
 
== ソフトウェアの自動起動 ==
==== autostartファイルについて ====
ソフトウェアのパスの前に<code>@</code>が記述されていることがある。<br>
<code>@</code>は、指定されたソフトウェアがクラッシュした場合、再起動するようLXDEに指示するものである。<br>
したがって、<code>@</code>を付加することにより、ソフトウェアが予期せず終了した場合でも自動的に再起動されるようになる。<br>
<br>
<code>@</code>を付加せずにソフトウェアを指定する場合、そのソフトウェアはシステムの起動時に1度だけ実行される。<br>
<br>
==== システム全体に設定する場合 ====
/etc/xdg/lxsession/LXDE-pi/autostartファイルに自動起動するソフトウェアのパスを記述する。<br>
echo "@<ソフトウェアのパス> [オプション]" >> /etc/xdg/lxsession/LXDE-pi/autostart
<br>
 
==== 各ユーザに設定する場合 ====
まず、/etc/xdg/lxsession/LXDE-pi/autostartファイルを~/.config/lxsession/LXDE-piにコピーする。<br>
mkdir -p ~/.config/lxsession/LXDE-pi
cp /etc/xdg/lxsession/LXDE-pi/autostart ~/.config/lxsession/LXDE-pi/
<br>
次に、コピーした~/.config/lxsession/LXDE-pi/autostartファイルに自動起動するソフトウェアのパスを記述する。<br>
echo "@<ソフトウェアのパス> [オプション]" >> ~/.config/lxsession/LXDE-pi/autostart
<br><br>
 
== その他の設定 ==
デスクトップ画面左上から、[設定] - [Raspberry Piの設定]を選択する。<br>
[System]タブ - [スプラッシュ画面:]項目を[無効]にする。<br>
<br>
<br>
これは、起動時に何か問題が発生した場合、様々なエラーを表示できるからである。<br>
<br><br>


__FORCETOC__
__FORCETOC__
[[Category:Raspberry_Pi]]
[[Category:Raspberry_Pi]]

2024年5月9日 (木) 19:58時点における最新版

Raspbianのダウンロード

以下のWebサイトにアクセスして、任意のRaspbian OSのzipファイルまたはtorrentファイルをダウンロードする。(torrentを使用することを推奨する)


ダウンロードしたRaspbian OSのzipファイルは解凍せずに、balenaEtcher等を使用してSDカードに書き込む。


RaspberryPi Imagerを使用してインストール

RaspberryPi Imagerとは

RaspberryPi Imagerは、Raspberry Pi OSや他OSをmicroSDカードにインストールして、Raspberry Piで使用できるようにするためソフトウェアである。
RaspberryPi ImagerをPCにインストールした後、Raspberry Piで使用するSDカードをPCに挿入して、Raspberry Pi Imagerを起動する。

RaspberryPi Imagerのインストール

RaspberryPi Imagerのビルドに必要なライブラリをインストールする。

sudo zypper install libarchive-devel libcurl-devel zlib-devel libgnutls-devel \
                    
                    # Qt 5を使用する場合
                    libqt5-qtbase-common-devel libQt5Widgets-devel libQt5DBus-devel libQt5Concurrent-devel \
                    libqt5-qtsvg-devel libQt5QuickControls2-devel libqt5-linguist-devel
                    
                    # Qt 6を使用する場合
                    qt6-base-devel qt6-base-common-devel qt6-core-devel qt6-dbus-devel qt6-concurrent-devel \
                    qt6-svg-devel qt6-quick-devel qt6-quickcontrols2-devel qt6-linguist-devel


RaspberryPi ImagerのGithubにアクセスして、RaspberryPi Imagerのソースコードをダウンロードする。
ダウンロードしたファイルを解凍する。

tar xf rpi-imager-<バージョン>.tar.gz
cd rpi-imager-<バージョン>


または、git cloneコマンドを使用して、RaspberryPi Imagerのソースコードをダウンロードする。

git clone --depth 1 https://github.com/raspberrypi/rpi-imager.git
cd rpi-imager


ビルドディレクトリを作成する。

mkdir build && cd build


RaspberryPi Imagerをビルドおよびインストールする。

cmake -DCMAKE_C_COMPILER=<GCC 8以降のgcc> -DCMAKE_CXX_COMPILER=<G++ 8以降のg++> \
      -DCMAKE_BUILD_TYPE=Release                                              \
      -DCMAKE_INSTALL_PREFIX=<RaspberryPi Imagerのインストールディレクトリ>           \
      -DENABLE_TELEMETRY=OFF                                                  \
      ../src

make -j $(nproc)
make install


RaspberryPi Imagerのデスクトップエントリファイルを作成する。

vi ~/.local/applications/RaspberryPi_Imager.desktop


 # ~/.local/applications/RaspberryPi_Imager.desktopファイル
 
 [Desktop Entry]
 Type=Application
 Version=1.0
 Name=Raspberry Pi Imager
 Comment=Raspberry Pi Imager
 Exec=/<RaspberryPi Imagerのインストールディレクトリ>/bin/rpi-imager --disable-telemetry 
 Icon=/<RaspberryPi Imagerのインストールディレクトリ>/share/icons/hicolor/128x128/apps/rpi-imager.png
 Categories=Utility
 StartupNotify=false


テレメトリの無効化

標準のRaspberry Piイメージを使用する場合、
ソフトウェアの使用状況(Raspberry Pi Imagerのバージョンの普及状況、どのイメージとOSが最も人気があるか等)を把握するため、
選択したイメージのURL、OS名、カテゴリ、Raspberry Pi Imagerの実行バージョン、使用しているOS、CPUアーキテクチャ、ロケール、Raspberry Piリビジョンを、
https://rpi-imager-stats.raspberrypi.com へ送信している。

このサービスは、Herokuによってホストされており、eu-west-1地域における1日あたりの各URL、OS名、カテゴリについて、Redis Sorted Setを使用して増分するカウンターを保存している。
ただし、これらのカウントに個人データを関連付けることはない。
これにより、時間の経過と共にダウンロード数を照会のみを行っている。

Linuxでは、rpi-imager --disable-telemetryを実行する、または、~/.config/Raspberry Pi/Imager.confファイルに以下に示す内容を追記する。

# ~/.config/Raspberry Pi/Imager.confファイル

[General]
telemetry=false


RaspberryPi Imagerの設定

RaspberryPi Imagerの使用時において、[Ctrl] + [Shift] + [X]キーを同時押下することにより、詳細オプションダイアログを表示する。

これは、Raspberry Piのブート設定ファイルで設定するいくつかの事柄を指定することができる。
例えば、SSHの有効化および無効化、Wi-Fiの設定、ロケールの設定を行うことができる。


Raspbianの設定

まず、Raspbianを最新の状態にするため、以下のコマンドを実行する。

sudo apt-get update
sudo apt-get upgrade



キーボードの設定

設定用アプリケーションの[Localisation]タブの[Set Keyboard]ボタンを押下する。
表示されたウインドウにある[Country]を[Japan]に、[Variant]を[Japanese(OADG 109A)]に設定する。


タイムゾーンの設定

設定用アプリケーションの[Localisation]タブの[Set Timezone]ボタンを押下する。
表示されたウインドウにある[Area]を[Asia]に、[Location]を[Tokyo]に設定する。


IPアドレスの設定

GUIで設定する

まず、デスクトップ画面右上のネットワークアイコンを右クリックして、[Wireless & Wired Network Settings]を選択する。
[Network Preferences]が開くので、[Interface]プルダウンを選択して、有線LANの場合は[eth0]、Wi-Fiの場合は[wlan0]を選択する。

次に、以下のネットワークの設定を行う。

  • IPアドレス
    <IPアドレス>/<サブネットマスク 例. 24>
  • Router
    <ゲートウェイのIPアドレス>
  • DNS
    <DNSサーバのIPアドレス>


最後に、[適用]ボタンを押下する。

CUIで設定する (推奨)

まず、/etc/dhcpcd.confファイルの最下行に、以下の設定を追記する。

sudo vi /etc/dhcpcd.conf


# /etc/dhcpcd.confファイル

interface <eth0 または wlan0>
static ip_address=<IPアドレス>/<サブネットマスク  例. 24>
static routers=<ゲートウェイのIPアドレス>
static domain_name_servers=<DNSのIPアドレス>
noipv6  # IPv6を使用しない場合


上記の設定を有効にする。

sudo systemctl restart networking
sudo systemctl restart dhcpcd


PCを再起動する。

静的IPアドレスに設定できているかどうかを確認する。<bt>

ip a


もし、静的IPアドレスが設定できない場合、dhcpcdデーモンの状態を確認する。

sudo systemctl status dhcpcd


以下に示すようなメッセージが出力されている場合は、静的IPアドレスが他の端末と衝突しているため、別の静的IPアドレスの値を設定する必要がある。

〜 dhcpcd 〜: eth0: hardware address <MACアドレス> claims <上記で設定した静的IPアドレス>
〜 dhcpcd 〜: eth0: DAD detected <上記で設定した静的IPアドレス>



日本語フォントのインストールと言語の変更

日本語フォントをインストールするために、以下のコマンドを実行する。

sudo apt-get install fonts-noto-cjk fonts-vlgothic


インストール完了後、GUI環境で日本語を表示するために言語の変更を行う。
設定用アプリケーションの[Localisation]タブの[Set Locale]ボタンを押下する。
表示されたウインドウにある[Language]を[JP(Japan)]に、[Character Set]を[UTF-8]に設定する。
設定後、再起動が促されるのでYesボタンを押下して再起動する。

上記だけでなく、以下のフォントも使用可能である。

sudo apt-get install ttf-kochi-gothic ttf-kochi-mincho fonts-takao fonts-vlgothic fonts-ipafont xfonts-intl-japanese xfonts-intl-japanese-big xfonts-kaname



日本語入力ソフトウェアのインストール

日本語入力ソフトウェアは2種類存在するのでどちらか一方を選択する。

Mozcをインストールする場合(NOOBS 1.4.2以降のRaspbian推奨)

Mozcをインストールするため、以下のコマンドを実行する。

sudo apt-get install ibus-mozc
または
sudo apt-get install fcitx-mozc


インストール完了後、Raspberry Piを再起動する。
[半角 / 全角]キーで日本語入力の切り替えができることを確認する。

Fcitx-mozcをインストールした場合、以下の設定を行う。

  1. デスクトップ画面左上からのメニューアイコンから、[設定] - [Fcitx設定]を選択する。
  2. [入力メソッドの設定]画面が開くので、画面左下にある[+]ボタンを押下する。
  3. [入力メソッドの追加]画面が開くので、[キーボード - 日本語 - 日本語(OADG 109A)]を選択する。
  4. [入力メソッドの設定]画面に戻ると、選択したキーボードが最も下に表示されるので、[↑]ボタンを押下して最も上に移動する。
    もし、選択したものと異なるキーボードが表示されている場合は、そのキーボードを選択した状態で[-]ボタンを押下する。
  5. [入力メソッドの設定]画面の[全体の設定]タブを選択して、[入力メソッドのオンオフ]項目が[Zenkakuhankaku]に設定されていることを確認する。
  6. [入力メソッドの設定]画面の[外観]タブを選択して、[状態パネルを隠すモード]項目のプルダウンから[表示]を選択する。
  7. [入力メソッドの設定]画面右上の[x]ボタンを押下する。


UIMをインストールする場合(NOOBS 1.4.1までのRaspbian推奨)

wheezyをインストールするため、以下のコマンドを実行する。

sudo apt-get install uim uim-anthy xfonts-kaname


インストール完了後、Raspbianを再起動する。
[半角/全角]キーまたは[Shift][Space]キーを同時押下することで日本語入力のオンオフを切り替えることができる。


ランレベルの変更

デスクトップ画面左上のアイコンから、[設定] - [Raspberry Piの設定]を選択する。
[System]タブ - [ブート]項目から、[デスクトップ]または[CLI]を選択して、[自動ログイン]のチェックを外す。
[OK]ボタンを押下する。

Raspberry Piを再起動すると、CLIまたはGUIでRaspberry Piが起動する。

※注意
リモートデスクトップ接続する場合は、[デスクトップ]を選択すること。


ファイヤーウォールの設定

firewalldのインストールを行う。

sudo apt-get install firewalld


正常にインストールできたかどうか確認する。
Active: active (running)と表示されていれば正常に起動している。

sudo systemctl status firewalld


ファイヤーウォールを自動で起動するには以下のコマンドを入力する。

sudo systemctl enable firewalld


ファイヤーウォールの設定を確認するには以下のコマンドを入力する。

firewall-cmd --list-all


ファイヤーウォールのポートを開放するには以下のコマンドを入力する。
下記は、SSHやHTTPのポートを開放する例である。

sudo firewall-cmd --permanent --zone=public --add-port=ssh     // SSHを開放
sudo firewall-cmd --permanent --zone=public --add-port=http    // HTTPを開放
sudo firewall-cmd --permanent --zone=public --add-port=22/tcp  // TCPポート22番を開放
sudo firewall-cmd --permanent --zone=public --add-port=80/tcp  // TCPポート80番を開放


また、ファイヤーウォールのポートを閉じるには以下のコマンドを入力する。
下記は、SSHやHTTPのポートを閉じる例である。

sudo firewall-cmd --permanent --zone=public --remove-service=ssh
sudo firewall-cmd --permanent --zone=public --remove-service=http


以下のコマンドでは、publicゾーンの設定をWi-Fiのインターフェース(インターフェース名 : wlan0)に割り当てる。

sudo firewall-cmd --permanent --zone=public --change-interface=wlan0


最後に、設定を反映させるため以下のコマンドを入力する。
successと表示されていれば成功である。

sudo firewall-cmd --reload



Wi-Fiの無効化

Wi-Fiを無効にする場合、以下のコマンドを実行する。
Raspberry Piを再起動することにより、設定が有効になる。

sudo iwconfig wlan0 txpower off


再度、Wi-Fiを有効にする場合は、以下のコマンドを実行して再起動する。

sudo iwconfig wlan0 txpower on
または
sudo iwconfig wlan0 txpower auto



debパッケージのインストールとアンインストール

  • debファイルのみをインストールする。
    sudo deb -i <パッケージ名>.deb または sudo dpkg -i <パッケージ名>.deb
  • 依存関係のパッケージも含めてインストールする
    sudo gdebi <パッケージ名>.deb
  • 依存関係を無視してインストールする。
    sudo dpkg -i --force-depends <パッケージ名>.deb
  • debパッケージがインストールされているか確認する。
    sudo dpkg --list <パッケージ名>
  • debパッケージをアンインストールする。
    sudo dpkg -r <パッケージ名>
    sudo dpkg -purge <パッケージ名> # 設定ファイルも含めて削除する場合
    また、アンインストール時に依存関係により問題が生じる場合、--force-dependsオプションを付加することで強制的に削除することができる。
    sudo dpkg -r --force-depends <パッケージ名>
  • インストールされたパッケージの情報を確認する。
    sudo dpkg -s <パッケージ名>
  • debパッケージの情報を確認する。
    sudo dpkg -I <パッケージ名>.deb


  • dpkg-reconfigureコマンドを使用すると、既にインストールされたdebパッケージの状態を再設定できる。
    設定の初期化等も可能である。
    sudo dpkg-reconfigure <パッケージ名>
    また、--forceオプションを付加する場合、設定ファイルが破損している場合でも強制実行することができる。
    sudo dpkg-reconfigure --force <パッケージ名>


  • その他のオプション
    • インストールを行わずに、確認のみを行う。
      --no-act
    • システムにインストール済みのパッケージが新しい場合は、インストールしない。
      -G
    • 同バージョンがインストール済みの場合は、再インストールしない。
      -E



Bluetoothの無効化

オンボードのBluetoothおよび関連サービスを無効にする。
これらの手順は、Raspberry Piの起動時にbluetooth、hci_uart、btbcm等の関連カーネルモジュールのロードも無効化する。

Raspberry Pi 3B、3B+、3A+、4B、Zero Wにおいて、オンボードのBluetoothを無効化する。
また、GPIO 14(pin 8)とGPIO 15(pin10)上のUART0 / ttyAMA0を復元する。

N.B.モデムを初期化するsystemdサービスを無効にしてUARTを使用しないようにするには、sudo systemctl disable hciuartを使用する。

sudo vi /boot/config.txt


# /boot/config.txtファイル

# Disable Bluetooth
dtoverlay=disable-bt


Bluetoothのデーモンを無効化する。

sudo systemctl disable hciuart.service
sudo systemctl disable bluealsa.service
sudo systemctl disable bluetooth.service


Raspberry Piを再起動する。

sudo systemctl reboot


ただし、オンボードのBluetoothおよび関連サービスを無効にしても、外付けのBluetoothアダプタを接続する場合、Bluetoothは利用できる。
もし、Bluetoothが不要な場合は、Bluetoothスタックをアンインストールする。
これにより、外付けのBluetoothアダプタも利用できなくなる。

sudo apt purge bluez
sudo apt autoremove



ソフトウェアの自動起動

autostartファイルについて

ソフトウェアのパスの前に@が記述されていることがある。
@は、指定されたソフトウェアがクラッシュした場合、再起動するようLXDEに指示するものである。
したがって、@を付加することにより、ソフトウェアが予期せず終了した場合でも自動的に再起動されるようになる。

@を付加せずにソフトウェアを指定する場合、そのソフトウェアはシステムの起動時に1度だけ実行される。

システム全体に設定する場合

/etc/xdg/lxsession/LXDE-pi/autostartファイルに自動起動するソフトウェアのパスを記述する。

echo "@<ソフトウェアのパス> [オプション]" >> /etc/xdg/lxsession/LXDE-pi/autostart


各ユーザに設定する場合

まず、/etc/xdg/lxsession/LXDE-pi/autostartファイルを~/.config/lxsession/LXDE-piにコピーする。

mkdir -p ~/.config/lxsession/LXDE-pi
cp /etc/xdg/lxsession/LXDE-pi/autostart ~/.config/lxsession/LXDE-pi/


次に、コピーした~/.config/lxsession/LXDE-pi/autostartファイルに自動起動するソフトウェアのパスを記述する。

echo "@<ソフトウェアのパス> [オプション]" >> ~/.config/lxsession/LXDE-pi/autostart



その他の設定

デスクトップ画面左上から、[設定] - [Raspberry Piの設定]を選択する。
[System]タブ - [スプラッシュ画面:]項目を[無効]にする。

これは、起動時に何か問題が発生した場合、様々なエラーを表示できるからである。