コンテンツまでスキップ
日本語
  • 検索フィールドが空なので、候補はありません。

Allxon Hub – リモートデスクトップの使い方

 はじめに 

本ガイドでは、Allxon Hub 機能を活用し、エッジデバイス上でリモートデスクトップ(Remote Desktop)を有効化して使用する手順について順を追って説明します。

 システム要件 

開始する前に、お使いのデバイスが以下の最小要件を満たしていることを確認してください。

  • オペレーティングシステム (Operating System): Ubuntu 22.04 (JetPack 6.0) 以降
  • モニター (Monitor): デバイスに物理ディスプレイが接続されている必要があります。

 デバイスでのリモートデスクトップの有効化 

Ubuntu 22.04 以降、リモートデスクトッププロトコル(RDP)のサポートが標準組み込みされています。Ubuntu のシステム設定から直接有効にすることができます。

  • Ubuntu 22.04 でリモートデスクトップを有効にする方法 (Enable Remote Desktop on Ubuntu 22.04)
  • Ubuntu 24.04 でリモートデスクトップを有効にする方法 (Enable Remote Desktop on Ubuntu 24.04)

 Allxon Portal 経由での接続 

デバイス側でリモートデスクトップが有効になると、Allxon Hub 機能を使用して Allxon Portal から直接起動できるようになります。これにより、いつでもどこからでも、エッジデバイスのデスクトップ環境に安全にアクセスしてコントロールすることが可能です。

 💡 自動ログイン(Auto-login)環境におけるリモートデスクトップについての注意点 💡

自動ログインが有効になっている場合、デフォルトではデバイスが再起動するたびにリモートデスクトップのパスワードがランダムに自動生成されます。これは、デスクトップへの自動ログイン時、暗号化された「キーリング(keyring)」内に保存されている固定のリモートデスクトップパスワードにアクセスするための必要な認証権限が、そのセッションに付与されていないためです。 

⚠️ 必要な操作 (Action Required): デバイスが再起動するたびに、必ず [Send Command](コマンド送信)機能を使用してキーリングを解鎖(アンロック)してください。

Allxon では、Allxon Send Command 機能を介して遠隔からキーリングを解鎖し、リモートデスクトップを有効化できるスクリプトを以下に提供しています。

LOGIN_USER="" # your edge device login user name
KEYRING_PASSWORD="" # your keyring password

set -Eeuo pipefail

log() { printf '%s %s\n' "$(date -Is)" "$*" >&2; }
die() { log "ERROR: $*"; exit 1; }

[ -n "$LOGIN_USER" ] || die "LOGIN_USER not provided. Use --user or set LOGIN_USER."

for cmd in sudo id getent openssl gnome-keyring-daemon systemctl grdctl; do
command -v "$cmd" >/dev/null 2>&1 || die "Required command missing: $cmd"
done

USER_UID="$(id -u "$LOGIN_USER" 2>/dev/null || true)"
[ -n "$USER_UID" ] || die "User not found: $LOGIN_USER"

USER_HOME="$(getent passwd "$LOGIN_USER" | cut -d: -f6)"
[ -n "$USER_HOME" ] && [ -d "$USER_HOME" ] || die "Home directory not found for user: $LOGIN_USER"

TLS_DIR="$USER_HOME/.local/share/gnome-remote-desktop"
TLS_CERT="$TLS_DIR/rdp-tls.crt"
TLS_KEY="$TLS_DIR/rdp-tls.key"

XDG_RUNTIME_DIR="/run/user/$USER_UID"
if [ ! -d "$XDG_RUNTIME_DIR" ]; then
log "WARN: $XDG_RUNTIME_DIR does not exist. User systemd session may not be active."
fi

[ -n "$KEYRING_PASSWORD" ] || die "Password is empty."

sudo -H -u "$LOGIN_USER" mkdir -p "$TLS_DIR"
if [ ! -f "$TLS_CERT" ] || [ ! -f "$TLS_KEY" ]; then
log "Generating RDP TLS certificate and key at '$TLS_CERT' / '$TLS_KEY'"
HOST_CN="$(hostname)"
sudo -H -u "$LOGIN_USER" openssl req -x509 -newkey rsa:4096 -sha256 -days 825 \
-nodes -keyout "$TLS_KEY" -out "$TLS_CERT" \
-subj "/CN=$HOST_CN"
fi

log "Unlocking GNOME Keyring for user '$LOGIN_USER'"
printf '%s' "$KEYRING_PASSWORD" | sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" gnome-keyring-daemon --daemonize --replace --unlock

log "Enabling RDP via grdctl for user '$LOGIN_USER'"
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" grdctl status
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" grdctl rdp enable
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" grdctl rdp set-credentials "$LOGIN_USER" "$KEYRING_PASSWORD"
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" grdctl rdp disable-view-only
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" grdctl rdp set-tls-cert "$TLS_CERT"
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" grdctl rdp set-tls-key "$TLS_KEY"

log "Restarting gnome-remote-desktop for user '$LOGIN_USER'"
sudo -H -u "$LOGIN_USER" env XDG_RUNTIME_DIR="$XDG_RUNTIME_DIR" systemctl --user restart gnome-remote-desktop

unset -v KEYRING_PASSWORD || true

log "Done"

 カスタマイズサービスのご案内 (Customized Service Options)

Allxonでは、お客様のユースケースやリモートデスクトップ接続の要件に合わせた、最適なカスタマイズサービスも提供しております。

トラブルシューティング (Troubleshooting)

ユーザー名とパスワードを入力した直後、リモートデスクトップクライアントが予期せず突然終了してしまう場合: デバイスにモニターが正しく接続されているか、また、そのモニターにデスクトップ画面が正常に表示されているかを再度ご確認ください。