首页 > 解决方案 > 在 Mac OS Big Sur 上设置全局环境变量

问题描述

我想要实现的目标: 我需要使用 OpennSSH SSH 代理而不是默认的 Mac OS SSH 代理。为此,我卸载了com.openssh.ssh-agent启动并创建了我自己的自定义 plist 文件。它运作良好。它创建套接字文件 ~/.ssh/agent。我需要进一步设置环境变量 SSH_SOCK_AUTH 和 ssh 代理按我的预期工作。

问题是什么: 在终端没问题。我添加export SSH_AUTH_SOCK=~/.ssh/agent.sock.zprofile并且可以使用 ssh 代理。当我想在某些 GUI 应用程序中使用 ssh 代理时,问题就出现了。他们“不知道” SSH_AUTH_SOCK。所以 ssh 代理不起作用。

我试图做什么: 我创建了另一个 plist 文件并在那里执行了以下代码:

export SSH_AUTH_SOCK=~/.ssh/agent.sock;launchctl setenv SSH_AUTH_SOCK ~/.ssh/agent.sock;date>~/test_set_env

它不起作用。同时,如您所见,我添加了一段代码,它在主目录中创建文件并在那里添加当前日期。我这样做是为了检查 plist 文件上的代码是否有效。并创建文件!因此,这意味着代码可以工作,但是在启动时,在任何会话中 SSH_AUTH_SOCK 是不设置的(不使用 .zprofile)。

请给我一些提示。如何在 Mac OS Big Sur 上设置环境变量?

有很多文章如何做到这一点,但所有描述的方法都不适用于 Big Sur。

标签: macosenvironment-variableslaunchdmacos-big-surssh-agent

解决方案


推荐阅读