前言
在現代的 IT 環境中,遠端桌面存取已成為不可或缺的功能。無論是遠端辦公、伺服器管理,還是技術支援,都需要穩定且安全的遠端連線方案。RDP(Remote Desktop Protocol)是由 Microsoft 開發的專有協定,主要用於 Windows 系統之間的遠端桌面連線。
然而,在 Linux 環境中,我們可以透過 xrdp 這個開源專案來實現 RDP 伺服器功能。xrdp 允許 Windows 使用者使用內建的「遠端桌面連線」工具直接連線至 Linux 主機,無需額外安裝客戶端軟體,大幅降低使用門檻。
為什麼選擇 xrdp?
- 跨平台相容性:Windows 使用者可直接使用內建 RDP 客戶端連線
- 無需額外軟體:不需要在客戶端安裝 VNC Viewer 等第三方工具
- 支援剪貼簿共享:可在本機與遠端之間複製貼上文字
- 支援磁碟機重新導向:可存取本機磁碟機
- 加密傳輸:支援 TLS 加密保護連線安全
系統需求
在開始安裝之前,請確認您的系統符合以下需求:
- Ubuntu 22.04 LTS(Desktop 或 Server 版本)
- 至少 2GB RAM(建議 4GB 以上以獲得流暢體驗)
- 至少 20GB 可用磁碟空間
- 網路連線正常
- 具有 sudo 權限的使用者帳號
安裝步驟
步驟一:更新系統套件
首先,確保系統套件為最新版本:
| |
步驟二:安裝桌面環境
xrdp 需要搭配桌面環境才能正常運作。Ubuntu 提供多種桌面環境選擇,以下介紹幾種常見選項:
選項 A:XFCE(推薦,輕量快速)
XFCE 是一個輕量級的桌面環境,佔用資源少,非常適合遠端桌面使用:
| |
如果您希望安裝完整的 Xubuntu 桌面環境:
| |
選項 B:GNOME(Ubuntu 預設桌面)
如果您偏好 Ubuntu 預設的 GNOME 桌面環境:
| |
注意:GNOME 桌面較為華麗但佔用較多資源,在遠端連線時可能會感覺較慢。
選項 C:MATE(輕量且傳統風格)
MATE 是 GNOME 2 的延續,適合喜歡傳統桌面風格的使用者:
| |
選項 D:KDE Plasma(功能豐富)
KDE Plasma 提供豐富的自訂選項:
| |
步驟三:安裝 xrdp
安裝 xrdp 套件:
| |
步驟四:設定 xrdp 使用者權限
將 xrdp 使用者加入 ssl-cert 群組,以便存取 SSL 憑證:
| |
步驟五:設定桌面環境
建立或編輯 ~/.xsession 檔案,指定要使用的桌面環境。
如果您安裝的是 XFCE:
| |
如果您安裝的是 GNOME:
| |
步驟六:設定防火牆
開放 RDP 預設連接埠 3389:
| |
確認防火牆規則:
| |
步驟七:啟動 xrdp 服務
啟動並設定 xrdp 開機自動啟動:
| |
確認服務狀態:
| |
您應該會看到類似以下的輸出,顯示服務正在執行:
| |
xrdp.ini 重要設定參數
xrdp 的主要設定檔位於 /etc/xrdp/xrdp.ini,以下說明一些重要的設定參數:
編輯設定檔
| |
[Globals] 區段重要參數
| 參數 | 說明 | 建議值 |
|---|---|---|
port | RDP 監聽連接埠 | 3389(預設) |
crypt_level | 加密等級 | high 或 fips(安全環境) |
channel_code | 啟用虛擬通道 | 1(啟用) |
max_bpp | 最大色彩深度 | 32(全彩) |
fork | 是否 fork 子程序處理連線 | true |
tcp_nodelay | 停用 Nagle 演算法 | true(降低延遲) |
tcp_keepalive | TCP Keep-Alive | true |
範例設定
| |
修改後重啟服務
| |
SSL/TLS 加密設定
為了確保遠端連線的安全性,建議啟用 TLS 加密。
使用自簽憑證(預設)
xrdp 安裝時會自動產生自簽憑證,位於 /etc/xrdp/ 目錄:
key.pem:私鑰cert.pem:憑證
使用自訂憑證
如果您有正式的 SSL 憑證,可以替換預設憑證:
| |
強制使用 TLS
編輯 /etc/xrdp/xrdp.ini,在 [Globals] 區段加入:
| |
重啟服務使設定生效:
| |
效能優化建議
1. 客戶端設定優化
在 Windows 遠端桌面連線程式中,調整以下設定可提升效能:
- 開啟「遠端桌面連線」
- 點選「顯示選項」
- 切換到「體驗」頁籤
- 選擇「LAN(10 Mbps 或更高速)」

