Linux桌面环境中应用程序无法启动图形交互界面

现象:

点击永中office或者金山office快捷图标无法启动对应的程序。

从命令行执行对应的程序则提示

按照提示安装组件

再次执行命令行程序

原因探析:

/opt/Yozosoft/Yozo_Office/Yozo_Writer.bin: error while loading shared libraries: libgdk-x11-2.0.so.0: cannot open shared object file: No such file or directory

从名称上看"libgdk-x11-2.0.so.0"是一个GTK+的图形用户接口共享库,如果没有这个library,程序的图形界面将不可启动。

/opt/Yozosoft/Yozo_Office/Yozo_Writer.bin: symbol lookup error: /lib64/libharfbuzz.so.0: undefined symbol: FT_Get_Transform

从提示信息看是差按照符号链接错误,FT_Get_Transform 代表了 C++ 中的Transform类函数,get_transforms()函数多用于进行矢量型图像转换。经查询,发现libharfbuzz.so.0是一个用于渲染字体的共享库。综合这两点可猜测,office套件图形界面此时启动失败,是因为OS用于渲染矢量字体的library和程序运行所需的版本不匹配。Linux中使用freetype共享库实现矢量字体显示,依次可查看freetype共享库信息。查看当前OS 中freetype共享库的信息:

对比发现,OS中Java的freetype共享库版本为libfreetype.so、 而永中office中Java的freetype共享库版本为libfreetype.so.6。由于OS中的Java环境一定为全局变量,因此选择修改永中office中Java环境freetype共享库文件为libfreetype.so。

推导性结论:

大部分Linux桌面环境中的应用程序都基于QT或QT+开发或者基于jvm虚拟机运行,必定会依赖OS中的矢量图像渲染组件freetype共享库,因此除永中office、金山office外,kettel的桌面版也可能存在这个现象。

相关推荐
前端精髓3 分钟前
调用大模型API
运维·服务器·microsoft
跨境小彭1 小时前
Temu 全托管模式下,SKU 利润核算的实践复盘
大数据·运维·人工智能·自动化·temu
李纲明1 小时前
WordPress 定时发布不跑、备份邮件延误:先核 WP-Cron 触发与回环,再改系统 Cron
运维·wordpress·定时任务·devdiy·wp-cron
chushiyunen1 小时前
autoHotKey、windows自动化快捷键工具
运维·windows·自动化
逆风的蚂蚁2 小时前
linux服务器性能调整怎么落地?我把 CPU 调度、I/O 优先级和内核参数这几个旋钮都拧了一遍
linux·运维·服务器
ESDWAN2 小时前
企业网络监控应该监测哪些目标?网关、网络节点还是业务系统?
服务器·网络·php
mennekes2 小时前
临时用电线路标识:插头颜色、钟面标识配套规范
运维·网络·科技·安全·制造
发光小北3 小时前
EtherNet/IP 转 ModbusTCP 网关现场应用中会遇到什么问题?
服务器·网络·tcp/ip
程序猿老A4 小时前
轻量云服务器总是卡,内存占比高?
运维·服务器
一只鹿鹿鹿5 小时前
智算算力、AI-芯片与产品解析(PPT文件)
大数据·运维·网络·人工智能·物联网·1024程序员节