2015-08-31 40 views
2

这只是开始发生:当我键入命令dev.new(),窗口保持冻结,我不能Ctrl+c停止它。我必须杀死另一个终端中的R进程。我正在运行64位CentOS 6.7R 3.2.1。这里是sessionInfo()的输出:[R'dev.new()`冻结

> 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:添加更多的信息,除了我提到的仍然有效,我可以直接调用命令行Cairo并没有问题绘制的作品这样的(RGtk2)GUI。所以它似乎是特定于基础绘图。

+0

如果装入干净R对话,然后运行'dev.new()',它冻结? –

+0

是的,运行'R --vanilla'它仍然会冻结。 –

+0

你最近更新了一些CentOS库吗? –

回答

4

我对SL6.7同样的问题。这不是一个R问题,而是xorg-x11-server-Xorg更新将其崩溃。

刚刚降级的包,然后重新启动X会话,您可以重新绘制。

〜$百胜降级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

〜$回声 “排除=的xorg-X11-服务器的Xorg” >>在/ etc /的yum.conf

+0

嗯,我会试试看。谢谢! –

+0

太棒了,工作!这很奇怪,因为我在其他两个系统上安装了新的软件包而没有问题。好吧。 –

2

事实上,与R中的问题是没有真正的xorg-X11服务器的错误。 它的更新(修正后备存储的始终模式)透露R的X11 模块中的错误的更多细节可以R中的Bugzilla上找到:

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

一对夫妇的已经提出了解决该问题的补丁。