Ubuntu – How to make a custom launcher for terminal applications

launcherquicklistsunity

I have some command line applications (and remote servers) that I want to make individual launchers for on the Unity launcher, how do I do that?

Best Answer

Custom launchers for terminal applications can be used, which can be very useful for applications such as irssi and mutt.

The thing to remember is that you’ll want to specify a different window manager class for the terminal using the --class argument, otherwise after you start your application via the Launcher, it will show up with all your other terminals and you can’t use a superkey keyboard shortcut with it.

For example, to create a launcher to login to another server, you can use something like the following for a .desktop file (see above for how to get this into the Launcher):

[Desktop Entry]
Version=1.0
Name=My Server
Comment=Login to my server
Exec=gnome-terminal --disable-factory --sm-client-disable --class=MyServer -x ssh -t myserver.example.com
StartupWMClass=MyServer
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=utilities-terminal
StartupNotify=true

After you've created this .desktop file (you can name it something like myserver.desktop) you can just drag and drop it onto your launcher.

Adapted from:

Here's an example of how I made it for my personal servers at home:

[Desktop Entry]
Version=1.0
Name=Remote Servers
Comment=Login to my servers
Exec=gnome-terminal --disable-factory --sm-client-disable --class=remoteserver
Terminal=false
X-MultipleArgs=false
Type=Application
Icon=utilities-terminal
StartupNotify=true
StartupWMClass=RemoteServers
X-Ayatana-Desktop-Shortcuts=Server1;Server2;Server3;

[Server1 Shortcut Group]
Name=SSH into bondigas.local
Exec=gnome-terminal --disable-factory --sm-client-disable  --class=remoteserver -x ssh -t bondigas.local
TargetEnvironment=Unity

[Server2 Shortcut Group]
Name=SSH into xbmc.local
Exec=gnome-terminal --disable-factory --sm-client-disable --class=remoteserver -x ssh -t xbmc.local
TargetEnvironment=Unity

[Server3 Shortcut Group]
Name=SSH into miggytop.local
Exec=gnome-terminal --disable-factory --sm-client-disable --class=remoteserver -x ssh -t miggytop.local
TargetEnvironment=Unity

Which ends up with this:

enter image description here