Ubuntu 遠端桌面連線完整指南:新手也能輕鬆學會的設定、RDP/VNC 比較與疑難排解

目次

1. 前言:為何要在 Ubuntu 上使用遠端桌面?

遠端操作 Ubuntu 的情境越來越多

過去,Ubuntu 和其他 Linux 系統主要被認為是開發者或伺服器管理員使用的作業系統,通常以本機操作為主。然而近年來,隨著在家工作的普及以及許多人將 Ubuntu 作為學習用電腦,「想要遠端操作 Ubuntu」的需求也越來越高。

例如,您可以從外面連回家中的 Ubuntu 伺服器進行操作,或者在舊筆電上安裝 Ubuntu 作為遠端開發終端機等,遠端桌面的應用範圍正不斷擴大。

與 Windows 有何不同?Ubuntu 獨有的優勢

也許有人會疑惑:「Windows 也有遠端桌面,在 Ubuntu 上使用的意義是什麼?」事實上,Ubuntu 具有以下適合遠端操作的特點

  • 作業系統輕量且穩定,即使是低規格電腦也能流暢運行
  • 安全性較高,與 SSH 等加密通訊具有良好的相容性
  • 免費且開源,在多個終端機上使用無需額外成本

基於這些原因,越來越多的人選擇 Ubuntu,特別是為了程式設計學習或伺服器用途,並透過遠端方式加以利用。

「看起來很難」的新手也能輕鬆上手

對於不熟悉 Linux 系統的人來說,許多人可能會擔心「遠端連線的設定好像只有指令,看起來很難」。確實,以前要在 Ubuntu 上進行遠端連線,需要手動設定 VNC 伺服器,或者透過 SSH 進行埠轉發等,需要一定的知識。

但是,從 Ubuntu 22.04 LTS 開始,標準支援透過 RDP (Remote Desktop Protocol) 進行遠端連線,並且可以只使用圖形介面 (GUI) 進行設定。由於變得更容易操作,即使是新手也能挑戰使用 Ubuntu 的遠端功能了。

本文的目的與構成

在本文中,我們將分階段詳細說明如何在 Ubuntu 上實現遠端桌面連線,即使是新手也能輕鬆理解。內容廣泛涵蓋如何利用 Ubuntu 22.04 的最新功能、舊版本中 xrdp 的設定,以及使用 VNC 或 SSH 通道增強安全性的方法。

文章結構安排將比較各種方法的特點和差異,幫助您找到適合自己的方法,請務必閱讀到最後。

年収訴求

2. Ubuntu 可用的遠端桌面方法比較【VNC vs RDP】

遠端連線有多種協定

在 Ubuntu 上實現遠端桌面的方法並非只有一種。主流的方法主要分為以下三種:

  • RDP (Remote Desktop Protocol)
  • VNC (Virtual Network Computing)
  • SSH (Secure Shell) + X 轉發或通道

其中,RDP 和 VNC 作為「直接轉發桌面畫面」的方法,廣泛用於一般的遠端操作。另一方面,SSH 主要用於命令列的遠端操作,或作為增強安全性的輔助手段。

在這裡,我們將比較對新手來說也相對容易操作的 RDP 和 VNC 的各自特點和差異。

什麼是 RDP (Remote Desktop Protocol)

RDP 最初是 Microsoft 開發的協定,在 Windows 中作為標準功能廣泛使用。在 Ubuntu 上,透過使用名為 xrdp 的軟體,也可以透過此 RDP 協定進行遠端連線。

從 Ubuntu 22.04 開始,GNOME 環境已內建 RDP 功能,因此即使不另外安裝 xrdp,也可以只使用圖形介面完成遠端連線的設定。

RDP 的特點:

  • 與 Windows 相容性高,可以使用 Windows 標準的遠端連線工具進行連線
  • 連線後畫面繪製速度快且流暢
  • 標準配備驗證和加密功能,相對安全

推薦給以下使用者:

  • 組合使用 Ubuntu 和 Windows 的人
  • 想透過圖形介面簡單設定的新手
  • 重視安全性和穩定性的人

什麼是 VNC (Virtual Network Computing)

VNC 是一種可跨平台使用的遠端桌面技術。在 Ubuntu 上,可以使用「vino」或「tightvncserver」等軟體來實現。

