ClusterSSH gets dsh support
If you don’t know about
ClusterSSH, it’s a project that builds on
M-x term
and
ssh
to offer a nice and simple way to open remote terminals. It’s
available in
ELPA and developed at
github cssh repository.
The default binding is
C-=
and asks for the name of the server
to connect to, in the
minibuffer, with completion. The host list used for
the completion comes from
tramp
and is pretty complete, all the more if
you’ve setup
~/.ssh/config
with
HashKnownHosts no
.
So the usual way to use
cssh.el
would be to just open a single remote
connection at a time. But of course you can open as many as you like, and
you get them all in a mosaic of
term
in your emacs frame, with an input
window at the bottom to control them all. There were two ways to get there,
either opening all remote hosts whose name is matching a given regexp, that
would be using
C-M-=
or getting to
IBuffer
and marking there
the existing remote
terms
you want to control all at once then use
C-=
.
Well I’ve just added another mode of operation by supporting
enhanced
dsh
group files. In such files, you’re supposed to have a remote host name per
line and that’s it. We’ve added support for line containing
@group
kind of
lines so that you can
include another group easily. To use the facility,
either open your
~/.dsh/group
directory in
dired
and type
C-=
when on the right line, or simply use the global
C-=
you
already know and love. Then, type
@
and complete to any existing group found
in your
cssh-dsh-path
(it defaults to the right places, so chances are you
will never have to edit this one). And that’s it,
Emacs will open one
term
per remote host you have in the
dsh
group you just picked. With a
*cssh*
controler window, too.
Coming next, how I solved my
init.el
dependancies burden thanks to
el-get
!