湖南麒麟系统非正常关机导致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
相关推荐
前方一片光明6 分钟前
SQL SERVER——通过计划任务方式每月对配置数据、审计数据等进行备份
运维·服务器
TFATS10 分钟前
Nvidia H100 算力服务器 Cuda Fabric Manager 升级
服务器·postgresql·fabric
企微自动化13 分钟前
如何有效规避企业微信的自动化风控检测
运维·自动化·企业微信
小嘟嘟1315 分钟前
Kurator深度解析:云原生多集群管理的高效解决方案
linux·运维·docker·云原生·自动化
韩曙亮20 分钟前
【错误记录】VirtualBox 中安装 Ubuntu 系统无法跨虚拟机进行复制操作 ( 解决方案 - 启用 “ 共享粘贴板 “、“拖动“ 双向操作 )
linux·运维·ubuntu·virtualbox·ros 2
老王熬夜敲代码22 分钟前
IO重定向
linux·笔记
大柏怎么被偷了22 分钟前
【Linux】重定向与应用缓冲区
linux·服务器·算法
金海境科技24 分钟前
【服务器数据恢复】数据中心私有云Ceph分布式集群文件丢失数据恢复案例
服务器·经验分享·分布式·ceph
dodod201225 分钟前
Ubuntu24.04.3执行sudo apt install yarnpkg 命令失败的原因
java·服务器·前端
刘一说29 分钟前
GeoServer:开源GIS服务器的技术深度解析与OGC标准实践
运维·服务器·开源