news 2026/2/5 15:54:09

【linux】2

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【linux】2

从零配置 VNC 服务:解决“目标计算机积极拒绝”连接问题完整指南


本文记录了在 Linux 服务器(Ubuntu 22.04)上从零配置 TigerVNC 服务的全过程,重点解决客户端连接时出现的错误:

“Unable to connect to socket: 由于目标计算机积极拒绝,无法连接。(10061)”

适用于 Docker 容器、云服务器、本地虚拟机等环境,最终实现通过 TigerVNC Viewer 成功连接图形桌面。


一、环境说明

  • 系统:Ubuntu 22.04 LTS(最小化安装)
  • 用户:root
  • IP 地址:========(内网 IP)
  • VNC 端口:5901(对应显示号 :1)
  • 桌面环境:XFCE4
  • 客户端:Windows 上的 TigerVNC Viewer

二、确认 VNC 服务已安装

首先确认tigervnc-standalone-server已安装:

aptupdate&&aptinstall-y tigervnc-standalone-server

三、设置 VNC 密码

运行以下命令设置密码(首次运行会提示输入):

vncserver

密码将保存在/root/.vnc/passwd,无需重复设置。


四、配置 xstartup 脚本

编辑~/.vnc/xstartup文件:

nano~/.vnc/xstartup

确保内容如下:

#!/bin/shunsetSESSION_MANAGERunsetDBUS_SESSION_BUS_ADDRESSexecstartxfce4

赋予执行权限:

chmod+x ~/.vnc/xstartup

五、启动 VNC 服务并绑定到所有网络接口

vncserver -kill :12>/dev/null vncserver -localhost no :1 -geometry 1280x720 -depth24

-localhost no:允许外部连接
-geometry:设置分辨率
-depth:设置颜色深度


六、检查服务是否正常运行

psaux|grepvnc

输出示例:

root 8320 0.0 0.0 245704 67956 ? Ss 13:24 0:00 /usr/bin/Xtigervnc :1 -localhost=0 -desktop 760inpb4plcdq-0:1 (root) -rfbport 5901 -PasswordFile /root/.vnc/passwd -SecurityTypes VncAuth,TLSVnc -auth /root/.Xauthority -geometry 1280x720 -depth 24

检查端口监听状态:

netstat-tlnp|grep:5901

正常输出应包含:

tcp 0 0 0.0.0.0:5901 0.0.0.0:* LISTEN 8320/Xtigervnc

七、安装 XFCE 桌面环境(如未安装)

aptupdate&&aptinstall-y xfce4 xfce4-goodies

验证安装:

whichstartxfce4

应输出:

/usr/bin/startxfce4

八、查看 VNC 服务日志

tail-f ~/.vnc/760inpb4plcdq-0:5901.log

常见错误:

  • Session startup via '/root/.vnc/xstartup' cleanly exited too early (< 3 seconds)!
    → 检查xstartup脚本是否正确。

  • ImportError: libQt5Core.so.5: cannot open shared object file: No such file or directory
    → 无关紧要,不影响 VNC 服务运行。


九、测试最简模式(xterm)

如果桌面环境启动失败,可先测试最简模式:

vncserver -kill :1 vncserver -localhost no :1 -geometry 1280x720 -depth24-xstartup /usr/bin/xterm

在客户端连接localhost:5901,应看到终端窗口。


十、解决“目标计算机积极拒绝”连接问题

10.1 确认客户端与服务器在同一子网

在 Windows 上运行:

ipconfig

确保你的 IP 与服务器在同一网段(如10.31.26.x)。


10.2 尝试使用 SSH 隧道连接(推荐)

在 Windows 上运行:

ssh -L 5901:localhost:5901 root@10.31.==.===

然后在 VNC 客户端连接:

localhost:5901

10.3 使用 x11vnc 替代 TigerVNC(终极方案)

安装x11vnc

aptinstall-y x11vnc

设置密码:

x11vnc -storepasswd /root/.vnc/passwd

启动服务:

x11vnc -display :1 -passwd /root/.vnc/passwd -localhost no -forever -shared -rfbport5901

在客户端连接localhost:5901,即可看到桌面。


十一、配置开机自启(可选)

方法一:使用 crontab

编辑 root 的 crontab:

crontab-e

添加:

@reboot /root/startvnc.sh

创建启动脚本:

nano/root/startvnc.sh

内容:

#!/bin/bashvncserver -kill :12>/dev/null vncserver -localhost no :1 -geometry 1280x720 -depth24

赋予执行权限:

chmod+x /root/startvnc.sh

十二、安全建议

  • 使用强密码;
  • 不要开放 5901 端口到公网;
  • 推荐使用 SSH 隧道连接;
  • 如需公网访问,建议配置 TLS 加密或使用反向代理。

