[ESS] ESS on unix cluster

Jason Riedy jason at acm.org
Fri Oct 31 18:56:21 CET 2008

And Marie-Pierre Sylvestre writes:
> R has already been installed by the administrator, and I can use it. I
> now would like to have ESS, but without going through the
> administrator. Is this feasible?

You don't need to run Emacs remotely or use ESS on the remote
host.  If ESS already works for you locally, you have most of
what you need.

I'm assuming you access the cluster by ssh.  Then install ssh.el
on your side.  Just copy
  http://www.splode.com/~friedman/software/emacs-lisp/src/ssh.el to
somewhere on your Emacs load-path.  (C-h v load-path<RET> to see
your current path.)

M-x ssh, entering the cluster front-end.  Then within the new
window, spawn a back-end R job however happens to be appropriate.
Every cluster is slightly different.  If it's under a PBS
derivative like Torque, qsub -I should give you a shell on a
back-end node.

Launch R on the back-end node.  Then M-x ess-remote within the
ssh window, specifying the flavor.  At this point, the ssh window
is a terminal to the front end, which in turn is a terminal to a
back-end node.  I follow that by issuing options(PAGER='cat') to
R, but that's up to you.  I haven't tried getting a sensible
pager setting through all these layers.

Getting X to work over this is another trick.  I use multiple
nxproxy runs and nxclient to tunnel through intermediate NATs;
setting that up is extremely painful.  It's easier to plot to
files and then use sshfs outside of Emacs or tramp inside of

If you think all this is insane, you're right.  But fixing it is
far outside Emacs's or ESS's scope.  The cluster/grid launching
programs are still changing too often for a common interface,
cluster/grid/parallel machine purchase and configuration still is
too ego-driven, and NAT boxes introduce whole new worlds of pain.


More information about the ESS-help mailing list