ブログに戻る

Ubuntu 20.04でのVirtual Network Computing (VNC)のインストールと設定

Ubuntu 20.04でのVirtual Network Computing (VNC)のインストールと設定

Virtual Network Computing (VNC) は、グラフィカルユーザーインターフェースにリモートでアクセスするために使用される画面共有システムです。リモートフレームバッファプロトコルを使用し、一方のサーバー(ユーザー側)ともう一方の側(クライアント)を接続できるようにします。VNC は安全でセキュアであり、すべてのオペレーティングシステムで動作します。

RealVNC, UltraVNC, Xfce, TightVNCなどは、今日使用されている最も人気のある VNC クライアントの一部です。利用可能な代替案のリストの中から、ご都合に合わせて任意の VNC を自由に選択できます。このチュートリアルでは、Ubuntu 20.04 に VNC をインストールして設定する手順を説明します。ここでは、Xfce をインストールします。その理由は、高速で軽量であり、優れたパフォーマンスを発揮するためです。

まず、Ubuntu サーバー上に VNC サーバーをセットアップし、SSH トンネルを介して安全な接続を確立することから始めます。最後に、ローカルマシンの VNC クライアントプログラムを使用して、グラフィカルなデスクトップ環境を介してサーバーと対話します。

前提条件

このチュートリアルを進めるには、以下が必要です。

ステップ 1 — デスクトップ環境と VNC サーバーのインストール

以前の Ubuntu バージョンとは異なり、Ubuntu 20.04 には VNC がプリインストールされていません。最初のステップとして、公式の Ubuntu リポジトリから必要なパッケージをインストールします。進める前に、既存のパッケージを更新しましょう。

次に、次のコマンドを使用して Xfcexfce4-goodies パッケージをインストールします。

パッケージのインストール中に、Xfce のデフォルトのディスプレイマネージャーを選択するように求める画面が表示されます。メッセージを無視するか、デフォルトとして設定し、 を押します。ENTER.

ディスプレイマネージャーは、ユーザーがグラフィカルインターフェースを介してデスクトップ環境にログインできるようにするプログラムです。このチュートリアルでは、非 root の Ubuntu ユーザーとしてログインしている VNC クライアントと接続するときに Xfce を使用します。したがって、ディスプレイマネージャーの選択はインストールに影響を与えません。

Xfce のインストール後、TightVNC サーバーをインストールします。

次のステップでは、 vncserver コマンドを使用して VNC アクセスパスワードを設定し、初期設定ファイルを作成します。以下を入力して VNC サーバーインスタンスを起動します。

その後、6〜8文字の長さのパスワードを設定し、 を押します。ENTER。プロンプトメッセージが表示されます。

パスワードを確認すると、閲覧専用パスワードを作成するオプションが表示されます。閲覧専用パスワードを使用してログインするユーザーは、マウスやキーボードによる VNC の操作が制限されます。繰り返しになりますが、これは推奨事項にすぎず、必要な場合は有効にし、不要な場合はスキップできます。

将来、パスワードを変更したり、閲覧専用パスワードを追加したりする場合は、次のコマンドを使用します。

これで、サーバー用に作成されたすべてのデフォルト設定と、ディスプレイポート 5901 が として起動されます。:1。VNC は、 などの他のディスプレイポートで複数のインスタンスを起動できます。:2, :3、および :4 はそれぞれポート 5902, 5903、および 5904 を指します。

VNCサーバーがインストールされ、正常に起動しました。次のステップでは、グラフィカルインターフェース経由でアクセスできるように、Xfceを起動するようにサーバーを設定しましょう。

ステップ 2 — VNCサーバーの設定

