安装报错:Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]

【问题描述】

调用图形化界面安装数据库时报如下错误:

解压安装程序..........
No protocol specified
Exception in thread "main" org.eclipse.swt.SWTError: No more handles [gtk_init_check() failed]
    at org.eclipse.swt.SWT.error(SWT.java:4109)
    at org.eclipse.swt.widgets.Display.createDisplay(Display.java:902)
    at org.eclipse.swt.widgets.Display.create(Display.java:890)
    at org.eclipse.swt.graphics.Device.(Device.java:154)
    at org.eclipse.swt.widgets.Display.(Display.java:499)
    at org.eclipse.swt.widgets.Display.(Display.java:490)
    at org.eclipse.swt.widgets.Display.getDefault(Display.java:1693)
    at org.eclipse.swt.widgets.Shell.(Shell.java:260)
    at org.eclipse.swt.widgets.Shell.(Shell.java:358)
    at org.eclipse.jface.window.Window.createShell(Window.java:487)
    at org.eclipse.jface.window.Window.create(Window.java:430)
    at org.eclipse.jface.dialogs.Dialog.create(Dialog.java:1089)
    at org.eclipse.jface.window.Window.open(Window.java:790)
    at com.dameng.install.ui.MainApplication.run(Unknown Source)
    at com.dameng.install.ui.MainApplication.main(Unknown Source)

【问题原因】

当前操作系统的登录用户应该无图形界面权限,如果在当前会话中启用图形界面需要将图形界面权限放开。

【问题解决】

  • 确认当前操作系统环境安装有图形界面,切换到 root 用户后在命令行中输入 xhost +,可以使得 dmdba 可以调用图形界面进行安装。

  • 可尝试使用 ./DMInstall.bin -i 命令,通过字符界面进行安装。