さくらのクラウド Ubuntu Server 22.04 にリモートデスクトップ接続する手順

# 概要

さくらのクラウドの Ubuntu Server で、 Gnome デスクトップをリモートデスクトップ接続機能を使い接続するための手順です。パッケージのインストールと諸設定の変更が中心です。

# 手順

## 1. Ubuntu Server の作成

まず Ubuntu Server がセットアップされた仮想サーバを用意します。サーバ作成時、パブリックアーカイブで `Ubuntu Server 22.04` を探し、それを使ってセットアップを進めます。

注意点としては、メモリを `2GB` 以上にする必要があります。これはデスクトップ環境である Ubuntu GNOME の動作要件[^1]にメモリ 1.5GB とあるからです。また動作するアプリケーションやシステムによっては、さらにメモリが必要になる場合があります。

[^1]: https://ubuntugnome.org/ "1.5 GB RAM (system memory). "


サーバを作成後、サーバに SSH でログインします。さくらのクラウドでは `ubuntu` ユーザでログインします。
コマンドラインやターミナルで `ssh` コマンドを使い、接続します。

```bash
$ ssh ubuntu@<IPアドレス>
```

## 2. パッケージの更新作業

パッケージを更新する前に、[国内ミラーサイト](http://mirrors.ubuntu.com/mirrors.txt)を参照する設定に変えます。

```bash
$ sudo mv /etc/apt/sources.list{,.orig}
$ sudo bash -c 'cat << EOF > /etc/apt/sources.list
deb http://ftp.riken.jp/Linux/ubuntu/ jammy main restricted
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-updates main restricted
deb http://ftp.riken.jp/Linux/ubuntu/ jammy universe
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-updates universe
deb http://ftp.riken.jp/Linux/ubuntu/ jammy multiverse
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-updates multiverse
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-backports main restricted universe multiverse
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-security main restricted
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-security universe
deb http://ftp.riken.jp/Linux/ubuntu/ jammy-security multiverse
EOF'
```

それから、サーバ内で次のコマンドを実行し、システムを最新に更新します。

```bash
$ sudo apt update
$ sudo apt upgrade -y
```

`apt upgrade` でパッケージ更新中、画面が紫色に変わると対応が必要です。

### 「Newer Kernel available」 が出る場合

カーネルの更新が必要という警告です。終わったあとに再起動が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/be8395a2-7079-68cb-c796-4646dca657fb.png)
「OK」が選ばれている状態で「Enter」キーを押します。

### 「Daemons using outdated libraries」が出る場合

デーモンが使うライブラリが古いため、デーモンの再起動が必要です。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/801cf243-ec8d-da69-d5d7-585a2869e7d0.png)
通常は、「Tab」キーを押して、"OK"にカーソルを移動した後、「Enter」キーを押します。

最終的に、次のような表示が出て、プロンプトに戻ります。

```bash
(省略）
No containers need to be restarted.

No user sessions are running outdated binaries.

No VM guests are running outdated hypervisor (qemu) binaries on this host.
ubuntu@ubuntu:~$
```

## 4. Gnome 関連パッケージのセットアップ

次のコマンドを実行し、関連パッケージのセットアップを進めます。

```bash
$ sudo apt install ubuntu-desktop language-pack-ja language-pack-gnome-ja xrdp -y
```

## 5. 日本語の環境変数を指定

`/etc/default/locale` ファイルを変更し、システムを日本語に対応します。

```bash
$ sudo mv /etc/default/locale{,.orig}
$ sudo bash -c 'cat << EOF > /etc/default/locale
LANG=ja_JP.UTF-8
LANGUAGE="ja_JP.UTF-8"
#LC_ALL="en_US.UTF-8"
EOF'
```

さらに、次のコマンドを実行します。
```
$ sudo update-locale LANG=ja_JP.UTF-8 LANGUAGE="ja_JP:ja"
```

日本語のフォントパッケージをインストールします。

```
$ sudo apt install fonts-takao-mincho fonts-takao-gothic fonts-ipafont-mincho fonts-ipafont-gothic fonts-noto-cjk-extra -y
$ sudo fc-cache -fv
```

日本語を扱うモジュールをインストールします。

```
$ sudo apt install ibus ibus-mozc mozc-utils-gui -y
$ im-config -n ibus
```



## 6. 不要なパッケージ情報の削除

最後に、不要なパッケージやキャッシュ情報を削除します。

