安装好Arch Linux或Manjaro Linux系统后默认没办法正常显示emoji,通常会变成方框或者带有unicode码的方块:

这是因为缺失字体以及相关的字体配置导致的。

当然也有一小部分应用没有这个问题(比如Chrome),因为字体是可以在程序里单独设置的,Qt和GTK都有相应的接口,只要设置了正确的字体即可显示emoji。但很多系统程序为了兼容性是没有进行这些设置的,比如文件管理器和终端模拟器。

解决办法:

  1. 安装emoji字体
  2. 更新字体配置

首先是安装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

最新文章

  1. 编译CM13源码添加来去电归属地 SudaMod开源项目,查看commit提交记录
  2. JFinal 的初始化
  3. java判断文件是否存在
  4. Java RMI 框架
  5. Codeforces Gym 100015C City Driving 离线LCA
  6. atomic_read
  7. 使用ptrace向已运行进程中注入.so并执行相关函数
  8. [翻译]AOP编程
  9. C#序列化总结
  10. POJ 2832 How Many Pairs?
  11. java中的数组二分法
  12. 关于php-fpm比较重要的几个参数
  13. [BZOJ 2705] [SDOI 2012] Longge的问题
  14. Flex布局-容器的属性
  15. ios7自定义返回按钮后,右滑返回功能失效解决方法
  16. scala字符串前加s使用$
  17. 010 处理模型数据(ModelAndView,Map Model,@SessionAttributes)
  18. js 数组、对象转json 以及 json转 数组、对象
  19. iframe之父子页面通信
  20. 在linux下创建自定义service服务

热门文章

  1. mysql行锁、表锁。乐观锁,悲观锁
  2. 说出 JDK 1.7 中的三个新特性?
  3. jsp:useBean报错The value for the useBean class attribute X is invalid
  4. Python学习--21天Python基础学习之旅(Day05、Day06、Day07)
  5. 顺利通过EMC实验(7)
  6. 从问题找原因之CSS浮动清除
  7. 在一个元素上:hover,改变另一个元素的css属性
  8. zhilizhili-ui 荡平ie8910 还我前端清净地
  9. 网络安全—xss
  10. RedisDesktopManager 连接不上远程 Redis