使用 putty 远程启动 linux 服务器时 echarts 图形无法导出
在 linux 服务器上将润乾报表的应用部署在了自己的 tomcat 上,echarts 导出也按照文档里讲的步骤把插件配置好了。
如果启动 tomcat 是直接在 linux 上启动,那么导出没有问题。
在 windows 中通过 putty 远程启动 linux 上的 Tomcat 服务器后,echarts 图导出 excel 时图就显示不出来了, 显示空白。
tomcat 后台日志显示:
INFO: 计算 echarts:Gecko error:it seems /usr/bin/firefox is not compatible with SlimerJS.
See Gecko version compatibility.If version is correct,launch slimerjs with –debug=true to see Firefox error message
如果用其他工具连接 linux 启动 tomcat,也无法导出 echarts 图,错误一样。
急求高手能帮忙解决下!
如果 linux 上启动 tomcat 能正常导出带 echarts 图,证明部署操作是正确的,这个错误看上去可能是版本问题,实际上是,echarts 图形导出时是 firefox 浏览器通过 slimerjs 将 echarts 图先转换成一个图片然后导出,这样就要求有一个图形界面(类似 windows)去支持这个 firefox 解析的操作。
linux 上启动 tomcat 能够导出是默认将图形界面设置到了本台机器,能找到环境,而通过远程工具 putty 启动时,无法找到图形环境变量,所以无法导出,可以通过 export 命令查看下 DISPLAY 变量,看下这个值,putty 中多半看不到这个值。
解决办法:由于必须要要有一个图形界面,所以这个是前提:
一:如果 linux 能启动自带的图形界面,那么可以在 linux 上启动 tomcat
二:如果使用 putty 等工具,那么在启动 tomcat 前,先设置个环境变量 export DISPLAY=:0.0, 将环境界面设到 linux,具体 DISPLAY 的值,先在 linux 上通过 export 命令查看下。
三:目前链接 linux 好多用 xshell 工具,该工具一般是通过安装 xmanager 后产生的,xmanager 本身会虚拟一个 linux 的图形界面,所以用 xshell 启动 tomcat 后,echarts 图能够导出,但是将 xshell 关闭后,就无法导出了,错误信息和楼主的一样,主要是因为关闭后就找不到 xmanager 这个界面了,所以导出 echarts 异常,解决办法见二,还是要设置下变量。
如果 linux 没有自带的图形界面,那么就要在 windows 上装个虚拟界面,类似 xmanager,然后用 xshell 连接 linux 启动 tomcat,但是此时要注意 xshell 要保持链接状态,否则会出现之前说的第三种情况,解决办法也要按照三里说的,但是 linux 本身没有图形界面,那么需要将这个 DISPLAY 设置到 xmanager 机器。