记vnc重启后端口占用的坑

389 阅读2分钟

大家好,我是90后程序员奶爸!在尝试求变的路上,迈出第一步!

昨天银河麒麟服务器重启后一切看似正常,但还是有意想不到的问题发生了。

问题描述

关闭可视化确实解决了内存占用异常的问题,但运维人员还是需要使用kattel处理数据。

想着临时打开vnc来启用下kattel。

结果缺发现 vnc一直启动不了,发现只有vncserver :0无法启动,

其他1,2,3,4 都可以正常启动

排查过程

ps -ef | grep -i vnc | grep -v grep

通过命令行发现 vnc :0 并没有启动,但是启动就提示 已存在

[root@testdb ~]# sudo ss -tulpn | grep :5900

查看端口  发现默认端口没有被占用

[root@testdb ~]# vncserver :0
 
Warning: testdb:0 is taken because of /tmp/.X1-lock
Remove this file if there is no X server testdb:0
A VNC server is already running as :0

启动0 但是又报错。

根据提示删除对应的文件做尝试

[root@testdb ~]# rm -f /tmp/.X1-lock
 
启动尝试,仍然报错
[root@testdb ~]# vncserver :1
 
Warning: testdb:1 is taken because of /tmp/.X11-unix/X1
Remove this file if there is no X server testdb:1
A VNC server is already running as :1
 
同样,按照提示的错误,进一步删除/tmp/.X11-unix/X1文件
[root@testdb ~]# rm -f /tmp/.X11-unix/X1

一般来说做了这两部应该就没问题了,但我这边还不行。

解决方案

由于我这边 堡垒机指定访问端口是5900,而现在5900端口默认的是 vnc:0。

想着既然端口没有被占用,那不如改变vncserver的默认端口。

vi vncserver

把 5900+i 改为 5899+i  。这样启动 vncserver :1 默认端口就变成了 5900。

这样改变后 重启果然就成功了。