如何在Ubuntu 13.10中为Eclipse创建一个Menu项?
我昨天将Eclipse升级到版本4.3,并且面临缺少菜单错误 。 要获得菜单,必须以不同的方式启动Eclipse,因此我尝试在主菜单中创建一个新项目。
由于某些原因,该项目未被主菜单存储,当我单击新项目对话框中的确定按钮时,我没有收到任何错误消息,但应用程序组中没有任何更改。
难道我做错了什么? 谢谢。
更新I : 用户wilf告诉我在/usr/share/applications
添加一个名为eclipse.desktop
的文件,但这并没有在主菜单中创建一个新项目:
更新II :这是我的eclipse.dektop
文件的样子:
$ ls -la /usr/share/applications/e* -rw-r--r-- 1 root root 3083 May 11 2012 /usr/share/applications/easytag.desktop -rw-r--r-- 1 root root 167 Jan 25 17:02 /usr/share/applications/eclipse.desktop -rw-r--r-- 1 root root 921 Oct 31 20:30 /usr/share/applications/empathy.desktop -rw-r--r-- 1 root root 856 Jun 29 2013 /usr/share/applications/eog.desktop -rw-r--r-- 1 root root 894 Oct 8 23:21 /usr/share/applications/evince.desktop -rw-r--r-- 1 root root 873 Oct 8 23:21 /usr/share/applications/evince-previewer.desktop $ cat /usr/share/applications/eclipse.desktop [Desktop Entry] Type=Application Name=Eclipse Icon=eclipse Exec=env UBUNTU_MENUPROXY=/usr/local/eclipse.kepler/eclipse Terminal=false Categories=Development;IDE;Java;
除此之外,还有其他方法可以让Eclipse图标显示在破折号中吗?
您在问题中写道.desktop文件包含以下内容:
Exec=env UBUNTU_MENUPROXY=/usr/local/eclipse.kepler/eclipse
但它应该包含这样的东西:
Exec=env UBUNTU_MENUPROXY= /usr/local/eclipse.kepler/eclipse
注意=
和/
之间的空格。 需要取消设置UBUNTU_MENUPROXY
变量才能使eclipse正常工作。 您将其设置为eclipse而不是启动任何应用程序。
虽然我不知道这是否解决了你的问题,因为我认为这不会导致图标没有显示,只是点击时它不会做任何事情。
更新:所以上面没有让eclipse出现,这是你可以尝试的另一件事:
将.desktop文件放在~/.local/share/applications/
目录中,这是您可以存储每个用户.desktop文件的地方,也许unity会从那里检测到它。 如果是这样,请不要忘记该目录中的.desktop文件仅对.desktop文件所在的主目录中的用户可用,因此如果您有更多用户,只需将.desktop文件复制到每个用户~/.local/share/applications/
目录。
另请注意,对于~/.local/share/applications/
的桌面文件,需要注销以显示在破折号中。 (我不知道为什么,但它就在我身边。)所以,如果你把.desktop文件放在那里,不要忘记注销/注销。
使用which
命令找到可执行文件的路径:
which eclipse
创建.desktop
文件:
sudo touch /usr/share/applications/eclipse.desktop
使用您选择的文本编辑器以root权限打开文件,例如使用nano
:
sudo nano /usr/share/applications/eclipse.desktop
并将以下内容复制到该文件并保存工作: source
[Desktop Entry] Type=Application Name=Eclipse Icon=eclipse Exec=env UBUNTU_MENUPROXY=path_to_eclipse Terminal=false Categories=Development;IDE;Java;
(其中path_to_eclipse应该被上面使用的which
命令的路径输出替换。或者用eclipse替换path_to_eclipse并创建一个指向which
命令指向的可执行文件的符号链接。)例如在你的情况下,因为可执行文件是/usr/share/eclipse.kepler/eclipse
.desktop
文件如下所示:
[Desktop Entry] Type=Application Name=Eclipse Icon=eclipse Exec=env UBUNTU_MENUPROXY=/usr/share/eclipse.kepler/eclipse Terminal=false Categories=Development;IDE;Java;
现在eclipse应该出现在菜单中。
要创建符号链接,请使用:
sudo ln -s -T source_file target_file
你应该用eclipse
的绝对路径替换source_file ,并将target_file(即/usr/bin
的链接)放在:
sudo ln -s -T path_to_eclipse /usr/bin/eclipse
我认为你指的是Alacarte 。 出于某种原因,这并不总是保存更改。
我会这样做,但是请记住,即使你没有Eclipse的.desktop
文件,这应该为你做:
sudo nano /usr/share/applications/eclipse.desktop
如果您不相信我,这里是属性窗口:
尝试使用这个方法https://askubuntu.com/a/80016/240859创建启动器激活器(然后你可以随意移动它),但稍微修改~/.local/share/applications/opt_eclipse.desktop
它看起来像:
[Desktop Entry] Type=Application Name=Eclipse Comment=Eclipse Integrated Development Environment Icon= Exec=env UBUNTU_MENUPROXY=0 Terminal=false Categories=Development;IDE;Java; StartupWMClass=Eclipse
添加env UBUNTU_MENUPROXY=0
部分。 不要忘记在Icon和Exec中修改路径。