отмечу следующее, нажмите HERE:R запускается в графическом интерфейсе или нет?
я задать тот же самый вопрос, в том смысле, что мне нужно знать, была ли моя R среда была запущена из терминала, или в среде типа GUI.
Мотивация моего вопроса, как я произвожу ряд .pdf
отчетов, и, если пользователь называется функция, которые производят отчеты под GUI, то я хочу, чтобы открыть отчеты с помощью программы системы по умолчанию .pdf
, но если сценарий был запущен из командной строки или через сеанс, запущенный в командной строке, то это должно быть подавлено.
В RStudio, если я бегу interactive()
, результат TRUE
, и если я открываю R сессию в терминале и выполнить ту же команду, результат также TRUE
, поэтому, на мой вопрос, по существу, как я могу дифференцировать ? Я запускаю MacOSX, но хотел бы, чтобы ответ был уместен для mac, unix и windoze.
Cheers,
Когда вы говорите «открыть R сессию в терминале» вы открываете терминал и выполнение «R» или «R CMD BATCH»? – Benjamin
'echo 'interactive()' | R' говорит 'FALSE', поэтому он работает правильно. Вопрос в том, действительно ли вы хотите определить, работает ли графический интерфейс или вы хотите определить, работает ли R в интерактивном режиме (в этом случае 'interactive()' будет достаточным)? –
Я выполняю 'R', а не' R CMD BATCH', поэтому сеансы, открытые через 'R', или сеансы, выполняемые через исполняемый R-скрипт' #!/Usr/bin/env Rscript', должны возвращать 'FALSE', если сеанс запускается в чем-то вроде RStudio, он должен возвращать 'TRUE' –