本文的pdf版本可以在https://docs.google.com/viewer?a=v&pid=explorer&chrome=true&srcid=0B92-FAjNvVzGZmVlMDZlOTMtZGMwZC00ODA4LWE2MWEtY2EzZjYwODI3OTFm&hl=zh_CN下载。
本文是我依据我的薄学而写,用以记录知识,不保证本文是正确的!我的实验环境是Ubuntu x32 11.04,桌面环境是GNOME和LXDE。
本文依照知识共享-署名-相同方式共享 3.0 协议释出内容。
Ubuntu是Linux的发行版之一。Linux原本是命令行界面的,为了让它变得像Windows那样有图形界面,于是有了桌面环境的概念。
常用的桌面环境有GNOME、KDE、LXDE、Xfce。为什么它们能作Linux的桌面环境呢,必然是它们有一组共性,使得Linux能跟它们沟通。\footnote{用面向对象的语言来说,gnome、KDE、LXDE、Xfce都实现了一个接口。}这些共性可以在http://www.freedesktop.org查阅。
虽然有了这组共性,但谁利用这组共性呢?不是Linux内核本身,而是X Window系统(不要写成Windows)。所以,可以把GNOME、KDE、LXDE、Xfce等更准确地称作X桌面环境。一个新兴的视窗系统是Wayland,它有可能替代臃肿的X Windows系统。
进入/home/loveright/桌面,在此添加的文件都会显示在桌面上。abc.txt, xx.tar等等自然不用多说了,但有一类文件需要特别关注,它们是桌面配置文件。参见第\ref{sec:desktop file}节“桌面配置文件简述”。
在~/桌面里创建一个文件(推荐以.desktop结尾,见第\pageref{extension}页脚注),按照第\ref{sec:desktop file}节“桌面配置文件简述”填上相应的信息。
此时该桌面图标会在所有桌面上显示。
OnlyShowIn=LXDE;GNOME;
于是该图标仅在LXDE和GNOME桌面环境中显示。你也可以用NotShowIn字段。
对于此问题似乎没有什么很好的办法,不像在Windows下直接在一个文件夹里一放就行了。在Linux下,此问题要分两步走,1)为所有现有用户添加图标;2)通过设置,使得将来的新用户自动有此图标。
这部分可以手动完成,也可以写一个脚本来完成。总之就是创建一个文件(普通文件或桌面配置文件),写好内容,复制到各个用户的\~{/桌面}里去。
注意复制过去的文件的所有者和所有组最好是那个用户及那个用户的主组\footnote{一般情况下,用户名和用户的主组名是一样的。用ls -l可以看到,第二列是所有者的名称,第三列是所有者的主组的名称。},读写权限自己注意。对于桌面配置文件,要设置为可执行。
当创建新用户或新用户第一次登陆时,/etc/skel里的文件会自动复制到该用户的家目录里。于是你可以在/etc/skel里创建子文件夹桌面,然后把所有用户都应有的图标--例如firefox.desktop--放进去。那么新创建的用户登录后,火狐浏览器的启动器就自动出现在他的桌面上了。
我Google到另一种方法\footnote{ http://ubuntuforums.org/showthread.php?t=199027,查阅于2011年7月20日,帖子发表于2006年6月18日},但我没试过:OnlyShowIn=LXDE;GNOME;
于是该图标仅在LXDE和GNOME桌面环境中显示。你也可以用NotShowIn字段。
一个基本的桌面配置文件是这样的:
[Desktop Entry] Version=1.0 Name=Firefox Web Browser Name[zh_CN]=Firefox 网络浏览器 Comment=Browse the World Wide Web Comment[zh_CN]=浏览互联网 GenericName=Web Browser GenericName[zh_CN]=网络浏览器 Exec=firefox %u Terminal=false X-MultipleArgs=false Type=Application Icon=firefox StartupWMClass=Firefox StartupNotify=true它其实是用来运行火狐浏览器的,如果你系统里已经安装了火狐(不是便携版的),你可以把这段代码存为 firefox.desktop\footnote{\label{extension}扩展名通常是.desktop;但因为Linux不仅仅靠扩展名判断文件类型,只要文件内容符合freedesktop的规范就行。}放进 ~/桌面。你可以在 http://standards.freedesktop.org/desktop-entry-spec/desktop-entry-spec-latest.html#recognized-keys获得更多的字段信息。