AWSインスタンスのUbuntu Server 16.04 LTSにTight VNCをインストールしMacBookからリモート接続する

## :computer: この記事の目的

サーバとしてUbuntu Server 16.04 LTSをAWSインスタンス上に構築し、VNCでリモートデスクトップ接続をするためにTight VNC Serverをインストールします。

さらに、このサーバに対してMacBookからVNCツールにて接続する手順を確認します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/1ae0bf18-bc3c-b91d-7ef6-8b3e76b82ae9.png)

## :computer: サーバ側の準備

AWSインスタンスとしてUbuntuサーバを起動し、必要なソフトウェアをインストールします。

####(1)AWSインスタンスの作成

AWSインスタンスの作成手順は、AWSのマニュアル等を参照して下さい。
ここではAWSインスタンスの作成方法は理解していることを前提とさせて頂きます。

今回は無料のサーバとしてAWSから提供されているUbuntu Server 16.04 LTSを選択しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/29cab0ab-b511-7904-16c5-1bcf0005abe4.png)

AWSインスタンス作成画面の途中でセキュリティグループを作成する手順がありますので、ここで下図赤枠のように「プロトコル：TCP、ポート番号：5900」のカスタム設定を追加しておく必要があります。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/877aad56-6a38-fa6a-d0b8-612eeb6ac38a.png)

####(2)AWSインスタンスへの接続

インスタンスの作成が完了したら、MacBookからSSH接続します。
ターミナルを起動し、以下のコマンドで接続を行います。

 `ssh -l ubuntu -i [秘密鍵ファイル] [パブリックDNS]`

ここで、AWSインスタンスでUbuntuサーバを選択した場合、デフォルトユーザは**ubuntu**になります。

####(3)デスクトップ環境のインストール

Ubuntuサーバは初期状態ではコマンドライン表示のみで、デスクトップ環境がありません。そこで、デスクトップ表示ツールをインストールします。
ここではデスクトップの種類の一つであるLXDEをインストールします

##### (3-1) OSの最新化

まずはUbuntu OSを最新化しておきます。
以下のコマンドを実行します。

`sudo apt update`

##### (3-2) LXDEのインストール

デスクトップ表示ツールのLXDEをインストールします。

`sudo apt install -y lxde-core`

※Xfceの場合は以下を実行します。
sudo apt-get install -y xfce4 xfce4-goodies

####(4)Tight VNC Serverの設定

続いて、リモート接続先サーバとなるTight VNC Serverの設定を行います。

##### (4-1) Tight VNC Serverのインストール

Tight VNC Serverをインストールします。
以下のコマンドを実行して下さい。

`sudo apt install tightvncserver`

##### (4-2) 接続用パスワードの設定

接続用パスワードの設定を行います。
以下のコマンドを実行しTight VNC Serverを起動させます。

`vncserver`

初回起動時に接続用パスワードの設定が行われますので、接続用パスワードを登録して下さい。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/35837359-bf6d-2dc4-2165-258502056ab8.png)

閲覧専用のパスワード設定
　**Would you like to enter a view-only password (y/n)?**
が表示されたら、今回は設定しないため「n」を入力します。

その後、接続ポート番号(画面番号)を修正するために、以下のコマンドで一旦します。

`vncserver -kill :1`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/5615afb4-d394-74d7-8000-57f9642002c6.png)

##### (4-3) 接続ポート番号(画面番号)の修正

初期設定では、画面番号が「:1」で接続ポート番号が「5901」となっています。
このままでも良いですが、VNCポート番号として一般的な「5900」に修正してみたいと思います。

以下のコマンドで/usr/bin/vncserverファイルを修正します。

`sudo vi /usr/bin/vncserver`

218行目付近にある設定値「$vncPort」を変更します。
ここでは下図のように218行目をコメントアウトし、219行目に5900を固定値としました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/8a6786cd-11d3-d501-ca19-050f878754b7.png)

再びTight VNC Serverを以下のコマンドで起動します。

`vncserver`

サーバ側の設定はこれで完了なので、SSH接続は切断して下さい。

## :computer: MacBook側の準備

####(1)VNCツールの起動

MacBookには標準でVNC接続ツール(VNCクライアントツール)が搭載されています。
以下の手順で起動します。
`「Finder」→「移動」→「サーバへ接続...」`

####(2)VNCサーバへの接続

##### (2-1) 接続情報の入力

(1)で起動したら、以下の画面が出ますので、接続情報を入力します。
以下のように入力して下さい。

`vnc://[パブリックDNS]`
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/721c2d52-e03a-d8c5-d60b-c353281f8b7b.png)

入力後、「接続」をクリックします。

##### (2-2) 接続用パスワードの入力

下図のようにパスワード入力画面が出たら、接続用パスワードを入力します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/099f188d-4fef-05fa-bd92-fc12a8f45938.png)


入力後、「サインイン」をクリックします。

##### (2-3) 接続完了

下図のように接続が成功し、VNCツールの画面が開いたら接続完了です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/399135/ce21c420-c871-0faa-bb1a-b61140478bb8.png)


## :computer: 関連情報


:paperclip: Ubuntu 16.04 LTSにXcfe (or LXDE) とTightVNC Serverでリモートデスクトップ環境を構築する
http://blog.algolab.jp/post/2016/08/22/ubuntu-tightvnc-server/

## :computer: ご意見など

ご意見、間違い訂正などございましたらお寄せ下さい。