2. 減少色彩深度
如果網路頻寬有限,可以降低色彩深度:
編輯 /etc/xrdp/xrdp.ini:
| |
3. 使用輕量級桌面環境
如前所述,XFCE 相較於 GNOME 更適合遠端桌面使用,能提供更流暢的體驗。
4. 停用桌面特效
在 XFCE 中停用合成器:
- 開啟「設定」→「視窗管理員調校」
- 切換到「合成器」頁籤
- 取消勾選「啟用顯示合成」
5. 調整 xrdp-sesman 設定
編輯 /etc/xrdp/sesman.ini:
| |
6. 系統層級優化
| |
常見問題排除
問題一:黑畫面或無法顯示桌面
症狀:連線成功但只顯示黑畫面
解決方案:
- 確認已正確設定
.xsession:
| |
- 檢查是否有其他登入工作階段:
| |
- 編輯
/etc/xrdp/startwm.sh,在檔案開頭加入:
| |
問題二:無法連線,連線被拒絕
症狀:顯示「無法連線至遠端電腦」
解決方案:
- 確認 xrdp 服務正在執行:
| |
- 確認防火牆已開放 3389 連接埠:
| |
- 確認 xrdp 正在監聽:
| |
問題三:鍵盤配置錯誤
症狀:某些按鍵輸入錯誤的字元
解決方案:
重新產生鍵盤對應檔:
| |
問題四:剪貼簿無法使用
症狀:無法在本機與遠端之間複製貼上
解決方案:
確認
channel_code=1已設定在/etc/xrdp/xrdp.ini確認
xrdp-chansrv正在執行:
| |
- 重新啟動 xrdp 服務:
| |
問題五:連線速度緩慢
症狀:遠端桌面反應遲緩
解決方案:
- 降低色彩深度(如前述)
- 使用 XFCE 桌面環境
- 停用桌面特效
- 在客戶端選擇較低的連線品質設定
問題六:登入時顯示「Authentication failed」
症狀:輸入正確密碼仍無法登入
解決方案:
- 確認使用者帳號存在且密碼正確:
| |
- 檢查
/var/log/xrdp-sesman.log取得詳細錯誤資訊:
| |
安全性建議
1. 變更預設連接埠
編輯 /etc/xrdp/xrdp.ini,將連接埠改為非標準值:
| |
別忘了更新防火牆規則:
| |
2. 限制來源 IP
使用防火牆限制可連線的 IP 位址:
| |
3. 使用 SSH 通道
透過 SSH 建立加密通道,再連接 RDP:
| |
然後使用 RDP 連線至 localhost:3389。
4. 啟用 Fail2ban
安裝並設定 Fail2ban 防止暴力破解:
| |
建立 xrdp 的 jail 設定:
| |
加入以下內容:
| |
總結
透過本文的步驟,您已經成功在 Ubuntu 22.04 上建置了一個功能完整的 RDP 伺服器。xrdp 提供了一個便利的方式讓 Windows 使用者能夠輕鬆連線至 Linux 主機,無需額外安裝客戶端軟體。
請記得定期更新系統與 xrdp 套件,以確保安全性。如果在生產環境中使用,強烈建議實施本文提到的安全性建議,包括變更預設連接埠、限制來源 IP、以及啟用 Fail2ban 等措施。
如有任何問題,歡迎查閱 xrdp 官方文件 或在社群中尋求協助。