2014-02-28 103 views
1

我在Ubuntu Server 11.10上安裝了R-3.0.2(sudo ./configure,sudo make)並希望能夠在服務器上生成png文件(而不是查看它們)。當我嘗試運行「png();」在R I得到以下錯誤:用R生成png

Error in .External2(C_X11, paste("png::", filename, sep = ""), g$width, : unable to start device PNG
In addition: Warning message:
In png() : unable to open connection to X11 display ''

裏邊反以下相關的安裝:

libpng12-dev (1.2.46)
java (1.6.0_27)
xorg-dev (1:7.6+7ubuntu7.1)
libcairo-dev (1.10.2-6ubuntu3)...

Update:
libx11-dev (2:1.4.4-2ubuntu1)
libxt-dev (1:1.1.1-2)

(可能是我忘了一些)

運行能力(); R中給出如下:

jpeg png tiff tcltk X11 aqua http/ftp sockets
TRUE TRUE FALSE FALSE FALSE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo
TRUE TRUE TRUE TRUE TRUE FALSE TRUE

所以PNG是好的,但X11似乎缺少,任何想法就是我需要安裝/做得到PNG能力,R工作組(獲得X11和運行?) ?

+0

可能重複的[如何在沒有X11的服務器上運行R,並避免破壞的依賴關係](http://stackoverflow.com/questions/1710853/how-to-run-r-on-a-server-without -x11-and-avoid-broken-dependencies) – agstudy

+0

我不介意安裝X11,我現在不是如何。此外,我需要能夠像這樣運行'R'命令,而不是通過一些額外的軟件(如在該文章中建議的xvfb-run) – user1834095

回答

0

找到了答案,以我自己的問題由於意見從@Spacedman

原來我仍然需要安裝「libpango1.0-dev的」包。 「功能( 'X11');」仍然給出FALSE,但「png();」不再給出錯誤,所以我的問題是固定的。謝謝你指點我正確的方向!

0

您需要在系統上安裝相關的X11開發庫包,並重新編譯R,以便在X11功能中說明TRUE

sudo apt-get install libx11-dev libxt-dev 

或者只是在xorg-dev元數據包:

sudo apt-get install xorg-dev 

可能就足夠了。然後運行安裝的配置步驟,直到它說明它具有X11功能。它應該在配置步驟中在屏幕上輸出它,所以你不需要通過編譯來查找。

請注意,png支持不再需要與正在工作的X服務器的連接,因此您在無頭服務器上閱讀的有關需要虛擬X服務器進程(通過xvfb)的任何內容都不適用。

+0

所有這些軟件包已安裝(請參閱我更新的版本問題)。當我運行./configure我得到這個:支持 接口:X11 外部庫:的ReadLine 附加功能:PNG,JPEG,NLS,開羅啓用 選項:共享BLAS,R剖析 然而,X11的能力仍然是FALSE – user1834095

+0

檢查你的配置日誌文件,看看它找不到。 – Spacedman

+0

可能會出現問題?如何安裝更新的版本?我發現這在配置日誌中:檢查pkg-config是否知道cairo和pango ... no 檢查pkg-config是否知道cairo ...是 檢查cairo是否> = 1.2並且正常工作...是 – user1834095