我正在尝试更改我的Cygwin主文件夹。要做到这一点,我遵循了克里斯托弗的回答here,但我在那里给出的指示有些麻烦。
完成所有这些操作后,我的主目录已更改为/cygdrive/c/Windows/system32/%USERPROFILE%
有几件事似乎我不理解:
C:\Users\Myname
。%USERPROFILE
不是我可以在任何地方看到的目录,所以我不知道它是什么。/home/myname
或其他任何内容,我没有看到我应该在哪里添加.bashrc文件以供查看。 有人可以解释一下吗?
答案 0 :(得分:0)
它是%USERPROFILE%
,而不是%USERPROFILES%
;确保你有正确的名字。它是一个变量引用,因此您必须对其进行扩展。在环境变量设置中,它应该被扩展,所以如果不是,你很可能在那里有一个拼写错误。
请检查cmd.exe
。命令echo %HOME%
应该打印
C:\Users\Myname
(这是预期的主目录)。如果没有,则变量未正确设置,其余指令将不起作用。
然而,还有另一种方式,我认为这更容易。在C:\Users
的{{1}}上挂载/home
。我的条目如下:
/etc/fstab
您是否希望c:/Users /home ntfs binary,posix=0,user,noacl 0 0
和posix=0
取决于您。他们禁止cygwin尝试使用ACL模拟unix权限。既然你想要你的用户配置文件和cygwin home目录一致,我想你混合使用cygwin和本机应用程序,而cygwin生成的访问控制列表通常会使它复杂化。
答案 1 :(得分:0)
旧问题,但供将来参考:
我遇到了同样的问题,我认为这是因为%USERPROFILE%
被定义为用户变量,而不是系统变量。
因此我将HOME = %USERPROFILE%
定义为User变量并且它有效。
目前,我并非100%确定将HOME
置于用户变量中是否有任何其他影响,但到目前为止还不错。 :)
答案 2 :(得分:0)
我在全新的Cygwin装置上遇到类似的问题。启动Cygwin时出现以下错误。
mkdir: cannot create directory '/cygdrive/c/WINDOWS/system32/"C:': Permission denied
/cygdrive/c/WINDOWS/system32/"C:/Users/[username]" could not be created.
Setting HOME to /tmp.
我确定此错误来自设置了/etc/profile
目录的HOME
脚本。在Windows HOME
环境变量定义(其中%USERPROFILE%
不应带引号)上阅读@ Jan-Hudac的评论后,我检查了Windows中的HOME
用户环境变量,发现它被定义为"%USERPROFILE%"
。我删除了引号,然后Cygwin Shell在正确的主目录中正确启动。感谢您的见解!