前書き

VNC、または「仮想ネットワークコンピューティング」は、キーボードとマウスを使用してリモートサーバー上のグラフィカルデスクトップ環境と対話できるようにする接続システムです。 VNCを使用すると、コマンドラインの操作にまだ慣れていないユーザーでも、リモートサーバー上のファイル、ソフトウェア、および設定を簡単に管理できます。

このガイドでは、Ubuntu 14.04サーバーでVNCをセットアップし、SSHトンネルを介して安全に接続します。 使用するVNCサーバーは、高速で軽量のリモートコントロールパッケージであるTightVNCです。 この選択により、低速のインターネット接続でもVNC接続がスムーズで安定します。

前提条件

このガイドを始める前に、最初に完了する必要があるいくつかのステップがあります。

`+ sudo +`権限を持つ非rootユーザーでインストールおよび設定されたUbuntu 14.04サーバーが必要です。 まだこれを行っていない場合は、https://www.digitalocean.com/community/tutorials/initial-server-setup-with-ubuntu-14-04 [Ubuntu 14.04 initialサーバーセットアップガイド]でこのアカウントを作成します。

非rootユーザーを取得したら、それを使用してUbuntuサーバーにSSH接続し、VNCサーバーのインストールを続行できます。

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

デフォルトでは、ほとんどのLinuxサーバーインストールにはグラフィカルデスクトップ環境が付属していません。 その場合は、まず作業できるものをインストールする必要があります。 この例では、XFCE4をインストールします。XFCE4は非常に軽量でありながら、ほとんどのユーザーに馴染みがあります。

`+ apt +`を使用して、Ubuntuのソフトウェアリポジトリから直接XFCEパッケージとTightVNCのパッケージを取得できます。

sudo apt-get update
sudo apt-get install xfce4 xfce4-goodies tightvncserver

VNCサーバーの初期設定を完了するには、 `+ vncserver`コマンドを使用して安全なパスワードを設定します:

vncserver

(アクセスパスワードを設定した後、表示専用パスワードを入力するかどうかを尋ねられます。 表示専用パスワードでログインしたユーザーは、マウスまたはキーボードでVNCインスタンスを制御できません。 これは、VNCサーバーを使用して他の人に何かを見せたい場合に便利なオプションです。)

`+ vncserver +`は、サーバーが使用するデフォルトの設定ファイルと接続情報を作成することにより、VNCのインストールを完了します。 これらのパッケージをインストールすると、VNCサーバーとグラフィカルデスクトップを構成する準備が整います。

ステップ2-VNCサーバーの構成

まず、VNCサーバーの起動時に実行するコマンドを指定する必要があります。 これらのコマンドは、 `+ xstartup `と呼ばれる設定ファイルにあります。 私たちのVNCサーバーには、すでにプリロードされた ` xstartup +`ファイルがありますが、XFCEデスクトップにはいくつかの異なるコマンドを使用する必要があります。

VNCが最初にセットアップされると、ポート5901でデフォルトのサーバーインスタンスが起動します。 このポートはディスプレイポートと呼ばれ、VNCでは「:1」と呼ばれます。 VNCは、「:2 +」、「:3+」など、他のディスプレイポートで複数のインスタンスを起動できます。 VNCサーバーを使用する場合、「:X +」は「 5900 + X +」を参照する表示ポートであることを忘れないでください。

VNCサーバーの構成方法を変更するため、まずポート5901で実行されているVNCサーバーインスタンスを停止する必要があります。

vncserver -kill :1

新しい「+ xstartup +」ファイルの設定を開始する前に、後で必要になった場合に備えて元のファイルをバックアップしましょう。

mv ~/.vnc/xstartup ~/.vnc/xstartup.bak

これで、 + nano`で新しい + xstartup`ファイルを開くことができます。

nano ~/.vnc/xstartup

VNCサーバーを起動または再起動するたびに自動的に実行されるように、これらのコマンドをファイルに挿入します。

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

ファイルの最初のコマンド「+ xrdb $ HOME / .Xresources 」は、サーバーユーザーの「 .Xresources 」ファイルを読み取るようVNCのGUIフレームワークに指示します。 ` .Xresources +`は、ユーザーが端末の色、カーソルテーマ、フォントレンダリングなど、グラフィカルデスクトップの特定の設定を変更できる場所です。

