web-dev-qa-db-fra.com

X11 n'est pas disponible en R

Problème

Je suis le long d'un code et j'obtiens une erreur liée à X11. Pour recréer mon erreur, j'ai exécuté x11 () et obtenu ce qui suit:

> x11()
Error in x11() : X11 is not available

J'ai certainement tracé des choses dans R qui ont chargé le programme XQuartz à afficher.

Ce que j'ai essayé

  • J'ai fait ?x11() et j'ai vu que c'était du paquet {grDevices}. J'ai chargé cette bibliothèque, réessayé, mais j'ai eu la même erreur. J'ai lu que X11 est lié à XQuartz.
  • J'ai réinstallé XQuartz 2.7.8. J'ai R 3.2.3 et j'utilise OSX El Capitan version 10.11.4 (15E65). J'ai redémarré deux fois après la réinstallation.
  • 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

- Recherche Google

J'ai cherché sur Google en utilisant mon message d'erreur et j'ai cherché dans les deux premières pages de mes résultats, mais je n'ai trouvé aucune solution qui fonctionnait. Sur la base de ma lecture des solutions, j'ai fourni les informations de mon système ci-dessus car elles semblent être pertinentes d'une manière ou d'une autre. Toutes les idées/solutions/nouveaux prospects seraient appréciés.

12
user2205916

Le package XQuartz est le Mac X11 et votre version est la version actuelle. Je me demande si vous devez redémarrer après l'installation, bien que je ne prétende pas le savoir. (Et cela pourrait ne pas nuire à la réparation des autorisations.) Sur mon Mac (exécutant 3.3.0 sur El Cap), je dois définir la largeur et la hauteur (en pouces, pas en pixels ou en points);

 x11( width=3, height=3)

Avec quoi obtenez-vous:

Sys.getenv("DISPLAY")

Pourrait être quelque chose dans le sens de:

"/private/tmp/com.Apple.launchd.KImNTikz8K/org.macosforge.xquartz:0"

Exécutez également:

capabilities()
4
42-

J'ai eu ce même problème et l'installation de R séparément de Rstudio l'a corrigé. Vous pouvez le télécharger depuis ici et vérifier que x11 fonctionne en utilisant x11 ()

1
timxor

Vous devez avoir un serveur X local, alors obtenez XQuartz parce que vous êtes sur MacOS.

Si vous étiez sur Ubuntu, vous pourriez installer le serveur virtuel framebuffer X11 comme dit ici :

apt-get install xvfb xauth xfonts-base

Maintenant que vous avez X framebuffer virtuel installé, vous pouvez démarrer une nouvelle instance comme dit ici :

Xvfb :0 -ac -screen 0 1960x2000x24 &

Ensuite, si votre R est compilé avec with-x option de configuration (activée par défaut), vous devriez avoir la capacité X11, et il vous suffit de le déclarer dans R:

Sys.setenv("DISPLAY"=":0")
1
Anthony O.