GNU/Linux >> Linux の 問題 >  >> Ubuntu

Ubuntu20.04にVNCをインストールして構成する

VNCはVirtualNetworkComputingの略です。 Ubuntuマシンをリモートで制御するのに役立ちます。 VNCサーバーは、リモートフレームバッファープロトコル(RFB)を使用して、別のコンピューターをリモート制御します。

テクニカルサポートスタッフがキーボードまたはマウスを使用する場合、VNCはキーボードとマウスからの信号をリモートサーバーに送信します。グラフィカルユーザーインターフェイスを使用して、管理作業をより簡単かつ便利にします。さらに、VNCはグラフィカルSSHおよびRDP接続よりも信頼性があります。

このチュートリアルでは、TightVNCを使用してUbuntu20.04でVNCをセットアップおよび構成する手順を説明します。以前のバージョンのUbuntu16.04でVNCを実行している場合は、そのガイドがあります。

デスクトップ環境とVNCサーバーをインストールする

まず、デフォルトではインストールされていないため、Ubuntuサーバーにデスクトップ環境をインストールしましょう。 GNOME、MATE、XFCEなどの多くの選択肢があります。

このチュートリアルでは、XFCEを選択します。軽量のデスクトップ環境であり、VNC接続が安定してスムーズになるのに役立ちます。

Ubuntuサーバーで、次のコマンドを実行してパッケージリストを更新します。

$ sudo apt update

次に、XFCEデスクトップ環境をインストールしましょう:

$ sudo apt install xfce4 xfce4-goodies gnome-icon-theme

ここではTightVNCサーバーを使用していますが、他の一般的なVNCサーバーはTigerVNCとx11vncです。

tightvncをインストールします:

$ sudo apt install tightvncserver

次に、VNCサーバーインスタンスを実行して、インストールされているそのサーバーのパスワードを設定する必要があります。

$ vncserver

インストール後に初めてサーバーを起動しているため、クライアントが接続に使用するパスワードを設定するように求められます。また、表示専用のパスワードを設定するように求められます。これにより、ユーザーは画面を表示できますが、画面を操作することはできません。

パスワードの長さは6〜8文字であることに注意してください。長い方のパスワードを入力すると、自動的に削除されます。

VNCサーバーのパスワードを変更したい場合は、次のコマンドを実行してみましょう。

$ vncpasswd

VNCサーバーを構成する

VNCサーバーインスタンスを初めて起動すると、初期構成ファイル'〜/ .vnc / xstartup'が作成され、VNCサーバーはポート5901でリッスンします。このポートを表示ポートと呼びます。 VNCサーバーの多くのインスタンスを起動でき、各インスタンスには独自のディスプレイポートがあります。最初のディスプレイはポート5901でリッスンし、2番目のディスプレイはポート5902でリッスンします。

Ubuntuサーバーの起動と同時に実行するようにVNCサーバーを構成する必要があります。さらに、VNCサーバーが接続するデスクトップ環境を明示的に指定する必要があります。

まず、TCPポート5901で実行されている現在のVNCサーバーインスタンスを停止しましょう:

$ vncserver -kill :1

次に、現在の構成ファイルをバックアップします。

$ cp ~/.vnc/xstartup ~/.vnc/xstartup.bak

次に、「xstartup」ファイルをお気に入りのエディターで次のように変更します。

#!/bin/sh

xrdb $HOME/.Xresources
startxfce4 &

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

$ vncserver -localhost

VNCサーバーに接続します

デフォルトでは、VNCサーバーはセキュアプロトコルを使用しません。リモートのUbuntuサーバーへの接続を保護するには、SSHトンネルを作成し、VNCクライアントがそのトンネルを介してVNCサーバーに接続することを示す必要があります。

VNCの「localhost」にトラフィックを転送するローカルマシンでSSH接続を確立しましょう。ローカルマシン(macOSまたはLinux)でターミナルを起動し、次のコマンドを実行します。

$ ssh -L 59000:localhost:5901 -C -l <user> <server_ip_address>

場所:

-L 59000:localhost:5901 :ローカルマシンのポートは59000で、宛先サーバーに転送されます:localhost:5901

