Home

Advertisement

Customize

HotSSH 0.2

Ok, I should kick this out the door. So I mentioned before one of my spare time projects is to take over the SSH experience in GNOME, because there are a lot of things that could be better and it's too important to have it trapped entirely inside a VT100 emulator. HotSSH is the initial execution of that plan. You can see the (new) website for a list of things that are done now.


What's potentially in store for the future?


  • Remote bash integration, particularly remote working directory

  • Drag and drop files onto window to copy (more generally better scp)

  • Investigate general extension/scripting mechanism (HotSSH being in Python helps here)

  • Potentially have more flexible layout like Terminator?

  • Translations other than my humorous (well I think so) initial en_CA.po

  • Actually ship as part of GNOME by default



For now there's no mailing list, so blog comments or personal mail until I get that set up; bugs here. Free desktop vendors, start your packaging engines!


Edit: - The download link since the web page isn't synched quite yet

Tags:

Comments

(Anonymous)

Documentation..

Just caught this on the gnome-ftp RSS feed and was stumped. Downloaded the tbz2 and didn't find a README, ChangeLog or NEWS, actually, nothing inside the archive that explains what the heck it was. I was confused skimmed the source to get an understanding.

Say, would it be possible to toss this note into a README in the archive for next time?

Re: Documentation..

There's a README now in SVN. Yeah, I should have thought of that before the release =/

(Anonymous)

Interesting....

That looks to have some things in it that I would definitely find useful (i.e. drag and drop of files). I have fairly extreme usage for ssh. Think logging into 60 machines across a jumpbox, and broadcasting commands, tunnels within tunnels within tunnels, port forwards up the wazoo and so on.
My current tools of choice are some manually kludged gnome-terminals for setting up tunnels, with a 2000 line .ssh/config, sshmenu, clusterm, sshfs and a whole bunch of scripts (bash and python) for autogenerating massive configs for my usage.

I have a couple... correction, a whole bunch of possible suggestions/extensions:

1) Some kind of ssh tunnel manager/monitor
2) Absolutely all the things clusterm can do. (An excellent tool)
3) A way of defining "worksets". Click one item, and open # terminals to varying places and configs.
4) Connecting to a machine pops up a password request for loading the ssh key into the ssh-agent. (I saw this in Hardy for the first time, before that I used sshmenu)
5) When I log into a machine an option to add my public key to the authorized_hosts on that machine. Next time, no password prompt (provided I have loaded my private key into the ssh-agent.)
6) Autogenerating worksets for multiple hosts i.e. (foo101 - foo120, for a workset of 20 hosts starting foo)

No doubt I could think of more, but I don't want to scare you :-D

I can script in bash and python, although I suck at the GUI stuff, so I'm interested in this tool, and (if I can find the time) may well be able to contribute. I guess it really depends on what direction you want to take this tool, and if it is intended to be one tool to rule them all ;-)

(Anonymous)

Re: Interesting....

Damn, I knew I'd think of "just one more..."

7) A way to log input/output (excluding hidden stuff like passwords) to a file like 200707241158_foo.log - very useful when everyone sudo's to the same user account, and someone has cocked up. In your best Shaggy voice "It wasn't me!!!" while pointing at your logs :-)

Re: Interesting....

Good ideas here. On "worksets" or "foo101-foo120" type things, one thought I had was a tagging interface. So when you're connected to a computer, you can tag it say "webserver" and then the open dialog would also complete on tags, allowing you to open a new window with connections to all your webservers.

The key handling is another huge area to tackle.

(Anonymous)

Re: Interesting....

Me again :-D

8) If you implement the broadcast feature (like ClusTerm) dropping files onto the master terminal would copy the file(s) to all the slaved windows.
Is it a "new Terminal dedicated to SSH" or does it use Gnome-terminal ?

See, I love tabs in Gnome-terminal, and it would be great to have only one app for both local and remote shells.

In fact, I've been thinking. Does the new GIO / GVFS provides a ssh virtual... stuff ? (sorry, can't find a better word in english ^^). If it does, it could provide lots of interesting points:
- ssh:// in nautilus, to have a WinSCP like
- easy "HotSSH-ing" the Gnome-terminal
- ...

Anyway, this looks like a great alternative to SSHMenu. Gotta try that very soon.
HotSSH internally uses a library called "HotVTE", which is a (mostly) generally reusable library for creating application-specific tabbed terminal emulators.

It does use the same main terminal emulator widget that GNOME Terminal uses (VTE).

But HotSSH is definitely not intending to be a general purpose terminal - for that you should use GNOME Terminal.

GIO only provides SFTP support, and I do have some plans to integrate with that.
> "But HotSSH is definitely not intending to be a general purpose terminal - for that you should use GNOME Terminal."
Yes, but Gnome-Terminal doesn't have all the nice features you are making in HotSSH :D
Well, there are a few things that could be a patch to GNOME Terminal like the Firefox-style session saving and DBus support (instead of Bonobo).

But other than that I'm not sure it makes sense to put a lot of app-specific code into gnome-terminal; long term for example I can see all the SSH-specific code being at least half as big as g-t currently.

(Anonymous)

ooh!

a higher level vte wrapper sounds very interesting. We should look at that for terminator. I would guess we have similar code, but less duplication has to be a win.
Do you think there is any scope for merging this more closely with terminator?

Chris Jones

Re: ooh!

It's possible yeah. hotvte is right no somewhat hackish but it has some good things in it.

(Anonymous)

Regarding Avahi + SSH:

- check this bug report: https://bugs.launchpad.net/ubuntu/+source/bash-completion/+bug/136215
(IIRC there was a similar report for Debian as well, but I couldn't find it now):

- apparently here's a possible implementation:
http://balanceofcowards.blogspot.com/2007/08/avahi-patch-for-bashcompletion.html

Nothing against HotSSH in particular, but having better SSH support without having to compile/install yet another new app would be quite nice, IMHO.
Long term my plan is to get HotSSH included in GNOME by default so you don't need to do the compile/install process.

I have nothing against bash completion, but fundamentally I don't think bash (or more generally the Unix shell) is the final word on the interface to ssh or the computer. By using a real display system (GTK+/X11) it is possible to create a faster and better UI and I believe HotSSH demonstrates that.

Advertisement

Customize