VNC 的機制與 RDP 有些不同,是透過「逐步傳送桌面圖片」的方式,因此繪製速度有稍微變慢的傾向。另一方面,優點在於工作階段共享(多人同時觀看同一畫面)等功能具有彈性。

VNC 的特點:

  • 可跨平台使用(更容易從 Mac 或 Android 連線)
  • 多個使用者可同時共享同一畫面
  • 安全性功能稍弱,建議與 SSH 搭配使用

推薦給以下使用者:

  • 想讓多人遠端操作 Ubuntu 的情況
  • 想從 Windows 以外的終端機進行連線的情況
  • 需要詳細自訂設定的中~高階使用者

比較表:RDP 與 VNC 的差異

項目RDPVNC
連線容易度◎(圖形介面設定・從 Windows 簡單)△(初期設定較費時)
繪製流暢度◎(流暢)△(有時會稍微卡頓)
安全性◎(標準支援加密)△(建議使用 SSH 通道)
工作階段共享×○(多人可同時操作)
支援平台以 Windows 為中心跨平台 (Linux, Mac, Android 等)

該選擇哪一種?

對於新手或 Windows 使用者,推薦使用 RDP。設定簡單且連線穩定,入門門檻較低,是入門 Ubuntu 遠端連線的最佳選擇。

另一方面,如果需要詳細設定,或想從 Windows 以外的終端機進行連線,選擇 VNC 會具有較高的彈性。不過,使用 VNC 時,務必同時導入 SSH 通道等安全性措施。

3. 【最新版】在 Ubuntu 22.04 上啟用 RDP (遠端桌面) 的方法

Ubuntu 22.04 標準支援 RDP 功能

從 Ubuntu 22.04 LTS 開始,預設的桌面環境 (GNOME) 標準支援遠端桌面功能。這使得無需額外安裝 xrdp 等外部工具,也能輕鬆使用 RDP 連線

使用這個新功能,您可以直接從 Windows 標準的遠端桌面用戶端 (mstsc.exe) 連線到 Ubuntu,這對新手來說非常容易操作。

事前準備與確認事項

在啟用 RDP 之前,請確認以下幾點:

  • Ubuntu 版本為 22.04 或更新
  • 使用 GNOME 桌面環境
  • 登入時使用 X.org 工作階段而非 Wayland (重要)

特別是最後一點,「登入時使用 X.org 而非 Wayland」,這在使用遠端桌面功能時非常重要。目前 Wayland 不支援 RDP 連線,因此請按照以下步驟更改工作階段。

如何使用 X.org 工作階段登入

  1. 在 Ubuntu 的登入畫面,選擇使用者名稱
  2. 在輸入密碼之前,點擊右下角的齒輪圖示 (⚙)
  3. 選擇「Ubuntu on Xorg」
  4. 輸入密碼並登入

啟用遠端桌面的步驟

  1. 開啟「設定」應用程式
  2. 在左側選單中選擇「共享 (Sharing)
  3. 點擊「遠端桌面 (Remote Desktop)
  4. 將「遠端桌面功能啟用 (Enable Remote Desktop)」切換為開啟
  5. 將驗證方式設定為「密碼 (Password)」,並輸入任意的連線密碼
  6. 在「網路 (Network)」區段中勾選「允許本地網路上的使用者連線到此電腦 (Allow users on your local network to connect to this computer)

這樣就完成了 Ubuntu 端的設定。

從 Windows 連線到 Ubuntu 的步驟

  1. 按下 Windows 鍵 + R,輸入「mstsc」並按下 Enter (啟動遠端桌面連線工具)
  2. 在「電腦 (Computer)」欄位輸入 Ubuntu 的IP 位址
  3. 連線後,會顯示需要輸入在 Ubuntu 設定的使用者名稱和密碼的畫面
  4. 完成連線

您可以在「設定」>「Wi-Fi」或「有線網路」中查看 Ubuntu 的 IP 位址。或者也可以在終端機中使用以下指令查看:

ip a

防火牆設定 (視情況而定)

如果您啟用了 Ubuntu 的 UFW (Uncomplicated Firewall),則需要開啟 RDP 連接埠 (預設為 TCP 的 3389)。

sudo ufw allow 3389/tcp

之後,重新啟動 UFW 或確認狀態:

sudo ufw status

常見問題與解決方法

問題解決方法
連線時畫面變黑確認是否使用 X.org 登入
連線被拒絕確認防火牆設定以及是否在同一網路內
輸入密碼後沒有反應確認 GNOME 的共享設定中遠端桌面是否已啟用

