停止 R 调用 XQuartz
Stop R calling XQuartz
我在 macOS 上并从终端使用 R。 R 经常启动 XQuartz,例如 install.packages("digest")
:
> install.packages("digest")
Installing package into ‘~/Library/R/3.5/library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
XQuartz window 打开 Secure CRAN mirrors
。
另一个例子是当有更新的包可用并且 XQuartz window 打开时
These packages have more recent versions available. Which would you like to update?
digest (0.6.18 -> 0.6.19) [CRAN]
如何强制 R 从终端询问问题而不是打开 XQuartz?
那是因为 MacOSX 需要 XQuartz。在 R MacOSX FAQ:
The quartz() device is the native graphic device in R for Mac OS X. ... The quartz() device can be used from R.APP or a suitable build of R running at the Mac console. Where supported it is the default graphics device. ... The quartz device allows for interaction.
一个选项可以在安装包时设置您的 CRAN 存储库:
install.packages("digest", repos = "https://cran.r-project.org")
您还可以在代码开头使用 options
:
定义您的 CRAN 存储库
options(repos = structure(c(CRAN = "your_cran_mirror")))
这是一个 CRAN mirros 列表,您可以从中选择最适合您的情况。
您还可以在 Rprofile.site
上设置这些首选项 site-wide,在 macOS 上为 /Library/Frameworks/R.framework/Resources/etc/Rprofile.site
,其中:
local({r <- getOption("repos")
r["CRAN"] <- "http://cran.r-project.org"
options(repos=r)})
P.S.: 后面复制自this post.
尽管 XQuartz
是 Mac 上 R
的原生图形设备,但实际上仍然可以直接控制这些菜单的显示位置。通过向您的 .Rprofile
添加一行,您可以强制 R
直接在控制台中提问,正如您所问的那样:
options("menu.graphics" = FALSE)
真正发生的是函数 install.packages
实际上正在调用 utils::menu
,它向用户显示一个选择菜单。函数 menu
本身以两种模式运行:如果它的 graphics
参数是 TRUE
,那么它会尝试在默认图形设备中显示菜单——在这种情况下,XQuartz window---否则将在控制台中显示文本菜单。此行为由全局选项 menu.graphics
.
控制
我在 macOS 上并从终端使用 R。 R 经常启动 XQuartz,例如 install.packages("digest")
:
> install.packages("digest")
Installing package into ‘~/Library/R/3.5/library’
(as ‘lib’ is unspecified)
--- Please select a CRAN mirror for use in this session ---
XQuartz window 打开 Secure CRAN mirrors
。
另一个例子是当有更新的包可用并且 XQuartz window 打开时
These packages have more recent versions available. Which would you like to update?
digest (0.6.18 -> 0.6.19) [CRAN]
如何强制 R 从终端询问问题而不是打开 XQuartz?
那是因为 MacOSX 需要 XQuartz。在 R MacOSX FAQ:
The quartz() device is the native graphic device in R for Mac OS X. ... The quartz() device can be used from R.APP or a suitable build of R running at the Mac console. Where supported it is the default graphics device. ... The quartz device allows for interaction.
一个选项可以在安装包时设置您的 CRAN 存储库:
install.packages("digest", repos = "https://cran.r-project.org")
您还可以在代码开头使用 options
:
options(repos = structure(c(CRAN = "your_cran_mirror")))
这是一个 CRAN mirros 列表,您可以从中选择最适合您的情况。
您还可以在 Rprofile.site
上设置这些首选项 site-wide,在 macOS 上为 /Library/Frameworks/R.framework/Resources/etc/Rprofile.site
,其中:
local({r <- getOption("repos")
r["CRAN"] <- "http://cran.r-project.org"
options(repos=r)})
P.S.: 后面复制自this post.
尽管 XQuartz
是 Mac 上 R
的原生图形设备,但实际上仍然可以直接控制这些菜单的显示位置。通过向您的 .Rprofile
添加一行,您可以强制 R
直接在控制台中提问,正如您所问的那样:
options("menu.graphics" = FALSE)
真正发生的是函数 install.packages
实际上正在调用 utils::menu
,它向用户显示一个选择菜单。函数 menu
本身以两种模式运行:如果它的 graphics
参数是 TRUE
,那么它会尝试在默认图形设备中显示菜单——在这种情况下,XQuartz window---否则将在控制台中显示文本菜单。此行为由全局选项 menu.graphics
.