MENU

LinuxのデフォルトをGUI起動に切り替える設定手順|CLIへの戻し方も

LinuxサーバーにGUI(デスクトップ環境)を追加した後、起動時から自動的にグラフィカル画面が立ち上がるよう設定したい場面があります。systemdが標準となった現代のLinux(RHEL系・Debian系を問わず)では、/etc/inittabを直接編集する旧来の方法は機能しません。systemctlコマンドでターゲットを切り替えるのが正解です。

目次

まず結論:起動モードを切り替える2ステップ

現在の起動モード(デフォルトターゲット)を確認してから変更します。

# 現在のデフォルトターゲットを確認
systemctl get-default

# GUI起動(graphical.target)に変更
sudo systemctl set-default graphical.target

変更後に再起動すると、次回からディスプレイマネージャーが自動起動してGUI画面が表示されます。CLI専用環境に戻したい場合は graphical.targetmulti-user.target に替えるだけです。

systemdターゲットと旧ランレベルの対応

CentOS 6以前のLinuxでは /etc/inittabinitdefault 行でランレベルを指定していました。ランレベル3がCLI、ランレベル5がGUI(X Window System)起動という運用が一般的でした。systemdを採用した現代のディストリビューション(RHEL 7以降・Ubuntu 15.04以降・Debian 8以降)では、ランレベルの概念はターゲット(.target)に置き換わっています。

旧ランレベル 0  →  poweroff.target    (シャットダウン)
旧ランレベル 1  →  rescue.target      (シングルユーザーモード)
旧ランレベル 3  →  multi-user.target  (CLI・ネットワークあり)
旧ランレベル 5  →  graphical.target   (GUI・ディスプレイマネージャー起動)
旧ランレベル 6  →  reboot.target      (再起動)

旧来の /etc/inittab を直接編集する方法はsystemd環境では無効です。ファイルが残っていても起動プロセスから参照されないため、編集しても何も変わりません。

デスクトップ環境が未インストールの場合

ターゲットを graphical.target に変更しても、デスクトップ環境そのものがインストールされていなければGUIは起動しません。まずパッケージを導入します。

RHEL / AlmaLinux / Rocky Linux の場合:

# GNOMEデスクトップ環境をインストール(数GB規模のダウンロードが発生する)
sudo dnf groupinstall "Server with GUI" -y

Ubuntu / Debian の場合:

# GNOMEデスクトップをインストール
sudo apt install task-gnome-desktop -y

# 軽量構成にしたい場合(XfceやLXDE)
sudo apt install xfce4 lightdm -y

クラウドやVMの最小インストール環境にGUIを追加すると、依存パッケージを含めて数GBのダウンロードが発生します。本番サーバーへの導入は運用ポリシーをよく確認してから実施してください。特にセキュリティ要件が厳しい環境では、デスクトップ環境の導入自体を禁じているケースもあります。

ディスプレイマネージャーの有効化確認

graphical.target はディスプレイマネージャー(GDM・SDDM・LightDMなど)のサービスに依存しています。デスクトップ環境のインストール時に自動で有効化されることが多いですが、念のため確認しておきます。

# GDM(GNOMEのディスプレイマネージャー)の状態確認
systemctl status gdm

# enabled/activeでない場合は有効化する
sudo systemctl enable gdm --now

出力の Loaded: 行に enabledActive: 行に active (running) と表示されていれば正常です。KDE Plasmaを導入した環境では gdmsddm に、LXDEやXfceなど軽量デスクトップの多くでは lightdm に読み替えてください。

再起動なしで即座にGUIへ切り替える

設定変更の動作確認を再起動前に行いたい場合は、systemctl isolate で現在のセッションをその場で切り替えられます。

# 即座にグラフィカルターゲットへ切り替える
sudo systemctl isolate graphical.target

ある運用現場では、isolate で動作確認を取ってから set-default を実行するという手順を標準化しています。再起動を伴う本番切り替えの前にこの確認ステップを挟むことで、「再起動したらGUIが上がらなかった」というトラブルを事前に防げます。

なお、ディスプレイマネージャーが起動すると物理コンソールが占有されます。リモートSSHのみで管理しているサーバーにGUIを有効化しても実質的な恩恵はなく、不要なメモリ消費と攻撃対象の拡大につながります。GUIが必要なのは、物理またはVMコンソールを直接操作する場面に限定するのが基本です。

CLIに戻す手順と運用上の注意点

作業が完了したらCLI専用環境に戻します。手順は set-default の引数を変えるだけです。

# デフォルトをCLI(マルチユーザー)に戻す
sudo systemctl set-default multi-user.target

# 再起動なしで即座に切り替える場合
sudo systemctl isolate multi-user.target

# 設定が反映されているか確認
systemctl get-default

systemctl get-defaultmulti-user.target を返せば、次回起動からCLI専用モードになります。変更後は必ずこの確認コマンドを実行し、意図したターゲットが設定されているかチェックする習慣をつけておくと、設定ミスを再起動前に発見できます。

サーバー用途でGUIを常時起動したままにしておく必要はほとんどありません。ディスプレイマネージャーやデスクトップサービスが常時メモリを消費するほか、脆弱性の露出面も広がります。GUIが必要な設定作業を終えたら multi-user.target に戻しておくのが、安全なサーバー運用の基本です。

<PR>この記事に関連するおすすめ書籍

新しいシェルプログラミングの教科書

現場で使えるシェルスクリプトの書き方を基礎から実務レベルまで解説。定型作業の自動化に役立ちます。

「コマンドは打てる。次は”現場で通用する型”を最短で身につけたい」——そんなあなたへ。

ネットの断片的なTipsをコピペするだけでは、体系的な運用スキルはなかなか積み上がりません。リナックスマスター.JPの無料メルマガ「リナマガ」では、現場で実際に使うLinuxサーバー運用の考え方を、順を追って実務目線でお届けしています。いま登録された方には、安全なサーバー構築の「型」をまとめた『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼント中です。

>> 図解60P『Linux入門マニュアル』を無料で受け取る
(メルマガ登録は10秒・いつでも解除OK)

※ 「独学の時間がもったいない」「プロから現場の技術を最短で学びたい」という本気の方には、2日で実務レベルが身につく初心者向けハンズオンセミナーもご用意しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次