On 13-Mar-10 22:17:26, Barry Rowlingson wrote: > On Sat, Mar 13, 2010 at 4:27 PM, Jillian E Kozyra <jill...@gmail.com> > wrote: >> Dear Colleagues, >> >> We are attempting to create trees using R with our Ruby on Rails >> application. However, we are running into a problem involving the >> creation of the graphic. We would like them to be in either jpg or png >> format so that users can save, but due to a lack of control over our >> sever we are unable to start X11 server. Is there a way to create >> these images without using X11 server? >> > > Not sure what version of R you are using, but the png() device hasn't > needed an X11 server since way back when. Watch: > > $ export -n DISPLAY > $ R > > png() > > plot(1:10) > > dev.off() > > q() > > then I have a very fine Rplot001.png file. > > Now it may be that you can't compile PNG support without X11 being > there at compile time, but if you can compile R on a workstation with > X11 support then that R should work find on your server to produce > pngs even without X11 support there and then. > > jpeg() device works the same - X11 not needed at runtime. > > What makes you think it's lack of X11 that is making png or jpeg > devices fail? Run the capabilities() function and see if your R has > png and jpeg support - my suspicion is that you've compiled it on the > server with no X11 headers. It doesn't need a server at runtime. > > Barry
[Not for the first time, we've made almost identical comments almost simultaneously, Baz] A further thought: Jillian, I was assuming from your first post that you were unable to start X11 on the machine you were sitting at, the server being remote. If you *can* start X11 on the machine you are sitting at (or if it boots up into a graphics display with X11 already running) then you do not need to have X11 running on the remote server, so long as it has X11 *installed* (so that the programs which need an X display are there). It's a reversal of the usual view of things. If your machine is running X, then it is *your* machine which is the *X-server*, and programs running on the remote server which generate X11 output are the *X-clients*, sending X-requests to your machine. The one thing you may need to do on the machine you are sitting at is xhost + to allow access to your local X-server by remote machines which are generating X output. In short -- I'm not sure in my mind about the situation you find yourself in. How does it come about that you are "unable to start X11 server"? Ted. -------------------------------------------------------------------- E-Mail: (Ted Harding) <ted.hard...@manchester.ac.uk> Fax-to-email: +44 (0)870 094 0861 Date: 13-Mar-10 Time: 22:36:15 ------------------------------ XFMail ------------------------------ ______________________________________________ R-help@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.