ほとんどの場合、Linuxシステム管理者は、ネットワークを介してサーバーを管理しています。管理対象サーバーのいずれかに物理的にアクセスする必要があることは非常にまれです。ほとんどの場合、必要なのは管理タスクを実行するためにリモートでSSH接続することだけです。この記事では、VNCであるRHELサーバーへのリモートアクセスに代わるGUIを構成します。 VNCを使用すると、サーバーへのリモートGUIセッションを開くことができるため、任意のリモートロケーションからアクセスできる完全なグラフィカルインターフェイスが提供されます。
このチュートリアルでは、次のことを学びます。
- 必要なVNCパッケージをインストールする方法
- RHELでVNCサーバーをセットアップして起動する方法
- グラフィカルセッションにリモートで接続する方法
- xtermセッションでグラフィカルプログラムを実行する方法
カテゴリ | 使用する要件、規則、またはソフトウェアバージョン |
---|---|
システム | Red Hat Enterprise Linux |
ソフトウェア | TigerVNC |
その他 | rootまたはsudo を介したLinuxシステムへの特権アクセス コマンド。 |
コンベンション | # –指定されたLinuxコマンドは、rootユーザーとして直接、またはsudo を使用して、root権限で実行する必要があります。 コマンド$ –特定のLinuxコマンドを通常の非特権ユーザーとして実行する必要があります |
VNCサーバーのインストールとセットアップ
VNCサーバーで使用できるウィンドウマネージャーはたくさんありますが、このチュートリアルでは、xterm
のように単純なxtermセッションを設定します。 Red HatEnterpriseLinuxのベースリポジトリにあります。ただし、この単純な出発点は、単純なトリックで完全な機能を提供することを示します。また、xfce
のように、はるかに洗練されたウィンドウマネージャーがあることにも注意してください。 、ただし、それはこのチュートリアルの範囲外です。
- まず、サーバーアプリケーションに必要なパッケージをインストールする必要があります。
# dnf install tigervnc-server xterm
- 次に、サービスのファイアウォールを開く必要があります。現在許可されているサービスを確認するために、有効なサービスを一覧表示します。
# firewall-cmd --list-services cockpit dhcpv6-client ssh
vnc-server
を開きます サービス:# firewall-cmd --permanent --zone=public --add-service vnc-server success
構成変更を適用します:
# firewall-cmd --reload
そして、確認するためにサービスを再度リストします:
# firewall-cmd --list-services cockpit dhcpv6-client ssh vnc-server
警告
コンピュータのVNCサービスを一般に公開しないでください。上記のファイアウォールルールは、制限された環境で実行され、デモンストレーションのみを目的としています。インターネットに接続されたサーバー、さらにはデスクトップで何かを開く前に、必ずリスクを理解してください。 - サーバーを実行する環境をセットアップする必要があります。この例では、指定されたユーザー
testuser
でサーバーを実行することを目標としています。root
を持っていない人 特権。 この手順は、サーバーを実行するユーザーで行われるのではなく、で行われることに注意してください。root
。接続を許可するパスワードを設定します(これは、ssh
で使用されるユーザーのパスワードとは関係ありません。 ):$ vncpasswd Password: Verify: Would you like to enter a view-only password (y/n)? n
この例では、表示専用のログインは必要ありません。次に、
/home/testuser/.vnc/xstartup
を編集しますnano
のようなテキストエディタを備えたテキストファイル 。インストール後はファイルが空になっているはずです。xterm
を開始するために最小限のコンテンツのみを追加します 接続時のセッション。空のファイルに次の行を追加します:xterm -geometry 1044x810+10+10 &
画面に合うようにジオメトリパラメータを調整します。これでサーバーを起動できます:
$ vncserver New 'rhel8beta.lab:1 (testuser)' desktop is rhel8beta.home.hu:1 Starting applications specified in /home/testuser/.vnc/xstartup Log file is /home/testuser/.vnc/rhel8beta.lab:1.log
出力が示すように、
の下のログファイルでサーバーから提供されたログを追跡できます。/home/<username>/.vnc/<hostname>:1.log
、このファイル名は、複数のVNCサーバーが実行されている場合に変更されます(接続する必要のあるポートも変更されます)。ログファイルには、サーバーがリッスンしているポートも示されます。
vncext: Listening for VNC connections on all interface(s), port 5901
これはデフォルトのVNCポートです。
- 多くのVNCクライアントを使用して、起動したサーバーに接続できます。
Remmina
は、最近のGnomeデスクトップにデフォルトで付属しているクライアントであり、SSH、RDP、およびVNCセッションを処理できます。 VNCサーバーを実行しているホストのホスト名またはIPアドレス、およびポートを指定する必要があります。次の例では、192.168.1.14
を使用しています アドレスとして、デフォルトのポート5901
前の手順でサーバーのログファイルで見つかりました。アドレスフィールドの横にあるプロトコルとして「VNC」を選択し、vncpasswd
で指定したパスワードを入力する必要があります ついさっき。すべてが期待どおりに機能する場合は、VNCサーバーに接続し、
xterm
を実行しています。 、クリップボードコンテンツを受け入れて提供し、ネットワーク障害から保護します。top
以下の例は、セッションから切断し、後で再接続すると、中断することなく実行されます。 - これらの手順は基本的にVNCサーバーをセットアップして接続する方法を示していますが、
top
を実行することはあまり意味がありません。 リモートのxterm
セッション。sshとscreen
のようなセッションサーバーを使用すると、はるかに少ない労力で実行できます。 。このような単純なxtermセットアップの威力を確認するには、gedit
と入力するだけです。 リモートxtermコンソール(Gnomeデスクトップがインストールされていることを前提としています)。
空のドキュメントは、コマンドラインから起動したときのグラフィカルプログラムと同じように、geditに表示されます。リモートで編集されているドキュメント、およびそれを開いたままにしているプログラムもVNCセッションによって保護されていることに注意してください。ネットワークの停止は影響しません。クライアントマシンで回復不能なエラーが発生した場合でも、再接続してテキストの作業を続行でき、過去数時間の作業を保存するのを忘れました。当然、VNCサーバーはそれが実行されているマシンの障害から保護しません。
トラブルシューティング
「接続が拒否されました」というエラーが表示された場合は、ファイアウォールの設定に問題がある可能性があります。次のコマンドを使用して、VNCへのアクセスが構成されていることを確認します。
# firewall-cmd --permanent --zone=public --add-service vnc-server # firewall-cmd --reload
それ以外の場合は、接続をブロックしているのは2つのシステム間のデバイスであるか、ネットワークのルーティングの問題である可能性があります。
VNCサーバーに接続しようとして、画面が真っ暗になる場合は、VNCのウィンドウマネージャーがないことが原因である可能性があります。上記の手順では、xterm
を構成する方法を示しています。 この目的のために。 GNOMEやXFCEなどのフル機能のウィンドウマネージャーを使用することもできますが、何かを設定する必要があります。上記の手順に従って、xtermがVNCウィンドウマネージャーとして構成されていることを確認します。