Cygwin终端shell停止正常工作

时间:2014-03-28 23:53:00

标签: cygwin

cygwin64在我的Windows 7系统上运行了好几个月。今天早上重新启动后,它似乎被莫名其妙地打破了。当我开始一个新的薄荷会议,而不是用我熟悉的bash提示呈现一个窗口时,我得到了一个名为-sh.exe的空白窗口。果然,尽管没有任何提示,但这是一个炮弹窗口。 lspwdcd和其他命令都有效,但我的环境很乱。除了没有提示,我的主目录,路径和其他东西搞砸了。

我尝试了正常的事情。我认为cygwin设置无济于事。我完全卸载并重新安装了cygwin,再次没有明显的效果。在所有这些尝试中我重启了很多次。什么可能导致cygwin突然开始表现如此糟糕?

2 个答案:

答案 0 :(得分:1)

我在安装IBM InfoSphere DataStage之后遇到了类似的问题,这导致Cygwin行为不端,因为它设置了几个由Cygwin继承的Windows环境,并且对Mintty和shell至关重要。这些变量包括:SHELLTERMTERMCAPTERMINFO

我修改了我的Mintty快捷方式以包含以下目标,这解决了问题:

C:\cygwin\bin\mintty.exe /bin/env -u SHELL -u TERMCAP -u TERMINFO - TERM=xterm-256color HOME=/home/username /bin/bash -i -l

-u选项取消设置这些变量,然后我明确设置TERMHOME(确保使用您的主目录而不是/home/username)。

我还必须将~/.minttyrc文件复制到/etc/minttyrc,以便薄荷看到它。

答案 1 :(得分:0)

在挖掘之后,我注意到正在运行的sh.exe不在/cygwin64/bin中,而是在\Program Files (x86)\MKS Toolkit中。我没记得安装MKS,但是这个目录上的日期是从前一天开始的。我最近安装的唯一东西是IBM InfoSphere DataStage客户端。事实证明,InfoSphere不仅安装了MKS Toolkit,还将它预先安装到了许多环境变量中,完全不用担心cygwin。