【Jetson 教學】NVIDIA Jetson Orin 遠端桌面設定指南:xrdp + XFCE4 避開 0x904 閃退教學
在開發 NVIDIA Jetson Orin 系列(Nano / NX)時,許多開發者習慣使用遠端桌面(RDP)來檢視 GUI 介面或影像畫面。然而,使用 Ubuntu 預設的 GNOME 桌面搭配 xrdp 時,經常會遇到 0x904 錯誤、登入後黑屏 或 畫面閃退 的狀況
本篇文章將帶大家透過 xrdp 結合輕量化的 XFCE4 桌面環境,建立一個非常穩定且順暢的遠端桌面連線環境!
📌 預備條件與環境說明
- 目標設備:NVIDIA Jetson Orin Nano / NX(JetPack / Ubuntu 20.04 或 22.04 LTS)
- 測試帳號:
<your_username>(請替換為您的系統帳號) - 預設 IP:
<your_jetson_ip>(例如 192.168.x.x) - 連線工具:VS Code Remote-SSH 或任何 SSH 終端機
🛠️ 步驟一:安裝 xrdp 服務與 XFCE4 桌面
請開啟 SSH 終端機連線至 Jetson,依序執行以下指令安裝必要套件:
Bash
# 1. 更新套件清單並安裝 xrdp 與 XFCE4
sudo apt-get update
sudo apt-get install -y xrdp xfce4 xfce4-goodies
# 2. 將使用者加入 ssl-cert 群組,解決權限問題(請將 <your_username> 改為您的帳號)
sudo adduser $USER ssl-cert
# 3. 設定服務開機自動啟動
sudo systemctl enable --now xrdp
🛠️ 步驟二:優化色彩與指定桌面環境
這是避開 0x904 閃退 的關鍵步驟!我們需要將 xrdp 的色彩深度降為 24 位元,並指定預設載入輕量的 XFCE4 桌面 。
Bash
# 1. 設定預設載入 XFCE4 桌面
echo "startxfce4" > ~/.xsession
# 2. 清除殘留的桌面權限鎖定檔
rm -rf ~/.Xauthority ~/.ICEauthority
# 3. 將 xrdp 最大色彩深度調整為 24 位元 (避免 0x904 閃退)
sudo sed -i 's/max_bpp=32/max_bpp=24/g' /etc/xrdp/xrdp.ini
# 4. 重啟 xrdp 服務套用設定
sudo systemctl restart xrdp
🛠️ 步驟三:重置桌面服務(釋放本機鎖定)
如果你的 Jetson 原本開啟了「本機自動登入」,gdm3 會佔用桌面 Session 導致遠端連線失敗。請執行以下指令重置:
Bash
sudo systemctl restart gdm3
💡 小建議:如果希望未來開機後遠端連線更穩定,可以編輯/etc/gdm3/custom.conf,將AutomaticLoginEnable=true那一行最前面加上#註解掉,停用本機自動登入。
🚀 步驟四:從 Windows 發起遠端桌面連線
- 在 Windows 按下
Win + R鍵,輸入mstsc開啟「遠端桌面連線」。 - 輸入 Jetson 的 IP 位址:
<your_jetson_ip>。 - 點擊 「顯示選項」 $\rightarrow$ 切換至 「顯示」 頁籤,將色彩深度調整為 「全彩 (24 位元)」。
- 點擊 「連線」,在 xrdp 登入畫面選擇
Xorg,輸入您的帳號與密碼即可順利登入!
❓ 常見問題與排除 (Troubleshooting)
Q1:連線時出現錯誤碼 0x904 或登入後瞬間中斷?
- 原因:通常是因為實體螢幕/本機已登入同一個帳號
,或是 RDP 32 位元色彩與 GNOME 發生衝突。 - 解法:
- 在 SSH 終端機執行
sudo systemctl restart gdm3強制清理 Session。 - 確認已將
max_bpp=24寫入/etc/xrdp/xrdp.ini。 - 確認 Windows 遠端桌面用戶端將色彩設為 24 位元。
Q2:開啟遠端桌面的同時,還能使用 VS Code Remote-SSH 嗎?
- 答案:完全沒問題!SSH(Port 22)與 xrdp(Port 3389)屬於獨立的傳輸通道,可以同時並存
。建議平時以 VS Code 撰寫程式碼與執行命令,遠端桌面僅在需要觀看 GUI 視窗時開啟使用 。

留言