Sometimes it’s pretty annoying, being a system administrator. For example whenever you hear sentences such as “Can you quickly do a ‘/etc/init.d/apache2 restart’?“, followed by a stultifying work, opening 5 to 10 times a new tab in “konsole”, then logging in on each and drop the command through KDEs automatic session manager.
Of course that’s no way to deal with, for a impatient, lazy human, full of hybris like me. So I thought, I’m going to do some work now and have much less to type later. A night spent with C++ later “ksshmenu” went out, a little KDE kicker applet, that attaches itself to the desktop. Gnome users may use the more powerful and mature SSHMenu. Inspired from it, I wrote a minimal equivalent for KDE and the KDE terminal emulator konsole. Receiving some feedback by you and finding some time and caprice, I may add some missing features later.
Functionality and screenshots
Screenshots
Full screen with (automated) launched konsole sessions
menu view with nested groups
System dependent localisation (German end English) of the settings window.
Functions
- context menu for servers, opening a konsole ssh-session reached my mouse click
- Nested groups wich fits best for your needs. Place servers where ever you want
- XML based configuration to be as flexible as possible
- The possibility to open entire groups of servers within a tabbed shell and therefore controllable parallel within KDEs konsole.
- Open Source (GPL 2)
Getting some interest, wishes and feedback by you, ksshmenu is of course still expandable. The application is also mostly untested, but works for me, but hey I follow the credo “release early, release often”.
Download
ksshmenu-0.1.tar.bz2 (508.9 KiB, 1,395 hits)
ksshmenu_0.1-1_i386.deb (44.9 KiB, 1,188 hits)
(I hope my English is understandable some way)

















6 comments
1 ping
Wedra says:
September 27, 2008 at 11:50 (UTC 1)
Simply wonderfull!!!
I made a little patch to use always one window
— src-dist/ksshmenu.cpp 2008-05-16 17:48:39.000000000 0200
src/ksshmenu.cpp 2008-09-27 11:24:16.000000000 0200
@@ -41,6 41,7 @@
ksshmenu::ksshmenu()
: KSystemTray( 0, “ksshmenu” )
{
this->first = true;
QString conf_file = QString(“%1/.ksshmenu.xml”).arg(getenv(“HOME”));
this->loader = KGlobal::iconLoader();
@@ -91,20 92,19 @@
void ksshmenu::open_window(int elemid)
{
- this->comm->sendCommand(this->servers.at(elemid).name, this->servers.at(elemid).host, this->servers.at(elemid).user, this->servers.at(elemid).pass, true, “”);
this->window = this->comm->sendCommand(this->servers.at(elemid).name, this->servers.at(elemid).host, this->servers.at(elemid).user, this->servers.at(elemid).pass, this->first, this->window);
this->first = false;
}
void ksshmenu::open_all_windows(int elemid)
{
std::vector::iterator i;
- QString window;
- bool first = true;
for( i = this->servers.begin(); i != this->servers.end(); i )
{
if ((*i).group.compare(this->servers.at(elemid).group) == 0 && ! (*i).is_group)
{
- window = this->comm->sendCommand((*i).name, (*i).host, (*i).user, (*i).pass, first, window);
- first = false;
this->window = this->comm->sendCommand((*i).name, (*i).host, (*i).user, (*i).pass, this->first, this->window);
this->first = false;
}
}
}
diff -Naur src-dist/ksshmenu.h src/ksshmenu.h
— src-dist/ksshmenu.h 2008-05-16 15:26:58.000000000 0200
src/ksshmenu.h 2008-09-27 10:54:47.000000000 0200
@@ -61,6 61,8 @@
virtual ~ksshmenu();
protected:
QString window;
bool first;
std::vector servers;
void mousePressEvent( QMouseEvent *e );
KonsoleCommunicator * comm;
Arno says:
September 27, 2008 at 14:30 (UTC 1)
Thank you very much. That seems, however be a matter of taste. I do like the original method.
Steve says:
January 11, 2011 at 20:22 (UTC 1)
Hi, I’d like to make a FreeBSD port of this, but need somewhere I can download the .tar.gz file. The download link above doesn’t have a file name, just a directory name, which makes it difficult. Is there somewhere else to download?
Thanks,
Steve
Arno says:
January 15, 2011 at 12:09 (UTC 1)
You should not have problems to download that file using decent browsers. You may also try this link although this shouldn’t be necessary unless you use ancient versions of Internet Explorer.
Doug says:
June 27, 2011 at 22:10 (UTC 1)
I’ve been looking for something like this, but have a couple of issues.
One is that I get a ‘timeout waiting for konsole’ error dialog. Running ksshmenu from a terminal shows stdout gets the message “konsole: Unknown option ‘script’.” on the same error.
The second is how to handle ssh on a non-standard port.
The original sshmenu was pretty much the main thing keeping me in gnome. I’m grateful you took the time to do something for kde!
Thanks!
antivirus software alert says:
March 20, 2012 at 11:48 (UTC 1)
On a regular basis check the pc’s entire method. I enjoy to perform scans overnight because they decelerate your personal computer and could acquire a short time. Only when section of your pc program seems to be attacked, it is possible to scan the particular believe element only. In case you are by using a free of charge program, make certain it eliminates the particular viruses it’s discovered. A few of these free plans will recognize the actual dangers however need choose the program in order because of it to eliminate the problem. I think these particular applications should be removed and also exchanged by packages who have full performance.
Linux connection manager « Linux T&T says:
April 14, 2010 at 12:48 (UTC 1)
[...] connection manager Monocaffe Connections ManagerGnome Connection ManagerPAC ManagerSSHMenuksshmenuSecPanel Author: WladyX on 14 April, 2010 Category: General, Ssh Older: Restore hidden menu [...]