阅读量:16
一、前置准备
- 服务器要求:确保Linux服务器已联网,具备root或sudo权限;建议安装图形界面(如Ubuntu Desktop、CentOS GNOME),若为无头服务器需提前安装桌面环境(如
sudo apt install xfce4)。 - 客户端要求:准备一台Windows/macOS/Linux客户端,下载TigerVNC Viewer(官网或应用商店获取)。
二、服务器端安装TigerVNC Server 根据Linux发行版选择对应命令安装:
- Ubuntu/Debian:
sudo apt update && sudo apt install tigervnc-standalone-server tigervnc-xorg-extension -y - CentOS/RHEL/Fedora:
sudo yum install tigervnc-server -y # CentOS 7及以下 sudo dnf install tigervnc-server -y # CentOS 8+/Fedora
三、配置VNC密码
在服务器上切换至需要远程登录的用户(如ubuntu),运行以下命令设置密码(最多8位,区分大小写):
vncpasswd
输入密码后确认,密码会加密保存至~/.vnc/passwd(与系统密码无关)。
四、定制桌面启动配置
-
编辑xstartup文件(关键步骤,决定远程桌面环境):
打开用户目录下的.vnc/xstartup文件:nano ~/.vnc/xstartup根据桌面环境修改内容(以下为常见配置):
- XFCE(轻量级,推荐):
#!/bin/sh unset SESSION_MANAGER unset DBUS_SESSION_BUS_ADDRESS exec startxfce4 & - GNOME(Ubuntu默认):
#!/bin/sh export GNOME_SHELL_SESSION_MODE=ubuntu export XDG_CURRENT_DESKTOP=ubuntu:GNOME exec /etc/X11/Xsession ubuntu-xsession & - KDE Plasma:
#!/bin/sh exec startplasma-x11 &
保存后赋予执行权限:
chmod +x ~/.vnc/xstartup - XFCE(轻量级,推荐):
-
创建系统服务(实现开机自启):
以用户ubuntu、显示编号:1(对应端口5901)为例,复制模板并修改:sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service sudo nano /etc/systemd/system/vncserver@:1.service将
替换为实际用户名(如ubuntu),修改ExecStart行(添加分辨率、颜色深度):[Service] Type=forking User=ubuntu Group=ubuntu WorkingDirectory=/home/ubuntu ExecStartPre=/usr/bin/vncserver -kill :1 > /dev/null 2>&1 || : ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24 -localhost no ExecStop=/usr/bin/vncserver -kill :1 PIDFile=/home/ubuntu/.vnc/%H:1.pid [Install] WantedBy=multi-user.target保存后重载systemd并启动服务:
sudo systemctl daemon-reload sudo systemctl enable vncserver@:1.service # 开机自启 sudo systemctl start vncserver@:1.service # 立即启动
五、配置防火墙允许访问
- Ubuntu(UFW):
sudo ufw allow 5901/tcp # 5901是:1对应的端口(5900+显示编号) sudo ufw reload - CentOS(Firewalld):
sudo firewall-cmd --permanent --add-port=5901/tcp sudo firewall-cmd --reload - 临时关闭防火墙(测试用,生产环境不推荐):
sudo systemctl stop firewalld # CentOS sudo ufw disable # Ubuntu
六、客户端连接
- 在客户端打开TigerVNC Viewer,在地址栏输入:
服务器IP:5901 # 如192.168.1.100:5901 - 输入步骤三中设置的VNC密码,点击“OK”。
- 连接成功后,即可看到远程Linux桌面(如XFCE、GNOME界面)。
七、常见问题排查
- 黑屏问题:检查
~/.vnc/xstartup文件是否有语法错误,确保桌面环境命令正确(如startxfce4而非xfce4-session);若仍黑屏,尝试删除~/.vnc目录下所有文件(除xstartup外)并重启服务。 - 无法连接:确认服务器IP正确,防火墙已放行端口;使用
netstat -tulnp | grep 5901检查服务是否监听端口。 - 密码错误:通过
vncpasswd重新设置密码,确保密码长度≥6位。
八、进阶优化(可选)
- SSH隧道加密(提升安全性):在客户端执行以下命令,将VNC流量通过SSH加密传输:
然后在VNC Viewer中连接ssh -L 5901:localhost:5901 -N -f -l 服务器用户名 服务器IPlocalhost:5901。 - 调整性能:在
vncserver命令中添加-depth 16(降低颜色深度)或-compresslevel 9(提高压缩比),适合网速较慢的环境。 - 共享桌面:若需共享当前用户的已有桌面(而非新建虚拟桌面),修改
vncserver命令为vncserver :1 -localhost no -geometry 1920x1080 -depth 24 -alwaysshared yes。