reComputer RK3576 で RustDesk による無人リモートアクセスを利用する
はじめに
RustDesk はオープンソースのリモートデスクトップソフトウェアです。無人の現場に設置された Edge AI / AIoT デバイスでも、reComputer RK3576 の画面確認、アプリケーション設定の変更、稼働状態の確認を遠隔から行えます。
このガイドでは RustDesk をインストールし、X11 のグラフィカルログイン環境を設定して、次の状況を確認します。
- デスクトップにログインしている間の表示と操作。
- 画面ロック後、現地での承認なしに固定パスワードで再接続。
- ログアウトまたは再起動後、GDM ログイン画面へ接続して遠隔ログイン。
検証環境: reComputer RK3576、Armbian(Debian 12 Bookworm)、GNOME 43 / GDM3、RustDesk 1.2.3(ARM64)。GDM ログイン画面は X11 を使用します。他のシステムバージョンでは手順が異なる場合があります。
#始める前に
#必要なハードウェア
- reComputer RK3576 1 台。
- 接続元となる Windows PC 1 台。
- 両端末と RustDesk に必要なサービスを利用できるネットワーク。
- 初期設定とテストには HDMI モニターとキーボードを推奨します。
#必要なソフトウェア
| デバイス | ソフトウェア / システム | 本ガイドで使用したバージョン |
|---|---|---|
| reComputer RK3576 | Armbian / Debian 12 Bookworm | Debian 12、ARM64 |
| reComputer RK3576 | GNOME + GDM3 + Xorg | GNOME 43 / GDM3 |
| reComputer RK3576 | RustDesk Linux ARM64 .deb | 1.2.3 |
| Windows PC | RustDesk Windows クライアント | 公式 Windows x86-64 インストーラー |
RustDesk 1.2.3 は実機で検証したバージョンです。別のリリースを使う場合は、ログイン前のアクセスを改めて確認してください。
公式資料:
#インストール手順
#ステップ 1:RK3576 で ARM64 パッケージをダウンロードする
SSH で RK3576 に接続し、OS とアーキテクチャを確認します。
cat /etc/os-release
dpkg --print-architecture検証した端末は arm64 です。Windows 用や x86-64 用ではなく、Linux AArch64/ARM64 用の .deb を選びます。公式 1.2.3 リリースから rustdesk-1.2.3-aarch64.deb を入手するか、次を実行します。
cd ~
wget https://github.com/rustdesk/rustdesk/releases/download/1.2.3/rustdesk-1.2.3-aarch64.debダウンロードしたファイルを確認します。
ls -lh rustdesk-1.2.3-aarch64.deb
dpkg-deb --info rustdesk-1.2.3-aarch64.deb#ステップ 2:RustDesk をインストールしてシステムサービスを起動する
パッケージのあるディレクトリで実行します。
sudo apt update
sudo apt install ./rustdesk-1.2.3-aarch64.debサービスを有効化して起動します。
sudo systemctl enable --now rustdesk
systemctl status rustdesk --no-pager正常な場合の状態表示:
Loaded: loaded (.../rustdesk.service; enabled; ...)
Active: active (running)インストール済みバージョンも確認できます。
dpkg -l | grep rustdeskサービスが動作しているだけでは、ロック画面やログイン画面を操作できるとは限りません。以下の X11 設定と接続テストも行ってください。
#ステップ 3:GDM ログイン画面を X11 に設定する
RustDesk の Linux ドキュメントによると、ログアウトや再起動後のログイン画面にアクセスするには X11 のログイン画面が必要です。検証した Debian 12 環境では、GDM3 の設定ファイルは /etc/gdm3/daemon.conf です。
まず Xorg セッションがあることを確認します。
ls /usr/share/xsessions/検証したイメージには gnome-xorg.desktop がありました。このディレクトリがない場合は、X11 のグラフィカルセッションが利用可能かを確認するまで次の変更を行わないでください。
GDM の設定をバックアップして編集します。
sudo cp /etc/gdm3/daemon.conf /etc/gdm3/daemon.conf.bak
sudo nano /etc/gdm3/daemon.conf[daemon] セクションで、次の行を:
#WaylandEnable=false以下に変更します。
WaylandEnable=false設定を確認します。
grep '^WaylandEnable' /etc/gdm3/daemon.conf期待される出力:
WaylandEnable=false端末を再起動します。
sudo rebootSSH で再接続し、セッション一覧を表示します。
loginctl list-sessionsDebian-gdm の Session ID を探し、<SESSION_ID> を実際の番号に置き換えて実行します。
loginctl show-session <SESSION_ID> -p Name -p Type -p Class -p State検証環境では次のように表示されました。
Name=Debian-gdm
Type=x11
Class=greeter
State=activeこれは GDM ログイン画面が X11 で動作していることを示します。Session ID は起動ごとに変わる場合があります。
デスクトップが起動しなくても SSH 接続が可能なら、
sudo cp /etc/gdm3/daemon.conf.bak /etc/gdm3/daemon.confで設定を戻して再起動できます。この手順は Xorg セッションが存在することを確認した Debian 12 環境に限ります。
#ステップ 4:RustDesk ID を取得し、固定パスワードを設定する
SSH から RK3576 のデバイス ID を取得します。
sudo rustdesk --get-id無人接続用に独立した強力な固定パスワードを設定します。デスクトップにログインできる場合は RustDesk の Settings → Security → Password → Use permanent password を使用します。SSH から設定する場合:
read -rsp 'New RustDesk password: ' RD_PASSWORD; echo
sudo rustdesk --password "$RD_PASSWORD"
unset RD_PASSWORD成功すると Done! と表示されます。この方法では平文のパスワードをシェル履歴に残しませんが、権限のあるローカルプロセスから実行中のコマンド引数を一時的に参照できる可能性があります。運用環境の認証情報管理ルールに従ってください。
実際のデバイス ID、固定パスワード、顧客アカウントを公開スクリーンショットに載せないでください。ID を隠し、強いパスワードを使用し、Linux のログインパスワードを再利用しないでください。
#ステップ 5:Windows クライアントをインストールして接続する
公式サイトまたはGitHub Releasesから Windows 版 RustDesk をダウンロードします。一般的な Intel/AMD 64 ビット PC では x86-64 (64-bit) → Windows → EXE を選びます。Windows ARM64 版は Windows on ARM の端末でのみ選択してください。
Windows クライアントで:
- 接続先 ID 欄に RK3576 の RustDesk ID を入力します。
- Connect を選びます。
- ステップ 4 の固定パスワードを入力します。
- 現地での承認なしに RK3576 のデスクトップを表示・操作できるか確認します。
#無人リモートアクセスを検証する
#1. ログイン中のデスクトップを操作する
RK3576 で GNOME にログインした状態にします。Windows 側から ID と固定パスワードで接続し、マウスとキーボードを操作できるか確認します。
#2. 画面ロック後に再接続する
RK3576 の画面をロックし、Windows 側の RustDesk 接続を切ります。同じ ID と固定パスワードで再接続し、現地承認なしでロック画面が表示され、Linux ユーザーのパスワードで解除できるか確認します。
#3. ログアウトまたは再起動後に GDM にアクセスする
GNOME メニューから Log Out を選ぶか、端末で次を実行します。
sudo rebootGDM ログイン画面に戻ったら、現地でログインしたり承認したりしないでください。Windows の RustDesk から ID と固定パスワードで接続し、GDM が表示され、Linux ユーザーのパスワードで遠隔ログインできるか確認します。
Log Out と Power Off は異なります。電源を切った端末では RustDesk は動作しません。このテストは OS、ネットワーク、RustDesk サービスが稼働している状態で行います。
検証した Debian 12 / X11 環境では、現地承認なしで GDM に接続し、遠隔ログインできました。
#よくある問題
1. SSH から rustdesk を実行すると Gtk-WARNING: cannot open display が表示される
SSH のテキストセッションにはグラフィカルディスプレイがありません。バックグラウンドサービスの障害とは限らないため、systemctl status rustdesk --no-pager で状態を確認し、ID 取得とパスワード設定にはコマンドラインオプションを使います。
2. GDM ログイン画面に接続できない
再起動後、Debian-gdm セッションの Type が x11 か確認します。Xwayland プロセスだけでは GDM が X11 で動作している証拠になりません。/etc/gdm3/daemon.conf の WaylandEnable=false を確認します。
3. RustDesk が端末をオフラインと表示する
RK3576 の電源とネットワークを確認します。SSH から rustdesk.service の状態とデバイス ID を調べます。再起動直後はネットワークとサービスの復帰を待ってください。
4. インストール時に Unsupported file ./rustdesk-...deb given on commandline と表示される
ls -lh と dpkg-deb --info で現在のディレクトリに完全なパッケージがあることを確認し、sudo apt install ./rustdesk-...deb を再実行します。
#まとめ
検証した Debian 12 / GDM X11 環境では、RustDesk により reComputer RK3576 のログイン中、画面ロック後、再起動後の GDM ログイン画面へ無人で接続できます。現場の Edge AI / AIoT デバイスを保守する際、モニターとキーボードを現地に用意する頻度を減らせます。
#参考資料
#技術サポートと製品に関する議論
Seeed Studio 製品をお選びいただきありがとうございます。関連ガイドとサポートは Seeed Studio Wiki をご覧ください。