I am a new R user and I have a question of embedding R to generate png On Debian, I installed R by source code. Now I want to embed R in an application which name is MyApp, and run the following syntax: png(filename="/tmp/Rplot%03d.png) example(rect) dev.off() Unfortunately I get the following error message: Error in X11(paste("png::", filename, sep = ""), width, height, pointsize, : unable to start device PNG Calls: png In addition: Warning message: In png(filename = "/tmp/test%03d.png") : unable to open connection to X11 display '' But I could run above syntax from R, and the result is correct, I can get two png files from /tmp/ folder. I try to respectively run same syntax(the syntax is: capabilities()[["png"]]) under two modes, the result is different: In R the result is TRUE, but when MyApp embed R the result is FALSE Then I used bitmap(file="/tmp/test") when embed R in MyApp, but get another error message: Error in bitmap(file = "/tmp/test") : sorry, 'gs' cannot be found Besides, I have installed xvfb. What I need do? Thanks -- View this message in context: http://www.nabble.com/An-issue-happens-Embed-R-and-redirt-png-file-tp17647871p17647871.html Sent from the R devel mailing list archive at Nabble.com.
Dirk Eddelbuettel
2008-Jun-04 18:38 UTC
[R] [Rd] An issue happens Embed R and redirt png file
Wrong list, so re-directing to r-help. Consider r-sig-debian for Debian questions too, but subscribe or else your posts bounce. On 4 June 2008 at 07:18, Rongrong wrote: | | I am a new R user and I have a question of embedding R to generate png | On Debian, I installed R by source code. | | Now I want to embed R in an application which name is MyApp, and run | the following syntax: | png(filename="/tmp/Rplot%03d.png) | example(rect) | dev.off() | | Unfortunately I get the following error message: | | Error in X11(paste("png::", filename, sep = ""), width, height, pointsize, | : | unable to start device PNG | Calls: png | In addition: Warning message: | In png(filename = "/tmp/test%03d.png") : | unable to open connection to X11 display '' See the R FAQ. | But I could run above syntax from R, and the result is correct, I can get | two png files from /tmp/ folder. | | I try to respectively run same syntax(the syntax is: | capabilities()[["png"]]) | under two modes, the result is different: | In R the result is TRUE, but when MyApp embed R the result is FALSE Because in case you have an x11 display, and in the other your don't. No display, no x11. | Then I used bitmap(file="/tmp/test") when embed R in MyApp, but get another | error message: | | Error in bitmap(file = "/tmp/test") : sorry, 'gs' cannot be found Fix that via $ sudo apt-get install ghostscript | Besides, I have installed xvfb. What I need do? Almost there. Wrap your call to MyApp in svfb-run, ie do $ xvfb-run MyApp [other parameters] and you get the virtual x11 device that png needs. R 2.7.0 should also alleviate the need for an x11 device due to its new cairo-based device code. While you didn't tell as which R version you are running, I suspect it is not the one the current one. Dirk -- Three out of two people have difficulties with fractions.