You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多
文档控制台
免费开始使用

Ubuntu 22.04下Tilix/Guake等终端无法显示emoji的排查指南请求及问题详述

Ubuntu 22.04下Tilix/Guake等终端无法显示emoji的排查指南请求及问题详述

真的快搞疯了!我在完全更新的Ubuntu 22.04上,所有终端都没法正常渲染emoji,但浏览器(这倒是意料之中)、LibreOffice甚至Emacs里的shell都能正常显示emoji,唯独终端不行。

我已经做了这些排查:

  • 检查了locale,是en_GB.UTF-8,确认正常
  • fc-list "MesloLGS NF Regular"以及其他通过apt安装的支持emoji的字体(比如fonts-noto-color-emojifonts-emojione)都能查到,字体确实已安装
  • 重建过fc-cache字体缓存

我做了个对比测试:在Emacs的shell和终端窗口(试过Tilix、Guake、GNOME Terminal 3.44.0)里运行相同的命令,结果都一致,直到cat我的测试文件时出现差异:

Emacs shell里显示:
Hello World 
终端里显示:
Hello World

其实emoji字符是存在的,只是在终端里显示成了空白(我知道这点是因为把它复制到浏览器里能正常显示,为了演示我特意把它去掉了)。

按照建议,我运行了od -c emoji_test.txt,输出是:

0000000   H   e   l   l   o       W   o   r   l   d     360 237 230 204
0000020  \n

测试用的emoji十六进制码应该是😄,1F604转成八进制是373004,这部分我确认是正确的。

而且不管用什么shell(zsh、bash甚至sh),结果都完全一样。

我当前使用的libcairo2版本是1.16.0-5ubuntu2,在.config/fontmanager/conf.d目录下也有指向Noto Color Emoji的配置文件。

我肯定是在某个地方犯了低级错误,但实在找不到问题所在,有没有大佬能给个排查指南帮我定位问题?

备注:内容来源于stack exchange,提问作者rolandw

火山引擎 最新活动