Ant*_*rin 36 windows cygwin windows-8.1
在Windows 8.1 x64上启动任何Cygwin应用程序需要一分多钟.不要紧,无论是我开始mintty从快捷方式或cygwin.bat或ls.exe或bash.exe从bin文件夹.他们每个人都会很慢.
在Bash或mintty开始之后,他们的工作相当快:
$ time for i in {1..10} ; do bash -c "echo Hello" ; done
Hello
...
Hello
real 0m1.273s
user 0m0.060s
sys 0m1.181s
Run Code Online (Sandbox Code Playgroud)
步骤,我试过:
127.0.0.1 localhost cygdrive wpad到主机/etc/bash_completion.d文件夹)etc/profile.d文件夹运行etc/bash.bashrc文件运行我怎么能找到根本原因?
PS - 我有两个不同的系统,笔记本电脑和台式机都使用Windows 8.1 64位.这个问题在两者上都是100%可重复的.
此外,如果我在登录后几秒钟启动Bash,它会立即启动.
Ant*_*rin 69
最终我找到了导致这个问题的原因,但我仍然不确定原因.Cygwin非常适合同一环境中的其他人.
原因:在每个Cygwin应用程序的开始时,它尝试获取etc/nsswitch.conf文件中描述的凭据.出于某种原因,我的帐户需要花费大量时间,因为它通过LDAP与多个Active Directory域控制器联系.
方案1:您可以保存当前用户和组etc/passwd和etc/group文件,并设置Cygwin的活动目录之前进行检查.
mintty.exe并等到它打开mkpasswd -c并将其输出保存到etc/passwd文件(您必须创建它,输出应该是一行)mkgroup -c并将其输出保存到etc/group文件(您必须创建它,输出应该是一行)etc/nsswitch.conf并写nsswitch.conf内容:
passwd: files # db
group: files # db
Run Code Online (Sandbox Code Playgroud)
现在你的Cygwin应该马上开始.
解决方案2: Cygwin附带了一个特殊的CygServer应用程序,它可以作为NT服务启动,也可以作为一个简单的进程启动(只需运行usr/sbin/cygserver.exe).当cygserver正在运行时,它会缓存凭据并将它们传播到每个下一个Cygwin进程.
将它添加到启动或在Cygwin会话之前启动它并且你很好 - cygserver启动需要时间,但是每个下一个Cygwin进程都会立即启动.
是你的情况吗?我想分享我的调查步骤,所以你可以检查,如果你的情况与我的相同.
mintty,您将在netmon中看到它的连接:
mintty在选择这些连接后,您将在左侧的树视图中看到连接列表,在右侧看到TCP和LDAP帧.nbtstat -a 8.8.8.8在命令行中运行(用netmon中的一个IP地址替换8.8.8.8).更深入:我仍然在使用etc/nsswitch.conf文件来获取本地凭据或者可能是缓存的凭证,这样它将在没有cygserver的情况下运行得更快.但还没有运气.
小智 23
这对我有用.
启动Cygwin终端,然后运行以下两个字符串.
mkpasswd -c > /etc/passwd
mkgroup -c > /etc/group
Run Code Online (Sandbox Code Playgroud)编辑"/etc/nsswitch.conf"文件以包含以下两行.
passwd: files # db
group: files # db
Run Code Online (Sandbox Code Playgroud)重新启动Cygwin.
Cygwin迅速打开.
小智 7
如果您使用的是具有大型AD目录的网络,则mkpasswd将花费大量时间(在我的情况下为几天).所以考虑使用:
mkpasswd -c -l > /etc/passwd
mkgroup -c -l > /etc/group
-l,--local [machine] Print local user accounts of \"machine\",
from local machine if no machine specified.
Automatically adding machine prefix for local
machine depends on settings in /etc/nsswitch.conf.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
15864 次 |
| 最近记录: |