R`dev.new()`冻结

时间:2015-08-31 02:13:16

标签: r graphics freeze hang

这刚刚开始发生:当我输入命令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并绘制工作而不会出现问题办法。所以它似乎特定于基础绘图。

2 个答案:

答案 0 :(得分:4)

我在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中

答案 1 :(得分:2)

实际上,R的问题并不是xorg-x11-server中的错误。 它的更新(修复后备存储的Always模式)显示了X11中的一个错误 R.的模块更多细节可以在R's bugzilla中找到:

https://bugs.r-project.org/bugzilla3/show_bug.cgi?id=16497 (详见评论5)

已经提出了几个解决问题的补丁。