2番目のコマンドは、サーバーにXFCEを起動するように単に指示します。XFCEは、サーバーを快適に管理するために必要なすべてのグラフィカルソフトウェアを見つける場所です。

VNCサーバーがこの新しいスタートアップファイルを適切に使用できるようにするには、実行可能権限を付与する必要があります。

sudo chmod +x ~/.vnc/xstartup

ステップ3-VNCサービスファイルを作成する

新しいVNCサーバーを簡単に制御するには、Ubuntuサービスとして設定する必要があります。 これにより、必要に応じてVNCサーバーを起動、停止、再起動できます。

最初に、 `+ nano `で ` / etc / init.d +`の新しいサービスファイルを開きます。

sudo nano /etc/init.d/vncserver

データの最初のブロックは、ユーザー名やディスプレイの解像度など、VNCが多く参照する一般的な設定を宣言する場所です。

#!/bin/bash
PATH="$PATH:/usr/bin/"
export USER=""
DISPLAY="1"
DEPTH="16"
GEOMETRY=""
OPTIONS="-depth ${DEPTH} -geometry ${GEOMETRY} :${DISPLAY} -localhost"
. /lib/lsb/init-functions

設定したルート以外のユーザーで「」を置き換え、仮想ディスプレイに別の画面解像度を使用する場合は「」を変更してください。

次に、新しいサービスの管理を可能にするコマンド命令の挿入を開始できます。 次のブロックは、VNCサーバーを起動するために必要なコマンドと、起動中のフィードバックをコマンドキーワード「+ start +」にバインドします。

case "$1" in
start)
log_action_begin_msg "Starting vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver ${OPTIONS}"
;;

次のブロックはコマンドキーワード「+ stop +」を作成し、既存のVNCサーバーインスタンスを即座に強制終了します。

stop)
log_action_begin_msg "Stopping vncserver for user '${USER}' on localhost:${DISPLAY}"
su ${USER} -c "/usr/bin/vncserver -kill :${DISPLAY}"
;;

最後のブロックは、コマンドキーワード「+ restart 」用です。これは、2つの前のコマンド(「 stop 」と「 start +」)を1つのコマンドに結合したものです。

restart)
$0 stop
$0 start
;;
esac
exit 0

これらのブロックがすべてサービススクリプトに含まれたら、そのファイルを保存して閉じることができます。 設定したコマンドを使用できるように、このサービススクリプトを実行可能にします。

sudo chmod +x /etc/init.d/vncserver

次に、サービスとコマンドを使用して、新しいVNCサーバーインスタンスを起動してみます。

sudo service vncserver start

ステップ4-VNCデスクトップへの接続

VNCサーバーをテストするには、SSHトンネルを介したVNC接続をサポートするクライアントを使用する必要があります。 Windowsを使用している場合は、TightVNC、RealVNC、またはUltraVNCを使用できます。 Mac OS Xユーザーは、組み込みの画面共有を使用するか、RealVNCなどのクロスプラットフォームアプリを使用できます。

最初に、VNCの `+ localhost +`接続に安全に転送するSSH接続をローカルコンピューターに作成する必要があります。 これは、LinuxまたはOS Xのターミナルで次のコマンドを使用して実行できます。

( “と “をSSH経由でサーバーに接続するために使用したユーザー名とIPに置き換えてください。)

ssh -L 5901:127.0.0.1:5901 -N -f -l

PuTTYなどのグラフィカルSSHクライアントを使用している場合、接続IPとして「+」を使用し、プログラムのSSHトンネル設定で「 localhost:5901+」を新しい転送ポートとして設定します。

次に、VNCビューアーを使用して、 `+ localhost:5901 `のVNCサーバーに接続できます。 VNCインスタンスにアクセスできる唯一のポートであるため、最後にある「:5901+」を忘れないでください。

接続すると、デフォルトのXFCEデスクトップが設定および使用できる状態になります。 これは次のようになります。

image:https://assets.digitalocean.com/articles/desktop_vnc_1404/first_vnc_connection.png [最初のVNC <br>接続]

VNC接続が機能していることを確認したら、VNCサービスをデフォルトのサービスに追加して、サーバーを起動するたびに自動的に開始されるようにします。

sudo update-rc.d vncserver defaults

結論

これで、Ubuntu 14.04サーバーで安全なVNCサーバーが稼働しているはずです。 これで、使いやすいグラフィカルインターフェースでサーバーのファイル、ソフトウェア、設定を管理できるようになります。