Lix*_*ixu 13 icons unity launcher intellij 16.04
我尝试从主菜单中的“工具”和启动画面中的“配置”运行“创建桌面条目”。表明
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).
Run Code Online (Sandbox Code Playgroud)
但是在关闭 IDEA 后(没有手动将图标锁定到启动器),该图标也会被删除。我已经~/.local/share/applications
根据这个线程删除了桌面条目Stack Overflow: Intellij launcher does not work on unity?
然后我试过了
chmod 777 /usr/share/applications/jetbrains-idea.desktop
Run Code Online (Sandbox Code Playgroud)
并将其拖到启动器,它仍然不起作用。
JAVA_HOME
并且PATH
都设置正确。
Ser*_*nyy 17
目前没有选项可以将.desktop
文件自动固定到刚安装的应用程序的启动器。它不仅包括 IntelliJ,还包括许多其他应用程序。
从技术上讲,有一些方法可以将图标附加到启动器上的图标列表中,但是大多数开发人员不使用它并将该选项留给用户。因此,您必须手动固定启动器图标。否则,一旦程序退出 - 图标将从启动器中消失,这是任何不在启动器收藏夹列表中的应用程序的正确行为。
至于.desktop
文件本身 - 它是创建的。
仅选中该Create a desktop entry
选项会在文件~/.local/share/applications/
夹中创建文件,该文件夹通常是未知或用户特定应用程序的启动器条目所在的位置。
为了确认这一点,我在安装后运行了这个:
$ ls ~/.local/share/applications | grep idea
jetbrains-idea-ce.desktop
Run Code Online (Sandbox Code Playgroud)
检查For all users
选项将创建/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
Run Code Online (Sandbox Code Playgroud)
请注意,这与您提供的链接中的示例不同。该#!/usr/bin/env xdg-open
是不必要的,Exec
线实际运行/bin/sh
与idea.sh
作为参数传递给它。注意这个.desktop
文件需要有可执行权限,否则会收到警告“Untrusted application”
我终于能够自己解决这个问题了。
确保在您的 shell 配置文件中正确设置 JAVA_HOME。例如,我正在使用 zsh,所以我必须export JAVA_HOME=/.....
添加~/.zshrc
javaagent
如果您指定要运行的任何 jar 文件idea.vmoptions
,请确保指定其完整路径名。
只需从 IDEA 或手动创建 .desktop 文件并将Exec
参数指向文件的完整路径idea.sh
。然后将其拖至启动器。工作正常。