Отключить / подавить всплывающее окно tcltk для выбора зеркала CRAN в R

Мой вопрос похож на вопрос, который был опубликован ранее, но на него так и не ответил:

Отключить графический интерфейс, графические устройства в R

Мне не нравятся всплывающие окна R tcltk при выборе зеркала CRAN. Они также всплывают для выбора пакета при поиске справки по функции в двух пакетах.

Есть ли способ отключить эти окна без полного отключения X11? Я по-прежнему хочу, чтобы команды plot () работали нормально, но отключили небольшие меню выбора, которые загружаются через удаленное соединение навсегда.

Например, если вы используете ssh, но не используете -X, то выбор зеркала - это просто текст внутри R, вы вводите число. Это быстро. Это то, что я хочу, но поддержание X11 для участков b.

Кто-нибудь знает, как поддерживать графические окна, но отключить "выбор" tcltk windows?


person nsheff    schedule 15.09.2011    source источник
comment
Моя любимая мозоль тоже! Rstudio отображает графику в окне X, но блокирует уродливое всплывающее окно Tcl / tk. Спасибо, что задали этот вопрос.   -  person isomorphismes    schedule 10.11.2011


Ответы (3)


Дирк предлагает способы полностью избежать использования меню, но, чтобы ответить на ваш вопрос в том виде, в каком он поставлен, я думаю, вы хотите

options(menu.graphics=FALSE)

Я отследил этот вариант, найдя класс объектов, возвращенных из help (это help_files_with_topic), просканировав utils:::print.help_files_with_topic и найдя строку

menu(txt, title = gettext("Choose one"), graphics = getOption("menu.graphics"))
person Aaron left Stack Overflow    schedule 15.09.2011
comment
Да! Это то, что я искал. Я заглядывал в то меню опций ... Не знаю, как я это пропустил. - person nsheff; 15.09.2011

Просто установите зеркало в файлах запуска. У меня это есть в моем ~/.Rprofile, и я никогда не вижу этого приглашения:

## Default repo
local({r <- getOption("repos");
       r["CRAN"] <- "http://cran.us.r-project.org"; 
       options(repos=r)})

См. help(Startup) для получения дополнительных сведений о настройке здесь, а также см. этот отличный вопрос SO по настройке ~/.Rprofile.

Изменить. Что касается вашего дополнительного вопроса, только что добавленного в комментарии, это другое дело. В этом случае вы можете явно указать mapply, используя пространство имен и оператор ::. Например, base::mapply(foo, bar) однозначно выберет одну из стандартной библиотеки, и аналогичным образом help(mapply, package="base") запросит помощь для данной функции из данного пакета.

person Dirk Eddelbuettel    schedule 15.09.2011
comment
+1 Потому что вы были (только) первым и потому что придираться к мелочам - это хорошо. - person Andrie; 15.09.2011
comment
Хорошо, это решает проблему с зеркалом, но как насчет диалогового окна «Выбрать один», которое появляется, когда вы вводите? Mapply и имеете 2 пакета с функциями сопоставления (например, IRanges и base)? Загрузка интерфейса Tcl / Tk ... - person nsheff; 15.09.2011
comment
Ну что ж, с таким одобрением пришлось опять придираться :) - person Dirk Eddelbuettel; 15.09.2011
comment
А теперь посмотрите, что натворили ваши придирки - ответ исчез! ;-) - person Andrie; 15.09.2011
comment
-1 за то, что не ответил на исходный вопрос. Добавляя, вы пробовали это вместо этого? комментарий хорош, но предлагаемые альтернативы могут не применяться в контексте OP, не говоря уже о контексте каждого человека, у которого есть тот же вопрос, возможно, даже спустя годы. Следовательно, они не являются ответом на заданный конкретный вопрос. - person stewbasic; 27.01.2015
comment
Спустя годы, но просто хотел защитить Дирка (не то чтобы ему это было нужно ...); для большинства людей, которые ищут этот вопрос, это почти наверняка проблема XY, где Ответ Дирка ответит на их основной вопрос лучше, чем мой принятый ответ. - person Aaron left Stack Overflow; 23.07.2019

Также ознакомьтесь с пакетом интерактивности в CRAN, если хотите. чтобы полностью отключить интерактивные фанки.

person Jeroen    schedule 23.10.2012
comment
interactivity пакет был удален из CRAN и, похоже, нигде не доступен. Закончен ли он? Какой пакет использовать вместо этого? - person smci; 05.10.2015