序言
其实男子伴们对Linux早已有一定程度的了解,或则早已是一名才能在工作和生活中活用它的Linux用户了。随着桌面环境的不断发展,Linux早已不再仅仅是一个面向极客和开发者的操作系统了红帽子linux下载,在PC上,上手Linux桌面早已可以显得像上手Windows桌面一样简单。
本篇文章是一篇纯黑的技术软文,讲的是我们平常通常不会在乎的东西,并且不会涉及具体编程方面的知识,所以男子伴们不用害怕文章过分冗长难懂,恣意的一边喝酒一边涨知识吧!
Windows上的文件类型与默认图标
在Windows上,文件类型基于惟一后缀名进行分辨,例如——文本类型的后缀名是”.txt”,而Win32应用程序的后缀名是“.exe”。在win10系统中,这种后缀名默认被隐藏,在文件管理器的选项中修改设置为显示,就才能看见每位文件的后缀名了。
对于每一种文件类型,Windows上都有一个默认图标(通常exe的图标不是默认的,而是应用自己订制的),它的默认图标可以由默认打开它的应用决定,例如——使用winrar作为默认应用打开”.zip”压缩文件linux 设置文件格式,这么所有的”.zip”类型文件默认图标就会弄成winrar的图标;而使用2345快压作为默认打开应用,默认图标又会改变。
Linux与Windows并不完全相同
在Linux系统上,有一些文件没有后缀名,例如Linux上的文本文件,虽然不加txt后缀,一样的才能作为文本文件存在并被正确地显示和打开。
我们右键文本文件图标,打开属性窗口,可以见到“类型”:
我们可以推断:默认图标的显示是与这个类型属性相关的。
让我们做一个实验
为了验证这个推论,我们须要做一个小实验。
其实你们没有注意过,在安装或则卸载了系统上的wps之后,doc和docx等类型文件的默认图标也改变了(假如没有,刷新或则重启一下)。
通常从优麒麟官网上下载的提高版自带了wps,我们打开一个目录,创建一个doc和docx文档:
打开属性窗口:
可以见到它们的文件类型,这么接出来我们打开终端(Ctrl+Alt+T),输入:
sudoaptremovewps-office
卸载wps,接出来回到刚刚创建的doc和docx所在的目录linux 设置文件格式,刷新一下:
这个时侯的默认图标类型早已变了,接着再打开属性:
同样的文件,文件类型改变的同时图标也跟随改变,所以,之前所提出的推测是对的。
这么,我们在安装/卸载wps的时侯,它到底做了哪些?
MIME-Infodatabase
我们可以看见,在卸载wps的时侯,出现了一些mime相关的配置,事实上,Linux上的文件类型标准就是这个MIME-Infodatabase,所有文件类型相关的配置,包括默认图标,都是在这个database中定义的。
你们假如有兴趣,可以参考:
‘/usr/share/mime/packages’目录下储存着相关配置文件,其中.xml是Linux默认的文件类型基准。在这儿,我们先找到wps-office-wps.xml,并打开:
其中,comment、mime-type就是属性窗口中的文件类型;
aliastype,顾名思义,是mime-type的别称,所以这种文件类型就被wps-office.doc覆盖了;
generic-iconname,即文件类型的默认图标名;
globpartten,假如文件名中有匹配,则觉得是该类型。
在/usr/share/icons目录下储存着默认图标:
Linux的判定文件类型的最优先基准常常是通过文件名中的数组,假如数组和MIME-database匹配,则觉得是该文件类型。但是,并非所有文件类型都规定了匹配数组,它们仍然才能确定类型,而且假如重命名后包含了MIME-database的匹配数组,则会优先使用对应类型覆盖原有的类型。
实际上,在之前列举的本文件创建的事例中,不须要后缀名的缘由是文本类型的文件在创建的时侯早已被赋于了MIMEtype,只要文件名不与其它MIMEtype的基准冲突,这个文本文件才能正常的显示和打开。
DIY一个文件类型的图标
男子伴们其实现今还有点一头雾水,没关系,接出来的干货才是重头戏;后面的看不懂?没关系,自己动手做一次,马上就理解了。
可以看见,命名为.so的文件的默认图标早已被小编改成了自己的纹样,这么到底是如何做到的呢?接出来我们一步一步的完成。
1、准备图标
首先,我们须要打算自己的文件类型图片,通常使用png格式即可,文件图标可以在网上下载自己喜欢的,也可以使用GIMP自己勾画之后导入,小编这儿为了便捷,就自己简单的画了一下。GIMP可以在开始菜单中搜索gimp得到:
关于GIMP的使用,小编也是小白所以就不罗嗦了,你们有兴趣的话自行百度一下吧。
我们打开/usr/share/icons/ukui-icon-theme目录:
我们把打算好的图标放进对应规格文件夹的mimetypes目录下,例如48x48的png放在/usr/share/icons/ukui-icon-theme/48x48/mimetypes目录下。
因为在/usr/share目录下操作须要管理员权限,所以建议以管理员身份运行文件管理器,优麒麟18.10上,在终端输入:
sudopeony
就可以以管理员身份运行文件管理器红旗linux6.0,其实男子伴们也可以使用sudocp在终端操作。
还有,这儿一定要注意,我们不同规格目录下的图标文件名必须一样,不然等会儿图片会找不全。
2、编写自己的配置文件
如同wps做的那样,我们也须要自己写一个.xml文件来覆盖原有的文件类型,这同样须要管理员权限。
我们在/usr/share/mime/packages目录下创建一个文本文件,命名为XXX.xml(这儿小编的是sharedlib.xml),输入以下内容。
最关键的是aliastype、generic-iconname和globpattern三项。保存退出。
3、更新
如今我们的.so文件还没有变,由于我们还须要自动更新它。
依次执行:
sudogtk-update-icon-cache/usr/share/icons/ukui-icon-theme/
sudoupdate-mime-database-V/usr/share/mime
第一条将我们的自定图片更新到cache中,致使文件管理器才能通过cache找到我们的icon;
第二条将我们对配置的修改更新至MIME-database中,这样我们的自定义配置就生效了。
我们刷新一下在瞧瞧,.so文件是不是变了?打开.so文件的属性,发觉它的内容和mime-type也早已弄成了我们自己写的类型。
其实有男子伴们会问,为何只有.so文件变了,.so.1.2.3之类的文件没有变呢?这就是glob参数的作用了,你们有兴趣可以研究一下.xml文件,上面有对于application/x-sharedlib原先glob的标明,不光是.so,也才能辨识类似.so.1.2.3的类型。
不知到你们是否有所收获呢?本篇文章似乎没有涉及代码编程,并且不同的人看,一定会有不同的感受和收获吧,在行文中小编展现了一些细节,也略写了一些细节,希望你们看完这篇软文之后才能有所精进,让我们在Linux的公路上共同进步吧。
本文原创地址://lrxjmw.cn/chdjsrwsslzm.html编辑:刘遄,审核员:暂无