VNC启动报错A VNC server is already running as :10

VNC启动报错A VNC server is already running as :10

  • 问题描述:

开启vncserver session10
systemctl start vncserver@:10.service

systemctl start vncserver@:10.service

查看vnc 监听状态
netstat -antp | grep 59

netstat -antp | grep 59

session10连接未建立

查看session10状态
systemctl status vncserver@:10.service

systemctl status vncserver@:10.service

● vncserver@:10.service - Remote desktop service (VNC)
Loaded: loaded (/etc/systemd/system/vncserver@:10.service; disabled; vendor preset: disabled)
Active: failed (Result: exit-code) since Mon 2022-11-21 18:14:23 CST; 8s ago
Process: 245741 ExecStart=/usr/bin/vncserver_wrapper user010 %i (code=exited, status=2)
Process: 245733 ExecStartPre=/bin/sh -c /usr/bin/vncserver -kill %i > /dev/null 2>&1 || : (code=exited, status=0/SUCCESS)
Main PID: 245741 (code=exited, status=2)

Nov 21 18:14:23 nj01 systemd[1]: Starting Remote desktop service (VNC)…
Nov 21 18:14:23 nj01 systemd[1]: Started Remote desktop service (VNC).
Nov 21 18:14:23 nj01 vncserver_wrapper[245741]: A VNC server is already running as :10
Nov 21 18:14:23 nj01 vncserver_wrapper[245741]: FATAL: ‘runuser -l user010’ failed!
Nov 21 18:14:23 nj01 systemd[1]: vncserver@:10.service: main process exited, code=exited, status=2/INVALIDARGUMENT
Nov 21 18:14:23 nj01 systemd[1]: Unit vncserver@:10.service entered failed state.
Nov 21 18:14:23 nj01 systemd[1]: vncserver@:10.service failed.

参照网络教程,使用/usr/sbin/lsof -i tcp:5910查看端口占用,无输出

/usr/sbin/lsof -i tcp:5910

找不到进程当然无法kill,使用vncserver -kill :5910也是无效的

  • 问题排查:

vnc的缺省端口是main:5900(C/S)和http:5800(B/S)端口
检查5910端口和5810,无输出
netstat -an | grep 5910
netstat -an | grep 5810

查看vnc端口说明:Linux下的VNC可以同时启动多个vncserver,各个vncserver之间用显示编号(display number)来区分,每个vncserver服务监听3个端口,它们分别是:
5800+显示编号: VNC的httpd监听端口,如果VNC客户端为IE,Firefox等非vncviewer时必须开放。 5900+显示编号: VNC服务端与客户端通信的真正端口,必须无条件开放。
6000+显示编号: X监听端口,可选。

查看6010端口占用情况

/usr/sbin/lsof -i tcp:6010

[root@nj01]$ /usr/sbin/lsof -i tcp:6010
COMMAND PID USER FD TYPE DEVICE SIZE NODE NAME
sshd 19464 root 8u IPv4 143749109 TCP localhost.localdomain:x11-ssh-offset (LISTEN)

确认是sshd占用了6010端口
kill进程后重新开启vnc服务,成功

使用X11 forwording进行图像映射时,在client端(目标机器,即ssh连接的机器)会根据sshd_config中的配置X11DisplayOffset启动对应端口进行转发,配置默认值是10,即启动6010端口进行转发。该端口有时会和Xserver启动的端口冲突,导致Xserver无法启动。
可以通过修改X11DisplayOffset配置来避免冲突。

vim /etc/ssh/sshd_config
X11DisplayOffset 50
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值