-C :データを圧縮して接続を高速化します

-l <​​user> :ログインするユーザーとUbuntu20.04サーバーのIPアドレスを示します

WindowsでSSHトンネリングを設定する

Windows OSを実行している場合は、PuTTYSSHクライアントを使用してSSHトンネルを設定できます。

PuTTYを開いて、UbuntuサーバーのIPアドレスを入力してみましょう:

次に、サブメニュー[接続]> [SSH]> [トンネル]を展開し、[送信元ポート]に「5901」、「宛先」に「:5901」と入力します。次に、以下のように[追加]ボタンをクリックします。

SSHトンネルを使用することにより、Ubuntu 20.04サーバーへのVNC接続では、サーバーにSSH接続できるマシンのみが許可されます。すべてのマシンがポート5901に接続するだけではありません。

これで、VNCクライアントを使用してリモートのUbuntuサーバーに接続できます。このチュートリアルでは、VNCビューアを使用します。 VNCクライアントを開き、サーバーのIPアドレスとポート5901を入力します。

UbuntuサーバーのXFCEデスクトップに正常に接続しました:

オフィスの物理サーバーを操作しているかのようにサーバーを制御できます。たとえば、ファイルマネージャにアクセスしたり、プログラムを起動したり、ターミナルを開いたりできます。

VNCサーバーをsystemdサービスとしてセットアップする

VNCサーバーをシステムサービスとして実行することにより、いつでもサーバーを簡単に起動、停止、または再起動できます。

Ubuntuサーバーのディレクトリ「/etc/ systemd /system/」に「[email protected]」という新しいファイルを作成しましょう。

$ sudo vim /etc/systemd/system/[email protected]e

次のコンテンツをファイル「[email protected]」に追加し、7、8、9、13行目の値を環境に合わせて編集してください。

[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target

[Service]
Type=forking
User=ubuntu
Group=ubuntu
WorkingDirectory=/home/ubuntu

PIDFile=/home/ubuntu/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :%i
ExecStop=/usr/bin/vncserver -kill :%i

[Install]
WantedBy=multi-user.target

次に、システムデーモンをリロードします。

$ sudo systemctl daemon-reload

サービスを有効にする:

$ sudo systemctl enable [email protected]

場所:

@ 1.service :ポート5901に関連付けられた最初のディスプレイ。

出力:

Created symlink /etc/systemd/system/multi-user.target.wants/[email protected] → /etc/systemd/system/[email protected].

実行中のインスタンスを強制終了します:

$ vncserver -kill :1

Killing Xtightvnc process ID 3159

次に、そのsystemdサービスを再度開始します:

$ sudo systemctl start vncserver@1

これで、サービスが正しく実行されているかどうかを確認できます。

$ sudo systemctl status vncserver@1

出力:

[email protected] - Start TightVNC server at startup
     Loaded: loaded (/etc/systemd/system/[email protected]; enabled; vendor preset: enabled)
     Active: active (running) since Sun 2020-08-16 17:37:51 UTC; 2min 2s ago
    Process: 4611 ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 (code=exited, status=2)
    Process: 4615 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1280x800 -localhost :1 (code=exited, status>
   Main PID: 4623 (Xtightvnc)
      Tasks: 129 (limit: 7125)
     Memory: 187.5M
...

結論

このチュートリアルでは、Ubuntu20.04にVNCサーバーをインストールして構成する方法を学びました。これで、グラフィカルユーザーインターフェイスを使用してリモートでUbuntuサーバーを管理できます。

読んでいただきありがとうございます。以下のコメントセクションに提案を残してください。


Ubuntu
  1. Ubuntu20.04にDHCPサーバーをインストールして構成する方法

  2. UbuntuにRedisサーバーをインストールして構成する方法

  3. Ubuntuにvncサーバーとクライアントをインストールします

  1. Ubuntu20.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu20.04にVNCをインストールして構成する方法

  3. Ubuntu18.04にVNCをインストールして構成する方法

  1. Ubuntu18.04にNFSサーバーをインストールして構成する方法

  2. Ubuntu14.04にVNCサーバーをインストールする方法

  3. Ubuntu16.04にGitをインストールして構成する