OCaml Graphics.open_graph "Cannot open display ..."

OCaml Graphics.open_graph "Cannot open display ..."

这段代码的最后一行

#load "graphics.cma";;
open Graphics;;
open_graph " 600x400";;

returns 出现如下错误:

Graphics.Graphic_failure "Cannot open display My-Machine.local"


因为我在 tuareg 模式下使用 Emacs 24.4,在 OSX 10.9.5 上,我安装了 XQuartz 2.7.7 并尝试调整它(看起来 here) .
我检查了 Graphics 是否已正确安装(而且,因为除了 "open_graph" 之外的所有原语都可以工作,我认为它是)并寻找答案 here and there,但它与我的问题并不匹配。

有什么想法吗?

我可能会提到,虽然我对 OCaml 还不错,但我对 Emacs 还很陌生(以前使用 MacCaml)并且对 X11 完全一无所知。

我不是你使用的任何东西的专家。

但是,X11 对显示器的访问通常由名为 DISPLAY 的环境变量控制。一种可能是您的设置为“My-Machine.local”。这个好像不太对,好像是机器名(不是显示器)

为了比较,我现在 Mac 上的 DISPLAY 值是这样的:

/private/tmp/com.apple.launchd.4FCqDJISx6/org.macosforge.xquartz:0

如果这有意义(可能有意义),则表明您需要确保 DISPLAY 的值正确地检测到 X11。