CentOS VNC实现远程协作的完整步骤
确保CentOS系统已更新至最新版本,并安装必要的桌面环境(若未安装):
sudo yum update -y
sudo yum groupinstall "X Window System" "GNOME Desktop" -y # GNOME桌面(默认)
# 或 sudo yum groupinstall "X Window System" "KDE Plasma Workspaces" -y # KDE桌面(可选)
使用yum安装TigerVNC(CentOS推荐的VNC服务器):
sudo yum install tigervnc-server -y
运行以下命令设置VNC访问密码(至少6位,区分大小写):
vncpasswd
密码将加密保存在~/.vnc/passwd文件中(非系统用户密码)。
复制默认VNC服务模板,修改为用户专属配置(以your_username替换为实际用户名):
sudo cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
sudo vim /etc/systemd/system/vncserver@:1.service
将User=和Group=修改为实际用户名及组名(如User=root改为User=your_username),并调整ExecStart参数(设置分辨率和颜色深度):
[Service]
Type=forking
User=your_username
Group=your_groupname
WorkingDirectory=/home/your_username
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver -depth 24 -geometry 1920x1080 :%i # 1920x1080分辨率,24位色深
ExecStop=/usr/bin/vncserver -kill :%i
保存并退出编辑器。
若需自定义桌面环境(如GNOME),编辑~/.vnc/xstartup文件:
vim ~/.vnc/xstartup
注释掉默认的xterm和twm行,添加桌面环境启动命令(以GNOME为例):
unset SESSION_MANAGER
unset DBUS_SESSION_BUS_ADDRESS
exec /etc/X11/xinit/xinitrc # 或 exec gnome-session # GNOME桌面
赋予文件可执行权限:
chmod +x ~/.vnc/xstartup
重新加载Systemd配置,启动VNC服务并设置开机自启:
sudo systemctl daemon-reload
sudo systemctl start vncserver@:1.service # :1对应显示编号1(端口5901)
sudo systemctl enable vncserver@:1.service
允许VNC端口(默认5900+显示编号,如:1对应5901)通过防火墙:
sudo firewall-cmd --permanent --add-port=5901/tcp # 永久开放端口
sudo firewall-cmd --reload # 重新加载防火墙规则
在远程计算机上安装VNC客户端(如RealVNC Viewer、TightVNC Viewer或Remmina),输入以下地址连接:
<服务器IP地址>:5901 # 如192.168.1.100:5901
输入之前设置的VNC密码即可远程控制桌面。
在客户端执行SSH反向隧道命令(将本地5901端口映射到服务器5901端口):
ssh -L 5901:localhost:5901 your_username@your_server_ip
然后在VNC客户端中连接localhost:5901,实现加密传输。
为每个用户分配不同显示编号(如:2对应5902),重复上述步骤(修改服务文件中的Display编号),并确保每个用户的~/.vnc/xstartup文件配置正确。
sudo systemctl status vncserver@:1.service)、密码是否正确。~/.vnc/xstartup文件配置正确(如GNOME桌面需取消注释exec gnome-session),并赋予可执行权限。ExecStart中的-geometry参数(如1280x800),重启VNC服务。