WindowsOSからLinuxOSへリモートデスクトップ接続する備忘録

# 前置き

業務や普段使いで、WindowsのPCを操作している際にLinuxのマシーンへリモートデスクトップ(リモートデスクトップ:以降リモデと呼称)したいことがあると思います。

今回はLinuxOSへリモデするやり方を備忘録としてまとめておきます。

:::note info
**使用端末情報**
ホストPC:Windows11
LinuxVM:Ubuntu 22.04
仮想構築ツール: VMware WorkStation
NW接続設定: NAT(デフォルト)
:::

# 準備

使用する端末にリモデアプリがあることを確認してください(基本デフォであるはず)
Linux環境を準備してください。(今回はホストPC上に立てたVMに対して実行します)
私はVMwareで構築してますが、VirtualBOXなどでもOKです。

参考としてUbuntuのisoファイルのDL先リンクを貼っておきます。
**\<Ubuntu isoファイル DLリンク>**


https://www.ubuntulinux.jp/News/ubuntu2204-ja-remix

私の別記事手にてVM環境導入手順の記事を書いてます。
初心者の方でもささっと構築できますので、よければ参考にどうぞ

**\<仮想環境構築記事>**

https://qiita.com/tacky0127/items/527bd9a2a2bbde6b6080

また、構築したVM環境にUbunutu導入して起動までの記事も書いています。
必要であれば参考として見ていただければと思います。

**\<Ubuntu環境構築記事>**

https://qiita.com/tacky0127/items/10220c04d00603c0ca38

# 設定1 Ubunutu側設定-xrdpインストール-

■ リモートデスクトップ用ソフトウェアのインストールをします。
Ubuntuには、xrdp というリモートデスクトッププロトコル（RDP）を利用できるソフトウェアをインストールします。

```
sudo apt update
sudo apt install -y xrdp
```

■ インストールができたか確認
インストール済みと表示されればOKです
```
$ sudo apt list xrdp

# 出力結果
一覧表示... 完了
xrdp/jammy,now 0.9.17-2ubuntu2 amd64 [インストール済み]
```

■ xrdp サービスの起動と有効化
serviceがrunningしていることを確認します。
また、serviceが自動起動するように設定しておきます。

:::note info
インストールを行うとxrdpは自動で起動し、systemctlにも登録されますので確認しておきます。
:::

```
$ systemctl list-units |grep xrdp

# 出力結果
  xrdp-sesman.service
           loaded active running   xrdp session manager
  xrdp.service
           loaded active running   xrdp daemon
```
```
# 自動起動用設定
sudo systemctl enable xrdp
```


:::note warn
**動作注意**
もしサービスおよびプロセスが起動していなかったら再起動して設定が反映されているか確認してください
xrdpが動いていないとリモデできません
または、手動で起動させてください。
```
# 再起動
sudo reboot

# 手動起動
systemctl start xrdp
```
:::

# 設定2 Ubunutu 共有タブからリモデ設定変更

■ Ubuntuの設定で共有をONにする
リモートデスクトップを使うにはUbuntu側での共有の設定が必要です。

下記手順で共有設定画面を開きます。

