acm*_*acm 5 ssh cygwin environment-variables
我已经在 cygwin 下成功配置了 SSH,所以我可以 SSH 到我的 Windows 用户帐户并登陆 cygwin 中的 bash shell。这很棒。
但是,我有一个希望在此环境中运行的 python 程序(我将运行 Windows,而不是 cygwin python),它期望许多标准 Windows 环境变量可用。但是,如果我从 cygwin bash shell 中启动 cmd.exe,我会得到一个 cmd.exe 环境,该环境填充了 cygwin-esque 值(MANPATH、LOGNAME)和 Windows 式环境变量的子集:它具有 ALLUSERSPROFILE例如,和 COMPUTERNAME,但是我通常会在从 Windows 桌面启动命令提示符窗口时看到的许多变量都丢失了:PROCESSOR_ARCHITECTURE、NUMBER_OF_PROCESSORS 等。
我想从我的 SSH 会话 (SCons) 运行的程序依赖于这些值和其他几个值。有什么方法可以在 SSH 会话中将 cmd.exe 作为子shell 启动,以获得“从桌面启动的命令提示符”之类的环境?
我非常不想明确需要自己设置所有可能需要的值,因为这样的解决方案非常脆弱。我正在寻找一种自动机制。
是否有任何机制可以从 cygwin SSH 会话中获取“桌面 cmd.exe 环境”?
我认为您缺少的环境变量是您的用户变量。默认情况下,Cygwin 仅在通过 SSH 启动 shell 时导入系统变量。您可以尝试此处答案中链接的解决方案,让 Cygwin 在通过 SSH 启动时导入您的用户变量。