R не может запустить устройство PNG - возможности () имеет значение TRUE для PNG?
Я работаю со сценарием R в более широком конвейере, который, кажется, не работает с некоторыми версиями Rscript, но с другими. Вызов не удается из-за невозможности подключения к X11, что понятно, потому что это на сервере. Но моя локальная установка Rscript способна справиться с этим нормально?
Моя локальная установка - версия 3.0.1, в то время как другие пользователи, которые сообщают об этой проблеме, находятся на 3.0.2.
Вот простой тестовый пример - сначала файл.R:
#!/usr/bin/env Rscript
capabilities()
png("abc")
dev.off()
Запустите с моим локальным 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
Запустите установку Rscript, которую другие пытаются использовать:
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
4 ответа
На случай, если кто-нибудь найдет это в Google, решение
png("abc", type="cairo")
Вы можете запустить его в команде R
options(bitmapType='cairo')
png("xzvf.png")
plot(z~x)
dev.off()
Попробуйте префикс звонка Rscript
с
xvfb-run
или даже
xvfb-run --server-args="-screen 0 1024x768x24"
в качестве png, если память служит, использует информацию о шрифте x11. Виртуальный сервер x11, запущенный xvfb-run
обеспечивает это, так что это помогает в безголовых настройках, заданиях cron и т. п. pp
У меня была такая же проблема при новой установке Ubuntu 14.04.
Просто установка xvfb-run
решил проблему, даже не запуская ее перед запуском R.