July 28, 2011

SSHplus: Even better sshmenu compatible appindicator

[caption id="" align="alignright" width="276" caption="SSHplus Appindicator"]SSHplus Appindicator[/caption]

My previous little utility - sshlist - got quite some attention, and helped out a lot of folks who were missing sshmenu on Unity. You can read more about the intentions behind this utility in this entry. Benjamin Heil further modified it giving it a simple parsable configuration format, and supporting launching applications.

SSHplus builds on both of the above, adding one the most requested features : supporting sshmenu configuration. SSHplus adds simple identification of sshmenu configuration - it grabs the title, and ssh parameters and sets them up in the menu (as shown in screenshot). It does not yet recognize  other items like profile etc. If you need an entry with very specific formatting, you can simply add the right arguments in sshplus configuration.

Features

  • Launch SSH, rdesktop, etc.
  • Compatible with sshmenu configuration file
  • Launch any application - for ex. VLC hangs a lot on me, and I need a simple way to kill it (screenshot)
  • Supports nested folders (but not yet for sshmenu nested entries - coming soon)

Setting up SSHplus

  • Download the latest sshplus.py  file from the github repo.
  • Copy file  to /usr/local/bin
  • Edit file .sshplus in home directory using simple configuration (explained below).
  • Launch sshlist.py
  • Or better yet, add it to gnome startup programs list so it’s run on login.

Example Configuration  ~/.sshplus

# Application launchers in a folder
folder:Applications
Show top|gnome-terminal|-x top
Kill VLC|pkill| -9 vlc

#back to main folder
folder:
#sep adds a separator
sep

# label: adds labels to the menu
label:SSH connections

SSH server1|gnome-terminal|-x ssh root@google.com
SSH server2|gnome-terminal|-x ssh -p 456 server2
Find the source|gnome-terminal|-x ssh neo@theone.com

sep

# Use rdesktop to connect to Windows Servers
label:RDesktop connections
Win-Server 1|rdesktop|-T "Win-Server 1" 1.2.3.4
Win-Server 3 (with many arguments)|rdesktop|-g 1320x680 -T "Win-Server 3" -x l -P -r sound:local 1.2.3.6

sep
label:Putty Connections

# PuTTY
PuTTY-Session 1|putty|-load SavedSession1
PuTTY-Session 2|putty|-load SavedSession2

#If present SSHmenu connections will be automatically added

Thanks to the users and commenters on sshlist who provided feedback, and to Benjamin Heil and Fabio for their modifications. Feel free to fork the project on github.