温馨提示×

ubuntu vnc如何远程

小樊
89
2026-07-12 17:52:57
栏目: 智能运维

在 Ubuntu 上通过 VNC 远程桌面,常见做法如下(从零开始,适合新手):


一、Ubuntu 上安装 VNC 服务(以经典方案为例)

1️⃣ 安装桌面环境(如果还没有)

Ubuntu Server 默认没有桌面,需要先装:

sudo apt update
sudo apt install ubuntu-desktop

如果你已经用 Ubuntu Desktop,可跳过。


2️⃣ 安装 VNC Server(推荐 TigerVNC / x11vnc)

✅ 方案 A:TigerVNC(稳定、常用)

sudo apt install tigervnc-standalone-server tigervnc-common

设置 VNC 密码:

vncpasswd

启动 VNC(示例端口 :1 = 5901):

vncserver :1

停止:

vncserver -kill :1

✅ 方案 B:x11vnc(适合已有桌面会话)

sudo apt install x11vnc

启动:

x11vnc -display :0 -forever -shared -rfbport 5900

二、配置 VNC 使用桌面环境

编辑 ~/.vnc/xstartup:

nano ~/.vnc/xstartup

内容示例(GNOME):

#!/bin/sh
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /usr/bin/gnome-session

赋予执行权限:

chmod +x ~/.vnc/xstartup

三、防火墙放行端口

sudo ufw allow 5901

(5901 对应 :1,5900 对应 :0)


四、Windows / macOS 远程连接 Ubuntu

✅ Windows

使用:

  • RealVNC Viewer
  • TigerVNC Viewer
  • UltraVNC

连接地址:

Ubuntu_IP:5901

✅ macOS

  • 自带「屏幕共享」
  • 或安装 RealVNC Viewer

五、让 VNC 开机自启(systemd)

示例(TigerVNC):

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

内容(简化示例):

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

[Service]
Type=forking
User=你的用户名
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
sudo systemctl start vncserver@1

六、常见问题

❓ 黑屏 / 灰屏

  • 检查 ~/.vnc/xstartup
  • 确认桌面环境已安装
  • 确认 DBUS 正常

❓ 远程很卡

  • 使用 XFCE(更轻量)
  • 关闭桌面特效

❓ 公网访问

  • 强烈建议走 SSH 隧道
ssh -L 5901:localhost:5901 user@ubuntu_ip

然后连接 localhost:5901


七、推荐方案总结

场景 推荐
服务器 TigerVNC + XFCE
已有桌面 x11vnc
公网远程 VNC + SSH
简单替代 XRDP(RDP 协议)

如果你愿意,可以告诉我:

  • ✅ Ubuntu 版本(20.04 / 22.04 / 24.04)
  • ✅ 桌面 or 服务器
  • ✅ Windows / macOS 客户端

我可以给你 最合适的一套完整配置命令。

0 踩