【发布时间】:2018-05-02 18:57:19
【问题描述】:
我正在使用 svDialogs(zenity 的 R 包装库)来创建 GUI 弹出框,当我通过 R studio 或 R 终端会话(运行 Ubuntu 16.04)运行代码时,这可以正常工作。
一个最小的例子是:
library(svDialogs)
dlgMessage("Hello Stackoverflow!")
但是,当我直接通过终端运行代码时,它不起作用:
Rscript --vanilla -e 'source("path/to/file.R")'
终端显示库已加载,并没有显示错误信息:但没有弹出弹窗!如果我在调用 dlgMessage 之后添加了额外的行,则该行会运行。即如果我运行修改后的代码
library(svDialogs)
dlgMessage("Hello Stackoverflow!")
print("Goodbye Stackoverflow!")
然后第二行确实显示在终端窗口中(即代码没有在 dlgMessage 处崩溃)。
对于不依赖 dlgMessage 的解决方案(如果有解决方法)感到高兴:我之前曾尝试使用 system() 通过 R 本地使用 Zenity,但无法使其正常工作。
【问题讨论】: