图标
freedesktop 项目提供了 Icon Theme Specification(图标主题规范),它适用于大多数 Linux 桌面环境,并试图统一一系列图标在图标主题中的外观。Freedesktop 还提供了 Icon Naming Specification(图标命名规范),它定义了一个标准的命名方案,用于被认为已安装在任何系统上的图标。默认主题hicolor应包含所有这些图标。
安装
图标和徽章
要将自定义图标添加到现有图标主题,可以使用 xdg-icon-resource。它将调整图标大小并将其复制到 $HOME/.local/share/icons/。通过这种方法,还可以添加自定义徽章。示例如下。
$ xdg-icon-resource install --size 128 --context emblems archuser-example.png # add as emblem $ xdg-icon-resource install --size 128 archuser-example.png # add as normal icon
Mime 类型图标
文件管理器不依赖于 file --mime 输出的传统 mime 类型。而是使用 /usr/share/mime/ 中的定义。调用与那里找到的定义相匹配的图标并将其复制到 ~/.local/share/icons/ 将导致文件管理器显示自定义 mime 类型图标。此命令说明了为 keepass 数据库文件(.kdb)创建自定义图标的方法。
$ sed -En 's/(.*)\/(.*)\:.*.kdb.*/\1-\2/p' /usr/share/mime/globs
application-x-keepass2
根据此输出重命名您的图标。
$ xdg-icon-resource install --size 128 --context mimetypes application-x-keepass2.png
Icon themes
/usr/share/icons/hicolor/ 中,而大多数其他图标主题会继承 Hicolor 图标主题的图标。通过软件包安装
- 官方仓库 — “icon-theme”搜索。
- AUR — “icon-theme”搜索。
手动设置
如果您找不到所需的图标主题的软件包,则需要手动安装它。
- 首先,找到并下载您想要的图标包。您可以在以下网站下载许多不同的图标主题:Opendesktop.org 和 Xfce-look.org。
- 然后导航到包含图标包的目录并解压缩。例如
tar -xzf ~/Downloads/icon-pack.tar.gz。 - 移动解压缩的包含图标的文件夹。
/usr/share/icons/(系统范围),或~/.icons/或~/.local/share/icons/(仅用户)。
- 可选地,在您选择的目录上运行
gtk-update-icon-cache -f -t来更新图标缓存。 - 使用适合您的桌面环境或窗口管理器的相应配置工具选择图标主题。
- 要更新图标主题,可以先使用
git clone theme_repository.git将仓库克隆到另一个位置(例如~/Downloads/)。之后,根据您希望此图标主题是系统范围可用还是仅供当前用户使用,在前面提到的路径之一中创建一个指向该克隆文件夹的符号链接。这可以通过运行ln -sf theme_path chosen_directory来完成。然后,您可以偶尔在克隆的存储库目录中运行git pull来更新主题或检查更新。这样,更新就可以轻松应用,而无需您下载、解压缩和移动主题。 - 或者,您也可以自己创建一个软件包,可以从#通过软件包安装中链接的软件包的 PKGBUILDs 中汲取灵感。另请参阅 VCS 软件包指南。
fstab / gvfs
根据这份文档,使用 GVFS 的文件管理器(例如 GNOME Files 或 Thunar)可以显示自定义位置的图标,例如 NFS 共享。您只需要在 /etc/fstab 中添加一些扩展挂载选项,其中包含您的选定图标主题支持的图标名称。
/etc/fstab
hostname:/ /mnt/ nfs4 defaults,_netdev,user,rw,exec,comment=x-gvfs-show,x-gvfs-name=Network%20Attached%20Storage,x-gvfs-icon=network-server,x-gvfs-symbolic-icon=network-server,timeo=14 0 0