添加linux菜单有2种途径
1.采用linux菜单编辑器编辑。
选择System->Perferences->Main Menu或在Terminal下输入alacarte进入编辑器。不过用这种方式新建的菜单只对当前用户有效,而且无法删除菜单即使有root权限。删除的效果其实只是隐藏。
如果添加一个菜单(以在Applictions菜单下添加子菜单为例),将在/root/.local/share/applications下生成alacarte-made-x.desktop之类的文件,在/root/.config/menus下的applications.menu文件里增加如下数据:
<Include>
<Filename>alacarte-made-x.desktop</Filename>
</Include>
(如果第一次修改将在/root/.config下生成menus目录,在/root/.local下生成share目录)
2.手动添加.desktop文件将编辑好的.desktop文件放到/usr/share/applications目录下。
这种菜单对所有用户有效,菜单信息在/etc/xdg/menus目录下。
在ubuntu10.04系统中,在/usr/share/applications目录下有一个cache文件,命名为desktop.语言简码.cache,以desktop.en_US.utf8.cache为例,该文件缓存了菜单信息。如果当前系统语言为en_US.utf8(在Terminal中输入echo $LANG可查看当前系统语言简码),则当系统重启后,添加的菜单会消失,原因是cache文件里面没有该菜单对应得信息。如果当前系统语言不是en_US.utf8,则不会有此问题。所以在ubuntu10.04系统中,手动添加一个菜单项除了编辑.desktop文件外,还需要修改/usr/share/applications/desktop.语言简码.cache,在中间添加一段信息,如:
[new menu]
Name=menu name
Exec=command
Categories=Application;Network;
......