当我在Windows机器上开发Ruby on Rails时,我需要使用cygwin来模拟Unix命令提示符。现在的问题是,每当我打开cygwin终端时,我都会被带到这个目录C:/ cygwin / home / my_user_name而不是Windows的默认用户目录C:/ Users / my_user_name。
有谁知道如何将cygwin的默认主目录设为Windows默认C:/ Users / my_user_name目录?
我已经浏览了Stack Overflow中提供的各种解决方案,但它们都不适合我,“mkpasswd”也不起作用。这是否与我的操作系统版本有关,或者可能与其他内容有关?
我使用的是cygwin 1.7.5,我的操作系统是Windows 7 Business 64位。
答案 0 :(得分:20)
答案 1 :(得分:9)
我只需将Windows中的HOME环境变量设置为C:\Users\MyUsername
即可更改我的。当我启动Cygwin时,现在看起来就在那里。这有一个额外的好处,就是让常规Win32上的Emacs(即不通过Cygwin)在正确的位置启动,而不是在C:\Users\MyUsername\AppData\Roaming
中启动(因此在那里寻找.emacs和.emacs.d)
答案 2 :(得分:8)
根据Cygwin documentation,您可以编辑/etc/nsswitch.conf
并更改de db_home参数。
以下是我的/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>
重新启动任何Cygwin进程