Raspberry PiにUbuntuをインストールし、デスクトップ環境を構築する際のメモ。
本文章での前提条件・考慮事項は次のとおり。
- Raspberry Pi 5 (8GB)
- Ubuntu Desktop 23.10 (64 bit)
- Raspberry Pi Imagerで作成したイメージを使用してインストール
- ある程度の長期間、連続動作することを考慮して設定
初回起動までのインストール手順、個別のソフトウェアの設定等については省略しているため、適宜Ubuntu 24.04のインストールを参照のこと。
初期設定
必需ツール類のインストール
以下のコマンドで一括してインストールする。 インストール目的等については省略。
ここでインストールする各パッケージの概要は次のとおり。
パッケージ名 | 概要 |
---|---|
curl
|
URL 文法でデータを転送するコマンドラインツール |
git
|
速く、スケーラブルな分散型リビジョン管理システム |
rsync
|
高速で多目的なリモート (兼ローカル) ファイル複製ツール |
tree
|
displays an indented directory tree, in color |
パッケージ名 | 概要 |
dotfiles
これはごく個人的な設定をまとめたものであるため、そのまま使用することは推奨しない。
スワップの無効化
スワップ頻度の最小化
ここではスワップ頻度を0
に設定する。 なお現在の設定値はcat /proc/sys/vm/swappiness
で確認できる。
/etc/sysctl.conf
に以下の内容を追記する。
sysctl -p
で変更を反映させる。 また、正しく変更されたかを確認。
スワップファイルの無効化
systemdによって管理されているスワップファイルを無効化する。
まず、systemdによって管理されているスワップファイルの状態を確認する。
上記のように、systemdユニットswapfile.swap
がスワップファイル/swapfile
を管理している。 そこで、このswapfile.swap
をmask(無効化)する。
この時点でのswapfile.swap
は、maskされてはいるが、状態は引き続きactiveのままとなる。
再起動後、再度確認して無効化されたことを確認する。
NTPサーバーの設定
systemd-timesyncd
の設定を確認すると、初期設定ではntp.ubuntu.com
と同期するようになっている。
(systemctl status
でStatusを確認すると、ntp.ubuntu.com
に接続したことが確認できる)
/etc/systemd/timesyncd.conf
を編集して、NTPサーバーを設定する。 ここではNICTの公開NTPサーバーであるntp.nict.jpを使用する。
設定を変更したら、再起動する。 少し時間が経過してからstatusを確認すると、設定を反映した動作になっているか確認することができる。
systemd timerユニットの停止
systemdのタイマーユニットのうち、不要なものを停止・無効化する。
まずは、登録・動作しているタイマーユニットを確認する。 systemctl list-timers --all
で一覧表示できる。
ここでは、以下を停止する。
- apt-daily.timer
- apt-daily-upgrade.timer
- motd-news.timer
- man-db.timer
- update-notifier-motd.timer
systemctl stop
およびsystemctl disable
コマンドで、上記タイマーユニットを停止する。
コンソール画面のフォントとフォントサイズを調整する
/etc/default/console-setup
を編集して、FONTFACE
およびFONTSIZE
を変更する。
FONTFACE
およびFONTSIZE
に設定できる値とその組み合わせは、man 5 console-setupで確認することができる。
設定の変更を反映する。 下記コマンドを実行すると、コンソール画面が新しいフォントとフォントサイズで再表示される。
再起動後も有効にするために、initramfsを更新する。
不要なaptパッケージの削除
以下のコマンドで一括して削除する。 削除理由等については省略。
ここで削除する各パッケージの概要は次のとおり。
パッケージ名 | 概要 |
---|---|
aisleriot
|
GNOME ソリティアカードゲーム集 |
aspell
|
GNU aspell スペルチェッカ |
aspell-en
|
GNU Aspell 用英語辞書 |
'^avahi-.*'
|
Avahi IPv4LL ネットワークアドレス設定デーモン |
brltty
|
点字ディスプレイを使う視覚障害者のためのアクセスソフトウェア |
cheese
|
ウェブカムで写真や動画を撮影するツール |
'^cheese-.*'
|
Common files for the Cheese tool to take pictures and videos |
cups
|
Common UNIX Printing System(tm) - PPD/ドライバサポート、web インターフェース |
cups-browsed
|
OpenPrinting CUPS フィルター - cups-browsed |
cups-bsd
|
Common UNIX Printing System(tm) - BSD commands |
cups-client
|
Common UNIX Printing System(tm) - クライアントプログラム (SysV) |
cups-common
|
Common UNIX Printing System(tm) - common files |
cups-core-drivers
|
Common UNIX Printing System(tm) - driverless printing |
cups-daemon
|
Common UNIX Printing System(tm) - daemon |
cups-filters*
|
OpenPrinting CUPS フィルタ - メインパッケージ |
cups-ipp-utils
|
Common UNIX Printing System(tm) - IPP developer/admin utilities |
cups-pk-helper
|
cups の細かい権限設定を行なうための PolicyKit ヘルパー |
cups-server-common
|
Common UNIX Printing System(tm) - server common files |
foomatic-db-compressed-ppds
|
OpenPrinting プリンタサポート - データベースから派生した圧縮 PPD |
ipp-usb
|
Daemon for IPP over USB printer support |
enchant-2
|
各種スペルチェッカエンジンへのラッパー (バイナリプログラム) |
'^espeak(-.*)?'
|
speech data files |
fonts-liberation , ^fonts-liberation-.* |
Times, Arial および Courier と同等のメトリックのフォント群 |
ftp
|
dummy transitional package for tnftp |
tnftp
|
enhanced ftp client |
gamemode
|
Optimise Linux system performance on demand |
gamemode-daemon
|
Optimise Linux system performance on demand (daemon) |
gnome-calendar
|
GNOME 用カレンダーアプリケーション |
gnome-mahjongg
|
classic Eastern tile game for GNOME |
gnome-mines
|
popular minesweeper puzzle game for GNOME |
gnome-sudoku
|
Sudoku puzzle game for GNOME |
hplip
|
HP Linux Printing and Imaging System (HPLIP) |
hplip-data
|
HP Linux Printing and Imaging - データファイル |
'^printer-driver-.*'
|
printer driver for HP-GDI printers |
'^libreoffice-.*'
|
office productivity suite -- word processor |
modemmanager
|
モデムを管理する D-Bus サービス |
mythes-en-au
|
Australian English Thesaurus for OpenOffice.org |
mythes-en-us
|
English (USA) Thesaurus for LibreOffice |
ntfs-3g
|
FUSE 用の読み書き可能な NTFS ドライバ |
'^libntfs-.*'
|
FUSE 用 NTFS 読み書きドライバ (ランタイムライブラリ) |
nano
|
Pico にヒントを得て作られた、コンパクトで使いやすいテキストエディタ |
openprinting-ppds
|
OpenPrinting printer support - PostScript PPD files |
ppp
|
Point-to-Point Protocol (PPP) デーモン |
pptp-linux
|
Point-to-Point Tunneling Protocol (PPTP) クライアント |
rygel
|
GNOME UPnP/DLNA services |
rhythmbox
|
GNOME 用音楽プレイヤーおよびオーガナイザー |
'^rhythmbox-.*'
|
data files for rhythmbox |
sane-utils
|
スキャナ用 API ライブラリ - ユーティリティ |
sane-airscan
|
SANE backend for AirScan (eSCL) and WSD document scanner |
libsane-hpaio
|
HP の複合機用 SANE バックエンド |
simple-scan
|
シンプルなスキャンユーティリティ |
shotwell
|
デジタル写真オーガナイザ |
'^shotwell-.*'
|
digital photo organizer - common files |
speech-dispatcher
|
Common interface to speech synthesizers |
speech-dispatcher-audio-plugins
|
Audio output plugins |
system-config-printer-common
|
backend and the translation files for system-config-printer |
system-config-printer-udev
|
プリンタの自動検出と設定を行う各種ユーティリティ |
transmission-gtk
|
lightweight BitTorrent client (GTK+ interface) |
transmission-common
|
軽量な BitTorrent クライアント (共通ファイル) |
totem
|
GStreamer ベースで GNOME デスクトップ向けのシンプルなメディアプレイヤ |
totem-common
|
Totem メディアプレイヤーのデータファイル |
totem-plugins
|
Plugins for the Totem media player |
thunderbird
|
Email, RSS and newsgroup client with integrated spam filter |
thunderbird-gnome-support
|
Email, RSS and newsgroup client - GNOME support |
'^thunderbird-locale-.*'
|
Afrikaans language pack for Thunderbird |
wamerican
|
/usr/share/dict 用米国英語単語リスト |
wbritish
|
/usr/share/dict 用英国英語単語リスト |
パッケージ名 | 概要 |
削除が完了したら、クリーンアップする。
デスクトップ設定
システムモニタアプレットのインストール
トップバーにシステムモニタアプレットを追加する。
GNOMEのバージョンによっては、 system-monitorは未対応で動作しない場合がある。 ここでは、オリジナルの代わりとしてsystem-monitor-nextをインストールする。
まずは、依存パッケージをインストールする。
続いて、GNOME Shell Extension Managerを起動し、system-monitor-nextをインストールする。
インストールが完了し、トップバーにアプレットが表示されたら、設定を開いて表示内容の取捨選択・更新間隔の調整を行う。
起動時の自動ログイン
⏻メニューより⚙設定を開き、👥ユーザーを選択する。
まず、[ユーザーを追加]より、自動ログイン用の別ユーザーを作成する。 作成したら、「自動ログイン」をオンにする。 これにより、起動時に自動的にユーザーのログインが行われる。
パスワードレスのログイン
以下は未実施・未検証。 GDMのログイン画面から、パスワードレスでログインする方法について。
ロック時の認証画面の無効化
ロック時などに表示される認証画面を無効化して、パスワードレスでデスクトップに復帰できるようにする。
下記コマンドでロックスクリーンを無効化する。 これにより、⏻メニューから🔒ロックの項目も表示されなくなる。
サスペンド時・アイドル状態からの復帰時のロックを無効化する。