Ubuntu 24.04 初期設定詳細ガイド
【概要】本ガイドは、Ubuntu 24.04 LTS をインストールした後に行う環境構築手順を解説する。セキュリティの向上、日本語環境の最適化、運用効率の改善を目的とした 18 の設定項目を、コマンドライン操作を中心に示す。
【対象バージョン】記述は Ubuntu 24.04 LTS を基準とする。22.04 LTS および 26.04 LTS でも大部分がそのまま通用するが、リポジトリ設定ファイルの形式(22.04 は /etc/apt/sources.list、24.04 以降は ubuntu.sources)と SSH の起動方式(24.04 以降は socket-based activation)が異なる。該当する項目で個別に注記する。
目次
- 用語解説
- 基本概念と準備
- システム更新と時刻設定
- セキュリティ設定
- ハードウェアとドライバ
- 日本語環境の構築
- システム管理とカスタマイズ
- クリーンアップ
【実行順序】番号順に実行する。順序と再起動に関する要点は次のとおりである。ファイアウォール(ufw)の設定では、SSH 用ポートを許可してから ufw を有効化する。NVIDIA ドライバの導入後は再起動する。ロケールの設定、ユーザディレクトリの英語化、キーボード設定の変更は、再ログインまたは再起動で反映される。
【サイト内の Ubuntu 関連ページ】
- Ubuntu システムの基本操作ガイド: 別ページ »で説明
- Ubuntu 24.04 のインストールと初期設定ガイド: 別ページ »で説明
- Ubuntu 24.04 初期設定詳細ガイド: 別ページ »で説明
- Linux 基本コマンドとその活用法: 別ページ »で説明
- Ubuntu 24.04 開発・研究環境構築ガイド: 別ページ »で説明
- Ubuntu の使い方: 別ページ »で説明
- Ubuntu システムの管理と運用、各種設定: 別ページ »で説明
- Ubuntu サーバ管理・セキュリティガイド: 別ページ »で説明
【外部リソース】
- Ubuntu の公式ページ(日本語版): https://jp.ubuntu.com/
- Ubuntu 24.04 の公式リリースページ: https://releases.ubuntu.com/noble/
- Ubuntu のダウンロード公式ページ(日本語版): https://jp.ubuntu.com/download
- 公式の Ubuntu ミラーサイトのページ: https://launchpad.net/ubuntu/+cdmirrors
- fosswire.com の Unix/Linux コマンドリファレンス: https://files.fosswire.com/2007/08/fwunixref.pdf
- DistroWatch の Ubuntu のページ: https://distrowatch.com/table.php?distribution=ubuntu
用語解説
- 管理者権限(sudo): システム設定の変更やソフトウェア導入に必要な特権。Ubuntu では root による直接ログインを避け、必要時に
sudoコマンドで一時的に管理者権限を行使する。 - APT(パッケージ管理): ソフトウェアの導入、更新、削除を一元管理するシステム。依存関係を自動解決し、コマンドラインからアプリケーションを管理する。
- Snap: APT とは別のパッケージ形式および配布の仕組み。Ubuntu 24.04 では Firefox と Thunderbird が snap で提供される。導入状況は
snap list、削除はsudo snap remove パッケージ名で行う。apt purgeでは削除できない。 - ミラーサーバー: ソフトウェア配布元のコピーを持つサーバー。国内のサーバーに設定を変更することで、通信経路が短縮されダウンロード速度が改善する場合がある。
- ディレクトリの英語化: 「ダウンロード」等の日本語フォルダ名を英語名(Downloads 等)に変更する設定。コマンドラインでのパス入力が容易になる。
- LTS: Long Term Support(長期サポート版)の略。標準で 5 年間、Ubuntu Pro を利用する場合は 10 年間のセキュリティ更新が提供される。
- ターミナル: コマンドを入力する画面。GNOME 環境では
Ctrl+Alt+Tで起動できる。 - CUI / GUI: それぞれ Character User Interface(文字での操作)/Graphical User Interface(画面での操作)。
- systemd / systemctl: Ubuntu 標準のシステム管理基盤と、その操作コマンド。サービス(拡張子
.service)やソケット(拡張子.socket)の起動・停止を担う。 - Wayland / X11: Linux のディスプレイサーバ方式(画面描画と入力を扱う仕組み)。Ubuntu 24.04 のデフォルトは Wayland。確認は
echo $XDG_SESSION_TYPE。 - PPA: Personal Package Archive。Ubuntu 公式以外のソフトウェア配布元。
- deb822 形式: Ubuntu 24.04 で標準となったリポジトリ設定ファイル形式(拡張子
.sources)。1 つの設定を複数行のキー:値ペアで記述する。 - セキュアブート / MOK: UEFI による起動時の署名検証機構と、ユーザー独自の署名鍵(Machine Owner Key)。サードパーティ製ドライバ(NVIDIA 等)の導入時に MOK の登録が必要となる場合がある。
第1章 基本概念と準備
1. 管理者権限(sudo)の基礎知識
目的
本ガイドのコマンドの多くは管理者権限を必要とする。Ubuntu では、システム設定の変更やソフトウェア導入に sudo コマンドを使用するため、最初にその仕組みを理解しておく。
基本的な使い方
インストール時に作成したユーザーアカウントでログインし、コマンドの先頭に sudo を付けて実行する。ユーザー自身のパスワードを入力すると、そのコマンドが管理者権限で実行される。
# 例: パッケージリストを更新(管理者権限が必要)
sudo apt update
重要な点
- root アカウントの無効化: Ubuntu では root による直接ログインはデフォルトで無効である。管理者作業は
sudoを介して行う。 - パスワード入力:
sudoを初めて使用する際や、一定時間経過後に再度使用する際にパスワードが求められる。入力中は画面に文字が表示されないが、正しく入力して Enter キーを押す。 - 権限の確認: 現在のユーザーが管理者権限を行使できるかは
sudo -vで確認できる。認証が通れば何も表示されずに終了する。
よくある問題
- 「ユーザーは sudoers ファイル内にありません」エラー: インストール時に作成したユーザーでログインしているか確認する。管理者権限を持つ別のユーザーから
sudo usermod -aG sudo ユーザー名を実行し、再ログインすることで権限を付与できる。 - パスワードを何度入力しても認証されない: Caps Lock がオンになっていないか、キーボードレイアウトが正しいかを確認する。
2. ダウンロード元(ミラーサーバー)の設定
目的
Ubuntu のパッケージダウンロード元を、地理的に近い日本国内のミラーサーバーに変更する。これによりパッケージのダウンロード速度が改善する場合がある。
Ubuntu 24.04 でのリポジトリ設定
Ubuntu 24.04 LTS では、リポジトリ設定ファイルの形式が変更された。従来の /etc/apt/sources.list ではなく、deb822 形式の /etc/apt/sources.list.d/ubuntu.sources ファイルが使用される。1 つのリポジトリ設定を複数行のキー:値ペアで記述する。22.04 LTS では従来形式の /etc/apt/sources.list が使われるため、以下のファイル名を読み替える。
設定ファイルの構造
ubuntu.sources ファイルは以下のような構造を持つ。実際のファイルには通常、メインリポジトリ用ブロックとセキュリティリポジトリ用ブロックの 2 つが含まれる。
Types: deb
URIs: http://archive.ubuntu.com/ubuntu/
Suites: noble noble-updates noble-backports
Components: main restricted universe multiverse
Signed-By: /usr/share/keyrings/ubuntu-archive-keyring.gpg
- Types: パッケージの種類(deb: バイナリ、deb-src: ソースコード)
- URIs: ミラーサーバーの URL
- Suites: リリース名とチャンネル(noble、noble-updates、noble-backports)
- Components: リポジトリセクション(main、restricted、universe、multiverse)
- Signed-By: GPG 鍵ファイルのパス
現在の設定の確認
インストール時に地域として日本を選択した場合、すでに日本のミラーが設定されていることがある。次のコマンドで現在の URL を確認する。
grep URIs /etc/apt/sources.list.d/ubuntu.sources
実行コマンド
sed コマンド(テキスト置換コマンド)で ubuntu.sources ファイル内のサーバーアドレスを日本のミラーに置換する。
# バックアップを作成
sudo cp /etc/apt/sources.list.d/ubuntu.sources /etc/apt/sources.list.d/ubuntu.sources.backup
# ミラーサーバーを日本に変更
sudo sed -i -E 's|//([a-z]{2}\.)?archive\.ubuntu\.com|//jp.archive.ubuntu.com|g' /etc/apt/sources.list.d/ubuntu.sources
# パッケージリストを更新
sudo apt update
この 1 行で archive.ubuntu.com と us.archive.ubuntu.com のような国別プレフィックス付きの両方を置換でき、http と https のいずれにも対応する。すでに jp.archive.ubuntu.com になっている場合は結果が変わらないため、何度実行してもよい。
セキュリティリポジトリ(security.ubuntu.com)は変更しないことを推奨する。ミラーへの同期には遅延が生じる場合があり、セキュリティ更新の適用が遅れる可能性があるためである。上記の置換パターンは archive.ubuntu.com のみに一致するため、セキュリティリポジトリは対象外となる。
手動で編集する場合
テキストエディタで直接編集することもできる。
sudo nano /etc/apt/sources.list.d/ubuntu.sources
URIs: 行の URL を http://jp.archive.ubuntu.com/ubuntu/ に変更し、保存後に sudo apt update を実行する。
解説と注意点
sudo apt update で、変更したサーバーから最新のパッケージリスト情報を取得する。エラーが発生した場合は、バックアップファイルから次のように復元できる。
# バックアップから復元
sudo cp /etc/apt/sources.list.d/ubuntu.sources.backup /etc/apt/sources.list.d/ubuntu.sources
sudo apt update
3. apt パッケージ管理の準備
目的
HTTPS リポジトリの利用や GPG 署名の検証に必要な基本ツールをインストールする。これにより、公式以外の HTTPS 経由のリポジトリを追加・利用する前提が整う。
※ PPA(Personal Package Archive:Ubuntu 公式以外のソフトウェア配布元)を扱う場合は、別途 software-properties-common パッケージが必要となる(sudo apt install software-properties-common)。
実行コマンド
sudo apt update
sudo apt install ca-certificates curl gnupg lsb-release
解説と注意点
apt installの前にはsudo apt updateでパッケージリストを最新化する。本ガイドでは、各ステップを単独で実行できるよう、各ステップにapt updateを記載している。- 確認プロンプトを省略したい場合は
-yオプションを追加する(例:sudo apt -y install ...)。 - Ubuntu 24.04 LTS では
aptが標準で HTTPS に対応しており、apt-transport-httpsパッケージは不要である。 - 本ガイドは対話的な操作を前提に
aptを用いる。シェルスクリプトに組み込む場合は、出力書式が安定しているapt-getを用いる。
第2章 システム更新と時刻設定
4. システムの更新
目的
インストールされている全パッケージを最新の状態に更新する。これによりセキュリティ脆弱性の修正とバグ修正が適用される。
実行コマンド(手動更新)
# 1. パッケージリストを更新
sudo apt update
# 2. パッケージを包括的に更新(依存関係の変更も考慮)
sudo apt full-upgrade
# 3. 不要になったパッケージを削除
sudo apt autoremove
# 4. 古いパッケージキャッシュを削除
sudo apt autoclean
# 5. システムを再起動(カーネル更新時に必要)
sudo shutdown -r now
各コマンドの説明
sudo apt update: パッケージリスト情報を最新化する。sudo apt full-upgrade: 依存関係の変更を含めて包括的に更新する。カーネル更新も対象となる。apt-get dist-upgradeと同じ動作である。sudo apt autoremove: 依存されなくなったパッケージを削除し、ディスクスペースを節約する。sudo apt autoclean: 古いパッケージファイル(拡張子.deb)を削除する。sudo shutdown -r now: 更新内容をシステムに適用するため再起動する。カーネルやライブラリの更新は再起動後に有効となる。
full-upgrade は依存関係の解決のために既存パッケージの削除を伴う場合がある。実行前に sudo apt -s full-upgrade(シミュレーション実行)で削除対象を確認し、必要に応じてバックアップを取得する。
更新が「ロックされています」と表示される場合
起動直後は自動更新(apt-daily 等)が動作しており、Could not get lock /var/lib/dpkg/lock-frontend と表示されることがある。ロックファイルの削除や apt プロセスの強制終了は dpkg のデータベースを破壊するため行わない。数分待つか、次のようにロックの解放を待つオプションを付けて実行する。
sudo apt -o DPkg::Lock::Timeout=600 full-upgrade
自動更新機能(unattended-upgrades)
Ubuntu には、セキュリティ更新を自動的にインストールする unattended-upgrades 機能があり、Ubuntu 24.04 LTS では既定で有効である。
対象範囲: 既定では、セキュリティリポジトリ(noble-security)からの更新のみが自動適用される。一般のバグ修正や機能更新(noble-updates)、新規パッケージの追加は対象外である。また、カーネル更新が自動適用された場合も、再起動するまでは新しいカーネルで動作しない。したがって、自動更新が有効な環境でも、定期的に sudo apt update && sudo apt full-upgrade を手動で実行し、再起動を行う。
- 確認方法(GUI): 「ソフトウェアとアップデート」→「アップデート」タブ
- 確認方法(CUI):
cat /etc/apt/apt.conf.d/20auto-upgradesを実行し、Unattended-Upgrade "1";となっていることを確認する
5. タイムゾーンとロケールの設定
目的
タイムゾーンを日本標準時(Asia/Tokyo)に、ロケール(地域・言語の設定)を日本語 UTF-8(ja_JP.UTF-8)に設定する。これにより時刻表示とアプリケーションの表示言語が日本語環境に合う設定になる。
実行コマンド
# ロケール生成に必要なパッケージ(デスクトップ版では導入済み)
sudo apt update
sudo apt install locales tzdata
# タイムゾーンを日本標準時に設定
sudo timedatectl set-timezone Asia/Tokyo
# 日本語ロケールを有効化(行頭の # を外す)
sudo sed -i -E 's/^#[[:space:]]*(ja_JP\.UTF-8[[:space:]]+UTF-8)/\1/' /etc/locale.gen
# ロケール定義を生成
sudo locale-gen
# システム全体のデフォルトロケールを設定(LANG のみ設定)
sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja:en"
設定の確認
timedatectl status
locale
locale -a | grep ja_JP
解説と注意点
コメント行を解除する sed は、# と定義の間の空白の有無に左右されないよう [[:space:]]* を用いて記述している。すでに解除済みの行には一致しないため、繰り返し実行しても副作用はない。
LANGUAGE="ja:en" は、日本語の翻訳リソースがない場合に英語をフォールバック(代替)として使用する設定である。
LC_ALL を恒久的に設定しない理由: LC_ALL は他のロケール変数を強制的に上書きする変数であり、Debian / Ubuntu の慣習では恒久設定は行わない。これを固定すると、LANG=C LC_ALL=C コマンド名 のようにコマンド単位で一時的にロケールを切り替える操作が効かなくなる。必要なときだけコマンドの前に LC_ALL=... を置く方式をとる。
端末で export LANG=ja_JP.UTF-8 を実行した場合、その端末セッションでのみ有効である。システム全体への永続的な設定は上記の update-locale で行い、再ログインまたは再起動で反映される。
6. NTP 時刻同期の設定
目的
ネットワーク上の NTP サーバー(Network Time Protocol:時刻同期サーバー)と時刻を同期する。これによりログのタイムスタンプ、スケジュール実行、TLS 証明書の有効期限検証が正しく動作する。Ubuntu 24.04 LTS では systemd-timesyncd サービスがこの役割を担う。
実行コマンド(確認と有効化)
# 現在の時刻同期状態を確認
timedatectl status
# NTP 同期が無効な場合は有効化する(既定では有効)
sudo timedatectl set-ntp true
timedatectl status の出力に System clock synchronized: yes および NTP service: active と表示されていれば、追加設定は不要である。
国内 NTP サーバーを指定する場合
設定ファイル本体を書き換えず、ドロップインディレクトリに設定を追加する。この方式であればパッケージ更新時に設定が上書きされない。
sudo mkdir -p /etc/systemd/timesyncd.conf.d
sudo nano /etc/systemd/timesyncd.conf.d/50-jp.conf
# 以下の 3 行を記述して保存する
#
# [Time]
# NTP=ntp.nict.jp
# FallbackNTP=ntp.ubuntu.com
sudo systemctl restart systemd-timesyncd.service
timedatectl timesync-status
解説と注意点
timedatectl timesync-statusで、実際に参照している NTP サーバーと同期状況を確認できる。systemd-timesyncdを使用する場合、従来のntpやntpdateパッケージは不要である。
第3章 セキュリティ設定
7. ファイアウォール(ufw)の設定
目的
Ubuntu の標準ファイアウォール管理ツール ufw(Uncomplicated Firewall)を設定する。これにより、許可していないポートへの外部からの接続を遮断する。
実行コマンド
# ufw をインストール(Ubuntu では標準でインストール済み)
sudo apt update
sudo apt install ufw
# 既定の方針を明示する(外部からは拒否、内部からは許可)
sudo ufw default deny incoming
sudo ufw default allow outgoing
# SSH 接続を許可(リモート接続を使う場合、有効化の前に必須)
sudo ufw allow ssh
# ufw を有効化
sudo ufw enable
# 現在の設定を確認
sudo ufw status numbered
オプション: 追加のポート開放
# Web サーバー(HTTP/HTTPS)を許可する場合
# sudo ufw allow http
# sudo ufw allow https
解説と注意点
- SSH 経由でリモート接続している場合は、
sudo ufw allow sshを実行してからsudo ufw enableを実行する。この順序を守らないと SSH 接続が切断され、再接続できなくなる。 sudo ufw allow sshは 22 番ポートを許可する。ステップ 8 でポートを変更する場合は、変更後のポートを許可する。ufwを有効にすると、デフォルトで外部からの接続(incoming)は拒否、内部からの接続(outgoing)は許可される。上記のdefault指定はこの既定値を明示するものである。- 使用しないポートは開放しない。開放したポートはそのまま攻撃対象となる。
- ルールを削除する場合:
sudo ufw status numberedで番号を確認し、sudo ufw delete [番号]を実行する。
8. OpenSSH サーバーの設定
目的
OpenSSH サーバーをインストールし、基本的なセキュリティ設定を行う。これによりネットワーク経由でのリモート接続が可能になる。
実行コマンド(インストール)
sudo apt update
sudo apt install openssh-server
Ubuntu 24.04 での SSH 管理方式
Ubuntu 24.04 LTS では、SSH は socket-based activation 方式(接続要求が来たときに初めてデーモンを起動する方式)で管理される。ssh.service が常時起動するのではなく、ssh.socket が接続要求を待ち受け、接続時に SSH デーモンを起動する。Canonical によれば、この方式により 1 インスタンスあたり約 3MiB のメモリが節約される。
どちらの方式で動作しているかは次のコマンドで確認する。ssh.socket が enabled であれば socket 起動方式である。両方を同時に有効にすると 22 番ポートの奪い合いが起きるため、有効にするのはいずれか一方とする。
systemctl is-enabled ssh.socket ssh.service
Ubuntu 24.04 LTS では、Canonical の公式説明によれば、/etc/ssh/sshd_config の Port および ListenAddress の設定が systemd ジェネレータにより動的に読み取られ、ssh.socket の待ち受けに反映される。したがって、原則として sshd_config の編集だけでポート変更が可能である。ただし、22.10 以降からのアップグレード環境では /etc/systemd/system/ssh.socket.d/addresses.conf が残っており、そちらの設定が優先される場合がある。22.04 LTS は socket 起動方式ではないため、ssh.service のみを操作する。
実行コマンド(セキュリティ強化:基本手順)
ブルートフォース攻撃(総当たり攻撃)による認証試行のログ量とリスクを減らすため、ポート番号の変更と root ログイン禁止を行う。
# 1. 設定ファイルを編集
sudo nano /etc/ssh/sshd_config
# 2. 以下を変更
# Port 22 → Port 10022(任意の 1024 以上の番号)
# PermitRootLogin yes → PermitRootLogin no
# 3. 保存して閉じる(nano: Ctrl+O → Enter → Ctrl+X)
# 4. 設定内容の妥当性を検査(構文誤りがあればここで判明する)
sudo sshd -t
# 5. 設定の反映(socket 起動方式の場合)
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
# 設定の反映(ssh.service で常時起動している場合)
# sudo systemctl restart ssh
# 6. 新ポートをファイアウォールで許可し、旧ポート(22)の許可を削除
sudo ufw allow 10022/tcp
sudo ufw delete allow ssh
# 7. 新ポートで待ち受けているか確認
sudo ss -tlnp | grep -E '(:22 |:10022 )'
手順 5 では、確認コマンドで enabled と表示されたユニットのみを再起動する。socket 起動方式の環境で ssh.service を起動すると、ssh.socket と同じポートを奪い合い、いずれかが起動に失敗する。
ポートが変わらない場合の対処
確認コマンドの出力が :22 のままである場合は、ssh.socket に明示的な待ち受け設定を追加する。
sudo systemctl edit ssh.socket
# エディタが開いたら以下を入力して保存:
#
# [Socket]
# ListenStream=
# ListenStream=10022
#
# 1 行目の空の ListenStream= は「既定値(22 番)をリセット」する宣言であり、
# これを書かないと新ポートと 22 番の両方で待ち受ける
sudo systemctl daemon-reload
sudo systemctl restart ssh.socket
sudo ss -tlnp | grep 10022
解説と注意点
- サービス名: Ubuntu では
sshd.serviceではなくssh.serviceを使用する。systemctl restart sshdはエラーとなる。 - 設定の分割:
sshd_config本体を書き換えず、/etc/ssh/sshd_config.d/に50-hardening.confのような設定ファイルを置く方法もある。パッケージ更新時に本体が置き換わっても設定が残るため、複数台を同一設定で運用する場合はこちらが扱いやすい。 - ポート番号の変更: ポート変更後は、クライアント側で
ssh user@hostname -p 10022のようにポートを指定して接続する。ポート変更は自動化された攻撃を減らす効果があるが、認証自体を強化するものではない。 - root ログイン禁止: 一般ユーザーでログインしてから
sudoを使う運用にすることで、root アカウントへの直接的な認証試行を防げる。 - ファイアウォールの更新: ポート変更時は新しいポートを許可し、旧ポートの許可は削除する。許可忘れは接続不能、旧ポートの許可の残置は不要な開放につながる。
- リモート作業時の注意: SSH 設定変更を SSH 経由で行う場合、現在のセッションを接続したまま別のターミナルから新ポートでの接続を確認する。接続確認が完了するまで現セッションを切断しない。
第4章 ハードウェアとドライバ
9. グラフィックドライバの設定(NVIDIA)
目的
NVIDIA 製グラフィックカード搭載時に、プロプライエタリドライバ(製造元提供の専用ドライバ)をインストールする。デフォルトの nouveau ドライバ(オープンソース版)では機能・性能が制限される場合があり、専用ドライバの導入により NVIDIA 製グラフィックカードの性能を利用できる。
CUDA を利用する数値計算や機械学習の用途では、PyTorch 等が NVIDIA プロプライエタリドライバを前提とするため、本ステップの実施が必要である。
※ NVIDIA 製グラフィックカードを搭載していない場合、このステップは不要である。
実行コマンド
# NVIDIA 製グラフィックカードの搭載を確認(何も表示されなければ本ステップは不要)
lspci | grep -i nvidia
# ドライバ検出ツールを導入(デスクトップ版では導入済み)
sudo apt update
sudo apt install ubuntu-drivers-common
# 利用可能なドライバを確認
sudo ubuntu-drivers list
# 推奨ドライバを自動インストール
sudo ubuntu-drivers install
# システムを再起動
sudo reboot
lspci は pciutils パッケージが提供する(ステップ 13 を参照)。
動作確認
nvidia-smi
ドライバのバージョンと GPU の情報が表示されれば、ドライバは正しく読み込まれている。
よくある問題
- 画面が表示されない: セキュアブート(Secure Boot)が有効な場合に発生することがある。UEFI 設定画面でセキュアブートを無効化するか、ドライバのインストール時に表示される MOK(Machine Owner Key:マシン所有者鍵)登録画面でパスフレーズを設定し、再起動時の MOK Manager 画面で登録を完了する。MOK 登録は、サードパーティ製ドライバの署名鍵をユーザー自身が UEFI に承認させる仕組みである。
- nouveau との競合:
lsmod | grep nouveauで確認する。読み込まれている場合は/etc/modprobe.d/blacklist-nouveau.confにblacklist nouveauを記述し、sudo update-initramfs -uを実行して再起動する。
第5章 日本語環境の構築
10. 日本語フォントと言語サポートの導入
目的
日本語フォントと翻訳データ(言語サポートパッケージ)をインストールする。これにより日本語が正しく表示され、アプリケーションのメニューが日本語化される。
実行コマンド
sudo apt update
sudo apt install language-selector-common
# 不足しているパッケージを確認する(何も表示されなければ導入は不要)
check-language-support
# 表示されたパッケージを導入する
sudo apt install $(check-language-support)
解説
check-language-support コマンドは language-selector-common パッケージが提供し、ステップ 5 で設定したロケールに基づいて必要なパッケージ(日本語フォント、翻訳データ等)を検出する。$() 構文(コマンド置換:コマンドの実行結果を別のコマンドの引数として渡す記法)でその結果を apt install に渡し、一括インストールする。
すでに必要なパッケージがすべて導入されている場合、check-language-support は何も出力しない。この状態で sudo apt install $(check-language-support) を実行すると引数のない apt install となりエラーで終了するため、上記のように先に単独で実行して結果を確認する。
11. 日本語入力の設定(IBus + Mozc)
目的
日本語入力メソッド(IME:Input Method Editor、入力方式)を設定する。これにより日本語テキストの入力が可能になる。Ubuntu 24.04 LTS では IBus(入力フレームワーク)と Mozc(Google 日本語入力のオープンソース版)の組み合わせが標準である。
※ サーバー用途など GUI を使用しない環境では不要である。
インストール
sudo apt update
sudo apt install ibus ibus-mozc mozc-utils-gui
mozc-utils-gui は後述の Mozc 設定ツールを提供する。設定を変更しない場合は省略してよい。
設定手順(GUI)
- 「設定」→「キーボード」を開く
- 「入力ソース」の「+」ボタンをクリック
- 「日本語」→「日本語(Mozc)」を選択して追加
- 設定後、いったんログアウトして再ログインする(または再起動する)
入力切り替え
半角/全角 キーまたは Super+スペース キーで入力ソースが切り替わる。
Mozc 設定ツール
キーバインドや変換候補の設定を変更する場合に使用する(mozc-utils-gui が必要)。
/usr/lib/mozc/mozc_tool --mode=config_dialog &
Wayland か X11 かの確認
Ubuntu 24.04 のデフォルトは Wayland であるが、ログイン画面で X11 セッションを選ぶこともできる。現在のセッション種別は次のコマンドで確認できる。
echo $XDG_SESSION_TYPE
# 出力例: wayland もしくは x11
代替: Fcitx5 を使用する場合
Wayland 環境で IBus + Mozc を使用すると、アプリケーションによっては変換候補ウィンドウの表示位置がずれることがある。その場合は Fcitx5 に切り替える。LXQt を採用する Lubuntu では Fcitx5 が標準の構成である。
sudo apt update
sudo apt install fcitx5 fcitx5-mozc mozc-utils-gui
インストール後、「設定」→「システム」→「地域と言語」で「キーボード入力に使う IM システム」を「Fcitx 5」に変更し、ログアウトして再ログインする。IBus と Fcitx5 を同時に有効にしないよう、切り替え後は一方のみを使用する。
12. ユーザディレクトリの英語化
目的
日本語環境でインストールすると作成される日本語名ディレクトリ(「ダウンロード」「ドキュメント」等)を英語名(Downloads、Documents 等)に変更する。これによりコマンドライン操作時のパス入力が容易になる。
実行コマンド
sudo apt update
sudo apt install xdg-user-dirs-gtk
LANG=C LC_ALL=C xdg-user-dirs-gtk-update
解説
LANG=C LC_ALL=C をコマンドの先頭に付けることで、そのコマンドだけを英語ロケールで実行し、英語のディレクトリ名を生成させる。
実行後、GUI ダイアログが表示される。「Don't ask me this again」にチェックを入れ、「Update Names」をクリックする。ダイアログを表示せずに実行する場合は --force オプションを付ける(LANG=C LC_ALL=C xdg-user-dirs-gtk-update --force)。
変更後の ~/.config/user-dirs.dirs:
XDG_DESKTOP_DIR="$HOME/Desktop"
XDG_DOWNLOAD_DIR="$HOME/Downloads"
XDG_TEMPLATES_DIR="$HOME/Templates"
XDG_PUBLICSHARE_DIR="$HOME/Public"
XDG_DOCUMENTS_DIR="$HOME/Documents"
XDG_MUSIC_DIR="$HOME/Music"
XDG_PICTURES_DIR="$HOME/Pictures"
XDG_VIDEOS_DIR="$HOME/Videos"
旧名称のディレクトリが空でない場合、その中身は自動では移動されない。旧ディレクトリが残っている場合は、中身を新しいディレクトリへ移動してから旧ディレクトリを削除する。
第6章 システム管理とカスタマイズ
13. 運用保守用ツールの導入
目的
ネットワーク確認やハードウェア情報表示に用いるツールをインストールする。これによりトラブルシューティングやシステム状態の確認が行える。
実行コマンド
sudo apt update
sudo apt install net-tools pciutils
各パッケージの用途
net-tools:ifconfig(ネットワーク情報表示)、netstat(接続状況表示)などを提供する。現在の標準はipコマンドおよびssコマンドであり、既存の手順書や解説記事でifconfigが使われている場合に導入する。pciutils:lspciコマンドを提供する。グラフィックカードやネットワークカードなど PCI デバイスの情報を表示する。ステップ 9 の GPU 確認でも使用する。
14. システムログの確認方法
目的
システムの動作記録(ログ)を journalctl コマンドで確認する方法を把握する。これにより問題発生時の原因特定が行える。ログは systemd(システム管理デーモン)のジャーナル(記録の保存先)に記録される。
主なコマンド
# リアルタイムでログを監視(Ctrl+C で終了)
sudo journalctl -f
# 今回の起動以降のログを表示
sudo journalctl -b
# エラー以上のログのみ表示
sudo journalctl -p err
# 特定のサービスのログを表示(例: SSH)
sudo journalctl -u ssh.service
オプション例
# 昨日からのログ
sudo journalctl --since "yesterday"
# 過去 1 時間のログ
sudo journalctl --since "1 hour ago"
解説
-f: リアルタイム監視。操作直後のログ確認に使用する。-b: 起動時の問題確認に使用する。-p: 優先度でフィルタする。優先度は低い順にdebug<info<notice<warning<err<crit<alert<emergとなる。-u: サービス名を指定する。サービス一覧はsystemctl list-units --type=serviceで確認できる。socket 起動方式の SSH ではssh.socketも指定対象となる。
15. 電源管理の設定
目的
一定時間操作がない場合の画面ブランク(画面消灯)やサスペンド(スリープ)を抑制する。これにより、長時間の計算処理やリモート接続中に画面消灯やスリープが発生することを防げる。
※ ラップトップでバッテリー駆動時間を重視する場合は、この設定は行わない。
GNOME 環境向け設定(Ubuntu 標準)
# アイドル時の画面ブランクを無効化
gsettings set org.gnome.desktop.session idle-delay 0
# AC 電源時の自動サスペンドを無効化
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'
XFCE 環境向け設定(Xubuntu など)
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/dpms-enabled -s false
xfconf-query -c xfce4-power-manager -p /xfce4-power-manager/inactivity-sleep-mode-on-ac -s 0
注意点
- これらの設定はユーザーごとの設定である。
sudoを付けて実行すると root の設定になり、通常のログインセッションには反映されない。 - 「そのようなスキーマやキーはありません」というエラーが出た場合は、そのデスクトップ環境に該当の設定キーが存在しない。
gsettings list-schemas | grep powerで利用可能なスキーマを確認する。 - GUI の「設定」→「電源」からも同じ項目を変更できる。
16. キーボード設定(Caps Lock の変更)
目的
Caps Lock キーを無効化するか、追加の Ctrl キーとして機能させる。これにより Caps Lock の誤操作による意図しない大文字入力を防げる。
実行方法
/etc/default/keyboard ファイルの XKBOPTIONS を編集する。
sudo cp /etc/default/keyboard /etc/default/keyboard.backup
sudo nano /etc/default/keyboard
XKBOPTIONS 行を以下のように変更する。
- Caps Lock を Ctrl 化:
XKBOPTIONS="ctrl:nocaps" - Caps Lock を無効化:
XKBOPTIONS="caps:none"
設定の反映
# コンソール(CUI)への反映
sudo setupcon
# デスクトップ(GUI)への反映は再ログインまたは再起動が必要
注意点
- 既存の
XKBOPTIONSの値がある場合は上書きせず、カンマで区切って追記する(例:XKBOPTIONS="lv3:ralt_switch,ctrl:nocaps")。 - 設定の反映には再ログインまたは再起動が必要である。
- 現在のセッションだけで一時的に試す場合は
setxkbmap -option ctrl:nocapsを実行する(X11 セッションのみ)。元に戻すにはsetxkbmap -optionを実行する。
第7章 クリーンアップ
17. 不要ソフトウェアの削除
目的
使用しないプリインストールアプリケーション(オフィススイート、メールクライアント等)を削除する。これによりディスク容量を節約し、更新対象のパッケージ数を減らせる。
削除前の確認
Ubuntu 24.04 では、アプリケーションが deb と snap のどちらで導入されているかによって削除方法が異なる。Firefox と Thunderbird は snap で提供される。まず両方を確認する。
# snap で導入されているアプリの一覧
snap list
# deb で導入されているか確認(例: libreoffice)
dpkg -l | grep libreoffice
実行コマンド例(deb パッケージ)
# 削除対象を事前に確認(実際には削除しない)
sudo apt -s purge '^libreoffice.*'
# LibreOffice(オフィススイート)を削除
sudo apt purge '^libreoffice.*'
# 不要になった依存パッケージを削除
sudo apt autoremove
# 古いパッケージキャッシュを削除
sudo apt autoclean
実行コマンド例(snap パッケージ)
# Thunderbird(メールクライアント)を削除
sudo snap remove thunderbird
sudo apt purge 'thunderbird*' を実行しても、snap 本体は削除されない。deb 側に残る移行用パッケージが消えるだけである。
注意点
削除するパッケージは用途に合わせて選択する。purge は設定ファイルも含めて削除する。
パッケージ名にワイルドカード(*)を使う際は、シングルクォート(')で囲む。引用符を付けずに libreoffice* と書くと、シェルがカレントディレクトリのファイル名に対して展開を試み、意図しない引数が渡される場合がある。
また、引用符で囲んで apt に渡した文字列は、シェルのワイルドカードではなく POSIX 正規表現として解釈される。正規表現では * は「直前の 1 文字の 0 回以上の繰り返し」を意味するため、'libreoffice*' は「libreoffic に e が 0 個以上続く」という意味になる。意図を明確にするには '^libreoffice.*' のように記述する。削除前に -s(シミュレーション)で対象を必ず確認する。
18. 不要ファイルの除去
目的
パッケージキャッシュや不要ファイルを削除してディスクスペースを整理する。
実行コマンド
# 不要な依存パッケージを削除
sudo apt autoremove
# 古いパッケージキャッシュを削除
sudo apt autoclean
# 古いシステムログを削除(7 日分を残す)
sudo journalctl --vacuum-time=7d
# 使用中のディスク容量を確認
df -h /
古いカーネルの削除
カーネル更新を繰り返すと /boot の空き容量が不足する場合がある。sudo apt autoremove は、現在使用中のカーネルと直前のカーネルを残して古いカーネルを削除する。手動で linux-image-* を指定して削除すると、起動できないカーネル構成になるおそれがあるため行わない。
注意点
apt autoremoveとapt autocleanは、システム稼働中に実行してよい。定期的に実行する。- ジャーナルの保存量は
journalctl --disk-usageで確認できる。 - より広範なクリーンアップを行うツールとして BleachBit があるが、削除対象の選択を誤るとシステムやアプリケーションの設定が失われる。削除対象の意味を確認してから使用する。