我对 Cygwin 及其设置有相当多的经验,但是这次它的行为很奇怪。当我安装它时,一切似乎都运行良好,但是打开 Cygwin 提示符后,我没有收到任何通常的设置您的帐户信息行。查看我的 c:/cygwin/home/ 目录后,我发现它没有为我创建用户或它通常会创建的任何文件,例如 .bashrc 等。然后我将 Cygwin 设置为以管理员身份运行,但没有任何效果。接下来我运行 cygwin.bat 文件,因为可能的修复建议它可能会强制创建用户配置文件。接下来我创建了一个以我的名字命名的用户目录(与我的 Windows 用户帐户名以及 Cygwin 对 /etc/passwd 文件的期望相同),并将我的 .ssh 目录放入其中,并且能够正常使用 ssh 密钥连接到远程服务器。但是,Cygwin 仍然没有创建任何 Cygwin 文件。然后我将目录的 chmod 改为 777,以确保 cygwin 可以写入它,但同样没有任何效果。
因此看起来 Cygwin 能够从该目录读取但不能甚至不尝试创建用户文件。
答案1
这个问题的答案相当简单:我不知道 Windows 环境是设置 $HOME 变量的第一个选项,因此 cygwin 尝试从 /cygdrive/c/User/[UserName] 而不是 /home/[UserName] 读取我的配置文件。我将指向 cygwin 位置的符号链接放在我的 Windows 用户目录中,这样就解决了这个问题。
我能够从此相关的超级用户帖子中找到足够有用的信息来帮助我调试我的问题:Cygwin .bashrc 不是源代码,因为 cygwin 在 Windows 主目录中启动