• Linux 桌面修改文件mime类型图标


    在多数的Linux发行版中,默认的桌面的文件类型图标着实不好看,比如我常用的Linux之一Debian,默认文件类型图标就很不好看。如果我们自定义了一种mime类型的话肯定也是没有图标的啦,下面我们来一步步自定义mime类型图标。

    0.效果

    0.1修改前的样子

    在这里插入图片描述

    0.2修改后的效果

    在这里插入图片描述
    可以看到我们修改后的图标就是丰富多彩的了。

    1.准备图片

    因为要生成各种尺寸的图片(需要16x16,24x24,32x32,48x48,64x64,96x96,128x128,256x256,512x512等几种尺寸的图片),我们准备的图片需要是512x512像素的图片,图片格式要求是png。如下图:
    在这里插入图片描述
    在这里插入图片描述

    2.生成各个尺寸图片

    通过xdg-icon-resource install命令来操作,以下命令是在root用户操作,可以针对所有用户生效,也可以在普通用户下操作,只是针对该普通用户。在php.png所在目录操作,故不需要写文件路径。

    xdg-icon-resource install --size 16 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 24 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 32 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 48 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 64 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 96 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 128 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 256 --context mimetypes php.png application-x-php
    xdg-icon-resource install --size 512 --context mimetypes php.png application-x-php
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10

    其中,text-html是文件mime类型把“/”改为“-”后的得来,也是最终生成的文件名,其他mime类型或者自定义mime类型也是同样操作,记住这个名字,后面会需要。如果不加最后的application-x-php 那么生成的文件名就是我们的png文件名。
    生成的文件位于:
    全局路径为:/usr/share/icons/
    普通用户路径:~/.local/share/icons/
    一般会位于hicolor目录下。

    3.编写mime类型数据库配置文件

    mime类型数据库配置同样也可以在root用户下操作全局的,也可以在普通用户下操作针对该普通用户生效。
    编写x-php.xml文件:
    全局路径为:/usr/share/mime/packages/x-php.xml
    普通用户路径:~/.local/share/mime/packages/x-php.xml
    这里我们就在普通用户下操作。
    文件内容为:

    
    <mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
    <mime-type type="application/x-php">
        <comment>PHP scriptcomment>
        <comment xml:lang="zh_CN">PHP 脚本comment>
        <sub-class-of type="text/plain"/>
        <generic-icon name="application-x-php"/>
        <glob pattern="*.php"/>
        <glob pattern="*.php3"/>
        <glob pattern="*.php4"/>
        <glob pattern="*.php5"/>
        <glob pattern="*.phps"/>
      mime-type>
    mime-info>
    
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15

    其中:

    • mime-type的type内容是mime类型
    • comment是描述信息,这个是在文件右键属性中显示,可以写各个语言的,也就是说没有指定语言的时候,就显示默认的PHP script,我们单独加了简体中文,当系统语言是简体中文的时候显示PHP 脚本。
    • sub-class-of 表示是该mime类型的子类,也就是说php脚本文件本质上是text/plain(文本文件)的子类。
    • generic-icon就是我们第2步创建的图标文件名。
    • glob是文件扩展名,可以写多个。

    4.更新mime数据库信息

    这里与第3步的操作有关,第三步是在root用户下操作的,这里就在root下执行,;第三步是普通用户下操作的,就在给普通用户相爱执行。

    root用户下执行以下命令:

    update-mime-database /usr/share/mime
    
    • 1

    普通用户下执行以下命令:

    update-mime-database -V ~/.local/share/mime
    
    • 1

    执行完毕后刷新就可以看到自定义的图标了。
    有时候如果不生效,可以在root用户下把系统默认图标替换了(需要手动替换各个尺寸的)。
    然后执行以下命令更新图标缓存:

    gtk-update-icon-cache /usr/share/icons/gnome
    
    • 1

    其中命令中的目录为系统主题文件index.theme所在目录,其他目录执行会报错:
    在这里插入图片描述

    备注

    可以使用gio命令查看指定的mime类型可以由那些应用打开:
    如我们查看application/wps-office.docx(WPS的word文档)可以打开的应用:
    在这里插入图片描述
    从图中可以看到,可以WPS,libreoffice等用于打开。

  • 相关阅读:
    炫酷的花式滑块滑动无缝切换特效
    用户增长常见分析模型
    3D打印:FDM打印湿度对打印件及打印机的影响和调整
    Spark SQL结构化数据文件处理
    架构师之路:中台和微服务区别
    C++实现的代码行数统计器
    大数据项目之电商数仓、日志采集Flume测试、日志采集Flume启停脚本
    Python:b站多个视频爬取下载
    Vue.js 中的异步组件是什么?
    前端面试题JavaScript篇——2022-09-09
  • 原文地址:https://blog.csdn.net/nahancy/article/details/126079402