Problem
I'm following along some code and get an error related to X11. To recreate my error, I ran x11() and got the following:
> x11()
Error in x11() : X11 is not available
I have definitely plotted things in R that loaded the XQuartz program to display.
What I tried
?x11()
and saw that it is from the {grDevices}
package. I loaded that library, tried again, but got the same error. I read that X11 is related to XQuartz. install.packages("Cairo")
> x11( width=3, height=3)
Error in x11(width = 3, height = 3) : X11 is not available
> Sys.getenv("DISPLAY")
[1] "/private/tmp/com.apple.launchd.F1bsaVCA43/org.macosforge.xquartz:0"
> capabilities()
jpeg png tiff tcltk X11 aqua http/ftp
TRUE TRUE TRUE TRUE FALSE TRUE TRUE
sockets libxml fifo cledit iconv NLS profmem
TRUE TRUE TRUE TRUE TRUE TRUE TRUE
cairo ICU long.double libcurl
TRUE TRUE TRUE TRUE
- Google researching
I Googled using my error message and searched through the first two pages of my results but didn't find any solutions that worked. Based on my perusal of solutions, I provided my system information above since it seems to be relevant somehow. Any ideas/solutions/new leads would be appreciated.
You will need to download the R from cran (not Homebrew). After so doing the X11
will show up in capabilities()
:
The XQuartz package is the Mac X11 and your version is the current one. I'm wondering if you need to reboot after installation although I don't claim to know that. (And it might not hurt to repair permissions.) On my Mac (running 3.3.0 on El Cap) I need to set width and height (in inches, not pixels or points);
x11( width=3, height=3)
What do you get with:
Sys.getenv("DISPLAY")
Might be something along the lines of:
"/private/tmp/com.apple.launchd.KImNTikz8K/org.macosforge.xquartz:0"
Also run:
capabilities()
I had this same issue and installing R separately from Rstudio fixed it. You can download it from here and verify x11 is working using x11()
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With