湖南麒麟系统非正常关机导致VNC启动失败原因分析

1、故障描述

掉电后,启动vncserver无法启动,或启动后连接vncserver黑屏

2、影响范围

非正常关机流程的机器

3、故障处理过程

第一次开机后vncserver服务无法正常启动,使用restart手动也无法拉起。按照现场人员提醒使用reboot命令重启机器后,服务可以使用restart手动拉起,但断电时间过长(超过20min)后vncserver无法启动问题会复现。

将rc.local中与vncserver相关内容全部注释之后,服务仍然无法正常启动,查看相应日志可以发现vncserver认为存在该类型文件进而退出。

4、原因定位

强制断电,vncserver未正常退出。导致/tmp/.X11-unix/X[0-9]文件以及/root/.vnc/*.pid文件残留,后续启动若存在该类型文件则会认定已存在相应的vncserver,则会退出。

定位之前,发现rc.local有存在删除相应文件的内容

这样做会引发以下问题:

1.rc.local和vncserver@1/2的启动顺序没有关联,可能vncserver启动失败后才执行rc.local中rm相关操作

2.若问题1中vncserver@1/2启动在前,后续执行rc.local时删除/tmp/.X11-unix/X*和/root/.vnc/*.pid并restart vncserver,由于删除pid文件这vncserver中ExecStop不能正确停掉相应的vncserver进程会导致有残留的vnc服务在运行,导致后续流程错误。

5、解决方案

删除/注释掉rc.local中对于掉电前相应缓存文件清理以及restart vncserver

使用tmpfiles.d确保在vncserver启动之前清理掉电前的缓存文件。

新建/lib/tmpfiles.d/vncserver.conf文件,

文件内容如下

bash 复制代码
rm -rf  /tmp/.X11-unix/X*
rm -rf  /root/.vnc/*.pid
rm -rf  /root/.vnc/*.log
相关推荐
樱桃花下的小猫12 小时前
Rust 服务器倍率参数配置指南
服务器·云鸢互联·零门槛一键搭建·新手友好无技术门槛要求·腐蚀rust服务器一键开服·腐蚀rust·腐蚀rust低延迟稳定服务器
深藏bIue12 小时前
MySQL切换服务器数据迁移记录
服务器·mysql·oracle
云智慧AIOps社区13 小时前
轻帆云ITSM|制造业智能化转型,从流程重构看 IT 服务管理发展新趋势
运维·自动化·aiops·智能运维·itsm平台·it服务管理系统
闵孚龙13 小时前
Claude Code 技能系统全解析:AI Agent 自定义能力、SKILL.md、MCP 扩展、上下文预算与企业级自动化落地
运维·人工智能·自动化
corpse201013 小时前
CentOS Linux release 8.5.2111下的CVE-2026-31431 Linux内核提权漏洞处置
linux·运维·centos
我是苏苏13 小时前
C#基础:Winform桌面开发中自定义组件UI、属性及事件
服务器·数据库·c#
http阿拉丁神猫13 小时前
ansible脚本解读
服务器·ansible·apache
KaMeidebaby13 小时前
卡梅德生物技术快报|Fab 抗体文库构建标准化实验流程与数据复盘
服务器·前端·数据库·人工智能·算法
小船跨境13 小时前
演唱会自动化抢票如何提高成功率?票务住宅IP与配置指南
运维·服务器
楼兰公子13 小时前
《深入理解Linux网络技术内幕》全套学习资料合集
linux·网络·应用·驱动