在典型的 Mac 上安装 R dev.new()
可能会打开 Quartz 设备。运行 options(device = "X11")
后,dev.new()
将打开 XQuartz 设备(如果已安装),否则返回Error in dev.new() : device 'X11' not found
。
有没有办法检查XQuartz是否已安装并可用?
编辑:似乎在未安装 XQuartz 时调用options(device = "X11")
后运行dev.new()
实际上会挂起 R 会话。它不会引发错误。奇怪的是,如果在呼叫繁忙时安装了 XQuartz dev.new()
,它将打开设备!
一种快速的方法是检查图形功能以查看函数是否quartz()
工作,这取决于 XQuartz 是否存在并在capabilities()
中显示为 aqua,以及 capabilities()
中的 aqua 是否列为 TRUE。
any(names(capabilities()) == "aqua" & capabilities() == TRUE)