16.04 IntelliJ IDEA桌面条目不起作用


11

我尝试从主菜单中的“工具”和初始屏幕中的“配置”运行“创建桌面条目”。表明

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根据此线程在此处输入链接说明删除了桌面项, 然后尝试chmod 777 /usr/share/applications/jetbrains-idea.desktop将其拖动到启动器,该启动器仍然不起作用。 JAVA_HOME并且PATH都正确设置。


启动器应运行什么命令?
蒂姆

您注销并再次登录后是否检查过?有时,注销后会更新统一图标缓存。
拉胡尔·贾

制作备份~/.config文件夹cp ~/.config ~/.config-backup并删除 rm -rf ~/.config文件夹。在此之后重新启动。
2016年

请问,您是否bin/idea.sh以root身份运行过sudo?因为这确实创建了一个超级用户拥有的.desktop文件,你不能拖那些发射器
谢尔盖Kolodyazhnyy

@Serg不,我没有
黎圩镇

Answers:


13

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

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

至于.desktop文件本身-它是创建的。

在此处输入图片说明

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

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

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

由于该目录对所有用户全局可用,因此For all users将创建Checking 选项。/usr/share/applications/jetbrains-idea-ce.desktop/usr/share/applications

这些都是您想要的,只需将它们从文件管理器中拖动或短划线到启动器,即可将它们固定到启动器。注意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/shidea.sh作为参数传递给它。请注意,此.desktop文件需要具有可执行权限,否则您将收到警告“不受信任的应用程序”


我按照您所说的更改了生成的.desktop文件的内容,将其拖动到启动器中,单击它,没有任何反应。

请添加以下内容:您需要删除此文件夹:~/.local/share/JetBrains/ 再次打开安装向导。
Grisotto

4

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

  1. 确保在您的外壳配置文件中正确设置了JAVA_HOME。举例来说,我使用的zsh所以我要补充export JAVA_HOME=/.....~/.zshrc

  2. 如果你指定的任何jar文件为运行javaagentidea.vmoptions,一定要指定其全路径名。

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


1

让我们创建并安装一个新的桌面文件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 / share / applications /目录中。如果快捷方式文件中有任何错误(例如idea.desktop),谁会抓住它们?这就是为什么我们使用上述命令而不是cp命令进行安装的原因。命令desktop-file-install能够捕获错误!

为了完成此答案,让我们创建一个symlinkin /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时遇到类似的快捷方式问题,请参阅安装后,无法从Ubuntu 18.04桌面运行Netbeans 10.0。


0

反正我可能来不及了。Idea 19.1正在创建条目,该条目位于文件jetbrains-idea.desktop中。当我点击启动器并尝试通过键入查找时,idea它没有显示。复制完文件后:

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

它已经开始显示。


By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.