cygwin - 安装后如何更改 Cygwin 主文件夹?

标签 cygwin

我刚刚安装了 Cygwin,bash 提示符中的主目录看起来位于我的 Z: 驱动器上。这不是我想要的。

如何更改此设置?

最佳答案

Starting with Cygwin 1.7.34 ,建议的方法是向 /etc/nsswitch.conf 添加自定义 db_home 设置。执行此操作时,一个常见的愿望是使 Cygwin 主目录等于 Windows 用户配置文件目录。此设置将执行以下操作:

db_home: windows

或者,等价:

db_home: /%H

如果您想对此方案进行一些变体,例如将 Cygwin 主文件隔离到 Windows 用户配置文件目录的子目录中,则需要使用后一种形式:

db_home: /%H/cygwin

windows 选项还有其他几种替代方案,以及其他几个 % 标记,您可以使用它们来代替 %H 或作为补充它。请参阅the nsswitch.conf syntax descriptionCygwin User Guide了解详情。

如果您在 1.7.34 之前安装了 Cygwin 或已运行其 mkpasswd utility这样您就拥有了 /etc/passwd 文件,您可以通过编辑该文件中的用户条目来更改 Cygwin 主目录。您的主目录是 /etc/passwd 中用户行的倒数第二个元素。

无论采用哪种方式,都会导致在 shell 启动期间设置 HOME 环境变量。²

参见this FAQ item了解有关该主题的更多信息。

<小时/>

脚注:

  1. 考虑将 /etc/passwd/etc/group 移开以便使用 the new SAM/AD-based mechanism相反。

  2. 虽然可以通过控制面板简单地设置%HOME%,但它是 officially discouraged 。它不仅会毫不客气地覆盖上述机制,而且并不总是有效,例如通过 cron 运行 shell 脚本时。

关于cygwin - 安装后如何更改 Cygwin 主文件夹?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1494658/

相关文章:

Python 的子进程未按预期在 cygwin 上解释 "~"

python - 无法在cygwin中使用python的pexpect

windows - 如何获取文件放置在 Windows 目录中的日期/时间?

ruby - gem 构建 "recipe for target ' stemmer.so' 失败”

android - adb shell : can't use the ESCAPE key

在 Cygwin 软件包列表中找不到 Openssl

c - Netbeans 8.1 IDE 编译和构建 C 程序但不显示其输出

Cygwin 上的 Ruby - 权限被拒绝

build - NDK-Build如何重建项目?

git 显示从 100755 chmod 到 100644 的所有文件