修复Arch Linux和Manjaro Linux无法显示emoji的问题
2024-09-03 14:37:52
安装好Arch Linux或Manjaro Linux系统后默认没办法正常显示emoji,通常会变成方框或者带有unicode码的方块:
这是因为缺失字体以及相关的字体配置导致的。
当然也有一小部分应用没有这个问题(比如Chrome),因为字体是可以在程序里单独设置的,Qt和GTK都有相应的接口,只要设置了正确的字体即可显示emoji。但很多系统程序为了兼容性是没有进行这些设置的,比如文件管理器和终端模拟器。
解决办法:
- 安装emoji字体
- 更新字体配置
首先是安装emoji字体,不考虑aur和自己下载安装字体的话一般会安装这个:noto-fonts-emoji
。自测应该能正常显示所有常见emoji。
安装命令:
sudo pacman -S noto-fonts-emoji
这时应用程序还是不能正常显示emoji的,需要进行第二步更新字体配置。
字体的配置文件在/etc/fonts
目录下,不同系统可能不同,在这个目录下新建local.conf
文件,这个文件里是我们的自定义配置,不要去修改font.conf
文件。
local.conf
里写入下面的内容:
<?xml version="1.0"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<alias>
<family>sans-serif</family>
<prefer>
<family>Noto Sans</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>DejaVu Sans</family>
</prefer>
</alias>
<alias>
<family>serif</family>
<prefer>
<family>Noto Serif</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>DejaVu Serif</family>
</prefer>
</alias>
<alias>
<family>monospace</family>
<prefer>
<family>Noto Mono</family>
<family>Noto Color Emoji</family>
<family>Noto Emoji</family>
<family>DejaVu Sans Mono</family>
</prefer>
</alias>
</fontconfig>
保存文件后使用命令让新配置生效:
fc-cache
更新完配置后需要重启应用才能正常显示emoji(一部分桌面服务需要注销当前用户再次登录才会重启)。推荐可以的话直接重启一下操作系统。
现在可以正常显示emoji了:
参考
https://dev.to/darksmile92/get-emojis-working-on-arch-linux-with-noto-fonts-emoji-2a9
最新文章
- 编译CM13源码添加来去电归属地 SudaMod开源项目,查看commit提交记录
- JFinal 的初始化
- java判断文件是否存在
- Java RMI 框架
- Codeforces Gym 100015C City Driving 离线LCA
- atomic_read
- 使用ptrace向已运行进程中注入.so并执行相关函数
- [翻译]AOP编程
- C#序列化总结
- POJ 2832 How Many Pairs?
- java中的数组二分法
- 关于php-fpm比较重要的几个参数
- [BZOJ 2705] [SDOI 2012] Longge的问题
- Flex布局-容器的属性
- ios7自定义返回按钮后,右滑返回功能失效解决方法
- scala字符串前加s使用$
- 010 处理模型数据(ModelAndView,Map Model,@SessionAttributes)
- js 数组、对象转json 以及 json转 数组、对象
- iframe之父子页面通信
- 在linux下创建自定义service服务
热门文章
- mysql行锁、表锁。乐观锁,悲观锁
- 说出 JDK 1.7 中的三个新特性?
- jsp:useBean报错The value for the useBean class attribute X is invalid
- Python学习--21天Python基础学习之旅(Day05、Day06、Day07)
- 顺利通过EMC实验(7)
- 从问题找原因之CSS浮动清除
- 在一个元素上:hover,改变另一个元素的css属性
- zhilizhili-ui 荡平ie8910 还我前端清净地
- 网络安全—xss
- RedisDesktopManager 连接不上远程 Redis