我尝试从主菜单中的“工具”和启动画面中的“配置”运行“创建桌面条目”。它显示
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-open
行Exec
实际上运行/bin/sh
,并将idea.sh
as 参数传递给它。请注意,此.desktop
文件需要具有可执行权限,否则您将收到警告“不受信任的应用程序”
答案2
我最终能够自己解决这个问题。
确保在 shell 的配置文件中正确设置了 JAVA_HOME。例如,我使用的是 zsh,因此我必须
export JAVA_HOME=/.....
添加~/.zshrc
如果您指定任何 jar 文件来运行
javaagent
,idea.vmoptions
请确保指定其完整路径名。只需从 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
它已开始显示。