補充:預設為區域網路內使用

此方法基本上預設在同一網路 (LAN) 內使用。如果想從外部連線,則需要設定 VPN、埠轉發,或結合使用 SSH 通道等 (這將在後續章節中說明)。

4. 在 Ubuntu 20.04 以前的版本使用 xrdp 進行遠端連線的方法

Ubuntu 20.04 需要安裝 xrdp

Ubuntu 20.04 或更早的版本不包含像 Ubuntu 22.04 那樣的標準 RDP 功能。因此,如果想從 Windows 進行遠端連線,則需要透過使用名為「xrdp」的外部套件,在 Ubuntu 端新增 RDP 伺服器功能。

xrdp 與 Microsoft 的 RDP 協定相容,因此可以使用 Windows 標準的「遠端桌面連線」工具輕鬆存取 Ubuntu。

xrdp 的安裝與基本設定

要在 Ubuntu 20.04 上安裝 xrdp,請在終端機中執行以下指令。

sudo apt update
sudo apt install xrdp -y

安裝完成後,xrdp 服務會自動啟動。要確認啟動狀態,請使用以下指令。

sudo systemctl status xrdp

如果顯示綠色的「active(running)」,表示運行正常。

桌面環境的選擇 (推薦 Xfce)

Ubuntu 的預設 GNOME 桌面與 xrdp 的相容性不是很好。經常會出現工作階段無法正確啟動或畫面變黑的情況。

因此,建議安裝與 xrdp 相容性較好的Xfce 桌面環境,並設定透過 xrdp 連線時使用該環境。

安裝 Xfce

sudo apt install xfce4 -y

修改工作階段設定

為了將 Xrdp 使用的工作階段更改為 Xfce,請依照以下方式建立或編輯設定檔。

echo "startxfce4" > ~/.xsession

請確保檔案的權限設定正確:

chmod +x ~/.xsession

此外,雖然有時需要調整部分工作階段設定檔以避免與 polkit 相關的權限錯誤,但在一般的本機用途下,上述設定通常就能正常運作。

防火牆設定

xrdp 使用連接埠 3389/tcp。如果您啟用了 Ubuntu 的防火牆 (ufw),請使用以下指令開啟連接埠。

sudo ufw allow 3389/tcp

從 Windows 連線的方法 (再次說明)

  1. 按下 Windows 鍵 + R → 執行 mstsc
  2. 在「電腦」欄位輸入 Ubuntu 的 IP 位址
  3. 當出現 xrdp 登入畫面時,輸入 Ubuntu 的使用者名稱和密碼
  4. 完成連線 (將顯示 Xfce 工作階段)

※IP 位址可以在 Ubuntu 的終端機中使用 ip ahostname -I 指令來確認。

常見問題與解決方法

症狀原因與解決方法
連線後畫面變黑請使用 Xfce 而非 GNOME。在 .xsession 中加入 startxfce4
顯示「工作階段已結束」Ubuntu 與 xrdp 的工作階段管理不相符。確認是否已安裝 Xfce
輸入密碼後連線中斷可能是 SELinux 或 polkit 設定所引起。請查看安全性日誌

自動啟動・重新啟動設定 (可選)

如果您希望在系統啟動時自動啟動 xrdp 服務,請使用以下指令將其啟用。

sudo systemctl enable xrdp

5. 使用 VNC 伺服器進行連線的方法 (vino / tightvnc 等)

什麼是 VNC?Ubuntu 也能使用的遠端桌面技術

VNC (Virtual Network Computing) 是一種透過網路共享畫面的協定,其特點是可以在 Windows、Linux、macOS 等跨平台使用。在 Ubuntu 上,只要安裝 VNC 伺服器,就可以從其他電腦或手機等裝置進行遠端連線。

與 RDP 相比,VNC 的設定稍微複雜且繪圖速度較慢,但在工作階段共享和連線目標的靈活性方面具有優勢。特別是在多個使用者需要同時觀看和操作同一個桌面畫面的情況下,VNC 是個方便的選擇。

Ubuntu 上可用的主要 VNC 伺服器

在 Ubuntu 上,常用的 VNC 伺服器如下:

伺服器名稱特點
vino內建於 GNOME 環境中,設定可透過圖形介面完成。適合新手。
tightvncserver輕量、快速,已使用多年。主要透過指令操作。
x11vnc可以存取實際登入中的工作階段。最適合圖形介面工作階段共享。

