1. 前言
為什麼要在 Ubuntu 上使用 VNC?
在眾多 Linux 發行版中,「Ubuntu」以其高人氣被廣泛應用於開發、伺服器等各種場景。通常,Ubuntu 伺服器多以指令列操作為主,但也有許多情況需要使用 GUI(圖形化使用者介面)。
這時就需要VNC(Virtual Network Computing,虛擬網路運算)這項技術。透過 VNC,可以經由網路遠端連接到 Ubuntu 主機,就像在本機操作桌面一樣直覺且方便。這樣不僅省去了繁複的指令,對 Linux 初學者或 Windows 用戶而言,使用門檻也大幅降低。
遠端桌面環境的需求
近年來遠端工作的普及,在 Ubuntu 上導入 VNC 來建立遠端桌面環境的需求持續增加。 尤其是在開發用的 Ubuntu 伺服器安裝 VNC,讓 GUI 操作成為可能,大幅提升設定與維護的效率。
此外,也有越來越多用戶希望能在雲端或 VPS 上以 GUI 操作 Ubuntu,VNC 正好扮演這項需求的橋樑。
本文適用對象與目的
本教學主要針對以下族群:
- 第一次想在 Ubuntu 上導入 VNC 的使用者
- 只靠 CLI 覺得不安,想架設 GUI 環境的用戶
- 單靠 SSH 作業感到不便,想選用 VNC 而非 RDP 的人
- 希望在 GUI 下同時支援日文輸入、打造舒適遠端桌面環境的用戶
本文會以簡明易懂的方式,介紹如何在 Ubuntu 安裝 VNC 伺服器並連線遠端桌面環境,同時涵蓋日文輸入設定以及透過 SSH Tunnel 實現安全連線等實用內容,完整對應初學者需求。
2. 前置作業與準備
安裝 VNC 前須確認事項
在 Ubuntu 安裝與使用 VNC 伺服器前,需要先滿足一些前提與事前準備。本節將重點整理於此,方便開工前檢查。
支援的 Ubuntu 版本
本文以Ubuntu 20.04 LTS 或 Ubuntu 22.04 LTS為主要對象。這兩個版本目前仍被廣泛使用,與 VNC 伺服器及日文輸入環境的相容性也很穩定。
若您使用其他版本,基本操作大致相同,但部份套件名稱或行為可能會有所差異,請特別留意。
主機需求與硬體建議
由於 VNC 為基於 GUI 的遠端桌面連線方式,建議硬體資源如下:
- CPU:雙核心以上(最低 1GHz)
- 記憶體:建議 2GB 以上(以 Xfce 等輕量桌面環境為例)
- 儲存空間:至少 10GB 可用容量
- 網路:需能 SSH 連線並開放 VNC Port(預設為 5901 等)
所需權限與工具
安裝與設定 VNC 伺服器時,需具備以下權限及工具:
- 具有 sudo 權限的帳號
- SSH 客戶端(Windows 可用 PuTTY,macOS/Linux 用終端機)
為進行遠端安裝,Ubuntu 伺服器須已啟用 SSH。若尚未啟用,可先執行 sudo apt install openssh-server
安裝 SSH 伺服器。
桌面環境的選擇
VNC 需轉送 GUI,因此Ubuntu 必須有桌面環境。但預設的「Ubuntu Desktop」(GNOME)較重,伺服器用途不太適合。
因此,本教學推薦以下輕量桌面環境(如 Xfce、MATE):
- Xfce:輕量又穩定,初學者也容易上手。
- MATE:經典 UI,操作流暢。
詳細安裝與差異會於下節介紹。
3. 桌面環境的安裝
為什麼需要桌面環境?
遠端連線 Ubuntu 並非預設就能看到畫面,若未安裝桌面環境則無法顯示任何 GUI。VNC 主要為圖形化操作設計,CLI(指令列)專用主機無法發揮 VNC 優勢。
輕量桌面環境的選擇
VNC 建議搭配輕量、穩定的桌面環境。常見兩種選擇如下。
1. Xfce
Xfce 超輕巧,無論舊電腦或 VPS 皆能流暢執行。功能齊全且設計簡潔,與 VNC 相性絕佳。
2. MATE
MATE 基於 GNOME 2,屬於經典桌面,UI 較 Xfce 豐富但仍然輕盈且穩定。
Xfce 安裝步驟(推薦)
請執行下列指令安裝 Xfce:
sudo apt update
sudo apt install -y xfce4 xfce4-goodies
xfce4-goodies
提供多種便利小工具,讓操作更舒適。
安裝可能需幾分鐘,請留意過程中是否有錯誤訊息。
MATE 安裝步驟(替代方案)
如欲改用 MATE,請執行以下指令:
sudo apt update
sudo apt install -y ubuntu-mate-core
MATE 較 Xfce 多用一點資源,但外觀與操作體驗佳,適合有 UI 需求者。
注意:避免同時安裝多種桌面環境
不建議同時安裝 Xfce、MATE 等多種桌面環境。否則登入與啟動時選擇會混亂,易造成 VNC 設定錯誤與麻煩。
請擇一安裝。
4. 安裝與設定 VNC 伺服器
Ubuntu 上 VNC 必裝的伺服器軟體
VNC(Virtual Network Computing)架構包含用戶端與伺服端。Ubuntu 需安裝 VNC 伺服器,以便遠端連線 GUI。
市面上有多種 VNC 伺服器,本教學推薦常用的TigerVNC(也介紹 TightVNC)。
- TigerVNC(推薦)
快速、穩定,與 Xfce、MATE 搭配最佳。 - TightVNC
體積小,適合舊機器,但開發較停滯。
TigerVNC 安裝步驟
請用下列指令安裝 TigerVNC 伺服器:
sudo apt update
sudo apt install -y tigervnc-standalone-server tigervnc-common
安裝完成後,接下來進行初始設定。
首次啟動與密碼設定
第一次啟動 VNC 伺服器時,請設定連線密碼:
vncserver
執行後會出現下列提示:
You will require a password to access your desktops.
Password:
Verify:
Would you like to enter a view-only password (y/n)?
「view-only password」是僅可觀看用密碼,通常輸入「n」即可。
編輯 VNC 設定檔(xstartup)
啟動 VNC 後,主目錄下會產生 ~/.vnc/xstartup
檔案,用來指定啟動哪個桌面環境。
Xfce 設定範例
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
MATE 設定範例
#!/bin/sh
xrdb $HOME/.Xresources
mate-session &
設定完畢後,需給此腳本執行權限:
chmod +x ~/.vnc/xstartup
啟動與確認 VNC 連線
準備就緒後,可用下列指令啟動 VNC:
vncserver :1
:1
表示虛擬顯示編號,預設為 :1
。
VNC 連線時對應 Port 為 5901(5900+顯示編號)。
停止 VNC 連線
若需關閉連線,請執行:
vncserver -kill :1
5. 設定 VNC 伺服器自動啟動
為什麼要自動啟動 VNC 伺服器?
VNC 預設需手動啟動。若每次都要自己輸入 vncserver
很麻煩,且伺服器重開後 VNC 不會自動啟動。
建議用Systemd 將 VNC 註冊為服務,自動啟動,可確保穩定連線。
建立 Systemd 服務檔
請以用戶為單位建立 Systemd 服務檔。以下以 :1
為例:
sudo nano /etc/systemd/system/vncserver@:<顯示編號>.service
例如,設 vncserver@:1.service
,內容如下(請將 yourusername
換成你的用戶名):
[Unit]
Description=Start TigerVNC server at startup
After=network.target
[Service]
Type=forking
User=yourusername
PAMName=login
PIDFile=/home/yourusername/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1280x800 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
※ yourusername
請改成自己的用戶名。
※ geometry
可自行調整解析度。
啟用與啟動服務
儲存後,執行以下指令重新載入並啟用服務:
sudo systemctl daemon-reexec
sudo systemctl daemon-reload
sudo systemctl enable vncserver@:1.service
sudo systemctl start vncserver@:1.service
確認運作狀態
用此指令檢查服務狀態:
sudo systemctl status vncserver@:1.service
顯示 Active: active (running)
即代表成功。
注意:僅限單一用戶
本方法僅對指定用戶啟用 VNC。若多位用戶需使用 VNC,各自需建專屬 Systemd 服務檔。
6. 用戶端的連線方法
什麼是 VNC 用戶端?
在 Ubuntu 上建好 VNC 伺服器後,還需於自己的電腦安裝VNC Viewer(VNC 用戶端),才能進行遠端連線操作。
推薦的 VNC 用戶端
下列 VNC Viewer 在穩定性與相容性方面表現優異,廣受好評:
用戶端名稱 | 支援 OS | 特色 |
---|---|---|
RealVNC Viewer | Windows / Mac / Linux / iOS / Android | 簡單穩定,適合企業使用 |
TigerVNC Viewer | Windows / Mac / Linux | 開源且自由 |
UltraVNC | Windows | 高階功能多,偏進階用戶 |
Remmina | 僅限 Linux | 多協定支援的 GUI 用戶端 |
建議選擇RealVNC Viewer 或 TigerVNC Viewer,皆為免費軟體。
用戶端連線流程(以 RealVNC Viewer 為例)
以下為 RealVNC Viewer 的標準連線步驟,TigerVNC Viewer 操作方式類似。
1. 安裝 RealVNC Viewer
請至官方網站(https://www.realvnc.com/)下載對應 OS 版本安裝。
2. 輸入 VNC 伺服器資訊
開啟軟體,於連線目標填入下列格式:
<伺服器 IP 位址>:5901
或
<伺服器 IP 位址>:1
兩者等效(5900+顯示編號=Port)。
3. 輸入密碼
請輸入先前設定的 VNC 密碼,即可連線顯示 Ubuntu 桌面畫面。
連不上時的排查方法
VNC 無法連線時,常見原因如下。
● Port 未開放
請檢查防火牆或雲端安全群組是否有封鎖 5901 Port。
● 是否使用 SSH Tunnel?
若未用 SSH Tunnel,VNC Port 可能未對外公開,導致無法連線。建議依下節做 SSH Tunnel 設定。
Mac 連線方式
Mac 也可用 RealVNC、TigerVNC 等 Viewer,安裝後輸入 IP 與 Port 連線即可。
手機平板也能用
iOS、Android 皆有 VNC App。適合臨時需求,不過操作體驗略遜於 PC。
7. 日文輸入的設定
VNC 為什麼要設定日文輸入?
即使能用 VNC 遠端操作 Ubuntu,預設往往無法直接輸入日文,會影響編輯文件、檔名變更、即時通訊等。
Ubuntu 很常安裝為英文環境,如未安裝日文 Locale 與輸入法(IME),就無法正常輸入日文。本節說明如何讓 VNC 下也能流暢日文輸入。
安裝日文 Locale
請執行以下指令安裝日文顯示與輸入功能:
sudo apt update
sudo apt install -y language-pack-ja
接著設定 Locale:
sudo update-locale LANG=ja_JP.UTF-8
設定完成後,登出再登入或重開機即可切換介面語言(若 VNC 顯示異常可維持英文)。
日文輸入法選擇:fcitx vs ibus
Ubuntu 日文輸入主要有下列兩種:
輸入法 | 特色 |
---|---|
fcitx-mozc | 輕巧易設定,在 VNC 下表現穩定 |
ibus-mozc | GNOME 預設,VNC 下偶有問題 |
建議 VNC 環境選用 fcitx-mozc,較少出錯。
fcitx-mozc 安裝與設定
sudo apt install -y fcitx-mozc
接著設置環境變數,讓輸入法自動啟動。
將以下內容加到 ~/.xprofile 或 ~/.profile:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
再新增 fcitx 啟動指令:
fcitx &
建議直接加在 ~/.vnc/xstartup
也可。
xstartup 範例:
#!/bin/sh
xrdb $HOME/.Xresources
fcitx &
startxfce4 &
日文輸入確認方法
VNC 連線後,開啟 fcitx 設定(fcitx-config-gtk3),確認已啟用「Mozc」。
可用半形/全形鍵或Ctrl + Space切換 IME。
常見問題與解決方法
症狀 | 原因與處理 |
---|---|
IME 無法啟動 | 未啟動 fcitx 或環境變數設錯 |
能輸入但不能轉換漢字 | 未啟用 Mozc,fcitx 設定未調整 |
每次都要手動啟動 fcitx | .xstartup 未加入 fcitx & |
完成以上設定後,VNC 遠端桌面可順利日文輸入。下一章將說明如何用 SSH Tunnel 強化 VNC 連線安全。
8. 強化安全性的 SSH Tunnel 設定
VNC 連線未加密的風險
VNC 雖方便,但預設連線是明文傳輸,密碼與畫面資訊皆有外洩風險。
因此,建議經由SSH Tunnel 加密連線,大幅提升安全性。
什麼是 SSH Tunnel?
SSH Tunnel 可安全地轉送特定 Port,在用戶端與伺服端間建立加密通道,有效補足 VNC 弱點。
SSH Tunnel 設定教學(本地 Port 轉發)
以 Windows 用戶為例,介紹如何透過 SSH Tunnel 遠端連線。
Windows + PuTTY 設定 SSH Tunnel
1. 安裝 PuTTY
請至官方網站(https://www.putty.org/)下載並安裝。
2. 輸入連線資訊
於「Session」標籤填入伺服器 IP 與 22 Port。
3. 設定 Tunnel
左側選單點「Connection」→「SSH」→「Tunnels」。
- Source port:5901
- Destination:localhost:5901
- 選 Local,點擊 Add
4. 開始 SSH 連線
點「Open」開始連線,即可將本機 5901 Port 安全轉發到伺服器。
macOS / Linux 的 SSH Tunnel 設定
於終端機執行:
ssh -L 5901:localhost:5901 使用者名稱@伺服器IP
例如:
ssh -L 5901:localhost:5901 naoya@192.168.1.100
完成連線後,VNC Viewer 連線請填入:
localhost:5901
連線注意事項
- 防火牆設定:需開啟 SSH(22 Port)。
- VNC Viewer 填寫:請用
localhost:5901
,勿填伺服器 IP。
SSH Tunnel 好處總結
項目 | 內容 |
---|---|
連線加密 | 所有 VNC 流量皆走 SSH,加密更安全 |
簡化防火牆設置 | 無需對外開放 VNC Port,外部不可見 |
連線紀錄 | 可從 SSH 日誌查詢異常連線 |
經由 SSH Tunnel,即便公開主機也能安心連線。強烈建議必做!
9. 常見問題與解決方法
問題1:連線後畫面全黑或灰色
原因:
~/.vnc/xstartup
檔案內容錯誤- 桌面環境未正常啟動
解決方法:
- 確認
~/.vnc/xstartup
是否如(以 Xfce 為例):
#!/bin/sh
xrdb $HOME/.Xresources
startxfce4 &
- 賦予執行權限:
chmod +x ~/.vnc/xstartup
- 重啟 VNC 連線:
vncserver -kill :1
vncserver :1
問題2:無法日文輸入、無轉換建議
原因:
- fcitx 或 Mozc 未啟動
- 環境變數未正確設置
解決方法:
- 檢查
.xprofile
或.xsession
有無下列內容:
export GTK_IM_MODULE=fcitx
export QT_IM_MODULE=fcitx
export XMODIFIERS="@im=fcitx"
- 確認
~/.vnc/xstartup
有fcitx &
:
fcitx &
- 重啟 VNC,於 fcitx 設定確認 Mozc 已啟用。
問題3:VNC 不穩定、延遲或斷線
原因:
- 網路頻寬不足
- 解析度或色深設定過高
解決方法:
- 降低解析度與色深重啟 VNC:
vncserver :1 -geometry 1024x768 -depth 16
- 採用 SSH Tunnel 強化穩定與安全(參見第8章)
- 用戶端軟體可切換最佳化模式亦可設定
問題4:VNC 能連上但無法顯示登入畫面
原因:
- GUI Session 未啟動
- VNC 並未經過登入管理員
解決方法:
VNC 本身獨立於 X Server 運作,不會顯示 Ubuntu 預設登入畫面(如 GDM),這是正常現象。顯示的畫面就是 .vnc/xstartup
啟動的 Session。
如需多用戶或登入畫面,建議改用 RDP(xrdp)。
問題5:無法啟動 VNC Session/拒絕存取
原因:
- 服務檔設定錯誤
- PID 檔未清除導致衝突
解決方法:
- 完全關閉 VNC:
vncserver -kill :1
- 刪除
.vnc
目錄下多餘的.pid
、.log
:
rm ~/.vnc/*.pid
rm ~/.vnc/*.log
- 重新啟動 VNC Session:
vncserver :1
其他小技巧
- 可檢查
~/.vnc/*.log
取得錯誤提示。 - 多用戶請分開使用不同顯示編號(如 :2, :3)。
10. 總結
操作步驟重點整理
- 前置作業與準備
確認 Ubuntu 版本、桌面環境、SSH 權限等 - 安裝桌面環境
建議採用輕量穩定的 Xfce 或 MATE,適合 VNC 遠端使用 - TigerVNC 設定
選用高穩定性的 TigerVNC,調整 Session 編號與解析度 - 設定自動啟動
以 Systemd 服務化,重啟主機後 VNC 可自動復原 - 用戶端連線方法
利用 RealVNC Viewer 或 TigerVNC Viewer 指定正確 Port 連線 - 日文輸入設定
導入 fcitx-mozc,並於.xstartup
、.xprofile
設定環境變數 - 運用 SSH Tunnel
所有連線資料皆經加密傳輸,提升安全 - 故障排除
針對常見問題給予實用解決方案
後續運用建議
一旦完成設定,即可像本機一樣操作 Ubuntu,特別適合下列需求:
- 希望在 VPS、雲端主機以 GUI 操作 Ubuntu
- 需與團隊共用(可分配不同顯示編號)
- CLI 不熟悉的新手可藉 GUI 學習 Linux
但須注意,VNC 雖然輕量,不適合多媒體或高安全需求場景。如需更高效能建議評估 xrdp、NoMachine 等替代方案。
結語
在 Ubuntu 上導入 VNC,其實只要按步就班,人人都能成功建置。希望本教學能幫助您輕鬆打造 Ubuntu 遠端桌面環境。
如有設定疑問,歡迎於留言區或社群聯絡。祝您玩轉 Ubuntu,遠端操作更順利!