我发现登录时 DISPLAY 变量设置错误为:/tmp/launch-qGGKPH/org.macports:0(或类似命名的临时文件)
这可能与我安装和卸载 macports xorg-server 的方式有关。无论如何,此设置阻止了与 X 的集成。此外,我发现有时正确的 DISPLAY 变量是 0:0,有时是 1:0,从而阻止了硬编码。
我应该如何配置我的环境以确保登录时所有进程都继承了 DISPLAY 的正确设置?也许这是确定 macports 如何扰乱我系统的默认设置的问题?
答案1
经过一番研究。Leopard 下的 X11 是从 launchd 运行的,这不是 macports 特有的 - 因此它将套接字的名称设置为您在 DISPLAY 变量中看到的奇怪名称。
因此你不应该改变DISPLAY看到来自Macworld论坛 Machints 引用 XQuartz 作者的话
更多来自xquartz 常见问题解答如果你想手动启动 X11,而不是通过 launchd
答案2
您使用 macports 安装新的 X11 环境而不是使用 Mac OS X 附带的环境是否有特殊原因?如果您不是特别需要 macports,我建议您卸载它(仅卸载 X 组件,而不是所有 macports),然后(重新)安装 Apple 的 X11 环境。它不是默认安装的,但它在您的 Mac OS X 安装 DVD 上,您可以在事后只安装该组件。
答案3
我搜索并修改了 launchd 相关的配置文件,直到问题解决。用户 Mark 提供的链接中提供了必要的信息: