初期設定のままではダメ!? Windows「リモートデスクトップ接続」でRaspberryPiへの接続

Raspberry Piリモートデスクトップ接続は、自宅のどこからでもRaspberry Piを操作できる便利な機能です。

自分は、Windowsに標準で入っている「リモートデスクトップ接続」(以降「リモートデスクトップ接続」とします)を使用しての接続を行っていましたので、一般的な使い方と少し異なる方法を使っていました。 「リモートデスクトップ接続」を使う場合、Raspberry Pi OS側にxrdpというパッケージをインストールし、VNCを起動しておけば接続ができるようになります。 以前はxrdpをインストールするだけで設定が完了していたのですが、bullseyeベースのRaspberry Pi OSになってからは、接続はできてもウインドウマネージャーが表示されず 仕方なくVNCをPCにインストールして対応していました。

こんな状況で1年以上悩んでいましたが、ようやくその解決策を見つけることができましたので、本エントリーでは、その方法をメモしておきます。

検証環境

検証環境としては、bullseyeベースのRaspberry Pi OS(64bi版)となります。2023年8月時点では通常のOSインストールを行うだけでこの環境になっていると思います。 OSの状況を以下に表示します。

【コマンドにて確認】

$ uname -a
Linux raspberrypi 6.1.21-v8+ #1642 SMP PREEMPT Mon Apr  3 17:24:16 BST 2023 aarch64 GNU/Linux

$ lsb_release -a
No LSB modules are available.
Distributor ID: Debian
Description:    Debian GNU/Linux 11 (bullseye)
Release:        11
Codename:       bullseye

$ cat /etc/os-release 
PRETTY_NAME="Debian GNU/Linux 11 (bullseye)"
NAME="Debian GNU/Linux"
VERSION_ID="11"
VERSION="11 (bullseye)"
VERSION_CODENAME=bullseye
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"

Debian GNU/Linux 11 (bullseye)と表示されているのがわかります。

xrdpのインストール

xrdpを使用するにはVNCが必要です。標準でVNCはインストールをされていると思うので、raspi-configを使用してVNCは有効にしておきます。 有効後、xrdpを以下のようにインストールします。

$ sudo apt update
$ sudo apt install -y xrdp

これでインストールを完了です。

【参考】

uepon.hatenadiary.com

不具合の状況

以前はこのままで「リモートデスクトップ接続」ができたのですが、このまま接続を行うと認証のダイアログが表示されますが、

ログインが成功すると何も表示されません。

この状態でもVNCでの接続は可能なので、使用上は問題はないのですが…できれば「リモートデスクトップ接続」したい。

解決策

長年原因が特定できていなかったのですが、フォーラムを見ていたところ以下を見つけることができました。

forums.raspberrypi.com

策としては

/etc/X11/xrdp/xorg.confの設定を変更することで解消ができるようです。

以下のようにエディタを起動して/etc/X11/xrdp/xorg.confを編集し

$ sudo vi /etc/X11/xrdp/xorg.conf

以下のOption "DRMDevice" "/dev/dri/renderD128"部分を修正します。

【編集前】

Section "Device"
    Identifier "Video Card (xrdpdev)"
    Driver "xrdpdev"
    Option "DRMDevice" "/dev/dri/renderD128"
    Option "DRI3" "1"
EndSection

【編集後】

Section "Device"
    Identifier "Video Card (xrdpdev)"
    Driver "xrdpdev"
    # Option "DRMDevice" "/dev/dri/renderD128"
    Option "DRMDevice" ""
    Option "DRI3" "1"
EndSection

これでOKです。念のためRaspberryPiの再起動後に「リモートデスクトップ接続」で接続すると初回の接続は遅いものの問題なく接続できました。

これで無事解決はしましたが少しパフォーマンスが悪いようです。これはX Window Systemsの画面描画のレンダラの設定を変更したことが原因だと思います。

おわりに

1年以上悩んでいた事象もようやく解決できました。大人しくVNCを使えばいいのではということもありますが、Windows側でアプリインストールができないことを解決する手段として、RaspberryPi側でのxrdpは結構いいのかなと思っています。使っている理由としてはRaspberryPi側の画面のキャプチャが簡単にできるので、そのメリットだけでもxrdpは使えるようにしたいのですよね。ということで、今回のメモはこれにて終了です。

/* -----codeの行番号----- */