«

»

May
16
2008

ksshmenu – A graphical SSH manager for KDE

» Deutsche Version

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

  1. Wedra says:

    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;

  2. Arno says:

    Thank you very much. That seems, however be a matter of taste. I do like the original method.

  3. Steve says:

    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

  4. Arno says:

    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.

  5. Doug says:

    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!

  6. antivirus software alert says:

    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.

  1. Linux connection manager « Linux T&T says:

    [...] connection manager Monocaffe Connections ManagerGnome Connection ManagerPAC ManagerSSHMenuksshmenuSecPanel Author: WladyX on 14 April, 2010 Category: General, Ssh Older: Restore hidden menu [...]

Leave a Reply

Your email address will not be published.

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="">