2006-04-04

GNOME中更改一类文件的图标

Views: 12319 | Add Comments

如果你想更改一个文件的图标,那么,单击右键查看属性然后就可以更改了。如果想更改一类文件的图标,似乎有点复杂,不过,仅仅是第一次显得复杂,一旦你试过之后,一切都简单了。

下面我提到的路径和文件夹,如果没有,你就新建一个。~表示你的家目录,也就是你点击桌面上的***'s Home图标或者Nautilus工具栏上的Go to home folder图标之后进入的目录。如果文件或者文件夹前带有"."(点号),这个文件是隐藏的,你单击Nautilus的View菜单选择“查看隐藏文件”或者直接按CTRL+H,就可以查看隐藏的文件了。

准备方法一:

在~/.icons目录下新建一个目录命名为myIcons,并在myIcons目录下新建立一个目录命名为scalable,然后在scalable下建立mimetypes目录。在myIcons下新建立一个空文件index.theme,用文本编辑器打开后输入:

[Icon Theme]
Name=ANYNAME
Inherits=gnome
DesktopDefault=Scalable
Directories=mimetypes

[mimetypes]
MinSize=1
Size=48
MaxSize=128
Context=MimeTypes
Type=Scalable

注释以#号开始到行结束。这个文件你需要注意的地方是Name=ANYNAME,其中“ANYNAME”将在桌面首选项设置主题(Theme)时的主题细节(Theme Details)图标(Icons)标签里显示。Directories=mimetypes表示你刚才建立的minetypes目录。最重要的还有Inherits=gnome,它表示这个Icons主题继承名为gnome的图标主题。奇怪的是,gnome并不是你在桌面首选项里看到的名字,而是实际的主是所在的文件夹的名字。在上面的设置里,我们可以找到/usr/share/icons/gnome这个目录。你可以将“gnome”改为/usr/share/icons目录下的其它目录名。Context=MimeTypes与我们的目录名没有关系,但它是重要的,它声明了图标的用途。

这种方法是本文中最灵活的一种。以后当你更换主题之后,只需要修改index.theme文件中的Inherits=gnome就可以了。

准备方法二:

这种方法并不灵活。我们也可以修改某个主题,比如把/usr/share/icons/gnome目录整个复制到~/.icons下并改名myIcons,然后更改它的index.theme文件里的Name=GNOME和Name[*]=GNOME(有很多项,针对不同的语言,*代表具体的本地化语言)。我更改为Name=ANYNAME,并且把所有关于国际化的选项删除,只留下英文设置就行了。如果你无法看出哪些语句属于国际化设置,那么就记住Name=GNOME中的“GNOME”这个单词,下面用GNOME代替ANYNAME。或者你使用方法一。

准备方法三:

以root身份进行全局修改,这种方法并不灵活。在桌面首选项(Desktop Preferences)-->主题(Theme)-->主题细节(Theme details)-->图标(Icons),里找到你当前使用的主题的名字,然后对应到/usr/share/icons目录下的一个目录,然后用这个目录替代下面的~/.icons/myIcons目录。比如我在Icons标签里看到当前我在使用名为GNOME的图标主题,它对应了/usr/share/icons/gnome目录。

具体设置:

好了,进入主题设置里的主题细节,选择ANYNAME作为你的图标主题吧。它应该和名为gnome的图标主题没有区别,否则出错了。

接下来,我们想改变所有chm文件和html文件的图标。

查看一个chm文件的属性,我发现它的MIME type是application/x-chm。好了,找来一个48x48(可以是其它尺寸)png(或者svg/xpm格式,其它格式的图像请你自己试验)文件,复制到~/.icons/myIcons/mimetypes,然后把它改名为gnome-mime-application-x-chm.png。就在你改名之后,你应该立即看到chm文件的图标改变了。

你应该能从上面的MIME type和图标文件名看出它们之间的关系,否则,你的计算机感觉需要培养。

查看一个html文件的属性,我发现它的MIME type是text/html。按照上面的方法制作一个~/.icons/myIcons/mimetypes下的名为gnome-meme-text-html.png的文件。就在你改名之后,你应该立即看到html文件的图标改变了。

补充:

因为我所不知道的原因,html或者其它类型为text/*的文件可能无法更换图标。它们可能会显示为白纸图标或者白纸图标上有文件内容的预览。这个问题可能与/usr/share/icons/gnome或者~/.icons/myIcons目录下的所有名为gnome-fs-regular.*的文件有关系。是的,我把这些文件删除后,确实能改变text/*类型的文件的图标,不过这样又导致了其它的问题。这需要你自己尝试发现和解决。不是text/*类型的文件我所尝试的都能成功。

有时候,你需要运行rm ~/.icons/myIcons/icon-theme.cache或者gtk-update-icon-cache ~/.icons/myIcons清除图标缓存。自己试验吧。

只要你不删除任何文件,当你发现一切都被你搞乱了并且你准备放弃的时候,把我让你所建立的所有文件删除,你就可以恢复到原来的状态。

你可以下载这个shell脚本帮助你完成准备工作:下载可以帮你完成准备工作的脚本

脚本使用方法:解压后在终端运行./myicons.sh ANYNAME gnome,它表示你的新图标主题名字为ANYNAME,它继承名为gnome的图标主题。

查看关于MIME的资料:
什么是文件 MIME 类型?

Related posts:

  1. 安装Linux桌面主题和鼠标主题
  2. 画流程图的软件 Dia Gnome Editor
  3. TextMate 2 常用配置
  4. 如何使用ServletContextListener
  5. 网页适配手机移动版的CSS
Posted by ideawu at 2006-04-04 16:25:12

Leave a Comment