我昨天将 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
答案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 中的路径。