CUI運用しているラズパイでVNC接続できるようにする

#本記事の内容
- CUI運用しているラズパイでVNCサーバ設定を行い、必要な時にGUI操作できるようにする。

物体検知の仕組みを開発しようとしています。
普段はCUIでラズパイを運用しているのですが、カメラで撮った写真を見たいときに、わざわざSCPでファイルをPCにダウンロードしないと確認できないので手間がかかります。
このような場合は、ラズパイをGUIで操作している方が利便性が高いので、VNCサーバ設定を行い必要な時にGUI操作できるようにしました。

![25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/0a974069-003b-e22f-be1a-760115d8946b.png)

#実施環境
- Windows 10
- TeraTarm Version 4.9.4
- Raspberry Pi 2 Model B
- PLANEX 無線LAN子機 GW-USNANO2A ※Raspberry Pi 2はWi-Fi通信モジュールがないため、無線LAN子機をUSBに接続しWi-Fi通信を行う。
- 家庭内の無線LANネットワーク環境にて実施

#手順の流れ 
1. TeraTarmでsshログインする
2. VNC設定の有効化
3. VNCログイン用の認証方式・パスワードの設定
4. Windows PCへのVNC Viewrソフトのインストール
5. Windows PCからVNC接続のテスト

## 1. TeraTarmでsshログインする

WindowsにてTeraTarmを起動して、ラズパイにSSH接続する。

## 2. VNC設定の有効化

`sudo raspi-config`コマンドを実行する。

![20.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/4e34e858-3fb8-1d4c-0734-e716c4067f77.png)
"3 Interface Options"を選択し、Enterキーを押す。

![21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/a7b1c87a-1912-5da1-6663-b5832786c94d.png)
"P3 VNC"を選択し、Enterキーを押す。

![22.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/964f3b60-69a1-2fae-c562-8d9463f90354.png)
"Yes"を選択し、Enterキーを押す。

![23.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/9c10da8b-a441-665d-41fc-efa4b1db2df8.png)
"OK"を選択し、Enterキーを押す。

![39.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/b9ada519-4c35-b8bd-f0fc-3cddff4fb897.png)
"Finish"を選択し、Enterキーを押す。

再起動を確認するメッセーが出たら、、（キャプチャー取り忘れ。）
"Yes"を選択し、Enterキーを押す。

## 3. VNCログイン用の認証方式・パスワードの設定

VNCログイン時の認証モードの設定を変更する。これを行わないとVNCログイン時に'No Supported Authentication Methods.'のエラーが出てしまう。

	pi@raspberrypi:~ $ sudo vi /etc/vnc/config.d/common

以下を追記する。

	Authentication=VncAuth

VNCログイン用のパスワードを設定する。

	pi@raspberrypi:~ $ sudo vncpasswd -service
パスワードの入力を求められるので入力する。


ラズパイを再起動する。ここまででラズパイ側のVNCサーバ設定は完了。

	pi@raspberrypi:~ $ sudo reboot


## 4. Windows PCへのVNC Viewrソフトのインストール

Windowsにインストールクライアントソフトはお好みのもので。
私はこちらのサイトから[UltraVNC](https://forest.watch.impress.co.jp/library/software/ultravnc/)のソフトをインストールしました。

インストーラーの指示に沿ってインストールを進めました。
今回は、Viewerとしての利用用途でしたので、インストールする機能はViewerのみチェックしてインストールしました。

インストールが完了。Desktopアイコンにショートカットを作成しているのチェックを入れていない場合は、Program filesからプログラムのexeファイルを選択してショートカットを作成する。

![00.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/5f8a7051-5199-a358-5a84-90731dfec2f6.png)


## 5. Windows PCからVNC接続のテスト

WindowsにてUltra VNCを起動。
ラズパイのIPアドレスポートを指定し、`connect`をクリックする。
![24-1.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/7f348621-eea3-71ad-3efd-997d7ca21e0a.png)
※VNCの接続ポートはデフォルトが5900の様です。

![24-2.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/4f5eb704-b1a2-3422-aac9-f6572107aed4.png)
パスワードを入力し`Log On`をクリックする。

VNC接続完了できた！

![25.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/88b0b453-b827-735c-9d89-c62ec51af5a1.png)

初期セットアップはお好みで実施すると良いと思います。
以降は参考として載せておきます。

"Next"をクリックする。

![26.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/43bdf9eb-7fb2-71c4-5e52-ba479eecb37e.png)

Countryは"Japan"を選択する。他の選択肢は自動で切り替わるので、問題なければ"Next"をクリックする。

![27.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/7e9a8b5b-d9df-60a1-e00c-e8efca08be01.png)

![28.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/84ac0f66-c9df-0f94-c612-a19f5eec618f.png)

パスワードが初期値のままなので、変更を促すポップアップが出た。パスワードをこの機会に変更する。

![29.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/ebd47666-049c-05af-8f75-819a34dcfe6d.png)

![30.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/3f59f371-e1f4-d618-7160-9b5b9501c93a.png)

パスワードを入力したら、"Next"をクリックする。

![31.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/b93fb293-6d30-8a3b-8659-651bf9a2c250.png)

"Next"をクリックする。

![32.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/7ede294f-9fce-17b0-5f73-97e1d214b77f.png)

WiFiは利用しないので、"Skip"をクリックする。

![33.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/824d9f44-be1d-9b13-aaee-302da190ef76.png)

ソフトウェアアップデートは今は不要なため、"Skip"をクリックする。

![34.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/0f8792fa-0e01-386d-0a67-cecafa5a978c.png)

初期設定はこれで終了。"Done"をクリックする。

もしVNCアクセス時の画面解像度を変更したい場合は、以下を実施すること。


## 補足 VNC接続時の解像度の変更

`sudo raspi-config`コマンドを実行する。
![35.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/a27639ee-2570-1dca-8222-07945e8e9194.png)

"2 Display Options"を選択し、Enterキーを押す。
![36.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/e8fa5fd7-c7ab-648c-be5f-3c2f456beade.png)

"01 Resolution"を選択し、Enterキーを押す。
![37.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/a216161e-1e9e-b5bc-1cf9-86435fdc1407.png)

お好みの解像度を選択して、"OK"を押す。
![38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/2017667/131885d6-1eec-7fa0-d438-aa6ebf4d1ac3.png)

"OK"を押す。これでVNC接続したときの解像度が変更できた。

手順は以上。

# 参考文献
本記事の作成に当たり、以下の情報を参考にさせて頂きました。
- [raspbianでRealVNCが繋がらなかったときの話](https://www.komee.org/entry/2017/11/05/183143)
- [Raspberry PiでVNCをCLI上で有効にする](https://www.laddy.info/2020/05/29415/)