macos - 在 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。
解决方案
推荐阅读
- asp.net - 我是否需要清理 ASP.NET API 端点上的用户字符串输入?如果有怎么办?
- php - 我正在尝试自动增加发票编号
- ios - SwiftUI - 环境对象不更新 UI
- tensorflow - 如何将 tfa.seq2seq.BahdanauAttention 与 tf.keras 功能 API 一起使用?
- r - 将购物清单分成多列
- groovy - groovy.json.JsonException: 无法确定当前字符,它不是 z/OS 上的字符串、数字、数组或对象 (Groovy - 2.4.12)
- javascript - 对于 macOS 中的电子应用程序,何时调用 app.quit()?
- c# - 如何在 c# 中显示来自 IHttpActionResult 的 Ok() 消息?
- ef-core-3.0 - DbContext.Attach 在 Ef Core 3.0 上的行为与 2.2 不同,失败并显示“无法跟踪实体类型的实例”
- python - 有没有办法计算列表中的数字数量