跳转至内容

图标

来自 ArchWiki

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

提示 建议安装 hicolor-icon-theme 软件包,因为许多程序会将其图标存放在 /usr/share/icons/hicolor/ 中,而大多数其他图标主题会继承 Hicolor 图标主题的图标。

通过软件包安装

手动设置

如果您找不到所需的图标主题的软件包,则需要手动安装它。

  • 首先,找到并下载您想要的图标包。您可以在以下网站下载许多不同的图标主题:Opendesktop.orgXfce-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 FilesThunar)可以显示自定义位置的图标,例如 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

© . This site is unofficial and not affiliated with Arch Linux.

Content is available under GNU Free Documentation License 1.3 or later unless otherwise noted.