在 GNOME 環境使用 vino 的方法 (Ubuntu 20.04~22.04)

GNOME 內建了名為「vino」的 VNC 伺服器功能,可以透過圖形介面輕鬆設定。

1. 安裝所需套件 (如果尚未安裝)

sudo apt install vino -y

2. 從「設定」啟用遠端操作

  1. 開啟「設定」應用程式
  2. 選擇「共享 (Sharing)」>「螢幕共享 (Screen Sharing)」
  3. 將「螢幕共享功能開啟 (Screen Sharing toggle)」切換為開啟
  4. 啟用「允許透過網路存取 (Allow connections over the network)」
  5. 設定密碼驗證 (強烈建議為了安全性)

※如果 GNOME 使用 Wayland 工作階段,vino 可能無法正常運作,因此需要使用 X.org 登入 (已在第 3 章說明)。

3. 連線測試

從另一台電腦使用 VNC 用戶端 (例如:RealVNC Viewer、TigerVNC) 連線到 Ubuntu 的 IP 位址。
位址格式通常為 192.168.1.100:5900

如果想使用 CLI,請選擇 tightvncserver

如果是伺服器用途等,希望輕量且無需圖形介面即可安裝,tightvncserver 是個經典選擇。

1. 安裝

sudo apt install tightvncserver -y

2. 首次啟動時設定密碼

vncserver

首次執行時會要求輸入連線密碼。

3. 啟動 VNC 工作階段

vncserver :1

這會啟動一個 VNC 工作階段,使用連接埠 5901 (5900 + 顯示器編號)。

4. 在 Ubuntu 上設定 Xfce 等輕量桌面環境 (可選)

tightvnc 與 GNOME 的相容性不佳,因此通常在 ~/.vnc/xstartup 檔案中加入以下內容,以便啟動 Xfce 工作階段:

#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &

給予腳本執行權限:

chmod +x ~/.vnc/xstartup

安全性注意事項:建議搭配 SSH 通道使用

VNC 協定不對通訊內容進行加密,因此如果在區域網路外或透過網際網路使用,強烈建議搭配使用 SSH 通道

範例:在本機執行以下指令進行連線

ssh -L 5901:localhost:5901 your-user@remote-ubuntu

然後,使用 VNC Viewer 連線到 localhost:5901,即可安全地進行通訊。

總結:VNC 彈性高但需注意安全性

在 Ubuntu 上的遠端連線方面,VNC 在彈性和多平台支援方面具有優勢,但如果不採取安全性措施則存在漏洞。特別是從外部網路使用時,強烈建議利用 SSH 通道。

此外,如果想透過圖形介面輕鬆使用,可選擇 vino;如果是輕量或伺服器用途,可選擇 tightvnc;如果想共享登入中的工作階段,可選擇 x11vnc 等,可根據目的選擇適合的 VNC 伺服器。

6. 從 Windows 連線到 Ubuntu 的方法【連線用戶端介紹】

要遠端操作 Ubuntu,連線來源也需要工具

即使 Ubuntu 端已完成遠端桌面的設定,連線來源的電腦 (通常是 Windows) 也需要有相對應的用戶端軟體。Windows 標準提供了 RDP 用戶端,但根據用途,也可以選擇功能更強大的軟體。

本章將依協定種類,詳細說明從 Windows 連線到 Ubuntu 的代表性方法

使用 RDP 時:Windows 標準的「遠端桌面連線」

如果 Ubuntu 支援 RDP (xrdp 或 GNOME 的標準 RDP 功能),則可以使用 Windows 標準內建的「遠端桌面連線」應用程式進行存取。

連線步驟

  1. 按下 Windows 鍵 + R,輸入「mstsc」並按下 Enter
  2. 在「電腦 (Computer)」欄位輸入 Ubuntu 的 IP 位址 (例如:192.168.1.10)
  3. 點擊「連線 (Connect)」
  4. 輸入使用者名稱和密碼,完成連線

優點

  • 無需安裝額外軟體
  • 操作流暢且穩定性高
  • 對 Windows 使用者來說介面熟悉易用

注意事項

  • 如果 Ubuntu 端不支援 RDP,則無法使用 (舊版本需要設定 xrdp)
  • 預設為區域網路內使用 (外部連線需要 VPN 或 SSH 通道)

使用 VNC 時:使用 VNC 用戶端軟體

