###### tags: `raspberrypi` `ubuntu` `vnc` `GNOME`
# Raspberry Pi 4 (Ubuntu Server 20.04) で GUI (GNOME) をインストールして、PC から VNC で接続する
## やりたいこと
Ubuntu Server 20.04 に ubuntu-desktop をインストールして、PC から VNC Viewer で接続してリモート作業できるようにする。
lxde で VNC 接続はできていたが、ROS で使う rviz が起動できなかったため、Ubuntu 標準の GNOME で VNC 接続できるようにしたい。
## Raspberry Pi 4 スペック
| 項目 | 仕様 |
| -------- | -------- |
| メモリ | 8 GB |
| OS | Ubuntu 20.04 |
Raspberry Pi 用の Ubuntu 20.04 イメージは Ubuntu Server の提供になっていて、Ubuntu Desktop は提供されていないようでした。
https://ubuntu.com/download/raspberry-pi
## 参考にさせていただいた記事
つちのこメタル
Raspberry Pi4にインストールしたUbuntuにVNCで画面共有する
https://blog.tsuchinokometal.com/2020/ubuntu_server_vnc/
## GUI のインストール
ubuntu-desktop をインストールする。
```
$ sudo apt update
$ sudo apt upgrade
$ sudo apt install ubuntu-desktop
$ sudo reboot
```
## NetworkManager の設定
ここまでは ssh を使ってできますが、この後いったんネットワーク接続ができなくなるので、Raspberry Pi にディスプレイ・マウス・キーボードを接続して、ローカルで操作できるようにしておきます。
`/etc/netplan/99_config.yaml` ファイルを作成する。
```yaml
network:
version: 2
renderer: NetworkManager
ethernets:
eth0:
dhcp4: true
```
設定を反映させる。
```
$ sudo netplay apply
```
ここで、ネットワークがつながらなくなりました。
仕方ないのでこの先は Raspberry Pi をローカルで操作していきます。
いったん再起動します。
```
$ sudo reboot
```
GUI メニューの「Settings」→「Network」でネットワーク接続できていることを確認します。
このタイミングで IP アドレスが変わったので、PC 側の `~/.ssh/config` も設定を変更しておきます。
## 画面共有設定
再起動後に、GUI メニューの「Settings」→「Sharing」→「Screen Sharing」を選択します。
「Access Options」→「Require a password」を選択し、「Networks」にネットワークが正しく設定されていることを確認後、左上をクリックし設定を有効にします。
「Screen Sharing」が「Off」から「Active」に変わっていることを確認します。
## 暗号化を不要にする設定
以下のコマンドを実行します。
```
$ gsettings set org.gnome.Vino require-encryption false
```
## VNC 接続
VNC Viewer などを使用して、 `(IPアドレス):5900` に接続します。
Ubunutu のデスクトップ画面が表示されました。
