RHEL 8 に VNC サーバーをインストールする方法
VNC (仮想ネットワーク コンピューティング) は、インターネットなどのネットワーク経由で他のコンピュータにリモート アクセス、表示、制御できるようにするグラフィカル デスクトップ共有用の人気のあるプラットフォームです。
VNC はリモート フレーム バッファ プロトコル (RFB) を使用し、クライアント/サーバーの原則に基づいて動作します。サーバーは出力を共有します (vncserver) )、クライアント (vncviewer) がサーバーに接続します。リモート コンピュータにはデスクトップ環境がインストールされている必要があることに注意してください。
この記事では、tigervnc-server を介して RHEL 8 デスクトップ エディションの最新リリースに VNC リモート アクセスをインストールして設定する方法について説明します。プログラム。
要件:
- 最小限のインストールを備えた RHEL 8
- RedHat サブスクリプションが有効になっている RHEL 8
- 静的 IP アドレスを使用する RHEL 8
RHEL 8 システムが上記の要件を満たしたら、VNC サーバーとして設定する準備が整います。
ステップ 1: Wayland Display Manager を無効にして X.org を有効にする
1. RHEL 8 上のデフォルトのデスクトップ環境 (DE) は GNOME です。デフォルトではWayland ディスプレイマネージャーを使用するように設定されています。ただし、Wayland は X.org のようなリモート レンダリング API ではありません。したがって、X.org ディスプレイ マネージャーを使用するようにシステムを設定する必要があります。
好みのコマンド ライン エディタを使用して、GNOME ディスプレイ マネージャー (GDM) 構成ファイルを開きます。
vi /etc/gdm/custom.conf
次に、この行のコメントを解除して、ログイン画面で Xorg を使用するように強制します。
WaylandEnable=false
ファイルを保存して閉じます。
ステップ 2: RHEL 8 に VNC サーバーをインストールする
2. TigerVNC (Tiger Virtual Network Computing) はオープンソースであり、リモートから制御できるグラフィカル デスクトップ共有用に広く使用されているシステムです。他のコンピュータ。
dnf install tigervnc-server tigervnc-server-module
3. 次に、実行するユーザーに切り替え、次のようにユーザーの VNC サーバー パスワード (少なくとも 6 文字にする必要があります) を設定して VNC プログラムを使用します。 。
su - tecmint
vncpasswd
次に、exit コマンドを実行して root アカウントに戻ります。
exit
ステップ 3 RHEL 8 で VNC サーバーを構成する
4. このステップでは、システム上で上記のユーザーの表示を開始するように TigerVNC サーバーを構成する必要があります。まず、次のように /etc/systemd/system/[email という名前の構成ファイルを作成します。
vi /etc/systemd/system/[email
そこに次の構成を追加します (tecmint を実際のユーザー名に置き換えることを忘れないでください)。
[Unit]
Description=Remote desktop service (VNC)
After=syslog.target network.target
[Service]
Type=forking
WorkingDirectory=/home/tecmint
User=tecmint
Group=tecmint
PIDFile=/home/tecmint/.vnc/%H%i.pid
ExecStartPre=/bin/sh -c '/usr/bin/vncserver -kill %i > /dev/null 2>&1 || :'
ExecStart=/usr/bin/vncserver -autokill %i
ExecStop=/usr/bin/vncserver -kill %i
[Install]
WantedBy=multi-user.target
ファイルを保存して閉じます。
先に進む前に、VNC サーバーがどのようにリクエストをリッスンするかを簡単に理解しましょう。デフォルトでは、VNC は TCP ポート 5900+N を使用します。N
は表示番号です。ディスプレイ番号が 1
の場合、VNC サーバーはディスプレイ ポート番号 5901 で実行されます。これは、クライアントからサーバーに接続するときに使用する必要があるポートです。
ステップ 4: RHEL 8 で VNC サービスを有効にする
5. VNC サービスを開始するには、RHEL 8 でデフォルトで強制モードになっている SELinux を無効にする必要があります。
setenforce 0
sed -i 's/enforcing/disabled/g' /etc/selinux/config
6. ここで、systemd マネージャー設定をリロードして最近の変更を適用し、VNC サービスを開始して、システム起動時の自動開始を有効にし、次の systemctl コマンドを使用してサービスが起動して実行中かどうかを確認します。 。
systemctl daemon-reload
systemctl start vncserver@:1
systemctl status vncserver@:1
systemctl enable vncserver@:1
7. この時点で、VNC サービスは起動して実行されています。netstat コマンドを使用して、VNC サーバーが TCP ポート 5901 でリッスンしていることを確認します。
netstat -tlnp
8. 次に、図に示すように、デフォルトで実行されているシステム ファイアウォール サービスでポート 5901 を開きます。これにより、クライアントから VNC サービスにアクセスできるようになります。
firewall-cmd --permanent --add-port=5901/tcp
firewall-cmd --reload
ステップ 5: VNC クライアント経由で VNC サーバーに接続する
9. 次に、クライアント側から VNC サーバーにアクセスする方法を見てみましょう。 VNC はデフォルトでは安全なシステムではないため、接続はまったく暗号化されません。ただし、以下で説明するように、SSH トンネリングとして知られる技術を使用して、クライアントからサーバーへの接続を保護できます。
2 つの Linux システム間の信頼性を高めるために、サーバーとクライアント マシンの間にパスワードなしの SSH 認証を構成する必要があることに注意してください。
次に、Linux クライアント マシンでターミナル ウィンドウを開き、次のコマンドを実行して VNC サーバーへの SSH トンネルを作成します (ID ファイル (~/.ssh/rhel8 へのパスを忘れずに変更してください) ) とそれに応じてサーバーの IP アドレス (192.168.56.110):
ssh -i ~/.ssh/rhel8 -L 5901:127.0.0.1:5901 -N -f -l tecmint 192.168.56.110
10. SSH トンネルを作成した後、TigerVNC Viewer などの vncviewer クライアントをクライアント マシンにインストールできます。
sudo apt install tigervnc-viewer #Ubuntu/Debian
yum install tigervnc-viewer #CnetOS/RHEL
yum install tigervnc-viewer #Fedora 22+
sudo zypper install tigervnc-viewer #OpenSUSE
pacman -S tigervnc #Arch Linux
11. インストールが完了したら、VNC クライアントを実行し、次のようにアドレス localhost:5901
を指定して接続し、1
を表示します。
vncviewer localhost:5901
OR
vncviewer 127.0.0.1:5901
または、システム メニューから VNC クライアント プログラムを検索して開き、次のスクリーンショットに示すように、上記のアドレスを入力して [接続] をクリックします。
接続が成功すると、ステップ 2 のポイント 3 で作成した VNC ログイン パスワードの入力を求められます。パスワードを入力し、[OK] をクリックして続行します。
VNC サーバー認証が成功すると、リモート RHEL 8 システム デスクトップ インターフェイスが表示されます。 Enter をクリックしてログイン インターフェイスにアクセスし、デスクトップにアクセスするためのパスワードを入力します。
この記事では、RHEL 8 にVNC サーバーをインストールして構成する方法を説明しました。いつものように、以下のフィードバック フォームからご質問いただけます。