gpt4 book ai didi

r - 错误 : Clipboard on X11 requires that the DISPLAY envvar be configured

转载 作者:行者123 更新时间:2023-12-02 02:52:46 28 4
gpt4 key购买 nike

我正在编写一个shinyapp,我想在其中放置一个操作按钮来复制一些代码(我正在使用shinyace)。当我在新 session 中第一次运行我的应用程序时,它运行良好。但是当我关闭它并再次运行它时,出现错误:

Error in : Clipboard on X11 requires that the DISPLAY envvar be configured

我安装了xclipxsel,但问题仍然存在。当我使用 Shinyapps.io 部署应用程序时,每次想要使用复制到剪贴板功能时都会断开连接。

这是我的 sessionInfo()capability() :

R version 3.6.1 (2019-07-05)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 18.04.2 LTS

Matrix products: default
BLAS: /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.7.1
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.7.1

locale:
[1] LC_CTYPE=fr_FR.UTF-8 LC_NUMERIC=C LC_TIME=fr_FR.UTF-8
[4] LC_COLLATE=fr_FR.UTF-8 LC_MONETARY=fr_FR.UTF-8 LC_MESSAGES=fr_FR.UTF-8
[7] LC_PAPER=fr_FR.UTF-8 LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=fr_FR.UTF-8 LC_IDENTIFICATION=C

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

other attached packages:
[1] rsconnect_0.8.13 clipr_0.6.0 shinyAce_0.4.0 shiny_1.3.2

loaded via a namespace (and not attached):
[1] Rcpp_1.0.1 packrat_0.5.0 digest_0.6.20 later_0.8.0 bitops_1.0-6
[6] mime_0.7 R6_2.4.0 jsonlite_1.6 xtable_1.8-4 magrittr_1.5
[11] rlang_0.4.0 rstudioapi_0.10 promises_1.0.1 tools_3.6.1 RCurl_1.95-4.12
[16] httpuv_1.5.1 compiler_3.6.1 askpass_1.1 htmltools_0.3.6 openssl_1.4
jpeg         png        tiff       tcltk         X11        aqua    http/ftp     sockets 
TRUE TRUE TRUE TRUE TRUE FALSE TRUE TRUE
libxml fifo cledit iconv NLS profmem cairo ICU
TRUE TRUE TRUE TRUE TRUE TRUE TRUE TRUE
long.double libcurl
TRUE TRUE

你知道如何解决这个问题吗?

我也在这里问过:https://community.rstudio.com/t/error-in-clipboard-on-x11-requires-that-the-display-envvar-be-configured/34894

最佳答案

我建议在自定义函数中使用 xclip,因为我不知道如何将 DISPLAY var 传递给 clipr::write_clip():

clipboard<-function(x, sep="\t", row.names=FALSE, col.names=F){
con <- pipe("xclip -selection clipboard -i -display :1", open="w") # note the 1 here
#writeChar(x, con) # for strings
write.table(x, con, sep=sep, row.names=row.names, col.names=col.names) # for table
close(con)
}

我的经验是:我的rstudio服务器必须使用linux终端使用的显示器。

当我放入linux终端

echo $DISPLAY

给我:1,这有效:

echo 1235 | xclip -sel clip

但是在 Rstudio-server 内部,其系统终端 $DISPLAY 给出了 :0 并且 xclip 行失败。仅在 RStudio-server 系统终端中更改为 DISPLAY=:1 或在上述函数中使用 -display 标志后,它才适用于 RStudio-server

事实上,当你第一次使用它时,它就可以工作,这让我建议使用一个计数器来增加每次显示的数量,看看会发生什么。

关于r - 错误 : Clipboard on X11 requires that the DISPLAY envvar be configured,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56942384/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com