温馨提示×

如何远程访问Ubuntu VNC

小樊
44
2026-09-22 08:43:29
栏目: 智能运维

远程访问 Ubuntu 上的 VNC,一般步骤是:在 Ubuntu 上安装并配置 VNC 服务 → 设置远程访问方式(直接 / 通过 SSH 隧道)→ 在本地使用 VNC 客户端连接。下面给你一套常用且稳妥的方案。


一、在 Ubuntu 上安装 VNC 服务(以 TigerVNC 为例)

1. 更新系统

sudo apt update
sudo apt upgrade -y

2. 安装桌面环境(如果服务器没有图形界面)

sudo apt install ubuntu-desktop -y
# 或轻量一些
sudo apt install xfce4 xfce4-goodies -y

3. 安装 TigerVNC

sudo apt install tigervnc-standalone-server tigervnc-common -y

二、配置 VNC 用户

1. 设置 VNC 密码

vncpasswd

(密码用于 VNC 连接)

2. 创建 VNC 启动配置

mkdir -p ~/.vnc
nano ~/.vnc/xstartup

示例(XFCE):

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

赋予执行权限:

chmod +x ~/.vnc/xstartup

三、启动 VNC 服务

vncserver :1 -geometry 1920x1080 -depth 24
  • :1 → 端口 5901
  • :2 → 端口 5902

查看运行状态:

vncserver -list

停止:

vncserver -kill :1

四、远程访问方式(推荐 SSH 隧道,安全)

方式一:SSH 隧道(推荐 ✅)

本地执行(Mac / Linux)

ssh -L 5901:localhost:5901 user@ubuntu_ip

Windows(Putty)

  • Connection → SSH → Tunnels
  • Source port: 5901
  • Destination: localhost:5901

然后使用 VNC 客户端连接:

localhost:5901

✅ 优点:加密、安全、不需要开放 VNC 端口


方式二:直接开放端口(不推荐)

Ubuntu 防火墙:

sudo ufw allow 5901/tcp

VNC 客户端直接填:

ubuntu_ip:5901

⚠️ 风险:VNC 明文传输,容易被攻击


五、设置开机自启(systemd)

sudo nano /etc/systemd/system/vncserver@.service

示例:

[Unit]
Description=VNC Server
After=network.target

[Service]
Type=forking
User=youruser
ExecStart=/usr/bin/vncserver :1
ExecStop=/usr/bin/vncserver -kill :1

[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1

六、常见问题

黑屏?

  • 检查 ~/.vnc/xstartup
  • 确保桌面环境已安装

连不上?

  • 检查防火墙
  • 检查 VNC 是否在运行
  • 云服务器需开放安全组端口

如果你告诉我:

  • ✅ Ubuntu 版本
  • ✅ 是否有公网 IP / 云服务器
  • ✅ Windows / Mac 客户端

我可以给你更精确的一步到位配置方案。

0 踩