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


13

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

Answers:


12

Thunar显示的图标基于存储在mimetypes数据库中的信息。因此,要更改模仿类型的图标,我们需要修改该数据库。有一个名为assogiate的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">

因此,我找到了一个包含text / html的mime-type定义的xml文件。但是该xml文件可能包含许多mimetypes的定义。因此,我们必须在编辑器中将其打开,并寻找文件的一小部分,该部分以mime-type type =“ text / html”开头并以/ mime-type>结束,如下所示。

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

现在,如果我们修改系统模拟类型数据库,则可能会被程序包更新覆盖。因此,我们将在〜/ .local / share / mime中的本地用户mimetype数据库中创建一个新的xml文件。并且由于此新的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信息数据库的更多信息,请参见此处

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.