惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

MongoDB | Blog
MongoDB | Blog
大猫的无限游戏
大猫的无限游戏
H
Help Net Security
V
Visual Studio Blog
G
Google Developers Blog
Blog — PlanetScale
Blog — PlanetScale
Last Week in AI
Last Week in AI
C
Check Point Blog
D
Docker
M
MIT News - Artificial intelligence
P
Proofpoint News Feed
博客园 - 叶小钗
博客园 - 聂微东
The Cloudflare Blog
云风的 BLOG
云风的 BLOG
Martin Fowler
Martin Fowler
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
酷 壳 – CoolShell
酷 壳 – CoolShell
MyScale Blog
MyScale Blog
WordPress大学
WordPress大学
Engineering at Meta
Engineering at Meta
腾讯CDC
S
SegmentFault 最新的问题
博客园 - 【当耐特】

mephisto.cc

修复rime-ice无法弹出候选框的问题 开机滚动字体显示优化 个人网站安全防护 树莓派上部署Vaultwarden 使用goaccess实时分析Caddy日志 个人网站监控 Hugo全站AVIF记 Linux下尝试使用Godot开发小游戏 Arch linux dae 透明代理 Airflow接管galler-dl下载任务 如何使用gallery-dl批量下载图像 Arch核显下如何愉快玩Dota2和CS2 Arch/labwc 环境网络相关设置 Rime添加dota2词库 Arch 重装记录 Supertuxkart iOS版终于发布了 打造自己的流媒体音乐服务 剪切板管理工具clipcat推荐 MangoHud性能监控 微信小程序开发记 Rofi试用 解决Arch下VSCode无法输入中文的问题 独立窗口管理器下无法录屏问题处理 上海市二手房成交数据监控 OpenLDAP监控 Arch linux如何顺畅连接蓝牙设备 使用Git和Ansible管理配置文件 Arch Linux SSL VPN 客户端配置 简单获取celery任务实时结果 Arch linux下iNode客户端的安装和使用方法
Ubuntu 23.10 钉钉无法启动解决方法
2023-10-18 · via mephisto.cc

上周五升级到 Ubuntu23.10 后,整体很丝滑,也发现了一些小问题:

    1. alacritty + tmux 选择复制,tmux server 崩溃,且是必现,purge 重装后问题解决,旧版本是我自己编译的。
    1. 钉钉无法启动了,这是我始料不及的。

启动报错:

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 分钟 🤷🤷‍♂️)。

为什么是输入"人工",看文档找到的。不信你输入"转人工"试试!半点智能都没有。

过程如下:

dingtalk help
dingtalk dialog
dingtalk response

本来觉得已经提供关键报错信息了,只要对方给 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. 怎么找到方法的

先关键字搜索:

google search

前面几个搜索结果不是很理想,不是删除,就是各种软链接,我怕影响系统稳定性。

直到点开 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 微信客户端垫底,像个残疾一样。