Reputation: 1623
cygwin64 had been running great on my Windows 7 system for several months. After rebooting this morning, it appeared to be inexplicably broken. When I started a new mintty session, rather than presenting a window with my familiar bash prompt, I got a blank window entitled -sh.exe
. Sure enough, despite the lack of any sort of prompt, it was a shell window. ls
, pwd
, cd
, and other commands worked, but my environment was a mess. Aside from the lack of a prompt, my home directory, path, and other things were messed up.
I tried the normal things. I reran cygwin setup to no avail. I completely uninstalled and reinstalled cygwin, again with no discernible effect. I rebooted a number of times during all these tries. What could cause cygwin to suddenly begin behaving so badly?
Upvotes: 0
Views: 2349
Reputation: 1623
After digging around, I noticed that the sh.exe that was running was not in /cygwin64/bin
, but was instead in \Program Files (x86)\MKS Toolkit
. I did not recall installing MKS, but the date on this directory was from the previous day. The only thing I'd recently installed was the IBM InfoSphere DataStage client. It turns out, InfoSphere not only installs the MKS Toolkit, it prepends it to a number of environment variables, totally hosing cygwin.
Upvotes: 0
Reputation: 119
I had similar issues after installing IBM InfoSphere DataStage, which causes Cygwin to misbehave because it is setting several Windows environment that are inherited by Cygwin, and are crucial to Mintty and the shell. These variables are: SHELL
, TERM
, TERMCAP
, and TERMINFO
.
I modified my Mintty shortcut to contain the following target, and this fixed the issues:
C:\cygwin\bin\mintty.exe /bin/env -u SHELL -u TERMCAP -u TERMINFO - TERM=xterm-256color HOME=/home/username /bin/bash -i -l
The -u
options are unsetting those variables, and then I'm explicitly setting TERM
and HOME
(make sure to use your home directory instead of /home/username
).
I also had to copy my ~/.minttyrc
file to /etc/minttyrc
so that mintty would see it.
Upvotes: 1