如果 Ubuntu 端已安裝 VNC 伺服器 (vino、tightvnc 等),則也可以從 Windows 使用 VNC Viewer 進行連線。

推薦的 VNC 用戶端軟體

軟體名稱特點
RealVNC Viewer支援商業及非商業用途。介面設計精美,新手也能輕鬆上手。
TigerVNC Viewer開源軟體。功能簡單但輕量且運行速度快。
TightVNC Viewer使用多年的經典軟體。功能最少,運行輕快。

連線步驟 (以 RealVNC 為例)

  1. 安裝並啟動 RealVNC Viewer
  2. 在連線目標輸入 192.168.1.10:5900 (或 5901 等)
  3. 點擊連線,輸入 VNC 密碼
  4. 顯示 Ubuntu 畫面,即可進行遠端操作

注意事項

  • 通訊未加密,為了安全使用,需要搭配 SSH 通道
  • 繪圖流暢度稍遜於 RDP

Remmina:支援多協定的高功能用戶端 (Ubuntu 端也能使用)

Remmina 是一款可以在一個應用程式中管理 RDP、VNC、SSH 等多種連線方式的遠端桌面用戶端。它原本是針對 Linux 開發的,但也提供了 Windows 版本,可以在兩者之間進行共通的操作。

特點

  • 在一個應用程式中整合管理 RDP、VNC、SSH 連線
  • 多功能,例如儲存連線設定檔、調整比例等
  • 在 Ubuntu 端也能使用,因此如果想從 Ubuntu 連線到 Windows 也很有用

