リモートデスクトップのススメ

# クライアント
## Windows10
- リモートデスクトップ接続
    - Windows標準のソフト

## Mac
- Microsoft Remote Desktop
    - Microsoftの提供するRDPクライアント
    - Retinaディスプレイの場合は`Display -> Optimize for Retina displays`にチェックを入れておく
    - Ubuntuのキーボード設定は[こちら](https://qiita.com/Disk_MJM/items/4b3721bc103a67206ee9)で解説しています

## Ubuntu
- Remmina
    - インストール方法

```
$ sudo apt-get update
$ sudo apt-get -y upgrade
$ sudo apt-get install -y remmina remmina-plugin-rdp
```

# ホスト
## Windows10(Pro, Enterprise, Education)
### リモートデスクトップの有効化
- 「設定」 -> 「システム」 -> 「リモートデスクトップ」でリモートデスクトップを有効にする
![スクリーンショット 2020-07-13 12.14.41.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312202/31f4f664-d134-1faf-5ac2-23f488e9e182.png)

### ポートの変更
1. レジストリエディタを検索して起動する
2. `HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\WinStations\RDP-Tcp`を開く
3. 右の項目から`PortNumber`を選択し、開く
4. 16進数になっているのでラジオボタンで10進数表示に切り替える
5. `3389`から好きなポート番号に書き換える(1024以下は予約済みポートなので10000以上のポートを目安にすると良い)

### ファイアーウォールの開放
1. `Win+R`で「ファイル名を指定して実行」を開き、`wf.msc`で「セキュリティが強化されたWindows Defender ファイアーウォール」を開く
2. 「受信の規則」に規則を追加する
3. 自分で設定したポート番号を入力(デフォルトは3389)
![スクリーンショット 2020-07-13 12.55.38.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312202/e43e3949-98df-ad0f-eb17-f79c644a3a86.png)
![スクリーンショット 2020-07-13 12.55.46.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312202/e05ffad0-2d72-eea5-b7b8-0a39b74b4c1c.png)
![スクリーンショット 2020-07-13 12.56.06.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/312202/9d9ba3b4-cb37-5a67-617a-e710c41adfd9.png)

4. あとはデフォルトのまま進め、完了をクリック

***すべての設定が完了したら再起動***

## Ubuntu
### xrdpの導入
```
$ sudo apt install xrdp
```
1. シェルスクリプトを作成する

```rdp.sh
#!/bin/sh

# Add script to setup the ubuntu session properly
if [ ! -e /etc/xrdp/startubuntu.sh ]; then
cat >> /etc/xrdp/startubuntu.sh << EOF
#!/bin/sh
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
exec /etc/xrdp/startwm.sh
EOF
chmod a+x /etc/xrdp/startubuntu.sh
fi

sed -i_orig -e 's/startwm/startubuntu/g' /etc/xrdp/sesman.ini

# rename the redirected drives to 'shared-drives'
sed -i -e 's/FuseMountName=thinclient_drives/FuseMountName=shared-drives/g' /etc/xrdp/sesman.ini

# Changed the allowed_users
sed -i_orig -e 's/allowed_users=console/allowed_users=anybody/g' /etc/X11/Xwrapper.config

# Configure the policy xrdp session
cat > /etc/polkit-1/localauthority/50-local.d/45-allow-colord.pkla <<EOF
[Allow Colord all Users]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device;org.freedesktop.color-manager.create-profile;org.freedesktop.color-manager.delete-device;org.freedesktop.color-manager.delete-profile;org.freedesktop.color-manager.modify-device;org.freedesktop.color-manager.modify-profile
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF

# https://askubuntu.com/questions/1193810/authentication-required-to-refresh-system-repositories-in-ubuntu-19-10
cat > /etc/polkit-1/localauthority/50-local.d/46-allow-update-repo.pkla<<EOF
[Allow Package Management all Users]
Identity=unix-user:*
Action=org.freedesktop.packagekit.system-sources-refresh
ResultAny=yes
ResultInactive=yes
ResultActive=yes
EOF
```
このシェルスクリプトは[こちら](https://gihyo.jp/admin/serial/01/ubuntu-recipe/0621)からの引用です。

### ポートの変更
```
$ cd /etc/xrdp
$ sudo vi xrdp.ini
```
1. [globals]セクション内のportの記述を変更する

```
port=3389  # 元の記述
↓
port=設定したいポート
```
2. xrdpの再起動

```
$ sudo systemctl restart xrdp.service
```

### ファイアーウォールの開放
今回は3389ポートを対象に説明する

```
$ sudo ufw allow 3389
$ sudo ufw reload
$ sudo ufw status
状態: アクティブ

To                         Action      From
--                         ------      ----               
3389                      ALLOW       Anywhere           
3389 (v6)                 ALLOW       Anywhere (v6) 
```
上記のようになっていればOK

***すべての設定が完了したら再起動***