Featured image of post How to create a desktop shortcut in Ubuntu 20.04

How to create a desktop shortcut in Ubuntu 20.04

Overview

Sometimes in linux, we don’t get a proper installer for an application. To run such application, we typically have to execute a shell script in the application bundle. In this post, we will see how to create a desktop shortcut in Ubuntu 20.04

The need for a desktop shortcut.

Navigating to applications’ binary everytime we need to run it can be a bit annoying, as well as time consuming. While there are some enthusiats who love this, there is also a section of users that wishes to have a shortcut so that, executing your favourite program is just a matter of clicking an icon. Afterall, why compromise accessibility just because you are on linux? 🙂

Creating desktop shortcut – tools vs manual method

While there are many useful tools like Gnome tweak tool , we will follow the manual route. We will create a something.desktop file in /usr/share/applications/. The application for which we will be creating this shortcut for is a famous IDE called PHPStorm and its trial version can be downloaded here

TLDR

Open up your terminal and create a file in /usr/share/applications/.

1
vi /usr/share/applications/phpstorm.desktop

Download and extract the package. Move the extracted folder to /opt/

1
2
tar -xvf PhpStorm-203.7148.74.tar.gz #name of your downloaded package.
sudo mv PhpStorm-203.7148.74 /opt/

Create a file phpstorm.desktop in /usr/share/applications/

1
sudo vi /usr/share/applications/phpstorm.desktop

Paste following code in the file

1
2
3
4
5
6
7
[Desktop Entry]
Name=PHPStorm
Type=Application
Terminal=false
Icon=/opt/PhpStorm-203.7148.74/bin/phpstorm.png #path to application icon. If this icon is not present in your application bundle, you can use anyother image
Exec=/opt/PhpStorm-203.7148.74/bin/phpstorm.sh #path to application binary, that needs to be executed to launch the application
Categories=Development

Now when you open your applications window, you should see an entry for PHPStorm as well.

You can now simply click this icon to launch your application, instead of manually executing shell script each time :).

Following above steps will create a desktop shortcut for any such application, however running application from shortcut created using this method can add a duplicate icon in the launcher. To prevent this, we need to add one more attribute to our phpstorm.desktop file, but first, we need to get the value of this attribute. To do this,

  1. Launch the application i.e. Phpstorm.
  2. type following in terminal
1
xprop WM_CLASS

After running above command, the cursor should turn to crosshair. Now, click on the application for which you are creating the shortcut, Phpstorm in this case. In the terminal you should see something like

1
WM_CLASS(STRING) = "jetbrains-phpstorm", "jetbrains-phpstorm"

Copy the value in quotes – “jetbrains-phpstorm”. In phpstorm.desktop file, add following

1
StartupWMClass=jetbrains-phpstorm

Finally, the contents of the phpstorm.desktop file are as follows

1
2
3
4
5
6
7
8
[Desktop Entry]
Name=PHPStorm
Type=Application
Terminal=false
Icon=/opt/PhpStorm-203.7148.74/bin/phpstorm.png #path to application icon. If this icon is not present in your application bundle, you can use anyother image
Exec=/opt/PhpStorm-203.7148.74/bin/phpstorm.sh #path to application binary, that needs to be executed to launch the application
StartupWMClass=jetbrains-phpstorm
Categories=Development

Restart the application, now you should not see duplicate icon in launcher.

Reference

comments powered by Disqus
Built with Hugo
Theme Stack designed by Jimmy