不带X11的R标记
我试图在未启用不带X11的R标记,r,linux,unix,r-markdown,x11,R,Linux,Unix,R Markdown,X11,我试图在未启用X11的linux计算机上运行Rmarkdown脚本(myRmdScript.Rmd),并在以下情况下崩溃: Quitting from lines 2-7 (myRmdScript.Rmd) Error in .External2(C_X11, paste("png::", filename, sep = ""), g$width, : unable to start device PNG Calls: <Anonymous> ... block_exec -&
X11
的linux
计算机上运行Rmarkdown
脚本(myRmdScript.Rmd
),并在以下情况下崩溃:
Quitting from lines 2-7 (myRmdScript.Rmd)
Error in .External2(C_X11, paste("png::", filename, sep = ""), g$width, :
unable to start device PNG
Calls: <Anonymous> ... block_exec -> chunk_device -> dev_new -> do.call -> <Anonymous>
In addition: Warning messages:
1: In grDevices::png(f) : unable to open connection to X11 display ''
2: In (function (filename = "Rplot%03d.png", width = 480, height = 480, :
unable to open connection to X11 display ''
Execution halted
除了在这台机器上启用
X11
(这对RAM消耗问题不利)之外,还有其他解决方法吗?我最近也有同样的需要。@hrbmstr在评论中提出的解决方案很接近,但不起作用
缺少的部分是您还应该将dev=“CairoPNG”添加到安装程序块中,否则安装程序块将无法运行
我的服务器功能,请注意,jpeg、png、cairo、x11 tiff为FALSE:
> capabilities()
jpeg png tiff tcltk X11 aqua
FALSE FALSE FALSE FALSE FALSE FALSE
http/ftp sockets libxml fifo cledit iconv
TRUE TRUE TRUE TRUE TRUE TRUE
NLS profmem cairo ICU long.double libcurl
TRUE TRUE FALSE TRUE TRUE TRUE
使用Cairo包编译的完整Rmd。请注意安装程序块中的dev参数
---
title: "Untitled"
author: "TC"
date: "12/20/2019"
output:
html_document
---
```{r setup, include=FALSE, dev="CairoPNG"}
knitr::opts_chunk$set(echo = TRUE, dev="CairoPNG")
```
# test figure
```{r pressure, echo=FALSE}
plot(pressure)
```
将
knitr::opts_chunk$set(dev=“CairoPNG”)
放在Rmd的顶部,如果未安装,则安装Cairo
pkg并试一试。您确定这意味着不需要X11吗?Cairo
pkg本身不需要它,但-再次-也不再需要它sessionInfo()
或devtools::session\u info()
输出将有助于了解您所处环境的版本。另外(跳到dev
)具有所有输出格式选项。如果仍然存在问题,我会尝试各种位图。尽管在Rmd的顶部设置了knitr::opts_chunk$set(dev=“CairoPNG”),但错误仍然存在
---
title: "Untitled"
author: "TC"
date: "12/20/2019"
output:
html_document
---
```{r setup, include=FALSE, dev="CairoPNG"}
knitr::opts_chunk$set(echo = TRUE, dev="CairoPNG")
```
# test figure
```{r pressure, echo=FALSE}
plot(pressure)
```