MacからRaspberry PiにVNCで接続するメモ 


リモートワークな流れが強くなってきているので自宅環境を整えています。
ラズパイにMacからVNC接続をできるようにします。（間違ってたら教えてください）

調べるとよくあるネタなんですけど、割とハマったので自分用のメモを残しておきます。

コメントを貰って更新しました。(2020/4/9)

## 環境

* macOS Catalina 10.15
* Raspberry Pi4 Model B 4GB

```bash
$ lsb_release -a
No LSB modules are available.
Distributor ID: Raspbian
Description:    Raspbian GNU/Linux 10 (buster)
Release:        10
Codename:       buster
```

## 関係しそうな2種類のVNCソフトの話

調べてると二つのソフトの記述が出てきますが少し紛らわしかったので整理します。

* RealVNC
	* https://www.realvnc.com/en/
	* ラズパイにデフォルトで入ってる
	* ~~Macから繋ぐ場合はFinderではなく、別途クライアントソフトをインストールする必要がある模様~~
	* ↑は @mt08さんからコメントありましたが、設定の問題でした。(20202/4/9追記)
* TightVNC
	* https://www.tightvnc.com/
	* ラズパイにはデフォルトでは入っていない
	* Macに追加インストールをせずにFinderから繋ぐことが出来る

~~こんな感じでMacに追加インストールさせたいか、ラズパイに追加インストールさせたいかで使い分けるとよいのかも(？)~~

@mt08さんのコメントを元にRealVNCを試してみましたが、TightVNCよりもRealVNCの方が快適に動作しました。デフォルトで入っているということもあるのでRealVNCを使うのが良いかもです。(20202/4/9追記)

## ~~Finderからの接続はデフォルトのRealVNCは利用しない~~

~~MacのFinderからVNC接続できますが、この場合はラズパイにデフォルトで入っているRealVNCだと接続が厳しそうでした。~~

> ![](https://i.gyazo.com/3dbb739535f2413374e593ccb525e818.png)
> デフォルトのRealVNCの画面です。 ~~今回はこれはオフにします。~~ [JELLYWAREさんのサイト](https://jellyware.jp/kurage/raspi/vnc.html)から画像キャプチャしてます。

デフォルトで入っているRealVNCを使おうとすると以下のエラー。

```
リモートコンピュータのソフトウェアが、このバージョンの画面共有と互換性がないようです。
```

![](https://i.gyazo.com/1db6f34a5a543612f73212c6567c5332.png)

**Finderから接続するにはパスワード設定が必要**になります。

~~らしいのとRealVNCの場合はクライアントのインストールが別途必要そうです。~~

## RealVNCを使う

こちらの@mt08さんの[コメント](https://qiita.com/karaage0703/items/9650e7aeceb6e1b81612#comment-467f53a421bea472cf81)を参考にオプションから以下を設定。

* SecurityのEncryptionを`Prefer off`に、Authenticationを`VNC password`に
* Users&PermissionのStandard userをダブルクリックしてパスワードを設定

でRealVNCの設定を出来ます。

MacのFinderからアクセスするときは`vnc://ラズパイのIP:5900`がデフォルトになる模様です。

## TightVNCを使う

(後で書いてますが、RealVNCがオススメなのでRealVNC使う人はここはスキップしましょう。)

MacのFinderから接続する場合はラズパイにTightVNCのサーバーアプリケーションをインストールします。

```bash
$ sudo apt update
$ sudo dpkg --configure -a
$ sudo apt upgrade
$ sudo apt install tightvncserver
```

これでインストールできました。

```bash
$ tightvncserver
```

これでサーバーを起動しますが、 **初回のみパスワードの設定を行います。**
この時に設定したパスワードを使ってMacのFinderから接続します。

```bash
You will require a password to access your desktops.

Password: 
Verify:   
Would you like to enter a view-only password (y/n)? n

New 'X' desktop is n0bisuke-raspi:1

Creating default startup script /home/pi/.vnc/xstartup
Starting applications specified in /home/pi/.vnc/xstartup
Log file is /home/pi/.vnc/n0bisuke-raspi:1.log
```

## MacのFinderから接続してみる

MacのFinderの"サーバへ接続"を選択。

> ![スクリーンショット 2020-04-08 2.44.21.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/6c5d9e8e-b3f0-ca1f-9e7a-f113d6679717.png "スクリーンショット 2020-04-08 2.44.21.png")

前述したRealVNCの設定の場合は`ラズパイのIP:5900`で

> ![](https://i.gyazo.com/4069cd714c06fa32bcbe2e81e7c6fbe1.png)

TightVNCの場合は`ラズパイのIP:5901`で接続します。

> ![スクリーンショット 2020-04-08 2.46.09.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/35387/fd8db71a-cf40-9588-524e-e359240564e2.png "スクリーンショット 2020-04-08 2.46.09.png")


`RealVNC`もしくは`tightvncserver`で設定したパスワードを入力します。

> ![](https://i.gyazo.com/1092b129536cffa1cef7fd88417b3502.png)

接続できました.

> ![](https://i.gyazo.com/b970b54c0cc0b1224a5b31292518ccca.jpg)

うまくいった...!

## RealVNCとTightVNCのどちらを使うか(2020/4/9追記)

どっちも使ってみましたが、RealVNCの方が快適でした。

<blockquote class="twitter-tweet"><p lang="ja" dir="ltr"><a href="https://twitter.com/hashtag/%E3%83%87%E3%82%A3%E3%82%B9%E3%82%AB%E3%83%90%E3%83%AA%E3%83%BC%E3%83%81%E3%83%A3%E3%83%B3%E3%83%8D%E3%83%AB?src=hash&amp;ref_src=twsrc%5Etfw">#ディスカバリーチャンネル</a> の電子サバイバルシリーズをラズパイのVNC設定しながら見てる。<br>このシリーズめちゃ面白いな <a href="https://t.co/RseUq3xkqt">pic.twitter.com/RseUq3xkqt</a></p>&mdash; 菅原のびすけ (@n0bisuke) <a href="https://twitter.com/n0bisuke/status/1247924809838637057?ref_src=twsrc%5Etfw">April 8, 2020</a></blockquote> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

デフォルトでラズパイに入ってるしRealVNCが良さそうです。

## よもやま

これ今まで何回か試してうまくいかなくて挫折してたけどやっとうまくいきました......

RealVNCとTightVNCの両方の記事をごっちゃに調べてたのが原因だったような気がしてます。