在 Windows 上的安裝方法

  • 可以從 Remmina 的官方網站 (https://remmina.org) 下載安裝程式使用

確認 IP 位址的方法 (Ubuntu 端)

從 Windows 進行連線時,需要知道 Ubuntu 的區域網路 IP 位址。在 Ubuntu 中,可以使用以下任一方式確認。

透過圖形介面確認的方法

  • 「設定 (Settings)」>「網路 (Network)」>「有線 (Wired)」或「Wi-Fi」,查看詳細資訊

在終端機中確認

ip a

或者

hostname -I

使用上述指令顯示的 192.168.*.* 格式的位址。

關於網路的補充

連線來源和連線目標必須在同一個區域網路內。如果想從不同網路或外出時進行連線,則需要採取以下措施:

  • 建立 VPN (虛擬私人網路)
  • 在路由器上設定埠轉發 (需要考量安全性)
  • 使用 SSH 通道建立安全路徑 (後續說明)

總結:根據目的選擇適合的用戶端

連線方式推薦用戶端主要用途
RDPWindows 標準「遠端桌面連線」想從 Windows 簡單使用 Ubuntu
VNCRealVNC / TigerVNC / TightVNC想在多個終端機上共享操作,或想在 Mac 或手機上使用
SSHRemmina重視安全性的指令・圖形介面混合連線

如果 Ubuntu 端已經設定完成,根據連線來源 Windows 的環境選擇最適合的用戶端,就能實現流暢的遠端操作。

7. 日文輸入・鍵盤設定的疑難排解

遠端連線時發生的「無法輸入日文」問題

在遠端操作 Ubuntu 時,可能會遇到「無法輸入日文」、「半形/全形鍵無效」、「無法輸入反斜線 (\)」等問題。這是由於遠端連線導致的工作階段環境不同,輸入設定與本機操作時不同所引起的。

本章將詳細說明在 Ubuntu 遠端連線時容易發生的日文輸入和鍵盤問題及其解決方法。

無法輸入日文 / 輸入法 (IME) 無法運作

主要原因

  • 輸入法 (IME) 未在遠端工作階段中啟動
  • fcitx 或 ibus 等輸入框架無法與每個工作階段良好協作
  • GNOME 工作階段與 RDP 的相容性問題

解決方法 1:明確啟動 Mozc+fcitx

Ubuntu 常用的日文輸入環境是「fcitx-mozc」組合。如果在遠端連線時此環境未自動啟動,可以透過以下指令手動啟動來解決問題。

fcitx-autostart

或者

fcitx -r

解決方法 2:嘗試重新設定每個工作階段的輸入法

  1. 設定 (Settings) > 地區與語言 (Region & Language) > 輸入來源 (Input Sources) 確認
  2. 確認「日文 (Mozc)」是否已啟用
  3. 如果沒有,點擊「+」新增日文輸入法

重新登入後有時才會生效,因此請嘗試一次登出再登入。

半形/全形鍵無效,按鍵對應錯位

在遠端桌面連線時,鍵盤佈局的識別可能會出現偏差。特別是日文鍵盤 (JIS) 和英文鍵盤 (US) 的佈局差異,經常導致「反斜線 (\)」和「@」等按鍵位置不同的問題。

解決方法:明確指定鍵盤佈局

  1. 設定 (Settings) > 地區與語言 (Region & Language) > 輸入來源 (Input Sources)
  2. 選擇「日文 (日文)」或「日文 (OADG 109A)」等
  3. 視需要使用 setxkbmap 指令應用設定:
setxkbmap -model jp106 -layout jp

將此設定寫入 .xsession.bashrc 中,可以在遠端登入時自動套用。

無法輸入反斜線 (\) 或管道符號 (|)

這個問題在 RDP 連線時特別常見,原因是 xrdp 無法正確接收按鍵碼

應對方法:強制修改鍵盤對應

  1. 編輯以下檔案:
sudo nano /etc/xrdp/km-0411.ini
  1. 此檔案是日文鍵盤的對應定義。有時需要手動修正與英文鍵盤佈局的差異 (適合進階使用者)。

更實際的方法是使用 xrdp 以外的協定 (例如 VNC),可以避免這個問題。

輸入切換無反應時的替代方法

如果半形/全形鍵無法正常運作,可以使用以下替代按鍵來切換日文輸入的開啟或關閉。

Mozc (fcitx) 的情況:

  • Ctrl + Space (預設)
  • Shift + Space (可修改)

也可以從 fcitx 的設定應用程式中修改快速鍵。

無法輸入日文時的最後手段:利用編輯器+複製貼上

在無論如何都無法輸入日文的環境下,將在本機端 (Windows) 輸入的日文文字複製,然後貼到 Ubuntu 的編輯器中,也可以作為暫時的應對方法。

總結:日文環境的行為會因連線方式而異

症狀主要原因解決方法
無法輸入日文輸入法未啟動、工作階段不相符重新啟動 fcitx-mozc、新增輸入來源
鍵盤佈局錯位鍵盤佈局不符使用 setxkbmap 明確設定
無法輸入反斜線xrdp 的按鍵對應問題修改 km 檔案、切換使用 VNC

在 Ubuntu 的遠端環境中,與本機不同的鍵盤輸入問題較容易發生,因此事先了解設定的確認方法和替代方法非常重要。

8. 考慮安全性的連線方法【SSH 通道】

遠端連線與安全性風險

Ubuntu 的遠端桌面功能 (RDP 或 VNC) 雖然方便,但如果直接透過網際網路公開,則非常危險。如果通訊內容未加密,或者僅透過密碼驗證即可存取,則可能產生第三方非法存取或竊聽的風險

作為對策,廣泛推薦使用 SSH 通道進行連線。SSH 通道會建立一個加密的安全「通道 (Tunnel)」,透過它傳輸 VNC 或 RDP 等通訊,即使從外部也能安全地存取 Ubuntu。

[Windows] --(SSH 加密)--> [Ubuntu]
   |
   +--> (內部進行 VNC 或 RDP 的埠轉發)

什麼是 SSH 通道?機制概要

SSH 通道是利用 SSH (Secure Shell) 連線的功能,安全地中繼其他應用程式通訊的機制。這使得 VNC 或 RDP 等原本未加密的通訊,也能透過受 SSH 保護的途徑進行傳輸

事前準備:啟用 SSH 連線

如果 Ubuntu 端尚未安裝 SSH,請使用以下指令進行安裝:

sudo apt update
sudo apt install openssh-server -y

安裝後,sshd 會自動啟動,但為了保險起見,請確認狀態:

sudo systemctl status ssh

如果啟用了防火牆 (UFW),請允許 SSH 連接埠 (22):

sudo ufw allow ssh

從 Windows 建立 SSH 通道的方法 (例如:轉發 VNC 連接埠 5901)

方法 1:從 Windows 的終端機 (PowerShell 等) 使用 ssh 指令執行

ssh -L 5901:localhost:5901 your-user@ubuntu-ip
  • 5901:localhost:5901:將本機的 5901 連接埠轉發到 Ubuntu 端的 5901 連接埠
  • your-user@ubuntu-ip:Ubuntu 的使用者名稱和 IP 位址

在保持此指令執行的狀態下,使用 VNC 用戶端連線到:

localhost:5901

→ 通訊將透過 SSH 通道傳送到 Ubuntu 的 VNC 伺服器,實現安全連線。

方法 2:使用 Tera Term 或 PuTTY 等 SSH 用戶端 (圖形介面)

  • 在 Tera Term 的「TCP 連接埠轉發 (TCP Port Forwarding)」設定中,指定本機和遠端的連接埠
  • 對於想透過圖形介面管理的人來說較為方便

RDP 也能使用 SSH 通道

同樣地,也可以透過 SSH 保護 RDP 連線 (連接埠 3389)。

ssh -L 3389:localhost:3389 your-user@ubuntu-ip

然後,在 Windows 的遠端桌面連線中存取「localhost:3389」。

透過公開金鑰驗證進一步提升安全性

如果想進一步提高 SSH 連線的安全性,建議導入公開金鑰驗證方式

步驟 (在 Windows 端產生金鑰):

  1. 在 PowerShell 中執行以下指令:
ssh-keygen
  1. 將產生的公開金鑰複製到 Ubuntu:
ssh-copy-id your-user@ubuntu-ip

※或者,手動將其新增到 ~/.ssh/authorized_keys

  1. 在 Ubuntu 的 /etc/ssh/sshd_config 中確認以下設定:
PubkeyAuthentication yes
PasswordAuthentication no

然後,重新啟動 sshd

sudo systemctl restart ssh

SSH 通道的優點・缺點

項目內容
✅優點通訊被加密,安全性非常高
✅優點避免直接將 RDP 或 VNC 公開到網際網路
❌缺點初期設定較複雜,每次都需要指令操作
❌缺點中斷通道後連線也會中斷 (需要重新連線)

總結:外部存取必須使用 SSH 通道

遠端操作 Ubuntu 時,特別是從公司外部或外出地點進行存取時,透過 SSH 通道進行安全連線是必要的。熟悉後,這將成為一個非常強大的工具,與 VNC 或 RDP 等其他協定結合使用,可以建立安全且便利的遠端環境。

9. 【常見問答】Ubuntu 遠端桌面常見問題

Q1. Ubuntu 遠端連線不成功的原因是什麼?

A. 原因有很多,但檢查以下幾點可以找到解決問題的線索。

  • IP 位址是否正確
  • Ubuntu 是否連線到同一個區域網路
  • 防火牆 (UFW) 是否阻擋了通訊
  • 連線目標 Ubuntu 是否使用 X.org 工作階段登入 (RDP 的情況)
  • xrdp 或 VNC 是否正常啟動

首先可以在終端機中像這樣檢查各個服務的狀態:

sudo systemctl status xrdp
sudo systemctl status ssh

Q2. 連線中畫面卡頓或中斷時的處理方法?

A. 這主要是由於網路頻寬不足繪圖方式的差異所致。可以嘗試以下處理方法:

  • 在 RDP 中設定為「低頻寬模式」可以使操作更流暢
  • 在 VNC 中使用輕量的桌面環境 (例如:Xfce) 可以改善
  • 遠端連線時避免執行影片、3D 圖形等資源密集的操作
  • 使用有線網路而非無線網路通常更穩定

Q3. 可以從 Ubuntu 連線到 Windows 進行遠端操作嗎?

A. 是的,可以。Ubuntu 有一個名為 Remmina 的高功能遠端桌面用戶端,可以連線到 Windows 標準的 RDP 伺服器 (Pro 版以上才能啟用)。

在 Ubuntu 上使用 Remmina 的步驟:

sudo apt install remmina -y
  1. 啟動 Remmina
  2. 建立「新連線 (New connection)」
  3. 選擇協定為「RDP」,輸入 Windows 的 IP 和登入資訊
  4. 開始連線

Q4. 想從外出地點或不同網路連線到 Ubuntu

A. 從外部網路連線到 Ubuntu 需要以下任一方法:

  • 建立 VPN (虛擬私人網路)
  • 使用 SSH 通道 (在第 8 章說明)
  • 在路由器上設定埠轉發 (不推薦)

埠轉發設定簡單,但安全性風險較高,因此推薦使用 VPN 或 SSH 通道

Q5. 每次連線都不想輸入密碼

A. 如果是 SSH 連線,可以使用公開金鑰驗證來省略輸入密碼 (也有助於提升安全性)。
在 RDP 或 VNC 中,可以在 Ubuntu 端設定自動登入來簡化部分步驟,但會增加安全性風險,請謹慎處理。

Q6. 無法輸入日文 / 按鍵錯位是為什麼?

A. 這主要是由於輸入法未啟動鍵盤佈局識別錯誤所致。
詳細內容在第 7 章有詳細說明,但基本上以下處理方法是有效的:

  • 重新啟動或初始化 fcitxibus
  • 使用 setxkbmap 指令明確設定佈局
  • 使用 VNC 時也檢查圖形介面設定

Q7. 遠端連線是免費的嗎?

A. 是的,Ubuntu、xrdp、Remmina、VNC 等全部都是開源且免費的。部分 VNC Viewer (例如:RealVNC) 的商業功能或 VPN 服務有付費方案,但個人使用上完全可以免費建置。

Q8. 可以同時與其他人操作同一個 Ubuntu 嗎?

A. 一般的 RDP 連線基本是一個使用者一個工作階段
使用 VNC 則可以讓多個使用者共享同一個畫面。但操作會互相衝突,適合用於教學或指導目的。

Q9. 遠端操作中 Ubuntu 進入睡眠狀態

A. 當 Ubuntu 進入睡眠或暫停狀態時,遠端連線會中斷。請採取以下措施:

  • 在「設定 (Settings)」>「電源 (Power)」>「暫停 (Suspend)」設定中更改為「不要 (Don’t Suspend)」
  • 也可以使用 gsettings 指令進行更詳細的設定修改:
gsettings set org.gnome.settings-daemon.plugins.power sleep-inactive-ac-type 'nothing'

Q10. RDP 和 VNC,哪個比較好?

A. 無法一概而論哪個比較好,可以參考以下選擇:

優先考量推薦
連線流暢度・繪圖速度RDP
多使用者共享操作VNC
與 Windows 使用者的相容性RDP
重視安全性 (搭配 SSH 前提)都可以

10. 總結:在 Ubuntu 上也能輕鬆安全地掌握遠端連線

Ubuntu 的遠端桌面並不難

「Linux 很難」、「遠端連線需要專業知識才能做到」——抱持這樣想法的人,透過本文的介紹,是否已經了解到在 Ubuntu 上進行遠端桌面連線其實非常實用,即使是新手也能掌握呢?

從 Ubuntu 22.04 開始,標準內建了 RDP 功能,即使只使用圖形介面也能進行設定。舊版本也能透過 xrdp 或 VNC 等工具,毫無問題地從 Windows 進行連線。

選擇適合自己的連線方式

在 Ubuntu 上進行遠端連線有多種方式。每種方式都有其優缺點,根據使用環境和目的區分使用非常重要

使用目的推薦連線方式說明
家庭內輕鬆連線RDP (Ubuntu 標準或 xrdp)從 Windows 使用簡單方便且流暢
從外出地點安全連線RDP 或 VNC+SSH 通道建立加密的安全通道
多人共享同一個畫面VNC (vino / x11vnc)也方便用於共同作業或教學現場
以 CLI 為主的管理操作SSH (終端機連線)輕量且穩固的遠端管理手段

安全性措施「最初的一點努力」很重要

便利性的同時,遠端連線也伴隨著安全性風險。特別是透過網際網路公開 VNC 或 RDP 時,務必搭配使用 SSH 通道或 VPN,並重新檢視密碼驗證和防火牆設定。

此外,導入 SSH 的公開金鑰驗證,可以讓日常連線更加安全且順暢。

問題總是會發生。但有解決方法

如本文所介紹,可能會發生日文輸入、按鍵對應、無法連線、畫面變黑等問題,但這些問題都有已確立的解決方法。不必慌張,一個一個確認原因,大部分問題都可以自行解決。

遇到困難時,可以回到這個頁面,方便您再次確認。

踏出第一步吧

Ubuntu 的遠端桌面環境一旦建置完成,將成為大幅提升日常工作效率的強大工具。遠端管理家裡的伺服器,或從筆電操作開發用的 Ubuntu 環境等,用途無限廣泛

還沒嘗試過的人,不妨先從在同一個區域網路內使用 RDP 連線開始吧。您將會驚訝地發現,Ubuntu 的新可能性會如此簡單地開啟。

以上就是關於Ubuntu 遠端桌面連線的完整指南
感謝您的閱讀!

侍エンジニア塾