```
 Ubuntuデスクトップ→アクティビティ→設定→共有をクリック

「リモートデスクトップ」をクリックし、リモートデスクトップをオンにします。

 SSHを使う場合はリモートログインもオンにしておくとよいです。

 リモートデスクトップの認証パスワードは、デフォルトでランダムになってます。
 自分の好きなパスワードに変更しておきます。
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/4a9a4653-2043-183c-1dfc-1921005612d0.png)

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/56867b05-ba6c-8c24-014c-684899fe7247.png)

:::note warn
**注意**
xrdpがインストールされていないと、リモートデスクトップの設定がアクティブになりません。
特に問題がなければxrdpとsshともにUbunutu上で使えるようにインストールしておくのが安パイです！
:::

# 設定3 xrdpの設定
ターミナルを開いて下記コマンドを実行してください。
```
# 実行1
sudo apt install xserver-xorg-core xorgxrdp xrdp
```

```
# 実行2
cat <<EOF > ~/.xsessionrc
export GNOME_SHELL_SESSION_MODE=ubuntu
export XDG_CURRENT_DESKTOP=ubuntu:GNOME
export XDG_DATA_DIRS=/usr/share/ubuntu:/usr/local/share:/usr/share:/var/lib/snapd/desktop
export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg
EOF
```
```
# 実行3
sudo sed -e 's/^new_cursors=true/new_cursors=false/g' -i /etc/xrdp/xrdp.ini
```
```
# 実行4
cat <<EOF | \
sudo tee /etc/polkit-1/localauthority/50-local.d/xrdp-color-manager.pkla
[Netowrkmanager]
Identity=unix-user:*
Action=org.freedesktop.color-manager.create-device
ResultAny=no
ResultInactive=no
ResultActive=yes
EOF
```

```
# 実行5
sudo systemctl restart xrdp
```

```
# 実行6
sudo systemctl restart polkit
```
これでxrdpの設定は終了です。

# 設定4 IPアドレス確認
windows端末から接続する際に宛先IPを知る必要があります。
下記コマンドで確認してください。

```
ip -4 a

または

ip -br addr

# 出力結果(例: ip -br addr)
lo               UNKNOWN        127.0.0.1/8 ::1/128 
ens33            UP             192.168.153.128/24 fe80::e169:61f3:297c:849e/64 
br-96b5f85c100d  DOWN           172.22.0.1/16 
docker0          DOWN           172.17.0.1/16 
```
ens33のUPされているIPに対してリモデします。

# 設定5 リモートデスクトップから接続
いよいよ接続します。
WindowsPCから接続します。検索バーにRDPと検索し、リモデを起動します。

:::note warn
**事前注意**
■接続先のVMに対してログアウトをしておいてください。
ログインしてる状態にリモデを接続しようとするとエラーが発生し接続できません！

■接続先と疎通が取れることを確認しておいてください。
疎通が取れないと当然接続はエラーで終わります。

例: ping実行で疎通確認する
:::

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/331f8159-c7b7-ec2a-e713-bed1b6eb78df.png)

コンピュータ欄に先程確認した接続先VMのIPを入力してください。
各タブでリモデ画面サイズや、プリンターや各種設定ができます。
入力したら **「接続」** をクリックします。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/b63d832f-1270-89c4-f672-89f33f2bab42.png)

確認のダイアログが表示されたら **「はい」** クリックでOKです。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/a0a862cd-03f8-288c-dc61-c6dba5b509da.png)

xrdpの接続用画面が表示されます。
下記を入力してOKボタンをクリックしてください。

```
# 設定2で確認した認証ユーザ名とパスワードです

username : 認証設定に指定したユーザ名を入力

password : 認証設定に指定したパスワード入力
```

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/1e00fd2d-1e5f-4190-cd49-8d9e2533d388.png)


リモデ窓が表示されて遠隔操作が可能となります。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/72a61dae-9071-2315-f2bc-18e1402dfd62.png)


以上で設定および起動作業は終了です。
お疲れ様でした！

# トラブルシューティング
下記では設定中に遭遇した失敗例です。

■設定5の冒頭で記載した事前注意事項がこれです。
VMへログインしている状態でリモデ接続をしようとしたら画面が下記画面となり発生しました。

**解決方法**
ログアウトしてから実行することで正常動作しました。
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/d7a6ed46-9fc3-a8fe-d863-f94aa059cae0.png)

■リモートデスクトップを切断した後に、VMを直接使用しようとしたら下記のように
ブラックアウトして、操作ができませんでした。

**解決方法**
VM再起動で改善しました。
おそらく、リモデのセッションが残ってしまっているために発生していたと思慮しています。

![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/596363/707e266b-9837-21be-086a-19b036a8dbc8.png)