16.04 IntelliJ IDEA 桌面入口不起作用

16.04 IntelliJ IDEA 桌面入口不起作用

我尝试从主菜单中的“工具”和启动画面中的“配置”运行“创建桌面条目”。它显示

Desktop Entry Created
You may now exit IDEA and start it from the system menu (restart a session if a new entry seem not to appear).

但在关闭 IDEA 后(没有手动将图标锁定到启动器),图标也会被删除。我已~/.local/share/applications根据此线程删除了桌面条目Stack Overflow:Intellij 启动器在 Unity 上不起作用?

然后我尝试

chmod 777 /usr/share/applications/jetbrains-idea.desktop

并将其拖到启动器,但仍然不起作用。

JAVA_HOME并且PATH都设置正确。

答案1

目前还没有选项可以将文件自动固定.desktop到刚安装的应用程序的启动器上。它不仅包括 IntelliJ,还包括许多其他应用程序。

从技术上讲,将图标附加到启动器图标列表的方法,但大多数开发人员不使用它,而是把这个选择权留给用户。因此你必须手动固定启动器图标。否则,一旦程序退出,图标就会从启动器中消失,这是任何不在启动器收藏夹列表中的应用程序的正常行为。

至于.desktop文件本身 - 它已被创建。

在此处输入图片描述

仅选中该Create a desktop entry选项会在文件夹中创建文件~/.local/share/applications/,该文件夹通常是未知或用户特定应用程序的启动器条目所在的位置。

为了确认这一点,我在安装后运行了这个:

$ ls ~/.local/share/applications | grep idea
jetbrains-idea-ce.desktop

选中For all users选项将创建/usr/share/applications/jetbrains-idea-ce.desktop,因为该/usr/share/applications目录可供所有用户全局使用。

以上任何一种都是您想要的,只需将它们从文件管理器或 dash 拖到启动器即可将它们固定到启动器。笔记bin/idea.sh必须以普通用户身份运行 - 否则,如果您以 root 身份运行,则文件.desktop将归 root 所有,因此您无法将其拖到启动器。如果是这种情况,您可以随时sudo chown $USER:$USER /path/to/jetbrains-idea-ce.desktop

如果您愿意,您可以随时将其中任何一个复制到桌面,但.desktop文件实际上不应该放在桌面上。

作为最后的手段,您始终可以手动创建文件.desktop

在我的例子中,

[Desktop Entry]
Type=Application
Terminal=false
Exec=/bin/sh /home/xieerqi/intellij/idea-IC-145.597.3/bin/idea.sh
Name=Intellij
Icon=/home/xieerqi/intellij/idea-IC-145.597.3/bin/idea.png

请注意,这是不同的从您提供的链接中的示例。该#!/usr/bin/env xdg-openExec实际上运行/bin/sh,并将idea.shas 参数传递给它。请注意,此.desktop文件需要具有可执行权限,否则您将收到警告“不受信任的应用程序”

答案2

我最终能够自己解决这个问题。

  1. 确保在 shell 的配置文件中正确设置了 JAVA_HOME。例如,我使用的是 zsh,因此我必须export JAVA_HOME=/.....添加~/.zshrc

  2. 如果您指定任何 jar 文件来运行javaagentidea.vmoptions请确保指定其完整路径名。

  3. 只需从 IDEA 或手动创建 .desktop 文件并将Exec参数指向文件的完整路径即可idea.sh。然后将其拖到启动器。工作正常。

答案3

让我们创建并安装一个新的桌面文件,idea.desktop它是一个shortcut文件IntelliJ IDEA

$ vi ~/idea.desktop

idea.desktop使用编辑器在快捷方式文件中输入以下内容:

[Desktop Entry]                                                                 
Encoding=UTF-8
Name=IntelliJ IDEA
Comment=IntelliJ IDEA
Exec=/opt/idea/bin/idea.sh
Icon=/opt/idea/bin/idea.png
Terminal=false
StartupNotify=true
Type=Application
StartupWMClass=IntelliJ IDEA

现在,运行以下命令在目录中安装idea.desktop文件:/usr/share/applications/

$ sudo desktop-file-install idea.desktop

切勿直接复制捷径文件到/usr/共享/应用程序/目录。如果快捷方式文件中有任何错误,例如idea.桌面谁会去抓它们?这就是为什么我们使用上面的命令而不是cp命令。命令桌面文件安装能够捕获错误!

为了完成这个答案,让我们创建一个symlink目录/usr/local/bin

$ cd /usr/local/bin/
$ sudo ln -s /opt/idea/bin/

或者,由于IntelliJ IDEA可执行二进制文件位于下/opt/idea/bin,我们也可以将其父目录添加到我们的目录中,$PATH这样我们就可以启动该程序而无需指定二进制文件的绝对路径。

$ vi ~/.bashrc
export PATH="$PATH:/opt/idea/bin"

我在安装 Netbeans 10.0 时遇到了类似的快捷方式问题,请参考安装后,Netbeans 10.0 无法从 Ubuntu 18.04 桌面运行

答案4

无论如何,我可能已经太晚了。Idea 19.1 正在创建文件 jetbrains-idea.desktop 中的条目。当我点击启动器并尝试通过键入查找时,idea它没有显示。一旦我复制了一个文件:

cp /usr/share/applications/jetbrains-idea.desktop /usr/share/applications/idea.desktop

它已开始显示。

相关内容