十三、常见问题排查

13.1 “Connection refused” 或 “Connection timed out”

  • 检查netstat -tlnp | grep :5901是否监听0.0.0.0:5901
  • 检查防火墙是否放行 5901 端口;
  • 检查客户端与服务器是否在同一子网。

13.2 “Session startup via ‘/root/.vnc/xstartup’ cleanly exited too early”

  • 检查xstartup脚本是否正确;
  • 确保startxfce4命令存在;
  • 尝试最简模式测试。

13.3 “libQt5Core.so.5: cannot open shared object file”

  • 无关紧要,不影响 VNC 服务运行;

  • 可忽略或安装qt5-default解决:

    aptinstall-y qt5-default

十四、总结

本文从零开始配置 VNC 服务,解决“目标计算机积极拒绝”连接问题,最终实现通过 TigerVNC Viewer 成功连接图形桌面。

关键步骤:

  1. 安装 TigerVNC;
  2. 设置密码;
  3. 配置xstartup脚本;
  4. 启动服务并绑定到所有网络接口;
  5. 安装 XFCE 桌面环境;
  6. 使用x11vnc作为终极解决方案;
  7. 配置开机自启;
  8. 安全建议。

附:常用命令速查表

功能命令
启动 VNC 服务vncserver -localhost no :1 -geometry 1280x720 -depth 24
杀死 VNC 服务vncserver -kill :1
检查端口监听`netstat -tlnp
查看 VNC 日志tail -f ~/.vnc/760inpb4plcdq-0:5901.log
安装 XFCEapt install -y xfce4 xfce4-goodies
安装 x11vncapt install -y x11vnc
启动 x11vncx11vnc -display :1 -passwd /root/.vnc/passwd -localhost no -forever -shared -rfbport 5901

本文适用于 Ubuntu 22.04 系统,其他版本请根据实际情况调整命令。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/3 16:04:25

基于SpringBoot与Web的数学库组卷系统设计与实现

一、项目背景与意义 在数学教学与测评中&#xff0c;传统试卷编制存在效率低、题型重复率高、难度把控不准等问题&#xff0c;尤其在中小学教育阶段&#xff0c;教师需花费大量时间筛选题目、调整难度、排版试卷。基于SpringBoot的数学库组卷系统&#xff0c;通过构建标准化题…

作者头像 李华
网站建设 2026/2/3 23:27:33

攻防视角下的网络安全检测技术全景:核心原理与主动防御实践

一&#xff0c;网络安全漏洞 安全威胁是指所有能够对计算机网络信息系统的网络服务和网络信息的机密性&#xff0c;可用性和完整性产生阻碍&#xff0c;破坏或中断的各种因素。安全威胁可分为人为安全威胁和非人为安全威胁两大类。 1&#xff0c;网络安全漏洞威胁 漏洞分析的…

作者头像 李华
网站建设 2026/2/3 3:56:43

告别投稿秒拒!虎贲等考 AI:解锁期刊论文高效发表新姿势

还在为期刊论文投稿反复碰壁&#xff1f;熬了数月写就的论文&#xff0c;却因格式不规范被 desk rejection 秒拒&#xff1b;好不容易改完格式&#xff0c;又因文献引用不权威、论证缺乏数据支撑被审稿人打回&#xff1b;更头疼的是&#xff0c;AI 生成痕迹明显&#xff0c;直接…

作者头像 李华
网站建设 2026/2/4 5:52:37

基于Simulink的对等控制微电网功率分配仿真

目录 手把手教你学Simulink 一、引言&#xff1a;为什么需要“风光储协调运行”&#xff1f; 二、系统整体架构 三、关键模块1&#xff1a;风光储物理建模&#xff08;Simscape Electrical&#xff09; 1. 光伏系统 2. 永磁直驱风机 3. 锂电池储能 四、关键模块2&#x…

作者头像 李华
网站建设 2026/2/3 13:55:50

深度学习框架目标检测算法 如何使用Yolov8_训练JPEGWD焊缝焊接缺陷检测数据集,钢材缺陷数据集及塑料焊缝缺陷数据集的训练及应用 这里以yolov8模型训练塑料焊缝数据集为准作为参考 (1)

深度学习框架目标检测算法 如何使用Yolov8_训练焊缝焊接缺陷检测数据集&#xff0c;钢材缺陷数据集及塑料焊缝缺陷数据集的训练及应用。 这里以训练塑料焊缝数据集为参考。 训练数据集都是一样的&#xff0c;配置好环境&#xff0c;设置好训练路径&#xff0c;就可以操作了。 …

作者头像 李华