Ubuntu 23.10 钉钉无法启动解决方法
上周五升级到 Ubuntu23.10 后,整体很丝滑,也发现了一些小问题:
-
- alacritty + tmux 选择复制,tmux server 崩溃,且是必现,purge 重装后问题解决,旧版本是我自己编译的。
-
- 钉钉无法启动了,这是我始料不及的。
启动报错:
1➜ files ./Elevator.sh
2ubuntu
3ubuntu branch
4preload_libs=
5./com.alibabainc.dingtalk: symbol lookup error: /lib/x86_64-linux-gnu/libcairo.so.2: undefined symbol: FT_Get_Color_Glyph_Layer
先看看 libcairo.so
什么情况,正常:
1➜ x86_64-linux-gnu ls -al libcairo.so*
2lrwxrwxrwx 1 root root 13 Sep 24 06:39 libcairo.so -> libcairo.so.2
3lrwxrwxrwx 1 root root 21 Sep 24 06:39 libcairo.so.2 -> libcairo.so.2.11800.0
4-rw-r--r-- 1 root root 1334120 Sep 24 06:39 libcairo.so.2.11800.0
5➜ x86_64-linux-gnu pwd
6/lib/x86_64-linux-gnu
7➜ x86_64-linux-gnu
阿里那么大的企业,官方既然提供 deb 包,主流发行版升级的时候,最起码的测试都不做,实在是无法理解。更加要命的是,找个反馈渠道都困难,以前我是在桌面端登录的,里面有个反馈问题入口,也反馈过一些双屏和退出不正常的问题,差不多算解决了(不能期望太高)。
这次桌面端登录不了,只能去 iOS 端反馈问题。 入口在"我的">"客服与帮助">"在线客服"(滑到最底下,生怕人找到 🤮)> 输入"人工"(排队等 16 分钟 🤷🤷♂️)。
为什么是输入"人工",看文档找到的。不信你输入"转人工"试试!半点智能都没有。
过程如下:
本来觉得已经提供关键报错信息了,只要对方给 Linux 客户端同学看看,不出意外肯定能解决,没想到还要我录屏写邮件,提供版本号。
我不禁想问,难道阿里没有使用 Ubuntu 的同学吗?测试集最起码要包含下主流系统吧...
看错误提示,感觉不是很复杂,于是尝试自己解决,求人不如求己,解决方法如下:
1. 找到目标目录
1➜ 7.1.0-Release.31011 pwd
2/opt/apps/com.alibabainc.dingtalk/files/7.1.0-Release.31011
2. 移走/删除目标.so
文件
移走/删除目标.so
文件(建议 mv,万一这个操作方法不行,还可以复原)
1➜ 7.1.0-Release.31011 mv libfreetype.so.6* ~
2mv: cannot remove 'libfreetype.so.6': Permission denied
3mv: cannot remove 'libfreetype.so.6.16.1': Permission denied
4➜ 7.1.0-Release.31011 sudo mv libfreetype.so.6* ~
5[sudo] password for mephisto:
3. 测试
测试启动正常:
1➜ ~ /opt/apps/com.alibabainc.dingtalk/files/Elevator.sh
2ubuntu
3ubuntu branch
4preload_libs=
5Run Main is_gpu=0 is_zygote=0 is_render=0 cmd : ./com.alibabainc.dingtalk
6[2023/10/18 14:17:09:ERROR:gray_sdk_manager.cpp(118)] [gray_sdk] GraySdkManager::IsGraySdkStarted uninitialized
7[2023/10/18 14:17:09:WARNING:gray_sdk_manager.cpp(208)] [gray_sdk] GraySdkManager::GetGraySwitch module:cspace key:calendar_jsapi_cross_platform
8[2023/10/18 14:17:09:ERROR:gray_sdk_manager.cpp(118)] [gray_sdk] GraySdkManager::IsGraySdkStarted uninitialized
9[2023/10/18 14:17:09:WARNING:gray_sdk_manager.cpp(208)] [gray_sdk] GraySdkManager::GetGraySwitch module:mail key:enable_mail_navigation_notify_button
10[2023/10/18 14:17:09:ERROR:gray_sdk_manager.cpp(118)] [gray_sdk] GraySdkManager::IsGraySdkStarted uninitialized
11[2023/10/18 14:17:09:WARNING:gray_sdk_manager.cpp(208)] [gray_sdk] GraySdkManager::GetGraySwitch module:cspace key:change_memo_color_mac_38596632
12[2023/10/18 14:17:09:INFO:gray_switch_lemon.cpp(456)] [gray_sdk] auto route to before login interface, module:general,key:enable_dingpan_sync_20220606_common
13[2023/10/18 14:17:09:ERROR:gray_sdk_manager.cpp(118)] [gray_sdk] GraySdkManager::IsGraySdkStarted uninitialized
14[2023/10/18 14:17:09:WARNING:gray_sdk_manager.cpp(208)] [gray_sdk] GraySdkManager::GetGraySwitch module:general key:enable_dingpan_sync_20220606_common
15...... 此处省略一万行
4. 怎么找到方法的
先关键字搜索:
前面几个搜索结果不是很理想,不是删除,就是各种软链接,我怕影响系统稳定性。
直到点开 arch wiki, 报错都一模一样,只是换了个软件名而已。
- 方法就是找到问题
.so
文件,不让 dingtalk 读到
这样就不会使用钉钉的libfreetype.so
(此时,使用系统自带的 libfreetype.so,系统的各种 .so
文件之间不会存在兼容问题,毕竟自己人), 也就不会触发钉钉和系统依赖库不兼容的问题。
FT_Get_Color_Glyph_Layer
是个什么鬼
是 OpenType fonts 获取一些基础信息用的, 参考 文档
-
Glyph Layer
大模型解释「Glyph Layer」通常是指在图形设计或字体排版中,用于表示文字或符号的图层。在字体排版中,每个字形(glyph)都可以被视为一个独立的对象,这些对象被放在各自的图层上,这就是所谓的「Glyph Layer」。这样可以让排版更加灵活,更容易进行编辑和修改。在设计软件中,例如 Adobe Illustrator 或 QuarkXPress,都有关于图层的设置,可以让用户对每个单独的元素进行分层编辑和管理。
怎么感觉和图片的各种图层操作差不多,不得不说大模型适合理解各种概念,比自己搜查理解快。
题外话,此次升级飞书是没有任何问题的。钉钉的 Linux 客户端还有进步空间,只能说不是最差的,毕竟 Linux 微信客户端垫底,像个残疾一样。
版权申明:
- 未标注来源的内容全部为原创,未经授权请勿转载(因转载后排版往往错乱、内容不可控、无法持续更新等);
- 非营利为目的,演绎本博客任何内容,请以'原文出处'或者'参考链接'等方式给出本站相关网页地址(方便读者)。
相关文章:
- Ubuntu开机启动加速
- Ubuntu手动升级Libreoffice
- Ubuntu设置alacritty为默认终端
- Ubuntu 22.10连接蓝牙耳机报错br-connection-profile-unavailable解决方法
- Ubuntu安装微信(Ubuntu install Wechat)
- Ubuntu连接AirPods耳机
- Ubuntu 切换系统语言
- Ubuntu更改登录壁纸
- PNG图片批量转换为webp
- Ubuntu源码安装最新版本git