由於 Linux 系統及服務的管理操作,通常應該是完全不需要依賴圖形化介面,所以在 Linux 伺服器上安裝桌面環境顯然不是常態。不過實際上自己手邊還是有部份的 Linux 伺服器,其實是有選擇安裝桌面環境的。因為倘若設備條件許可,那麼不用白不用,若有桌面環境可用還是會在某些情況下帶來一些額外的使用便利。
至於如何以遠端方式,登入到 Linux 伺服器的桌面環境中,這也顯然有非常多種不同的可實現方式。而其中 xrdp 是自己在截至目前為止的工作經歷裡,主要採用的解決方案。儘管它並非是最先進的方案,僅適用於 X11 而非 Wayland。不過至少在 RHEL/CentOS Stream 9 發行版上建置起來沒有什麼可見障礙,所以就繼續使用下去。
在 RHEL 9 及其衍生的發行版上,xrdp 以及建議搭配使用的 Xfce 輕量化桌面環境皆是由第三方的 EPEL 套件庫提供,所以 EPEL 套件來源要先設定起來。完成設定後,便執行下列 dnf 安裝指令:
- dnf group install Xfce
- dnf install xrdp xorgxrdp
接著放行防火牆規則:
- firewall-cmd --zone=public --add-port=3389/tcp --permanent
- firewall-cmd --reload
然後編輯 /etc/xrdp/sesman.ini,因為最基本的安全性實踐就是禁止以 root 登入。於是找尋到 [Security] 區段,將 AllowRootLogin=true 改為 AllowRootLogin=false 後儲存。
在臨時性需要遠端桌面登入時,xrdp 服務的啟動及關閉就是單純執行以下指令:
- systemctl start xrdp
- systemctl stop xrdp
不過每一個欲登入的 Linux 使用者帳號,其家目錄下要先建立一個 .Xclients 檔案,藉此指定登入至 Xfce 桌面環境:
- echo "xfce4-session" > ~/.Xclients
- chmod +x ~/.Xclients
完成前述設定後,在 Windows 客戶端上可以直接使用內建的遠端桌面連線;Linux 客戶端則可以安裝並使用例如 Remmina 這一類也支援 RDP 協定的遠端桌面工具來進行登入。