Linux 伺服器沒有螢幕,大多數時候也不需要。但有時候需要:必須從伺服器本身位址執行的瀏覽器、只有圖形介面的工具,或是一個可以一直開著、從任何電腦回來繼續使用的桌面。本指南替 Ubuntu 24.04 裝上輕量桌面 XFCE 與 xrdp,讓你用連線 Windows 伺服器時同一個遠端桌面應用程式開啟它。
我們在自己的 Ubuntu 24.04 映像上測試了每一步。有兩個預設設定讓第一次嘗試失敗,以下把兩個都修好。你需要一個具 sudo 權限的一般使用者,Ubuntu 設定指南會建立一個。範例中它叫 deploy。
1. 安裝 XFCE 與 xrdp
sudo apt update
sudo apt install -y xfce4 xfce4-goodies xrdp
在我們 2 GB 的伺服器上,這一步花了大約四分半鐘,用掉 1.7 GB 磁碟(安裝前已用 2.7 GB,安裝後 4.4 GB)。它會裝上 xrdp 0.9.24,並立即啟動,監聽 3389 連接埠。
2. 讓 xrdp 啟動 XFCE,而不是 GNOME
以要使用桌面的那位使用者登入,然後執行:
echo xfce4-session > ~/.xsession
沒有這個檔案時,我們第一次登入啟動的是 GNOME 而不是 XFCE,工作階段立刻以 "Oh no! Something has gone wrong" 結束。第 1 步的套件會順帶裝上 GNOME 的工作階段管理員,而 Ubuntu 會把它設為預設。有了 ~/.xsession,xrdp 就會啟動 XFCE。
3. 讓 xrdp 使用 TLS
xrdp 以自己的 xrdp 使用者執行,這個使用者讀不到伺服器的私密金鑰。我們的第一次連線成功了,但 /var/log/xrdp.log 顯示了為什麼不該信任它:
Cannot read private key file /etc/xrdp/key.pem: Permission denied
Non-TLS connection established from ::ffff:127.0.0.1
沒有私密金鑰,xrdp 就會退回舊的 RDP 加密,而不是 TLS。給它讀取權限並重新啟動:
sudo adduser xrdp ssl-cert
sudo systemctl restart xrdp
下一次連線在我們的日誌中顯示為 TLS connection established ... TLSv1.3。你也可以用同樣的方法檢查自己的伺服器:
sudo grep -E "TLS connection|Non-TLS" /var/log/xrdp.log | tail -2
4. 別讓 3389 連接埠暴露在網際網路上
安裝後,xrdp 會在所有位址上監聽。和 Windows 不同,xrdp 沒有 Network Level Authentication,所以任何能連到這個連接埠的人都會看到登入畫面,可以在上面猜密碼。讓它只在伺服器本機上監聽:
sudo sed -i 's|^port=3389$|port=tcp://127.0.0.1:3389|' /etc/xrdp/xrdp.ini
sudo systemctl restart xrdp
ss -ltn | grep 3389
最後一行應該顯示 127.0.0.1:3389。在我們的測試中,之後直接連到伺服器位址的 3389 會被拒絕,而下一步的通道照常可用。
5. 透過 SSH 連線
在你自己的電腦上開啟通道。Windows 的 PowerShell 裡也有同樣的 ssh 指令:
ssh -L 13389:localhost:3389 deploy@YOUR.SERVER.IP
NAT 方案要加上 -p 和控制台中的專屬 SSH 連接埠。保持這個視窗開著。接著把遠端桌面應用程式指向 localhost:13389,用 deploy 和該使用者的密碼登入:
- Windows: 遠端桌面連線(
mstsc)。 - macOS: App Store 中的 Windows App。
- Linux: Remmina,或
xfreerdp /v:localhost:13389 /u:deploy。
本機連接埠用 13389 而不是 3389,是因為你電腦上的 3389 可能已經被它自己的遠端桌面占用。第一次連線時,應用程式會警告一個它不認得的憑證。那是伺服器的自我簽署憑證,而且連線本來就在 SSH 中加密。
6. 你會得到什麼
你會得到一個有面板、檔案管理員和終端機的 XFCE 桌面。在我們的伺服器上,一個工作階段大約增加了 360 MB 記憶體:連線前已用 388 MB,工作階段期間 747 MB。
關閉遠端桌面視窗並不會登出。在我們的測試中,中斷連線後一個長時間執行的指令仍在繼續。再次連線時,xrdp 把我們帶回同一個工作階段(日誌中是 reconnected session ... display :10)。要真正結束工作階段,請在 XFCE 選單中按 Log Out。
選哪個方案
桌面比較吃記憶體而不是 CPU。Micro(2 vCPU、2 GB、25 GB,$5/月)執行 XFCE 與輕量工具很輕鬆。如果打算在工作階段中一直開著瀏覽器,請選 Small,4 vCPU、4 GB,$8/月。兩者都是 NAT 方案,在這裡沒有影響:遠端桌面走的是你的 SSH 連接埠。
如果你真正需要的是 Windows 軟體,Windows VPS 可以直接執行,Windows-Small 起價 $11/月。Ubuntu 24.04 位於 Ubuntu VPS 頁面,所有 VPS Linux 方案都可選。付款方式為 Base、Ethereum 或 Polygon 網路上的 USDT、USDC 或 ETH。
評論
目前還沒有評論。歡迎成為第一位。