Cómo cambiar el icono utilizado para representar archivos de un tipo particular en Thunar / XFCE.
Los iconos que muestra Thunar se basan en la información almacenada en la base de datos mimetypes. Y por lo tanto, para cambiar el ícono de un mimetype, necesitamos modificar esa base de datos. Hay una interfaz gráfica de usuario de Gnome llamada assogiate que podría usarse para esto, pero aún no la he probado. O simplemente podemos modificar la información de mimetype manualmente, editando / creando ciertos archivos xml.
Como ejemplo, intentaré cambiar el icono de los archivos .html. En primer lugar, buscaré su tipo MIME desde la línea de comandos ...
$ file --mime-type testfile.html
testfile.html: text/html
A continuación, necesito obtener su información de definición de mimetype de la base de datos mimetype del sistema. La base de datos se encuentra en / usr / share / mime /, pero más específicamente, las definiciones fuente de mimetype xml se encuentran en la subcarpeta / usr / share / mime / packages. Por lo tanto, intentaré encontrar qué archivo xml contiene una declaración de tipo mime para text / html
$ cd /usr/share/mime/packages/
$ fgrep -Hn '<mime-type type="text/html">' *
freedesktop.org.xml:25295: <mime-type type="text/html">
Así que he encontrado un archivo xml que contiene la definición de tipo mime para text / html. Pero ese archivo xml puede contener las definiciones de docenas de tipos MIME. Por lo tanto, debemos abrirlo en un editor y buscar una pequeña sección del archivo que comienza con mime-type type = "text / html" y termina con / mime-type> , como se ve a continuación.
<mime-type type="text/html">
<comment>HTML document</comment>
.
.
.
</mime-type>
Ahora, si modificamos la base de datos mimetype del sistema, podría sobrescribirse mediante una actualización del paquete. Por lo tanto, crearemos un nuevo archivo xml en la base de datos mimetype de usuarios locales, que se encuentra en ~ / .local / share / mime. Y dado que este nuevo archivo xml contendrá una definición de tipo mime de origen, se colocará en la subcarpeta ~ / .local / share / mime / packages. Entonces, crearemos un nuevo archivo xml allí, pero usando un nombre inventado ...
$ cd ~/.local/share/mime/packages
$ gedit html_example.xml &
y pegue el texto que se encuentra arriba, pero agregue dos líneas adicionales en la parte superior y una línea adicional en la parte inferior ...
<?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>
En este ejemplo, en mi Linux, no veo líneas relacionadas con íconos en la definición de mimetype para text / html. Pero si ves líneas similares a estas ...
<generic-icon name="xx_yada_yada_xx"/>
<icon name="xx_blah_blah_xx"/>
entonces edítelos. Y finalmente, agregaremos una entrada de nombre de icono propia. En este caso, he elegido el icono de iceweasel, pero puedes elegir el tuyo. Cualquier icono que esté disponible en su sistema. Tal que ahora, el nuevo archivo xml se parece a este
<?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>
Y ahora guarda el archivo. Ahora, habiendo modificado las definiciones de origen de mimetypes locales, debemos reconstruir la base de datos de mimetypes local ...
$ cd ~/.local/share/mime
$ update-mime-database $PWD
Si ~ / .local / share / mime estaba vacío antes, ahora contendrá varios archivos de base de datos. De tal manera que después de que su sistema se haya reiniciado, la información modificada en la base de datos mimetype local debería anular la información en la base de datos de los sistemas principales. Y con suerte, tus iconos html en Thunar también habrán cambiado.
Bueno, así es como lo hago. Espero que eso funcione para usted. Puede encontrar más información sobre la base de datos compartida MIME-información de freedesktop.org aquí .