这刚刚开始发生:当我键入命令dev.new()时,窗口保持冻结状态,而我无法通过Ctrl+c停止它。我必须在另一个终端中杀死R进程。我正在运行64位CentOS 6.7R 3.2.1。这是sessionInfo()的输出:

> sessionInfo()
R version 3.2.1 (2015-06-18)
Platform: x86_64-redhat-linux-gnu (64-bit)
Running under: CentOS release 6.7 (Final)
locale:
 [1] LC_CTYPE=en_US.utf8       LC_NUMERIC=C              LC_TIME=en_US.utf8        LC_COLLATE=en_US.utf8     LC_MONETARY=en_US.utf8
 [6] LC_MESSAGES=en_US.utf8    LC_PAPER=en_US.utf8       LC_NAME=C                 LC_ADDRESS=C              LC_TELEPHONE=C
[11] LC_MEASUREMENT=en_US.utf8 LC_IDENTIFICATION=C

attached base packages:
[1] graphics  grDevices utils     datasets  stats     methods   base

other attached packages:
[1] ggplot2_1.0.1    data.table_1.9.4 plyr_1.8.3       reshape2_1.4.1   vimcom_0.9-9     setwidth_1.0-4   colorout_1.1-0

loaded via a namespace (and not attached):
 [1] Rcpp_0.12.0      digest_0.6.8     MASS_7.3-44      chron_2.3-47     grid_3.2.1       gtable_0.1.2     magrittr_1.5     scales_0.3.0
 [9] stringi_0.5-5    proto_0.3-10     tools_3.2.1      stringr_1.0.0    munsell_0.4.2    colorspace_1.2-6

有人遇到过这个问题吗?也许是相关的,但是我能够使用GUI应用程序,将绘图设备创建为cairoDevice,没有问题。

编辑:更多信息-运行R --vanilla时,会发生相同的行为。与直接调用plot(例如plot(rnorm(1e2)))并调用ggplot相同。

编辑2:如果这还不够令人困惑,我可以在我的家庭系统上进行打印(除了通过命名空间加载的某些软件包之外,sessionInfo给出相同的输出)。我相信也安装了相同的CentOS软件包。

编辑3:除了我提到的(RGtk2)GUI仍然可以使用之外,我还可以添加更多信息,我可以直接从命令行调用Cairo并以这种方式打印作品。因此,它似乎特定于基础绘图。

最佳答案

我在SL6.7上遇到了同样的问题。这不是R问题,而是xorg-x11-server-Xorg更新使它崩溃了。

只需降级软件包并重新启动X session ,您就可以再次打印。

〜$ yum降级http://ftp.scientificlinux.org/linux/scientific/6.6/x86_64/updates/security/xorg-x11-server-Xorg-1.15.0-26.sl6.x86_64.rpm

要使其永久禁用,请在yum.conf中禁用软件包的升级

〜$ echo“exclude = xorg-x11-server-Xorg” >> /etc/yum.conf

07-27 13:16