温馨提示×

如何在ubuntu上使用tigervnc远程控制

小樊
42
2025-11-29 04:52:41
栏目: 智能运维

在 Ubuntu 上使用 TigerVNC 远程控制的完整步骤

一 环境准备与安装

  • 更新索引并安装 TigerVNC(桌面环境请提前安装,如未安装可先装 ubuntu-desktopxfce4):
    • sudo apt update
    • sudo apt install -y tigervnc-standalone-server tigervnc-common
  • 设置 VNC 访问密码(会在 ~/.vnc/passwd 保存):
    • vncpasswd(建议仅设操作密码,不启用仅查看密码)
  • 端口说明:显示编号 :1 对应端口 5901:2 对应 5902,以此类推

二 配置桌面环境与 xstartup

  • 若未生成配置目录,可先执行一次 vncserver 再 kill 掉,生成 ~/.vnc
    • vncserver
    • vncserver -kill :1
  • 编辑 ~/.vnc/xstartup,按所用桌面选择其一(务必 chmod +x ~/.vnc/xstartup):

Xfce(轻量稳定,推荐)

  • #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4

GNOME(Ubuntu 默认)

  • #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS [ -x /etc/vnc/xstartup ] && exec /etc/vnc/xstartup [ -r $HOME/.Xresources ] && xrdb $HOME/.Xresources xsetroot -solid grey vncconfig -iconic & x-terminal-emulator -geometry 80x24+10+10 -ls -title “$VNCDESKTOP Desktop” & gnome-session &

三 启动与防火墙

  • 启动会话(示例:显示编号 :1,分辨率 1920x1080,颜色深度 24):
    • vncserver :1 -geometry 1920x1080 -depth 24
  • 如仅监听本地导致外部连不上,使用:
    • vncserver :1 -localhost no
  • 查看/结束会话:
    • vncserver -list
    • vncserver -kill :1
  • 防火墙放行(UFW):
    • sudo ufw allow 5901/tcp && sudo ufw reload

四 客户端连接与加密方式

  • 直连(明文,适合内网):在客户端输入 服务器IP:5901(或 IP:1
  • 推荐通过 SSH 隧道加密(更安全,适合公网/云主机):
    • 本地端口转发:ssh -L 5901:127.0.0.1:5901 用户名@服务器IP
    • 客户端连接:localhost:5901(或 localhost:1

五 常见问题与开机自启

  • 连接超时/被拒绝(仅监听 127.0.0.1):启动时加 -localhost no
  • 黑屏/灰屏:确认已安装桌面环境(如 ubuntu-desktopxfce4),并使用对应 xstartup
  • 开机自启(systemd 模板,按需修改用户名与分辨率/色彩深度):
    • 新建:sudo nano /etc/systemd/system/vncserver@.service

    • 示例内容: [Unit] Description=Start TigerVNC server at startup After=syslog.target network.target

      [Service] Type=forking User=你的用户名 Group=你的用户名 WorkingDirectory=/home/你的用户名 PIDFile=/home/你的用户名/.vnc/%H:590%i.pid ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 -localhost :%i ExecStop=/usr/bin/vncserver -kill :%i

      [Install] WantedBy=multi-user.target

    • 启用与启动:

      • sudo systemctl daemon-reload
      • sudo systemctl enable --now vncserver@1.service
  • 多用户映射(可选,Ubuntu 22.04 常见做法):
    • 编辑 /etc/tigervnc/vncserver.users,添加如::1=用户名(将显示编号与系统用户对应)

0