```bash
$ sudo apt autoremove -y
$ sudo apt clean
```

## 7. その他のセットアップ

### 7.1. システムプログラムの問題を報告しない設定

この設定を行わないと、ログイン後に毎回「システムプログラムの問題が見つかりました」と通知が出る場合があります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/0b281051-2396-2a7c-5360-e2a78853b93a.png)

これを出なくするためには、次のコマンドを実行します。

```bash
$ sudo systemctl stop apport
$ sudo systemctl mask apport
```

### 7.2. 画面情報（カラープロファイル）の通知を止める設定

この設定を行わないと、リモートデスクトップ接続の画面設定を変更する度に「カラープロファイルを作成するには認証が必要です。」と通知が出ます。

これを出なくするためには、次のコマンドを実行します。

```
$ sudo systemctl stop colord
$ sudo systemctl mask colord
```



## 8. 再起動

以上の手順を終えたら、最後に再起動します。

```bash
$ sudo reboot
```

## 9. リモートデスクトップ接続の準備

Windows 上で「リモートデスクトップ接続」を起動します。起動したら「コンピュータ」に対象サーバのIPアドレスを入力します。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/f5c94f34-ca35-f9d8-7ab9-ca86d26a616d.png)

続いて、画面サイズと効果の調整をします。

デフォルトでは全画面表示となり、また、画面効果も有効な場合はネットワーク帯域を使い、操作が重たく感じる場合があります。そのような場合は、以下の手順であらかじめ接続前に設定変更をします。

「オプションの表示(O)」をクリックします。

次に「画面」のタブをクリックし、「画面の設定」から画面のサイズを変更したり（1280x1024など）、「画面の色」をフルカラーから「High Color(15)ビット」などに変更します。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/74c93cb0-5022-a680-66c3-fd3dc01b83b4.png)

また「エクスペリエンス」タブでは「モデム(56 kbps）」を選びます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/108bcf1b-2587-fbd9-4a3e-ea79b6630104.png)

以上の入力と、変更を行った後、「接続(N)」をクリックします。


次のような警告では「はい(Y)」をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/81b29039-4368-6b2d-70ec-cca8b6b019e2.png)

## 10. 初期設定

正常にリモート接続できると、次のような画面が表示されます。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/af4f6c4e-09d3-24bc-3f5c-c6fb6e97775b.png)

ここでは、ログイン用のユーザ（初期状態では `ubuntu`）と、そのパスワードを入力し、「OK」をクリックします。

ログインに成功すると、次のような画面が表示されます。画面をクリックし、「セットアップ開始」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/d864ba2d-b9b1-abf2-a740-36ae5a619fb4.png)



次は、キーボードの配置を確認し、「次へ(N)」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/83d340de-b971-e154-5fb3-1a39af17e3eb.png)

次も、画面内容を確認し、「次へ(N)」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/fefb98d2-a9f3-9c8d-c5df-bb8e9a6d1715.png)

最後に「Ubuntu を使い始める(S)」をクリックします。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/361e5b7e-5905-1d98-efab-ca240ade43f3.png)

## 10. 日本語入力の設定

画面右上に「ja」と出ていますので、これをクリックして「Japanese(Mozc)」に切り替えます。


手順は以上です。


## 11. トラブルシューティング（うまく動作しない場合は）

### 11.1. 日本語変換ができない、言語設定に関するメニューが出ない

GUIにログイン後、画面右上に「あ」や「Ja」や「A」などの表示が出ない場合：

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/3bb3dc40-ba65-aa7b-c4eb-d6bd7792c2eb.png)

このような場合は、サーバに SSH でログインするか、ターミナル上で次のコマンドを実行します。

```bash
$ gsettings get org.gnome.desktop.input-sources sources
```
実行結果が
```
[('ibus', 'mozc-jp'), ('xkb', 'jp')]
```
このような結果でなければ、次のコマンドを実行します。

```bash
$ gsettings set org.gnome.desktop.input-sources sources "[('ibus', 'mozc-jp'), ('xkb', 'jp')]"
```
その後、GUI画面をログアウトし、再度ログインします。それから、「アクティビティ」から「端末」などのアプリケーションを実行すると画面上に「A」のマークがでます。クリックすると、次のように切り替えメニューが出ます。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/13002/26ee7238-a3b3-e97e-0195-6a872b8b3dcb.png)

「アルファベット」と「日本語」モードを切り替えるには、「半角/全角」キーボードをクリックします。