[ESS] remoting ESS/R with tramp

Tom Roche Tom_Roche at pobox.com
Thu Jan 12 17:56:25 CET 2012


summary: can/should one remotely run ESS on R using tramp? If so,
please help with problem (see below) starting remote R process.

details:

I've started working with large netCDF datafiles which live on a linux
cluster to which I have access, but not root. The cluster has an
uplevel R and NetCDF libraries (and particularly has the prerequisites
for R package=ncdf4) but downlevel emacs. By contrast, my linux laptop
has uplevel emacs, but can't currently run ncdf4. Hence I'd prefer to
run emacs and ESS on my laptop, and R and ncdf4 on the cluster.

I note the ESS docs state

http://ess.r-project.org/Manual/ess.html#ESS-processes-on-Remote-Computers
> 3.3 ESS processes on Remote Computers

> ESS works with processes on remote computers as easily as with
> processes on the local machine. The recommended way to access [R] on
> a remote computer is to start it from a telnet or ssh buffer and
> then connect ESS to that buffer.

> 1 Start a new telnet or ssh buffer and connect to the remote
>   computer (e.g. use ‘M-x telnet’ or ‘M-x ssh’; ssh.el is available
>   at

>   ftp://ftp.splode.com/pub/users/friedman/emacs-lisp/ssh.el

However IIRC ssh.el is quite old and has been long superceded by
tramp: am I missing something? I also note

https://stat.ethz.ch/pipermail/ess-help/2010-August/006282.html
https://stat.ethz.ch/pipermail/ess-help/2010-August/006309.html
https://stat.ethz.ch/pipermail/ess-help/2008-February/004523.html

which suggest that one should be able to remote ESS to R with tramp
(again, IIRC). However:

* I have access to the cluster configured such that I can `ssh t`
  from commandline.

1 I can open an R file on the cluster with
  `C-x C-f /t:/home/me/onlyOrigDN2.r`
  from my laptop, and note the following

*Messages*
> Tramp: Opening connection for t using scpc...done
> Tramp: Encoding remote file /scpc:t:/home/me/onlyOrigDN2.r [...]
> Tramp: Decoding remote file /scpc:t:/home/me/onlyOrigDN2.r [...]
> Wrote /tmp/tramp.62007lZ.r
> Tramp: Decoding remote file /scpc:t:/home/me/onlyOrigDN2.r [...]
> Tramp: Inserting local temp file `/tmp/tramp.62007lZ.r'...done
...

  If I do `C-h m` in the resulting buffer, I get

> Enabled minor modes: Auto-Composition Auto-Compression
> Auto-Encryption Autopair Autopair-Global Blink-Cursor Column-Number
> Desktop-Save Diff-Auto-Refine Display-Time Ess-Roxy File-Name-Shadow
> Font-Lock Global-Font-Lock Line-Number Menu-Bar Mouse-Wheel
> Nxhtml-Menu Nxhtml-Tag-Do-Also Popcmp-Group-Alternatives
> Popcmp-Short-Help-Beside-Alts Rngalt-Display-Validation-Header
> Rngalt-Minimal-Validation-Header Shell-Dirtrack Tool-Bar Tooltip
> Transient-Mark Yas/Global
...
> ESS[S] mode defined in `ess-mode.el':
> Major mode for editing ESS source.

2 From the resulting buffer, if I run `M-x R`, I get the following
  prompt and default response in the minibuffer:

> ESS [S(R): R (newest)] starting data directory? /scpc:t:/home/me/

  If I accept that (i.e., hit Enter) I get

*Messages*
> Type C-h m for help on ESS version 5.14
> Cannot read history file /scpc:t:/home/me/.Rhistory
> Tramp: Opening connection for t using scpc...
>
> Opening connection for t using scpc... \
> Tramp: Opening connection for t using scpc...done
> trying to (re)start process R for language S ...

  followed by the same minibuffer prompt and default response (but no
  error message or buffer=*ESS-errors*).

What do I need to do to make this usecase work (or to allow further
debugging)? Note that, locally (on the laptop),

* M-x emacs-version
> GNU Emacs 24.0.92.1 (x86_64-pc-linux-gnu, GTK+ Version 2.20.1) of 2012-01-11 on cw-bkp0, modified by Debian [2 times]

* M-x tramp-version
> 2.2.3-24.1

* there is no `ess-version` but 'ESS version 5.14' is reported above

and remotely (on the cluster)

$ R --version
> R version 2.14.0 (2011-10-31)

TIA, Tom Roche <Tom_Roche at pobox.com>



More information about the ESS-help mailing list