ホームディレクトリの下に、次のフォルダがあります。 .vnc フォルダには、次の名前のすべての設定ファイルが含まれています。 startup。最初は、ステップ1で次のコマンドを実行したときに自動的に作成されたスタートアップファイルが実行されているのがわかります。 vncserver in ステップ1。スタートアップスクリプトは、前のステップで次のコマンドを実行したときに作成されました。 vncserver コマンド。しかし、ここではXfceデスクトップを起動するために独自のスクリプトを作成します。VNCの設定が変更されるため、Xfceデスクトップを起動するための独自のサーバー設定も作成する必要があります。

次に進む前に、ポートで実行されているVNCサーバーインスタンスを停止する必要があります。 5901:

次のような出力が表示されます:

次の値の代わりに、 17648、異なる番号が表示される場合がありますが、問題ありません。次に、以下のファイルを変更します。 xstartup ファイル。ファイルを変更する前に、元のファイルをバックアップしておきましょう:

次に、新しい xstartup ファイルを作成し、任意のテキストエディタで開きます。このチュートリアルでは、以下を使用します。 nano:

完了したら、ファイルに次の行を追加します:

VNCサーバーを起動または再起動するたびに、これらのコマンドが自動的に実行されます。最初の行は、シバン(Shebang) であり、実行のために次のファイルを渡すインタプリタの情報をシステムに伝えます。 ~/.vnc/xstartup ファイル。次の行の xrdb $HOME/. Xresources は、VNCのGUIフレームワークに対して、サーバーユーザーの次のファイルを読み取るように指示します。 Xresources ファイル。最後に、最後の行はサーバーにXfceを起動するように要求します。これらの行を追加したら、ファイルを保存して閉じます。

VNCサーバーが新しいスタートアップファイルを使用できるように、ファイルを実行可能にする必要があります:

次に、VNCサーバーを再起動します:

これで、次のオプションがここに追加されます。 -localhost オプション。localhostはVNCサーバーをサーバーのループバックインターフェースにバインドし、インストールされたサーバーからの接続のみを許可します。次に、ローカルマシンとサーバーの間にSSHトンネルを確立します。目的は、VNCのセキュリティをさらに強化することです。なぜでしょうか?アクセス権を持つユーザーは、すでにサーバーへのSSHアクセス権を持っているユーザーに限定されるためです。

次の出力が表示されます:

設定が完了したら、ローカルマシンからVNCサーバーに接続する準備が整います。

ステップ 3 — VNCデスクトップに安全に接続する

サーバーに接続する際、VNCは安全なプロトコルを使用しません。そのため、SSHトンネルを確立し、VNCクライアントが直接接続するのではなく、トンネルを使用して接続するように設定する必要があります。

ローカルコンピュータで、次のコマンドを使用してSSH接続を作成します。 ssh コマンド。これは次の接続に転送されます。 localhost 接続。ターミナルでコマンドを使用してSSH接続を作成します:

上記のコードを解読してみましょう:

  • -L 59000:localhost:5901-L スイッチは、ローカルコンピュータ上の指定されたポート( 59000)が、送信先サーバー上の指定されたホストとポート( localhost:5901)に転送されることを指定します。つまり、ポート 5901(接続先サーバー上)は、次のように定義されます: your_server_ip)。指定するローカルポートは任意です。そのポートがすでに他のサービスにバインドされていない限り、トンネルの転送ポートとして自由に使用できます。

  • -C:圧縮を有効にします。これにより、リソース消費をさらに抑え、パフォーマンスを向上させることができます。

  • -N:ポート転送に便利です。これにより、 sshに対し、リモートコマンドを実行しないよう指示します。

  • -l cloudsigma your_server_ip-lスイッチを使用すると、サーバーへの接続後にログインするユーザーを指定できます。

上記のコマンドは、単にサーバーのファイアウォールを開放してポート 5901への接続をどこからでも許可するよりも、安全な接続を確立するためのよりセキュアな方法です。接続が確立されると、SSHトンネルはポート 5901(VNC側)からのコンテンツを、ローカルマシンのポート 59000へデフォルトのSSHポートを介して転送します。ポート 22.

