在多数的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

其中,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
这里我们就在普通用户下操作。
文件内容为:

<?xml version='1.0' encoding='utf-8'?>
<mime-info xmlns="http://www.freedesktop.org/standards/shared-mime-info">
<mime-type type="application/x-php"><comment>PHP script</comment><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>

其中:

  • 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

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

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

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

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

其中命令中的目录为系统主题文件index.theme所在目录,其他目录执行会报错:

备注

可以使用gio命令查看指定的mime类型可以由那些应用打开:
如我们查看application/wps-office.docx(WPS的word文档)可以打开的应用:

从图中可以看到,可以WPS,libreoffice等用于打开。

Linux 桌面修改文件mime类型图标相关推荐

  1. linux 文件权限 rwt,Linux下修改文件权限(所有权)

    Linux与Unix是多用户操作系统,所以文件的权限与所有权的实现就显得很有必要:每个文件主要与三组权限打交道,分别是用户(user),用户组(group),其他用户(other) 用户(u)是文件的 ...

  2. linux压缩文件的类型,linux下压缩文件的类型(转)

    linux下压缩文件的类型(转) (2012-03-08 16:18:30) 标签: 杂谈 Linux下有相当多的压缩命令,初学的我们开始总是摸不清头脑,我们知道在Linux下的后缀名是没有什么很特殊 ...

  3. 如何linux桌面进入系统文件夹,Linux桌面用户文件夹开启密码保护教程

    我的 Windows PC 及磁盘是采用 BitLocker 加密的,这种加密方式对用户来说是透明的;我的 Ubuntu 笔记本也没对任何文件夹进行加密,因为我的电脑只是私人使用,似乎没必要隐藏任何文 ...

  4. 如何使用密码保护Linux桌面用户文件夹

    如何使用密码保护 Linux 桌面用户文件夹安全呢?想必很多朋友都会遇到类似问题.Linux 和 Windows 一样是多用户系统,如果你的 Linux 电脑要与别人共用或不时需要借给他人,里面又放有 ...

  5. linux修改文件后退出,LINUX vim 修改文件 退出

    vim 保存退出, 先按ESC ,然后:wq(保存退出)W:write,写入 Q:quit,退出, 也可以直接输入X,代表WQ,也是保存退出 或者 先按ESC,再按shift+ZZ 也是保存退出 正常 ...

  6. php获取文件mime类型,php 准确获取文件MIME类型的方法

    MIME (Multipurpose Internet Mail Extensions) 是描述消息内容类型的因特网标准. MIME 消息能包含文本.图像.音频.视频以及其他应用程序专用的数据. 这篇 ...

  7. linux系统编程笔记02——Linux命令:修改文件权限命令chmod、chgrp、chown详解

    Linux命令:修改文件权限命令chmod.chgrp.chown详解 Linux系统中的每个文件和目录都有访问许可权限,用它来确定谁可以通过何种方式对文件和目录进行访问和操作. 文件或目录的访问权限 ...

  8. finfoopen需要什么扩展 php_php获取文件mime类型的四种方法

    何为MIME类型,它是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问时,浏览器会自动使用指定应用程序来打开. 多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式. ...

  9. linux: 批量修改文件夹及文件夹下文件的名字

    假如我有一个文件夹,文件夹下面有一些文件,如下所示: Gideon/gideon_lisha/Gideon_samuel/Gideon_nathan.xml Gideon/lisha_gideon/G ...

最新文章

  1. PCLVisualizer可视化类
  2. matlab 工业相机 曝光时间_实战 | 相机标定
  3. 信息学奥赛一本通(1048:有一门课不及格的学生)
  4. jvm垃圾回收之类加载机制
  5. 【转】实用技巧:简单而有用的nohup命令介绍
  6. 批量替换_【脚本】AE照片墙模板图片批量替换脚本Multi Replacer
  7. 通过Google分析页面加载缓慢并优化
  8. redis 验证订单_php+redis消息队列实现抢购功能
  9. Drool学习记录(一) 概念、Helloworld
  10. 四叶草关闭啰嗦模式_利用OCC配置器关闭开机跑代码(啰嗦模式)教程
  11. 征途LINUX服务端脚本,征途【改版教程】-版本内脚本文件-转载于-喜欢玩网游单机站...
  12. 网站建设的完整教程以及步骤,建议收藏!
  13. 数学规划求解器lp_solve超详细教程
  14. 恢复PyCharm顶部菜单栏
  15. 神经元的结构是?包括髓鞘吗?|小白心理-347/312考研答疑
  16. 对接钉钉审批_金蝶ERP对接钉钉 实现移动办公
  17. TOM带你玩充电 篇三:15款5号电池横评及选购建议——南孚金霸王小米宜家耐时品胜一个都逃不了...
  18. idea本地项目上传至远程仓库及一些常见问题的解决办法
  19. Android开发之
  20. 只转不评:112家IT公司薪水一览表

热门文章

  1. JavaScript弹出新的页面,像在web迅雷首页点击某一下载文件名时弹出的新页面(窗体)
  2. DynamoDB-条件表达式ConditionExpression
  3. MPS模块式柔性自动化生产线实训系统QY-JDYT11
  4. while do done循环语句
  5. python 1072: 青蛙爬井
  6. 输入'niHao aAz'实现输出为'ni_hao a_az'
  7. 拯救者14(i7-4720HQ)电池驱动过程记录
  8. MSM8909+Android5.1.1 SPI驱动开发(PSAM部分)
  9. 常平竹升面加盟多少钱?低费用让大家有魄力说做就做
  10. 【机器学习】笔记3:Perceptron 感知机