【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 系统,其他版本请根据实际情况调整命令。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1168615.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

企业级厨艺交流平台管理系统源码|SpringBoot+Vue+MyBatis架构+MySQL数据库【完整版】

摘要 随着餐饮行业的快速发展&#xff0c;企业对厨艺交流的需求日益增长。传统的线下交流方式受限于时间和空间&#xff0c;难以满足企业级用户的高效协作需求。数字化厨艺交流平台的构建成为解决这一问题的有效途径。企业级厨艺交流平台管理系统通过整合厨艺资源、优化交流流程…

vue基于Python 员工满意度调查与预测系统 flask django Pycharm

这里写目录标题项目介绍项目展示详细视频演示感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff08;免费咨询指导选题&#xff09;&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多的人技术栈文章下方名片联系我即可~解决的思路…

第三方软件测试测评机构【解决LoadRunner脚本回放时出现的Abort、Stop和Pause问题】

LoadRunner脚本回放时出现的Abort、Stop和Pause问题&#xff0c;是阻碍性能测试执行的主要障碍。这些问题一般指向脚本思路、运行时环境或服务器交互中的深层故障。 基础排查 开始前&#xff0c;请先进行以下基本检查&#xff1a; 网络和端口连通性&#xff1a;保证负载生成器…

Java版LeetCode热题100之「合并 K 个升序链表」详解

Java版LeetCode热题100之「合并 K 个升序链表」详解 本文约9200字&#xff0c;全面深入剖析 LeetCode 第23题《合并 K 个升序链表》。涵盖题目解析、三种解法&#xff08;顺序合并、分治合并、优先队列&#xff09;、复杂度分析、面试高频问答、实际开发应用场景、相关题目推荐…

基于SpringBoot+Vue的学生评奖评优管理系统管理系统设计与实现【Java+MySQL+MyBatis完整源码】

摘要 随着教育信息化的不断深入&#xff0c;学生评奖评优管理工作的数字化需求日益凸显。传统的人工评选方式效率低下&#xff0c;容易出现数据遗漏或统计错误&#xff0c;且缺乏透明度和公平性。为解决这一问题&#xff0c;设计并实现一套基于SpringBootVue的学生评奖评优管理…

计算机网络安全从入门到精通:核心概念、防护技术与学习路径全解析(附资料)

一、网络安全原理 网络安全包含两大部分内容&#xff1a;一是网络系统安全&#xff0c;二是网络上的信息安全。它涉及网络系统的可靠性、稳定性&#xff0c;以及网络上信息的保密性、完整性、可用性、真实性和可控性等。 网络系统安全&#xff1a;指保证信息处理和传输系统的…

网络安全其实很简单!零基础就能读懂的五大关键技术,彻底颠覆你的认知

网络安全技术是保护网络不受未经授权访问、破坏或盗取信息的重要手段。以下是五种零基础也能看懂的网络安全技术&#xff1a; 1.防火墙技术&#xff1a;防火墙是一种网络安全设备&#xff0c;用于监控和控制进入或离开网络的流量。它可以识别不安全的数据包&#xff0c;并阻止…

语音_图像_视频信号的域

一、音频信号的域 1.时域 声音信号的幅度随着时间的变化2.频域 将音频信号的时域信号通过傅里叶变化&#xff0c;得到声音喜好的幅频关系3.时频域4.复频域5.倒谱域 通过对数功率谱的逆傅里叶变换得到&#xff0c;用于分离激励源和滤波器效应&#xff08;如语音信号中的声门激励…

Python+Vue的基于hive的网络电视剧推荐系统django Pycharm flask

这里写目录标题项目介绍项目展示详细视频演示感兴趣的可以先收藏起来&#xff0c;还有大家在毕设选题&#xff08;免费咨询指导选题&#xff09;&#xff0c;项目以及论文编写等相关问题都可以给我留言咨询&#xff0c;希望帮助更多的人技术栈文章下方名片联系我即可~解决的思路…

01. 配置DHCP服务器

配置DHCP 先给server和client加一个VMnet1(仅主机模式) 同时因为我们自己要配dhcp,所以要把vmnet1的dhcp关掉 配置DHCP服务流程 1. 先配置一个固定的ip地址 [rootserver ~ 20:08:57]# nmcli connection NAME UUID TYPE …

