我最近升级到了 Eclipse Luna,从那时起我就无法从 Unity Launcher 启动它。我修改了.desktop
位于 中的旧文件~/.local/share/applications
,然后将其添加到启动器中,现在它看起来像这样:
我怎样才能解决这个问题?
作为参考,这是我的eclipse.desktop
文件:
#!/usr/bin/env xdg-open
[Desktop Entry]
Version=1.0
Type=Application
Terminal=false
Path=/home/jinkim/eclipse
Icon=/home/jinkim/eclipse/icon.xpm
Exec=/home/jinkim/eclipse/eclipse
Name=Eclipse Luna
Comment=This is an IDE
Icon=eclipse
答案1
似乎文件中有一行.desktop
我遗漏了。特别是,关键的一行似乎是:
StartupWMClass=Eclipse
更多详细信息请参见此处:.desktop 文件的 StartupWMClass 字段代表什么?
因此,我发现下面这种方法对我有用:
#!/usr/bin/env xdg-open
[Desktop Entry]
Name=Eclipse
GenericName=Eclipse Java IDE
Comment=Eclipse Java IDE
Categories=Utility;Developer Tools;IDEs;Java;
Exec=/home/(your-username-here)/eclipse/eclipse
Icon=/home/(your-username-here)/eclipse/icon.xpm
StartupWMClass=Eclipse
StartupNotify=true
Terminal=false
Type=Application
X-GNOME-FullName=Eclipse Java IDE
我为实现这个功能采取的步骤如下:
使用文本编辑器创建
eclipse.desktop
并将上述内容粘贴到其中搬进
eclipse.desktop
~/.local/share/applications
允许其可执行:
chmod +x eclipse.desktop
双击,
eclipse.desktop
Nautilus 中将显示为Eclipse
在 Unity 启动器中,右键单击并选择“锁定到启动器”
答案2
我也遇到过同样的图标重复问题。但就我而言,这是因为我双击了 eclipse 可执行文件并要求 unit 将其锁定在启动器中。此操作使 unity 在 ~/.local/share/applications 中创建一个 eclipse.desktop 文件,其中其“exec=”设置为 java 而不是 eclipse 可执行文件。在我删除 unity 创建的那个并添加我自己的那个之后,问题就解决了。
答案3
根据您安装 Eclipse 的方式和选择的发行版,您可能会发现StartupWMClass
需要不同的值(使用xprop WM_CLASS
上面 Jin 的回答中的链接中描述的方法)。
从 Platform Runtime 发行版构建自定义 Eclipse 后,我得到了一个额外的“无条目”图标,其标题为“SWT”。使用xprop WM_CLASS
告诉我该类名为“SWT”,设置StartupWMClass=SWT
解决了该问题。