Rocky Linux / GUI 環境を作る方法

Rocky Linux サーバーに GNOME グラフィック環境を追加するには、インストール可能な環境グループを確認した後、Server with GUI グループをインストールし、デフォルトの systemd ターゲットを graphical.target に変更します。GUI(Graphical User Interface)は画面のボタンやウィンドウで操作する環境です。リモートデスクトップ方式はRocky Linuxのバージョンによって異なり、Rocky Linux 8・9 の XRDP 手順を Rocky Linux 10 にそのまま適用してはいけません。

インストール前に確認する事項

cat /etc/rocky-release
free -h
df -h /
systemctl get-default

GUI はメモリ、ストレージ容量、および更新対象を大幅に増やします。サーバー管理のみが必要な場合は、Cockpit や SSH で十分かどうかをまず検討してください。仮想マシンではグラフィックメモリとコンソールデバイスも確認する必要があります。

GNOME デスクトップ環境をインストールする

使用可能な環境グループを確認

dnf group list --hidden

グループ名とコマンド構文は Rocky Linux および DNF のバージョンによって異なる場合があります。リストに表示されている正確な環境名を使用してください。

Server with GUI をインストール

sudo dnf group install 'Server with GUI'

インストールされるパッケージとダウンロードサイズを確認した後で進めます。リポジトリ構成が変更されたり、パッケージに競合がある場合は、安易に--allowerasingを付けず、まず原因を確認してください。

基本ブートターゲットをGUIに変更

sudo systemctl set-default graphical.target
systemctl get-default

作業を保存し、他の利用者と停止時間を調整してから再起動します。復旧用コンソールから接続できることも先に確認してください。

sudo systemctl reboot

systemctl isolate graphical.targetに即座に切り替えることも可能ですが、現在の作業やセッションに影響を与える可能性があるため、リモート運用環境では再起動の計画とリカバリーコンソールを用意しておく方が安全です。

グラフィカルログインの問題を確認する

systemctl status display-manager
systemctl status gdm
journalctl -b -u gdm --no-pager

黒い画面やログインの繰り返しでは、グラフィック機器、VMドライバー、Wayland・X11などの表示方式、ホームディレクトリの権限とログを確認します。ログインできなければコンソールやSSHで戻す操作を行います。必要に応じてブートメニューのカーネル起動行へsystemd.unit=multi-user.targetを一時指定し、起動できてから次の設定で既定値を戻します。これはパッケージ削除や現在のGUIセッション終了とは別の操作です。

sudo systemctl set-default multi-user.target

Rocky Linux 8・9でXRDPを使用する

バージョンとリポジトリを確認

XRDPはRDP(Remote Desktop Protocol)で接続するためのサーバーです。8・9向けにはEPEL(Extra Packages for Enterprise Linux)リポジトリから提供されます。Rocky Linux 9ではCRB、Rocky Linux 8ではPowerToolsが必要な依存関係を提供することがあります。

sudo dnf install dnf-plugins-core
sudo dnf config-manager --set-enabled crb
sudo dnf install epel-release

上記の crb は Rocky Linux 9 の例です。Rocky Linux 8 は powertools を使用し、Rocky Linux 10 では XRDP 方式は適していません。

XRDP のインストールとサービスの有効化

sudo dnf install xrdp
sudo systemctl enable --now xrdp
systemctl status xrdp

Rocky Linux の XRDP 手順は Rocky Linux RDP 公式ガイド を参照できます。

ファイアウォールを制限的に開く

可能であれば VPN または管理ネットワークを使用し、特定の管理 PC からのみ 3389/tcp 接続を許可します。

sudo firewall-cmd --zone=public --add-rich-rule='rule family="ipv4" source address="192.0.2.10/32" port port="3389" protocol="tcp" accept'

publicと192.0.2.10は実際のゾーン・管理元へ置き換えます。RDPをインターネット全体へ公開せず、クラウド側も同じ範囲に制限してください。新しいRDP接続を許可元から試し、同じユーザーのローカルGNOMEセッションとの競合も確認します。試験後、他の一時変更も確認してsudo firewall-cmd --runtime-to-permanentで構成全体を保存します。詳しくはfirewalldの設定と確認を参照してください。

Rocky Linux 10 リモートデスクトップ

Rocky Linux 10はWaylandを使い、従来のX.Orgサーバーによるセッションを置き換えています。多くのX11アプリケーションはXwaylandで動かせますが、従来のXRDP構成をそのまま使えるという意味ではありません。X11を前提とするXRDPと、Wayland環境のGNOMEリモート接続を区別し、標準の接続にはgnome-remote-desktopを検討します。

GNOMEで「設定 → システム → リモートデスクトップ」を開き、既にログインした画面を共有する「デスクトップ共有」か、ログイン画面から接続する「リモートログイン」を用途で選びます。対象パッケージが導入されていることを確認し、表示された接続先・ポート・接続用認証情報を設定します。共有はログイン中のセッションが前提で、遠隔ログインでは接続用認証とLinuxユーザーの認証が別になる場合があります。併用時に共有側のポートが3389から3390へ変わる構成もあるため、画面の実値に合わせて許可を絞ってください。詳細はRHEL10のGNOME遠隔接続とRocky Linux10の変更点を確認し、既存のRocky Linux8・9向け自動化も版ごとに分けます。

リモートデスクトップのセキュリティチェック

  • rootではない別のユーザーアカウントでログインします。
  • RDPポートはVPNまたは特定の管理元アドレスからのみ許可します。
  • 強力なパスワードを使用し、アカウントロックとMFA(多要素認証)の対応範囲を確認します。クライアントが示す証明書の指紋も安全な別経路で照合します。
  • サーバーおよびリモートデスクトップコンポーネントを定期的に更新します。
  • 画面ロック、アイドルセッション終了および機密情報のクリップボード共有ポリシーを設定します。
  • 同じアカウントのローカルGNOMEセッションとリモートセッションの競合可能性を確認します。

よくある質問

GUIをインストールするとサーバーの性能は大幅に低下しますか?

GNOMEとグラフィックサービスはメモリ・CPU・ディスクを追加で使用します。小さなVMや専用サーバーでは、必要な管理機能とリソースコストを比較してください。

Rocky Linux 10でxrdpパッケージが見つかりません

Rocky Linux 10ではX.Orgサーバーを前提とした従来のXRDP構成をそのまま使わず、GNOME組み込みRDPの手順を確認します。XwaylandによるX11アプリケーションの互換実行とは区別してください。

リモート接続すると黒い画面が表示されます

Rockyのバージョン、表示サーバー、同じアカウントのローカルセッション、ホームディレクトリの権限、xrdpまたはGNOMEリモートデスクトップのログを確認してください。バージョンに合わないガイドを適用していないかも確認する必要があります。

GUIを再度無効化するにはどうすればいいですか?

デフォルトのブートターゲットをmulti-user.targetに変更すると、次回のブートからテキスト環境が使用されます。パッケージを削除すると依存関係も一緒に削除される可能性があるため、トランザクションリストを十分に確認してください。

まとめ

GNOME環境グループをインストールし、graphical.targetをデフォルトに設定すれば、Rocky Linuxをグラフィカル環境で起動できます。リモートデスクトップはRocky Linux 8・9ではXRDP、Rocky Linux 10ではGNOME内蔵RDPを基準に構成してください。

リモートGUIポートはインターネット全体に開かず、VPNや特定の管理アドレスに制限し、バージョンごとの表示サーバーやパッケージの違いをまず確認することが重要です。