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
これでインストールを完了です。
【参考】
不具合の状況
以前はこのままで「リモートデスクトップ接続」
ができたのですが、このまま接続を行うと認証のダイアログが表示されますが、
ログインが成功すると何も表示されません。
この状態でもVNCでの接続は可能なので、使用上は問題はないのですが…できれば「リモートデスクトップ接続」
したい。
解決策
長年原因が特定できていなかったのですが、フォーラムを見ていたところ以下を見つけることができました。
策としては
/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は使えるようにしたいのですよね。ということで、今回のメモはこれにて終了です。