R 是否在 GUI 中运行?

标签 r user-interface command

我注意到以下内容,请点击HERE :

我问同样的问题,因为我需要知道我的 R 环境是从终端运行的,还是在 GUI 类型的环境中运行的。

我的问题的动机是我生成了许多 .pdf 报告,并且,如果用户调用了在 GUI 下生成报告的函数,那么我想使用以下命令打开报告系统默认的 .pdf 程序,但如果该脚本是从命令行运行的,或者通过在命令行启动的 session 运行的,则应禁止此操作。

在 RStudio 中,如果我运行 interactive(),结果为 TRUE,如果我在终端打开 R session 并运行相同的命令,结果为 TRUE也是 TRUE,所以,我的问题本质上是,我如何区分?我正在运行 MacOSX,但希望答案与 mac、unix 和 windows 相关。

干杯,

最佳答案

commandArgs() 将输出启动 R session 的命令行,.Platform$OS.type 将报告操作系统:

switch(.Platform$OS.type,
  windows = if (grepl("Rterm", commandArgs())) cat("terminal\n") else cat("GUI\n"),
  ...fill in for each other operating system...
)

关于R 是否在 GUI 中运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37761879/

相关文章:

ruby-on-rails - 具有基于 Web 的 UI/API 的 FTP 客户端/服务器

wpf - MVVM/命令和控制模板

R:将值从一列分配给另一列

r - 如何将 basemap 添加到 R 中的 tmap 图中?

java - 如何计算从 10 x 10 java JButton 网格中单击了多少个 JButton

wpf - 文本框和按钮 - 绑定(bind)和命令

wpf - 从 WPF DataGrid 中的按钮触发 RelayCommand

R Shiny ggplot 对 varSelectInput 有反应

R Shiny -错误 : there is no package called ‘shinyjs’

java - 为什么我的 JAVA GUI 打开多个窗口?