Cygwin 的 MinTTY 需要大约一分钟才能启动

Cygwin 的 MinTTY 需要大约一分钟才能启动

当我从现有 MinTTY 外部打开 MinTTY 时,新终端窗口大约需要一分钟才能显示。我的 Windows 快捷方式设置为运行C:\cygwin64\bin\mintty.exe -i /Cygwin-Terminal.ico -。在已打开的 MinTTY 窗口内执行等效命令/cygdrive/c/cygwin64/bin/mintty.exe -i /Cygwin-Terminal.ico -会立即打开新窗口。在我的另一台设置基本相同的计算机上不会发生这种情况。是什么让它变慢了?

  • 操作系统:Windows 7
  • 处理器:Xeon
  • 内存:8GB

答案1

来自Cygwin 常见问题解答

  1. AD 客户端系统的另一个原因是 DC 回复缓慢,这在具有远程 DC 访问的配置中很常见。Cygwin DLL 会在启动时查询您所在的每个组的信息以填充本地缓存。您可以通过将自己的信息缓存在本地文件中来加快此过程。在具有写入权限的 Cygwin 终端中运行以下命令/etc

    getent passwd $(id -u) > /etc/passwd
    getent group $(id -G) > /etc/group
    

    另外,设置 /etc/nsswitch.conf 如下:

    passwd: files db
    group:  files db
    

    这将限制 Cygwin 联系 AD 域控制器 (DC) 的需要,同时仍允许从 DC 检索其他信息,例如列出远程目录时。

  2. 除了上一项之外,或者代替上一项,你都可以运行赛格服务器作为本地缓存服务来加速 DC 请求。

    Cygwin 程序将检查赛格服务器在尝试直接查询 DC 之前。

  3. 一个不太好的选择是创建身份验证数据的静态只读缓存。这是使 Cygwin 与 AD 集成的老式方法,也是 1.7.34 之前的版本中唯一可用的方法。为此,请运行创建密码模克集团,然后将以下内容放入/etc/nsswitch.conf以使 Cygwin 将这些文件作为用户和组信息的唯一来源:

    passwd: files
    group:  files
    

    通过省略该db选项,我们告诉 Cygwin DLL 甚至不要尝试进行 AD 查找。如果您的 AD 服务器速度很慢,此本地缓存将加快速度。缺点是,您将面临缓存过期问题:每当 AD 数据库发生变化时,您的本地缓存就会过期,直到您手动更新文件。

选项#2 为我解决了这个问题。

答案2

以本地管理员用户身份安装 cygwin 为我解决了这个问题。

相关内容