将cygwin主目录设置为Windows';用户配置文件

将cygwin主目录设置为Windows';用户配置文件,cygwin,Cygwin,当我在Windows机器上开发RubyonRails时,我需要使用cygwin来模拟Unix命令提示符。现在的问题是,每次打开cygwin终端时,我都会被带到这个目录C:/cygwin/home/my_user_name,而不是Windows的默认用户目录C:/Users/my_user_name 有人知道如何将cygwin的默认主目录设置为Windows默认C:/Users/my_user\u name目录吗 我浏览了堆栈内溢出提供的各种解决方案,但没有一种对我有效,“mkpasswd”也不起

当我在Windows机器上开发RubyonRails时,我需要使用cygwin来模拟Unix命令提示符。现在的问题是,每次打开cygwin终端时,我都会被带到这个目录C:/cygwin/home/my_user_name,而不是Windows的默认用户目录C:/Users/my_user_name

有人知道如何将cygwin的默认主目录设置为Windows默认C:/Users/my_user\u name目录吗

我浏览了堆栈内溢出提供的各种解决方案,但没有一种对我有效,“mkpasswd”也不起作用。这是否与我的操作系统版本有关,或者是其他原因

我使用的是cygwin 1.7.5,我的操作系统是Windows 7 Business 64位。

mount-f“$USERPROFILE”~
mount-m>/etc/fstab
相关的


我只需在Windows中将HOME环境变量设置为
C:\Users\MyUsername
即可更改我的设置。当我启动Cygwin时,现在它看起来就在那里。这还有一个额外的好处,就是使常规Win32上的Emacs(即不通过Cygwin)在正确的位置启动,而不是在
C:\Users\MyUsername\AppData\Roaming
(从而在那里查找.Emacs和.Emacs.d)

中启动,您可以编辑
/etc/nsswitch.conf
并更改de db\u home参数

  • %u-Cygwin用户名(小写u)
  • %U-Windows用户名(大写U)
  • %D-NetBIOS样式的Windows域
  • %H-POSIX样式的Windows主目录。注意,对于db_home:设置
  • %_-由于使用空格和制表符来分隔模式,因此文件名中的空格必须指定为%\u1(这是下划线)
  • %%-百分比字符
下面是my/etc/nsswitch.conf的内容,用于在每个用户目录中创建一个
home
目录

# /etc/nsswitch.conf
#
#    This file is read once by the first process in a Cygwin process tree.
#    To pick up changes, restart all Cygwin processes.  For a description
#    see https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-mapping-nsswitch    
# Defaults:
# passwd:   files db
# group:    files db
# db_enum:  cache builtin
# db_home: /home/%U <------ This was the default setting
db_home: /%H/home # db_home: /home/%U <- This was the default setting
# db_shell: /bin/bash
# db_gecos: <empty>
#/etc/nsswitch.conf
#
#此文件由Cygwin进程树中的第一个进程读取一次。
#要获取更改,请重新启动所有Cygwin进程。描述
#看https://cygwin.com/cygwin-ug-net/ntsec.html#ntsec-映射开关
#默认值:
#passwd:files数据库
#组:文件数据库
#db_枚举:缓存内置

#db_home:/home/%U您好,谢谢您的启发,但是您能再解释一下这个问题吗?仅供参考,我已经编辑了我的相关问题(您似乎已经否决了该问题,并将其标记为“不清楚”)。这是否应该转移到超级用户?当我这样做时,Cygwin还给我:mkdir:cannot create directory`/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu/Programs/Cygwin/\'c:':权限被拒绝/cygdrive/c/ProgramData/Microsoft/Windows/Start Menu/Programs/Cygwin/'c:/Users/cmcdragongkai'无法创建。将HOME设置为/tmp。不要忘记注销/登录以使此环境变量生效。请注意,如果设置了
HOME
(如Hut8所示),将覆盖此设置。一般来说,我更喜欢这个解决方案,但我找到了一个解决方案,所以我已经切换到设置Windows环境变量的解决方案。这似乎是一个更干净的解决方案,应该被接受!