TightVNC Server 与 TigerVNC Viewer 安装使用详解
TightVNC 和 TigerVNC 都是 VNC 协议的优秀实现。TightVNC 服务端轻量且兼容性好,适合在服务器或资源有限的设备上部署;而 TigerVNC 客户端(
tigervnc-viewer)响应迅速、连接稳定,是目前 Linux 下体验最好的 VNC 客户端之一。下面是一份在 Ubuntu/Debian 系统上的完整教程,涵盖从服务端搭建到客户端连接的每一步。
博主博客
第一部分:服务端安装与配置 (tightvncserver)
假设你需要在远程 Linux 主机上开启 VNC 服务。
1. 安装 tightvncserver
打开终端,更新软件包列表并安装服务端程序:
sudo apt update
sudo apt install tightvncserver
2. 设置 VNC 密码
首次运行前,需要先设置连接密码。执行以下命令并按提示操作(密码最长 8 位):
vncpasswd
系统会提示输入并确认密码,并询问是否设置一个仅查看的密码(选 n 即可)。
3. 启动 VNC 服务
启动一个虚拟桌面会话。:1 代表显示编号,对应端口 5901(5900 + 显示编号)。
vncserver :1 -geometry 1920x1080 -depth 24
-geometry:指定分辨率,可根据需要调整。-depth:指定色彩深度,24为真彩色。
4. 配置桌面环境 (解决黑屏问题)
如果启动后客户端连接看到的是灰屏或黑屏,通常是因为默认的 xstartup 配置文件没有启动图形界面。我们需要修改该文件,让它启动你喜欢的桌面环境(如 xfce4 或默认的 gnome)。
首先,停止刚才启动的服务:
vncserver -kill :1
编辑配置文件 ~/.vnc/xstartup:
nano ~/.vnc/xstartup
将文件内容替换为以下示例(以启动轻量的 xfce4 为例,安装 xfce4 需执行 sudo apt install xfce4):
#!/bin/bash
xrdb $HOME/.Xresources
startxfce4 &
如果使用 Ubuntu 默认的 GNOME,可以改为:
#!/bin/bash
export XKL_XMODMAP_DISABLE=1
export XDG_CURRENT_DESKTOP="GNOME-Flashback:Unity"
export XDG_MENU_PREFIX="gnome-flashback-"
unset DBUS_SESSION_BUS_ADDRESS
gnome-session --session=gnome-flashback-metacity --disable-acceleration-check &
保存文件后,赋予执行权限:
chmod +x ~/.vnc/xstartup
重新启动 VNC 服务:
vncserver :1 -geometry 1920x1080
第二部分:客户端安装与连接 (tigervnc-viewer)
现在,在你用来控制远程电脑的本机电脑上安装客户端。
1. 安装 tigervnc-viewer
在 Ubuntu/Debian 下,执行以下命令安装客户端:
sudo apt update
sudo apt install tigervnc-viewer
注:在 Windows 或 macOS 下,可以去官网下载 RealVNC Viewer 或 TigerVNC 的二进制版本。
2. 发起远程连接
方式一:终端命令
打开终端,输入以下命令连接:
vncviewer 192.168.1.100:1
这里 192.168.1.100 替换为你的服务器 IP,:1 对应端口 5901。
方式二:图形界面
在应用菜单中找到 “TigerVNC Viewer”,在弹出的地址栏中输入 服务器IP:5901 或 服务器IP:1,点击连接,输入之前设置的密码即可。
第三部分:进阶配置与优化
1. 设置开机自启
如果希望服务器重启后 VNC 自动启动,可以创建 systemd 服务。
创建服务文件:
sudo nano /etc/systemd/system/[email protected]
粘贴以下内容(注意将 <USER> 替换为你的用户名):
[Unit]
Description=Start TightVNC server at startup
After=syslog.target network.target
[Service]
Type=forking
User=<USER>
Group=<USER>
WorkingDirectory=/home/<USER>
PIDFile=/home/<USER>/.vnc/%H:%i.pid
ExecStartPre=-/usr/bin/vncserver -kill :%i > /dev/null 2>&1
ExecStart=/usr/bin/vncserver :%i -geometry 1920x1080 -depth 24
ExecStop=/usr/bin/vncserver -kill :%i
[Install]
WantedBy=multi-user.target
重载配置并启用服务:
sudo systemctl daemon-reload
sudo systemctl enable [email protected]
sudo systemctl start [email protected]
2. 安全加固:通过 SSH 隧道连接
直接暴露 VNC 端口(5901)存在安全隐患。推荐使用 SSH 隧道加密连接。
在你本地的电脑终端执行(无需单独运行 vncviewer 命令):
ssh -L 5901:localhost:5901 username@your_server_ip
保持这个 SSH 连接窗口打开。
打开另一个终端或 VNC 客户端,连接地址输入 localhost:1。此时流量已通过 SSH 加密转发。
3. 防火墙配置
如果连接不上,检查服务器防火墙是否放行了相应端口:
sudo ufw allow 5901/tcp
4. 管理 VNC 会话
- 查看当前运行中的会话:
vncserver -list - 终止指定会话:
vncserver -kill :1
常见问题排查
- 黑屏:通常是
~/.vnc/xstartup配置不正确或未安装桌面环境,请参考步骤 4 修正。 - 连接拒绝:确认服务已启动,防火墙已放行,且端口映射正确。
- 密码错误:使用
vncpasswd重新设置密码。
TightVNC Server 与 TigerVNC Viewer 安装使用详解
https://blog.uso6.com/archives/tightvnc-server-yu-tigervnc-viewer-an-zhuang-shi-yong-xiang-jie
评论