如何更改 XFCE (Thunar) 中的文件类型图标?

如何更改 XFCE (Thunar) 中的文件类型图标?

如何更改 Thunar/XFCE 中用于描述特定类型文件的图标。

答案1

Thunar 显示的图标基于存储在 mimetypes 数据库中的信息。因此,要更改 mimetype 的图标,我们需要修改该数据库。有一个 Gnome gui 叫做联营可能用于此目的,但我还没有真正尝试过。或者我们可以通过编辑/创建某些 xml 文件来手动修改 mimetype 信息。

例如,我将尝试更改 .html 文件的图标。首先,我将从命令行获取它的 mimetype...

$ file --mime-type testfile.html 
testfile.html: text/html

接下来,我需要从系统的 mimetype 数据库中获取其 mimetype 定义信息。该数据库位于 /usr/share/mime/,但更具体地说,源 mimetype xml 定义位于 /usr/share/mime/packages 子文件夹中。因此,我将尝试查找其中的哪个 xml 文件包含 text/html 的 mime 类型声明

$ cd /usr/share/mime/packages/
$ fgrep -Hn '<mime-type type="text/html">' *
freedesktop.org.xml:25295:  <mime-type type="text/html">

所以我找到了一个 xml 文件,其中包含 text/html 的 mime 类型定义。但该 xml 文件可能包含数十种 mimetypes 的定义。因此,我们必须在编辑器中打开它,并查找文件中以以下内容开头的一小部分mime-type 类型=“text/html”并以/哑剧类型>,如下所示。

  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  </mime-type>

现在,如果我们修改系统 mimetype 数据库,它可能会被包更新覆盖。因此,我们将在本地用户 mimetype 数据库中创建一个新的 xml 文件,该数据库位于 ~/.local/share/mime 。由于这个新的 xml 文件将包含源 mimetype 定义,因此它将被放置在 ~/.local/share/mime/packages 子文件夹中。因此,我们将在那里创建一个新的 xml 文件,但使用一个虚构的名称......

$ cd ~/.local/share/mime/packages
$ gedit html_example.xml &

并粘贴上面找到的文本,但在顶部添加两行,在底部添加一行...

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  </mime-type>
</mime-info> 

在此示例中,在我的 Linux 上,我在 text/html 的 mimetype 定义中没有看到任何与图标相关的行。但如果您看到任何与这些类似的行......

<generic-icon name="xx_yada_yada_xx"/>
<icon name="xx_blah_blah_xx"/>

那么请将它们编辑掉。最后,我们将添加我们自己的图标名称条目。在本例中,我选择了iceweasel 的图标,但您可以选择自己的图标。您的系统上可用的任何图标。现在,新的 xml 文件看起来与此类似

<?xml version="1.0" encoding="UTF-8"?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
  <mime-type type="text/html">
    <comment>HTML document</comment>
      .
      .
      .
  <icon name="iceweasel"/>
  </mime-type>
</mime-info> 

现在保存文件。现在,修改了本地 mimetype 源定义后,我们必须重建本地 mimetypes 数据库......

$ cd ~/.local/share/mime
$ update-mime-database $PWD

如果~/.local/share/mime之前是空的,那么现在它将包含各种数据库文件。这样,在系统重新启动后,本地 mimetype 数据库中的修改信息应覆盖主系统数据库中的信息。希望 Thunar 中的 html 图标也会发生变化。

嗯,我就是这么做的。我希望这对你有用。有关 freedesktop.org 共享 MIME 信息数据库的更多信息,请访问这里

相关内容