Centos8/window下kettle不能连接资源库出现白屏等问题的解决方案

在CentOS下,我本来安装的也是Kettle8.3,不过点击connect却一直报错:

一个未预期的错误发生在Spoon: probable cause:在停止Spoon前,请先关闭其它spoon窗口!

No more handles because no underlying browser available.

  SWT on GTK 2.x detected. It is reccomended to use SWT on GTK 3.x and Webkit2 API.

org.eclipse.swt.SWTError: No more handles because no underlying browser available.

  SWT on GTK 2.x detected. It is reccomended to use SWT on GTK 3.x and Webkit2 API.

at org.eclipse.swt.SWT.error(SWT.java:4621)

at org.eclipse.swt.browser.Browser.(Browser.java:128)

at org.pentaho.di.ui.core.dialog.ThinDialog.createDialog(ThinDialog.java:77)

at org.pentaho.di.ui.repo.dialog.RepositoryDialog.openManager(RepositoryDialog.java:104)

at org.pentaho.di.ui.repo.menu.RepositoryConnectMenu$2$2.widgetSelected(RepositoryConnectMenu.java:180)

at org.eclipse.swt.widgets.TypedListener.handleEvent(TypedListener.java:252)

at org.eclipse.swt.widgets.EventTable.sendEvent(EventTable.java:89)

at org.eclipse.swt.widgets.Display.sendEvent(Display.java:5797)

at org.eclipse.swt.widgets.Widget.sendEvent(Widget.java:1374)

at org.eclipse.swt.widgets.Display.runDeferredEvents(Display.java:5051)

at org.eclipse.swt.widgets.Display.readAndDispatch(Display.java:4583)

at org.pentaho.di.ui.spoon.Spoon.readAndDispatch(Spoon.java:1384)

at org.pentaho.di.ui.spoon.Spoon.waitForDispose(Spoon.java:7949)

at org.pentaho.di.ui.spoon.Spoon.start(Spoon.java:9331)

at org.pentaho.di.ui.spoon.Spoon.main(Spoon.java:710)

at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)

at java.lang.reflect.Method.invoke(Method.java:498)

at org.pentaho.commons.launcher.Launcher.main(Launcher.java:92)

所以我就尝试使用kettle7.1点击connect出现

Nomore handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]

org.eclipse.swt.SWTError:No more handles [Unknown Mozilla path (MOZILLA_FIVE_HOME not set)]

atorg.eclipse.swt.SWT.error(SWT.java:4109)

atorg.eclipse.swt.browser.Mozilla.initMozilla(Mozilla.java:1672)

atorg.eclipse.swt.browser.Mozilla.create(Mozilla.java:637)

atorg.eclipse.swt.browser.Browser.(Browser.java:119)

atorg.eclipse.ui.internal.browser.BrowserViewer.(BrowserViewer.java:225)

.......

继续搜索,应该是调用不了浏览器,因为我想起在window上kettle的欢迎界面是直接在kettle里显示,而在centos下则是在浏览器中打开。

分析:从eclipse的官网大概知道:内置游览器要想在linux上跑有这两方面的依赖:

Webkit和Xulrunner

检查一下系统的/usr/lib下面确实没有xulrunneryyu

于是在https://developer.mozilla.org/en-US/docs/Gecko_SDK下载xulrunner-sdk

得到一个这样的文件:xulrunner-3.6.28.en-US.linux-i686.sdk.tar.bz2解压一下

cd xulrunner-sdk/bin

./xulrunner–register-global //注册一下xulrunner

重新启动一下eclipse,这时它的内置游览器就应该可用了。

这时重新删除MOZILLA_FIVE_HOME环境变量,内置游览器仍然可用,

说明MOZILLA_FIVE_HOME这个环境变量不是靠手动来设置的,而是系统内部已经设定好的。

在之前一篇博客我有介绍安装kettle,在那时我就安装了Webkit,所以现在只需安装xulrunner

这里下载了最新的安装包,但是不能运行,不知道是什么原因,考虑到他是ubuntu,我是centos,还是会有差异

根据系统的版本,下载xulrunner

下载地址:

http://ftp.mozilla.org/pub/mozilla.org/xulrunner/nightly/2012/03/2012-03-02-03-32-11-mozilla-1.9.2/xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar.bz2?cm_mc_uid=08168416471414670141294&cm_mc_sid_50200000=1497942238

或者

http://ftp.mozilla.org/pub/xulrunner/releases/latest/sdk/

得到一个这样的文件:xulrunner-1.9.2.28pre.en-US.linux-x86_64.tar解压一下

//注册一下xulrunner

./xulrunner –register-global

重启一下kettle程序,再试connect,可以了。

这里我是访问第一个下载地址直接下载了xulrunner解压,然后注册,可以运行。

之后重启kettle,点击connect,发现可以跳出界面了,但是白屏

又搜索之,按照这位大佬的方法:https://blog.csdn.net/ws379374000/article/details/88884656

cd data-integration/ui

vim menubar.xul

在31行加入

这里其实相当于自己开了一个入口,现在可以点击左上角文件—>openZiyuanku,进入资源库连接了

安装pdi8.0版本

修改spoon.sh,将

将export SWT_GTK3=0配置改为export SWT_GTK3=1即可解决这个问题。

(最后一句话是重点,一定要加上)

你可能感兴趣的:(Centos8/window下kettle不能连接资源库出现白屏等问题的解决方案)