在 Linux 上安装和配置 VNC(Virtual Network Computing)可以让你远程访问图形化桌面环境。以下是详细的安装和配置步骤,适用于主流 Linux 发行版(如 Ubuntu、CentOS、Debian 等)。
1. 安装 VNC 服务器
Ubuntu/Debian
sudo apt update
sudo apt install tigervnc-standalone-server tigervnc-common -y
 
CentOS/RHEL
sudo yum install tigervnc-server -y
 
Fedora
sudo dnf install tigervnc-server -y
 
Arch Linux
sudo pacman -S tigervnc
 
2. 设置 VNC 密码
运行以下命令设置 VNC 访问密码(至少 6 位):
vncpasswd
 
密码会保存在 ~/.vnc/passwd(加密存储)。
⚠️ 注意:此密码仅用于 VNC 连接,不是系统用户密码。
3. 配置 VNC 服务器
(1)创建 VNC 配置文件
nano ~/.vnc/config
 
添加以下内容(示例配置):
geometry=1920x1080  # 分辨率
depth=24            # 颜色深度(16/24/32)
localhost=no        # 允许远程连接
alwaysshared=yes    # 允许多用户同时连接
 
(2)选择桌面环境
编辑 ~/.vnc/xstartup 文件,指定要启动的桌面环境(如 GNOME、KDE 或 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
 
KDE Plasma
#!/bin/sh
exec startplasma-x11
 
保存后赋予可执行权限:
chmod +x ~/.vnc/xstartup
 
4. 启动 VNC 服务器
vncserver :1 -geometry 1920x1080 -depth 24
 
:1表示显示编号(端口号为5901,:2对应5902,依此类推)。- 关闭 VNC 服务:
vncserver -kill :1 
5. 配置防火墙(如果需要)
Ubuntu/Debian(UFW)
sudo ufw allow 5901/tcp
sudo ufw reload
 
CentOS/RHEL(Firewalld)
sudo firewall-cmd --add-port=5901/tcp --permanent
sudo firewall-cmd --reload
 
6. 连接 VNC
使用 VNC 客户端(如 TigerVNC、RealVNC 或 Remmina)连接:
- 地址: 
<你的IP>:5901(例如192.168.1.100:5901) - 密码: 之前通过 
vncpasswd设置的密码。 
7. 设置 VNC 开机自启动(可选)
Systemd 服务(推荐)
创建服务文件:
sudo nano /etc/systemd/system/vncserver@.service
 
粘贴以下内容(替换 <USER> 为你的用户名):
[Unit]
Description=Start TigerVNC server at startup
After=syslog.target network.target[Service]
Type=forking
User=<USER>
ExecStart=/usr/bin/vncserver :1 -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :1
Restart=on-failure[Install]
WantedBy=multi-user.target
 
启用并启动服务:
sudo systemctl daemon-reload
sudo systemctl enable vncserver@1.service
sudo systemctl start vncserver@1.service
 
8. 常见问题
(1)黑屏或无响应
- 确保 
~/.vnc/xstartup文件正确配置了桌面环境。 - 检查日志:
cat ~/.vnc/*.log 
(2)连接被拒绝
- 确认 VNC 服务正在运行:
ss -tulnp | grep vnc - 检查防火墙是否放行端口。
 
(3)提高安全性
- SSH 隧道加密(推荐):
然后在 VNC 客户端中连接ssh -L 5901:localhost:5901 user@your-server-iplocalhost:5901。 
总结
| 步骤 | 命令/操作 | 
|---|---|
| 安装 VNC | sudo apt install tigervnc-standalone-server | 
| 设置密码 | vncpasswd | 
| 配置桌面 | 编辑 ~/.vnc/xstartup | 
| 启动服务 | vncserver :1 | 
| 防火墙 | sudo ufw allow 5901/tcp | 
| 开机自启 | systemctl enable vncserver@1 | 
通过以上步骤,你可以轻松在 Linux 上搭建 VNC 远程桌面环境。如果需要更安全的访问,建议结合 SSH 隧道使用。