温馨提示×

Ubuntu VNC如何与远程服务器配合使用

小樊
41
2025-09-23 00:26:36
栏目: 云计算

Ubuntu VNC与远程服务器配合使用的完整流程

1. 准备工作

确保远程Ubuntu服务器已联网,且具备sudo权限(用于安装软件和修改系统配置)。远程服务器需安装图形界面(若未安装,可通过sudo apt install ubuntu-desktop安装Ubuntu默认桌面,或sudo apt install xfce4安装轻量级XFCE桌面)。

2. 安装VNC服务器

推荐使用TigerVNC(性能优)或TightVNC(轻量),以下以TigerVNC为例:
打开终端,执行以下命令更新软件包并安装:

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

3. 配置VNC密码

首次运行VNC服务器时需设置访问密码(仅用于VNC连接,与系统用户密码无关):

vncpasswd 

按照提示输入密码(至少6位),确认后密码会加密保存至~/.vnc/passwd

4. 自定义桌面启动配置

编辑~/.vnc/xstartup文件(若不存在则创建),指定启动的桌面环境(如GNOME、XFCE),避免黑屏问题:

nano ~/.vnc/xstartup 
  • GNOME桌面(Ubuntu默认):粘贴以下内容:
    #!/bin/sh export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME export XDG_CONFIG_DIRS=/etc/xdg/xdg-ubuntu:/etc/xdg exec /etc/X11/Xsession ubuntu-xsession 
  • XFCE桌面(轻量推荐):粘贴以下内容:
    #!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 

保存文件后,赋予可执行权限:

chmod +x ~/.vnc/xstartup 

5. 启动VNC服务器

通过vncserver命令启动服务,指定显示号(如:1,对应端口号5901:2对应5902,依此类推):

vncserver :1 -geometry 1920x1080 -depth 24 
  • -geometry:设置远程桌面分辨率(如1920x1080);
  • -depth:设置颜色深度(如24位,支持真彩色)。
    启动后,终端会显示VNC服务状态(如New 'X' desktop is your_server_ip:1)。

6. 设置开机自启动(可选但推荐)

通过systemd创建服务文件,实现VNC服务器随系统启动:

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

粘贴以下内容(替换<USER>为你的Ubuntu用户名,:1为显示号):

[Unit] Description=Start TigerVNC server at startup After=syslog.target network.target [Service] Type=forking User=<USER> WorkingDirectory=/home/<USER> ExecStartPre=/usr/bin/vncserver -kill :%i > /dev/null 2>&1 ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24 ExecStop=/usr/bin/vncserver -kill :%i Restart=on-failure [Install] WantedBy=multi-user.target 

保存后,执行以下命令启用并启动服务:

sudo systemctl daemon-reload sudo systemctl enable vncserver@1.service sudo systemctl start vncserver@1.service 

7. 配置防火墙

若远程服务器启用了UFW(Ubuntu默认防火墙),需允许VNC端口通过:

sudo ufw allow 5901/tcp # :1对应5901端口,:2对应5902,依此类推 sudo ufw reload 

8. 连接VNC服务器

在本地计算机(Windows/macOS/Linux均可)安装VNC客户端(如TightVNC ViewerRealVNC ViewerRemmina),输入以下地址连接:

<远程服务器IP>:1 

(例如:192.168.1.100:1
连接后,输入之前设置的VNC密码,即可远程访问Ubuntu服务器的桌面。

9. 增强安全性(必做)

VNC默认传输未加密,建议通过SSH隧道加密通信,防止密码泄露或数据被窃取:
在本地计算机终端执行以下命令(替换<USER>为远程服务器用户名,<服务器IP>为远程服务器IP):

ssh -L 5901:localhost:5901 <USER>@<服务器IP> 
  • -L:表示本地端口转发(将本地的5901端口映射到远程服务器的localhost:5901);
  • 执行后,本地终端会保持连接状态(可按Ctrl+C终止)。
    此时,在VNC客户端中输入localhost:1,即可通过SSH隧道安全连接远程VNC服务器。

常见问题排查

  • 黑屏或无响应:检查~/.vnc/xstartup文件是否正确配置了桌面环境,确保文件有可执行权限(chmod +x ~/.vnc/xstartup);查看VNC日志(cat ~/.vnc/*.log)定位错误。
  • 连接被拒绝:确认VNC服务正在运行(ss -tulnp | grep vnc),防火墙是否放行端口(sudo ufw status)。
  • 密码错误:通过vncpasswd命令重新设置密码(需停止VNC服务:vncserver -kill :1)。

0