xzutils 的图标是一把扳手叠在齿轮上,橙色调,线条粗犷。第一次看到它是在一个搞嵌入式开发的朋友的笔记本上,他桌面文件乱七八糟,唯独这个图标被固定在 Dock 栏第一位。我问那是什么,他说“你装个就知道了”。后来我在一台旧 ThinkPad 上跑了 apt install xz-utils,才发现这玩意儿早就躺在系统里,只是我从没注意过它的图标长什么样。
大多数人接触 xzutils,是通过 .xz 后缀的压缩包。下载内核源码、拉取某些 Docker 镜像层、解压 tar 归档,命令行里敲下 tar -xf 的时候,背后干活的往往就是它。但图标这件事,其实挺尴尬的——xzutils 是一组命令行工具的集合,包括 xz、xzdec、xzless、xzmore 这些,它们本身没有统一的图形界面,自然也没有官方指定的图标。你在 GNOME 或 KDE 里看到的那个扳手齿轮图,多半是发行版打包者自己配的,或者某个图标主题作者顺手画的。
我翻过 Debian 的软件包文件列表,xz-utils 的 /usr/share/icons 目录下空空如也。Fedora 那边也差不多。真正让这个图标有了“存在感”的,反而是第三方归档管理器。比如 Xarchiver、File Roller 在识别到 .xz 文件时,会调用一个通用压缩图标,有时候是拉链,有时候是箱子,偶尔才轮到扳手齿轮出场。这种不一致本身就说明了一个问题:xzutils 的视觉身份从来没有被认真对待过。
这倒不奇怪。xzutils 的作者 Lasse Collin 是个典型的底层程序员,他关心的是压缩率、内存占用、线程调度,不是像素对齐。xz 格式的核心是 LZMA2 算法,压缩比能甩 gzip 好几条街,但解压时需要的内存也大得多。嵌入式设备上跑 xz 解压,经常因为内存不够直接 OOM。这种工具天生属于终端,图标对它来说更像一件不合身的西装。
不过话说回来,一个工具没有官方图标,不代表它没有视觉符号。在不少技术博客和教程里,xzutils 经常被画成一个橙色的六边形,里面写着“xz”两个字母。这个设计来源不明,可能是某位设计师在 Dribbble 上的练习稿,被反复转载后成了事实标准。我试过用 Google 图片搜“xzutils icon”,排在前面的除了扳手齿轮,就是这种橙底白字的六边形。两者风格差得很远,但都有人用。
去年我在一个开源图标库的项目里提过 issue,建议给 xzutils 补一个统一的图标。维护者的回复很直接:命令行工具不需要图标,需要图标的是那些有 GUI 的压缩软件。这话有一定道理,但也不全对。现在连 htop、neofetch 都有像样的图标了,xzutils 作为基础工具链的一环,缺一个视觉标识,多少有点说不过去。
如果你现在打开自己的 Linux 系统,在 /usr/share/icons 下搜“xz”,大概率什么也找不到。但你可以试试 xdg-icon-resource 或者直接看 .xz 文件的 MIME 类型关联。在 GNOME 的默认主题 Adwaita 里,application-x-xz 对应的图标是一个灰色的压缩包,上面叠了一个小小的“xz”角标。这个设计很克制,不仔细看根本注意不到。我觉得这反而更接近 xzutils 的气质——它不抢眼,但一直在后台干活,压缩率摆在那里,用的人自然懂。
说到底,xzutils 的图标问题,本质上是命令行工具在图形桌面环境里身份模糊的一个缩影。你可以给它画一把扳手,也可以画一个六边形,甚至什么都不画。只要 xz -9 还能把文件压到原来的一半大小,图标长什么样,其实没那么多人在乎。