Matthew Keller
2009-Dec-09 23:56 UTC
[R] Difficulty with terminal properly displaying help function in an ESS remote session
Hi all, I'm logging into a Debian server and running R remotely using ESS. The steps I use to do this are below (pasted from my webpage). However, we're having a problem whenever we want to use the help function, e.g., ?hist The remote buffer gives a warning: "WARNING: terminal is not fully functional - (press RETURN)" At this point we can't get back to our normal R session. When I use ESS locally on my MacPro, help screens open up in a split buffer below the one I'm working on, which is fine. So there are two issues: 1) How do we switch from the help screen back to the R session? 2) Is it possible to have help screens open up in separate buffers or in split buffers when using ESS remotely? Any help is appreciated! Matt Steps we take to use ESS remotely: 1) Open up your *.R script you?d like to use 2) Open a shell inside Emacs by typing ?M-x shell? 3) From within this shell, ssh to the server you want to use. When doing this, you need to make sure to specify two important ssh options: compression (which compress data coming to you, making the connection seem *much* faster) and X11 forwarding (which allows you to use interactive graphing features via X11). E.g.: ssh -XC username at servername.colorado.edu 4) You should now be logged into the server, just as you wold be if you?d used terminal rather than emacs. Now open up R as you usually would on that server. E.g.: R --arch=x86_64 5) You should be in R now. To allow this R session to be linked to your *.R script, use this command in the remote R session: M-x ess-remote In the Emacs mini-buffer prompt, type: r 6) Now you should be able to send code from your *.R script to the remote R session as you normally would (e.g., C-c C-j). 7) Last, you might need to change the options in your remote R session to graph using X11 rather than whatever default driver is being used. To do this in R, type: options(device=?x11?) 8) That?s it. Make sure it all works by typing something like: hist(rnorm(50)) #which should return a histogram of rnorm to your screen! -- Matthew C Keller Asst. Professor of Psychology University of Colorado at Boulder www.matthewckeller.com