网络安全保姆级入门:手把手带你掌握五大核心技术,小白无压力上手!

网络安全技术是保护网络不受未经授权访问、破坏或盗取信息的重要手段。以下是五种零基础也能看懂的网络安全技术&#xff1a; 1.防火墙技术&#xff1a;防火墙是一种网络安全设备&#xff0c;用于监控和控制进入或离开网络的流量。它可以识别不安全的数据包&#xff0c;并阻止…

国产测试用例管理工具横评:从敏捷协同到企业级管控的四大解决方案

国产测试用例管理工具横评&#xff1a;从敏捷协同到企业级管控的四大解决方案 在数字化转型浪潮下&#xff0c;软件研发效能已成为企业核心竞争力。作为DevOps流程中的关键环节&#xff0c;测试用例管理工具的选择直接影响着产品质量与交付效率。当前国内市场上&#xff0c;Git…

网络安全防护全景指南:一张图理清从核心策略到关键技术的完整体系

1&#xff1a;网络基础知识 Internet通过TCP/IP协议将遍布在全世界各地的计算机互联&#xff0c;从而形成超大的计算机网络。 2&#xff1a; 3&#xff1a;网络协议层模型 4&#xff1a;通信网络地址的发出点为源地址&#xff0c;接收点为目的地址&#xff1b; 在通信网络中&…

vue基于Python 自动办公OA系统 flask django Pycharm

收藏关注不迷路&#xff01;&#xff01;需要的小伙伴可以发链接或者截图给我 项目介绍 随着信息技术的快速发展&#xff0c;企业管理的不断优化&#xff0c;办公自动化系统在现代企业中得到了广泛应用。OA办公自动化系统作为一种集成了员工管理、文件管理、流程管理等功能的综…

构筑稳固防线:网络安全防护核心技术体系详解(从原理到最佳实践)

1&#xff1a;网络基础知识 Internet通过TCP/IP协议将遍布在全世界各地的计算机互联&#xff0c;从而形成超大的计算机网络。 2&#xff1a; 3&#xff1a;网络协议层模型 4&#xff1a;通信网络地址的发出点为源地址&#xff0c;接收点为目的地址&#xff1b; 在通信网络中&…

vue基于Python基于协同过滤算法的图书推荐系统 flask django Pycharm

收藏关注不迷路&#xff01;&#xff01;需要的小伙伴可以发链接或者截图给我 项目介绍 随着科技的进步&#xff0c;数字化转型成为各行各业的发展趋势。图书销售系统作为图书产业与数字技术相结合的产物&#xff0c;有助于推动整个图书产业向数字化转型。这种转型不仅可以使图…

Java版LeetCode热题100之「LRU 缓存」详解

Java版LeetCode热题100之「LRU 缓存」详解 本文约9200字&#xff0c;全面深入剖析 LeetCode 第146题《LRU 缓存》。涵盖题目解析、哈希表双向链表解法、复杂度分析、面试高频问答、实际开发应用场景、相关题目推荐等&#xff0c;助你彻底掌握缓存淘汰算法的核心实现技巧。 一、…

02. 配置DNS服务器

配置服务流程&#xff1a; 注意&#xff1a;/etc/hosts 只适合小规模的集群**、静态的主机名解析场景**&#xff0c;在中大型集群或动态环境中存在明显局限。 /etc/hosts 是 Linux/Unix 系统中一个静态的主机名 - IP 地址映射文件 &#xff0c;作用是实现本地主机名解析&…

Gitee的AI战略转型:中国开源生态的智能化跃迁

Gitee的AI战略转型&#xff1a;中国开源生态的智能化跃迁 中国开源生态正在经历一场由AI技术驱动的深刻变革。作为国内领先的代码托管平台&#xff0c;Gitee近期推出的"模力方舟"战略标志着其从基础代码托管服务向AI增强型工程效率平台的全面升级。这一转型不仅体现…

Java版LeetCode热题100之「K 个一组翻转链表」详解

Java版LeetCode热题100之「K 个一组翻转链表」详解 本文约9200字&#xff0c;全面深入剖析 LeetCode 第25题《K 个一组翻转链表》。涵盖题目解析、模拟解法&#xff08;含子链表反转&#xff09;、复杂度分析、面试高频问答、实际开发应用场景、相关题目推荐等&#xff0c;助你…