Creating a graphical interface on top of SSH. How?

Alessandro Bottoni alessandro.bottoni at
Wed Aug 17 09:48:55 CEST 2005

John F. wrote:

> I want to write a client app in Python using wxWindows that connects to
> my FreeBSD server via SSH (using my machine account credentials) and
> runs a python or shell script when requested (by clicking a button for
> instance).
> Can someone give me some advice on how to create a "graphical shell"
> per se?

Well, a "graphical shell" is just a wxWidgets application that exposes a few
widgets (buttons, list, whatever). Each widget has a "event" associated to
it and this event can trigger whatever command, even a remote command on
your FreeBSD server (via ssh). As a consequence:
- create your user interface (I suggest you to use wxPython and wxGlade for
- associate to each and every widget a "event handler"
- make your event handlers call your scripts on your FreeBSD machine via SSH
(use PySSH or Conch for this)

Python has a couple of good implementation of SSH:
Both of them are well documented.

You can find a small example here:

Do not use wxWidgets directly. You would have to re-create a lot of
Python-wxWidgets integration that already exists. Use wxPython instead
( There is a quite good GUI builder for wxPython that is
called wxGlade. It can generate XML files that are easier to maintain than
C o Python code.

Alessandro Bottoni

More information about the Python-list mailing list