如何在 Ubuntu 13.10 中为 Eclipse 创建菜单项?

如何在 Ubuntu 13.10 中为 Eclipse 创建菜单项?

我昨天将 Eclipse 升级到了 4.3 版,遇到了缺少菜单错误。要恢复菜单,必须以不同的方式启动 Eclipse,因此我尝试在主菜单中创建一个新项目。

由于某种原因,主菜单中没有存储该项目,当我单击新项目对话框中的“确定”按钮时没有收到任何错误消息,但应用程序组中没有任何变化。

我做错什么了吗?谢谢。

更新一用户 wilf 告诉我添加一个名为的文件eclipse.desktop/usr/share/applications但这并未在主菜单中创建新项目:

在此处输入图片描述

更新二:我的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 图标显示在仪表板中吗?

答案1

您在问题中写道,您的 .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 文件放在那里,请不要忘记注销/登录。

答案2

使用命令找到可执行文件的路径which

which eclipse

创建.desktop文件:

sudo touch /usr/share/applications/eclipse.desktop

使用您选择的文本编辑器以 root 权限打开该文件,例如nano

sudo nano /usr/share/applications/eclipse.desktop

并将以下内容复制到文件中并保存工作:来源

[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并将目标文件(即链接)放置在/usr/bin

sudo ln -s -T path_to_eclipse /usr/bin/eclipse

答案3

我认为你指的是点菜。由于某种原因,这并不总能保存更改。

我会这样做答案建议,但请记住,即使您没有.desktopEclipse 的文件,这也应该可以为您完成:

sudo nano /usr/share/applications/eclipse.desktop

在此处输入图片描述

如果您不相信我的话,以下是属性窗口:

在此处输入图片描述

答案4

尝试使用此方法https://askubuntu.com/a/80016/240859创建启动器激活器(然后您可以将其移动到任何您喜欢的位置)但~/.local/share/applications/opt_eclipse.desktop稍加修改使其看起来像:

[Desktop Entry]
Type=Application
Name=Eclipse
Comment=Eclipse Integrated Development Environment
Icon=<path to icon.xmp like /opt/eclipse/icon.xpm>
Exec=env UBUNTU_MENUPROXY=0  <path to eclipse like /opt/eclipse/eclipse>
Terminal=false
Categories=Development;IDE;Java;
StartupWMClass=Eclipse

添加env UBUNTU_MENUPROXY=0部分。不要忘记修改 Icon 和 Exec 中的路径。

相关内容