I tried running "Create Desktop Entry" both from "Tools" in main menu and "Configure" from the splash screen. It shows
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).
but after closing IDEA (without manually locking the icon to launcher), the icon is also removed. I have deleted the desktop entry under ~/.local/share/applications
according to this thread Stack Overflow: Intellij launcher doesn't work on unity?
Then I tried
chmod 777 /usr/share/applications/jetbrains-idea.desktop
and dragged it to launcher, which still doesn't work.
JAVA_HOME
and PATH
are both set up correctly.
There is no option as of right now for automatic pinning of the
.desktop
file to the launcher of an application that was just installed. It does not just include IntelliJ but many other applications.Technically speaking , there are ways to append an icon to the list of icons on the launcher , however most developers don't use it and leave that option up to the user. Hence you have to manually pin the Launcher icon. Otherwise, once the program exits - the icon disappears from launcher, which is the proper behavior of any app that is not on the list of the launcher favorites.
As for the
.desktop
file itself - it is created.Checking only the
Create a desktop entry
option creates the file in~/.local/share/applications/
folder, which is typically where the launcher entries for unknown or user-specific apps go.To confirm that , I've ran this after installation:
Checking
For all users
option will create/usr/share/applications/jetbrains-idea-ce.desktop
, since the/usr/share/applications
directory is available globally to all users.Either of these is what you want, and they can be pinned to the launcher simply by dragging them from file manager or dash to the launcher. NOTE: the
bin/idea.sh
must be ran as your regular user - otherwise if you run it as root, the.desktop
file will be root owned, hence you cannot drag that to the launcher. If that's the case, you can alwayssudo chown $USER:$USER /path/to/jetbrains-idea-ce.desktop
You can always copy either of those to Desktop if that's what you want, but
.desktop
files aren't literally supposed to be on the desktop.As a last resort, you can always manually create a
.desktop
file.In my example, that would be
Notice , that this is different from the example in the link you provided . The
#!/usr/bin/env xdg-open
is unnecessary andExec
line actually runs/bin/sh
and theidea.sh
as parameter to it. Note that this.desktop
file needs to have executable permissions, otherwise you will receive a warning "Untrusted application"I was finally able to fix this by myself.
Make sure JAVA_HOME is set correctly in the profile of your shell. For instance, I'm using zsh so I have to add
export JAVA_HOME=/.....
in~/.zshrc
If you specified any jar file to run as
javaagent
inidea.vmoptions
, make sure to specify its full path name.Simply create .desktop file from IDEA or manually and point
Exec
parameter to the full path of youridea.sh
file. Then drag it to the launcher. Works fine.Let us create and install a new desktop file
idea.desktop
which is ashortcut
file forIntelliJ IDEA
.$ vi ~/idea.desktop
Type the following in the shortcut file
idea.desktop
using the editor:Now, run the following command to install
idea.desktop
file in/usr/share/applications/
directory:$ sudo desktop-file-install idea.desktop
In order to complete this answer, let us create a
symlink
in/usr/local/bin
directory:Alternatively, as the
IntelliJ IDEA
executable binary is located under/opt/idea/bin
, we can also add its parent directory to our$PATH
so that we can launch the program without specifying the absolute path to the binary file.I had similar shortcut issues while installing Netbeans 10.0, please refer After installation, Netbeans 10.0 won't run from Ubuntu 18.04 desktop
simply u can:
May be I'm too late by anyways. Idea 19.1 is creating entry which is in the file jetbrains-idea.desktop. when I hit launcher and try to find via typing
idea
it's not showing. Once I've made a copy of a file:it has started showing.