Linux下No more handles [gtk_init_check() failed]

通过SSH Secure Shell连到linux主机,在命令行下启动Java程序,该Java程序调用了SWT的接口,出现异常

org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]

 Linux主机已经默认启动图形界面。

 

网上查找资源,说明是请求不到display资源造成的,在SSH下执行xclock命令,提示

Error: Can't open display: localhost:0

Error: Can't open display: localhost:0

看错误信息,默认使用diplay是0哦.

 

解决办法:

vncserver -kill :1

vncserver :1

export DISPLAY=localhost:1

 

执行xhost,允许其他机器连接,可以输入文字或提示“access control disabled, clients can connect from any host”才正确。

注意vncserver后面有个空格。其实就是display为0的被占用了,换一个做为当前的dispay就行了。

 

 

 

通过SSH Secure Shell执行

./startup.sh

 

可以成功运行,但关闭SSH客户端连接后,程序也自动终止。可以使用下面的命令使程序变为后台进程。

nohup ./startup.sh  &

 SSH客户端关闭后,仍在运行。如果要停止,要先找到其PID,然后kill %pid%

 

查看所有进程,及执行名

ps aux

 

查找java为启动名的进行

ps aux |grep java
 

 

 

 

 

 

 

 

  • 1
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值