R impossible de démarrer l'appareil, le format PNG - capacités() est VRAIE pour un PNG?
Je travaille avec un script R à l'intérieur d'un plus large pipeline qui semble ne pas fonctionner avec certaines versions de Rscript mais avec les autres. L'appel échoue en raison d'être incapable de se connecter à X11, ce qui est compréhensible parce que c'est sur un serveur. Mais mon installation locale de Rscript est capable de gérer cette amende?
Mon installation locale est la version 3.0.1, tandis que les un que les autres utilisateurs qui signalent ce problème sont sur 3.0.2.
Ici est un simple cas de test - d'abord, le .R fichier:
#!/usr/bin/env Rscript
capabilities()
png("abc")
dev.off()
Courir avec mon local env:
-bash-4.1$ ./test.R
jpeg png tiff tcltk X11 aqua http/ftp sockets
TRUE TRUE TRUE TRUE FALSE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE FALSE TRUE TRUE FALSE TRUE
null device
1
Exécuter sur l'installation de Rscript d'autres tentent d'utilisation:
jpeg png tiff tcltk X11 aqua http/ftp sockets
TRUE TRUE FALSE TRUE FALSE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE FALSE TRUE TRUE FALSE TRUE
Error in .External2(C_X11, paste("png::", filename, sep = ""), g$width, :
unable to start device PNG
Calls: png
In addition: Warning message:
In png("abc") : unable to open connection to X11 display ''
Execution halted
Double Possible de Comment faire pour exécuter R scripts sur les serveurs sans X11
OriginalL'auteur Ian Fiddes | 2014-07-28
Vous devez vous connecter pour publier un commentaire.
Dans le cas où quelqu'un trouve toujours sur google, la solution est
bitmap()
fonction. Malgré le nom, il rend également sans faille de la png et n'a pas besoin de X ou similaire. La raison a probablement quelque chose à voir avec ma configuration; je suis en cours d'exécution RStudio Serveur sur une tête de machine virtuelle. J'ai fait installer X pour rendre RGL de sortie à un WebGL fichier, mais n'a pas exactement réussir et ensuite trouvé le shinyRGL paquet, donc je n'avais pas l'utiliser pour X plus et l'a supprimé. En quelque sorte, ce qui semble avoir confondu R / le dispositif de rendu, et je reçois des OP d'erreur, indépendant de latype
paramètre.Vous pouvez également utiliser
options(bitmapType='cairo')
. Je vais avoir le même problème d'exécution brillante serveur sur AWS ubuntu 14. Je l'ai fait et l'erreur de s'en alla, mais toujours pas d'intrigue.J'ai dû ajouter
options(bitmapType='cairo')
à mon~/.Rprofile
Fiddes Pourquoi ne
type="cairo"
travail?J'ai reçu ce message d'erreur lors de ma première installation a été
type="cairo"
, j'ai eu à faire baisser la résolution pour le faire fonctionner.res=500
n'a pas fonctionné et maintenantres=250, height=40, width=80
œuvresOriginalL'auteur Ian Fiddes
Vous pouvez l'exécuter dans le R de la commande
OriginalL'auteur Shicheng Guo
Essayer la préfixation de l'appel à
Rscript
avecou même
png, si ma mémoire est bonne, utilise des polices x11 de l'information. Le virtuel serveur x11 commencé par
xvfb-run
offre, de sorte qu'il aide dans headless paramètres des tâches cron, etc ppxvfb-run
n'est pas installé sur le serveur, et je ne peux pas demander des choses à être installé. Autant que je sache, il n'y a pas de X11 serveurs de n'importe quel type en cours d'exécution sur la machine - alors, comment est mon local Rscript capable de générer de la Png à tous, alors?Peut-être que vous ne le pouvez pas. Essayez avec un autre appareil, tel que le caire et voir si vous pouvez le convertir après le fait.
Je pense que vous vouliez dire xvfb-run.
Oui, comme dans le deuxième exemple de code. Sera corrigé, merci.
Cela fonctionnait bien pour l'exécution d'un jupyter portable avec rkernel sur un cluster nœud de calcul:
xvfb-run --server-args="-screen 0 1024x768x24" jupyter notebook
OriginalL'auteur Dirk Eddelbuettel
J'ai eu le même problème sur la nouvelle installation de Ubuntu 14.04.
Simplement en installant
xvfb-run
résolu le problème, même sans l'exécuter avant le lancement de R.OriginalL'auteur cmbarbu