また、PuTTYを使用してサーバーに接続することもできます。PuTTYを開き、PuTTY端末の左側にあるConnectionブランチを見つけて接続します。次に、SSHブランチを展開し、Tunnelsをクリックします。Options controlling SSH port forwarding 画面で、に、 59000Source Portとして入力し、 localhost:5901Destination:

VNC image 1

他のオプションはすべて変更せず、Addをクリックし、次にApplyをクリックしてトンネルを実装します。トンネルが開始されたら、VNCクライアントを使用して localhost: 59000に接続します。デフォルトでは、Step-1で作成したパスワードを使用して認証を求められます。接続すると、デフォルトのXfceデスクトップが表示されます:

VNC 2

ホームディレクトリ内のファイルにアクセスして管理できます。また、VNCサーバーをsystemd service.

ステップ 4 — VNCをSystemdサービスとして実行する

VNCサーバーをsystemdサービスとして実行するように設定すると、サーバーの管理が可能になります。都合や必要に応じて、起動、停止、再起動、または終了を行うことができます。サーバーが起動するたびに、systemd管理コマンドを使用して、サーバーが ONまたは OFF.

まず、サービスを管理するときに使用するVNCディスプレイポートを指定するための新しいユニットファイルを作成します。ユニットファイルを定義します:

ファイル名の末尾に @記号があることに気づくでしょう。これにより、サービス設定を使用するための引数を渡すことができます。

次に、ユニットファイルに一連の行を追加します。User, Group, WorkingDirectory,および、PIDFILE:

VNCがすでに実行されている場合、 ExecStartPreコマンドはそれを停止します。 ExecStartコマンドはVNCを起動し、色深度を24ビットカラー、解像度を1280×800に設定します。これらの起動オプションは、要件に基づいて編集できます。また、 ExecStartコマンドには再び -localhostオプションが含まれていることに注意してください。完了したら、ユニットファイルを保存して閉じます。

次に、新しいユニットファイルをシステムに認識させます:

ユニットファイルを 有効(ON)にします:

の後の 1に続く @ 記号は、サービスを表示するディスプレイ番号を示します。今回のケースでは、デフォルトの :1 です。これについては、ステップ2 で説明しました。VNCがまだ実行中の場合は、次の kill コマンドを使用して、VNCサーバーの現在のインスタンスを停止できます:

次に、他のsystemdサービスを開始するのと同様に起動します:

次のコマンドで起動したことを確認できます:

次のような出力が表示されます:

これで、サーバーの起動時にいつでもVNCサーバーを使用できるようになり、他のsystemdサービスと同様に systemctl コマンドで管理できます。ただし、クライアント側では違いは表示されません。再接続するには、次のコマンドを使用して SSH トンネルを開始します:

VNCクライアントを使用して、サーバーの localhost:59000 に再び接続できます。

おわりに

最初は、特に新しいコンピューターに接続しようとする場合、VNCサーバーの設定が難しく感じられるかもしれません。しかし、一度安定した接続を確立できれば、リモートコンピューターでの作業は楽しくエキサイティングなものになります。Ubuntu 20.04サーバー上で安全なVNCサーバーを稼働させることで、ユーザーフレンドリーなグラフィカルインターフェースを使用して、リソース、ファイル、ソフトウェア、設定を簡単に管理できます。帯域幅を過剰に消費することがVNCを使用する唯一のデメリットかもしれません。これについては、低解像度やグレースケールの画面を使用することで、より高速な転送を実現し、克服することができます。

ハッピーコンピューティング!

author

Shreyas Patil

著者 · CloudSigma

Preslav DobrevはCloudSigmaのクリエイティブデザイナーであり、従来型および革新的なマーケティングチャネルを活用した一貫性のあるビジネスアイデンティティに注力しています。彼は芸術的なビジョンと戦略的マーケティングを融合させ、インパクトのあるブランドナラティブを生み出すことに長けています。

コメント

コメントはまだありません。最初のコメントを投稿しましょう。