LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1789|回复: 3

Gnome中更改一类文件的图标

[复制链接]
发表于 2006-4-4 18:06:48 | 显示全部楼层 |阅读模式
如果你想更改一个文件的图标,那么,单击右键查看属性然后就可以更改了。如果想更改一类文件的图标,似乎有点复杂,不过,仅仅是第一次显得复杂,一旦你试过之后,一切都简单了。

如果这一次你不想花几分钟,只是想立即看到效果,那么你就直接运行附带的脚本和看“具体设置”就可以了。

下面我提到的路径和文件夹,如果没有,你就新建一个。~表示你的家目录,也就是你点击桌面上的***'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 类型?http://www.gnome-cn.org/documents/faq/mime-type
  • 本帖子中包含更多资源

    您需要 登录 才可以下载或查看,没有帐号?注册

    x
    发表于 2006-4-4 18:45:44 | 显示全部楼层
    好,这个帖子真是解决了我的大问题。
    其实我想看看签名档
    回复 支持 反对

    使用道具 举报

    发表于 2006-4-5 00:00:54 | 显示全部楼层
    如果想改掉gnome的大脚叉呢?
    回复 支持 反对

    使用道具 举报

    发表于 2006-4-15 20:29:24 | 显示全部楼层
    恩,我也是自定义图标之后现在即使改回系统图标,text/*都显示同一个图标,即使关掉预览还是一样,把*.txt, *.c, *.h都显示成同一个图标确实不爽。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册

    本版积分规则

    快速回复 返回顶部 返回列表