この記事では Ubuntu Server 24.04 LTS にデスクトップ環境を導入した後に発生する、起動時の長い待機時間(systemd-networkd-wait-online.service)を解消する方法を解説します。
起動遅延の解消ガイド
はじめに
Ubuntu Serverにデスクトップ環境(GUI)をインストールすると、起動時に以下のメッセージが表示され、数分間待たされることがあります。
A start job is running for Wait for Network to be Configured
これは不具合ではなく、「IPアドレスが確定するまで起動を待つ」というサーバー用の設定が、デスクトップ化しても残っているために発生します。
検証環境
本記事は以下のような環境で動作確認を行なっております。
| OS | アーキテクチャ | 稼働環境 | 詳細(ハード/ソフト) |
|---|---|---|---|
| Ubuntu 24.04 | aarch64 | 仮想環境 | UTM 4.7 / Mac mini M4 Pro |
対処法1:Netplan設定の修正(推奨)
最も安全で正しい解決策は、ネットワーク設定ファイル(Netplan)に「このインターフェースの接続完了を待たなくて良い」と明記することです。
- STEP
設定ファイル名を確認
/etc/netplan/ディレクトリ内のファイルを確認します。Terminal window ls /etc/netplan/# 例: 50-cloud-init.yaml または 00-installer-config.yaml - STEP
ファイルの編集
見つけたファイルをエディタで開きます。
Terminal window sudo nano /etc/netplan/50-cloud-init.yaml - STEP
optional: true の追記
対象のインターフェース(例:
enp1s0やeth0)のブロック内に、optional: trueを追加します。 ※インデント(字下げ)の位置を正確に合わせてください。/etc/netplan/50-cloud-init.yaml network:ethernets:enp1s0: # 環境によって名前は異なりますdhcp4: trueoptional: true # ★この行を追加version: 2 - STEP
設定の適用
保存してエディタを終了し、以下のコマンドで適用します。
Terminal window sudo netplan applyこれで次回の起動時から待機時間がなくなるはずです。
対処法2:systemd-networkdの無効化(強力)
対処法1でも直らない場合、あるいはサーバー用のネットワーク管理機能(systemd-networkd)自体が不要な場合(デスクトップ用のNetworkManagerのみで管理したい場合)は、サービスごと停止します。
- STEP
サービスの停止と無効化
Terminal window # サービスを停止sudo systemctl stop systemd-networkdsudo systemctl disable systemd-networkd - STEP
待機サービスのマスク
起動をブロックしている待機サービスを強制的に無効化(マスク)します。
Terminal window sudo systemctl disable systemd-networkd-wait-online.servicesudo systemctl mask systemd-networkd-wait-online.service
動作確認
再起動して、スムーズにログイン画面が表示されるか確認します。
sudo reboot技術的背景:なぜ起きるのか?
この問題は、Ubuntuにおける「サーバー」と「デスクトップ」の設計思想の違いによるものです。
| サーバー (systemd-networkd) | デスクトップ (NetworkManager) | |
|---|---|---|
| 起動時の挙動 | IP確定までOS起動をブロックする | ネットワーク未接続でも画面を出す |
| 理由 | 起動直後からSSHやWeb接続が必要だから | ユーザーがログイン後にWi-Fiに繋ぐから |
Ubuntu Serverに後からGUIを入れると、この2つの仕組みが同居してしまいます。 結果として、GUIを使いたいのに「サーバーとしての責務(IP確定待ち)」を果たそうとして、起動がブロックされていたのです。
今回行った設定は、「このインターフェースはサーバー的に待たなくて良い(optional)」と伝えるか、または「サーバー管理機能を止める」という対処になります。
まとめ
- 推奨: Netplanに
optional: trueを追記する。 - 代替:
systemd-networkd-wait-onlineサービスをmaskする。
これでストレスなくデスクトップ環境を利用できるようになります。