如果我打开一个 cygwin 终端窗口,它会打开三个而不是一个窗口。
标题是
C:\cygwin\bin\mintty.exe
Cygwin 终端
<my host and current directory>
只有第三个窗口可用,在其他窗口中我无法输入任何内容,但是当我关闭三个窗口中的一个时,其他两个窗口也会关闭。
重启 windows(Win7x64) 后,就随机了。
有时只会打开一个窗口,即使我为每个终端启动多个终端,也只会打开一个窗口。
但有时重启后我总是打开三个窗口。
如果我taskkill /f /im conhost.exe
在启动终端后使用,则其他窗口将关闭,但终端窗口保持打开状态。
但这不应该是解决方案,因为我遇到了烦人的行为,每个命令都会打开一个新窗口,该窗口在命令完成后消失。conhost
进程是由微软在 Windows 7 中引入的,用于正确处理终端窗口的拖放功能。
有人知道这个效果吗?如何解决?
答案1
升级到 Windows 10 后也遇到了同样的问题。在 Windows 8 兼容模式下运行 mintty 解决了该问题。此处讨论了此问题: https://github.com/mintty/mintty/issues/439
答案2
尝试在 mintty 中运行你的 shell(bash),无需进行配置文件处理。
如果您使用的是合适的 mintty(您可以检查它是否必须针对 Windows GUI 子系统进行编译/链接),则两个标准控制台窗口是由其他软件创建的。至少我记得有一些包装器允许在 cygwin 控制台内运行标准控制台应用程序(cmd.exe)。
最后,运行 ProcessMonitor 并检查在 mintty 启动期间创建了哪些进程。
答案3
在 cygwin/bin 中找到 mintty。打开属性“常规选项卡”,在“属性”旁边的底部选中标有 √“隐藏”的框。应用,然后单击确定。
在文件资源管理器的顶部。单击“查看”并选中√“隐藏项目”旁边的框。
因为 Windows 10..