I'm trying to get Cygwin (CYGWIN_NT-6.1 / 2.11.1(0.329/5/3)) to start with
tcsh as default shell on Windows 7. I read this question and answers there but had some issues with the mintty method mentioned in this particular answer:
If you start Cygwin with mintty, then add the shell as a parameter.
mintty /usr/bin/zsh -
This is what happens:
- using the trailing dash to invoke an interactive shell(?), makes a window flash and disappear again (whether or not I use
mintty /bin/tcshwithout the trailing dash or
-l, a Cygwin shell window is opened, but many builtin commands result in "fatal error - cygwin base mismatch is detected...". I searched for and found an older version of
cygwin1.dll(in ConEmu/wsl) as directed by the error message, renamed it, but to no avail - I keep getting the same error
mintty /bin/tcsh -lgives the best results, but starts with the home directory as Windows %USERPROFILE%. This means it also bypasses my
.tcshrcin my cygwin home directory (
<CygwinDir>/home/<account>), but strangely, does process
.aliasesfrom there. Also strangely, the point above (
minttywithout trailing dash or
-l) starts in the correct cygwin home directory.
- I also tried editing
/etc/nsswitch.conf, as suggested by a different answer, but this made no difference.
- Setting the Windows SHELL env var to
/usr/bin/tcsh, as suggested by another answer to the referenced question, did work when launching from the desktop shortcut, but I don't think it's the "proper" way of doing it. When I run mintty from Windows command line, I get a failure message
"Failed to run '/usr/bin/tcsh': No such file or directory".
Why doesn't the allegedly good answer work for me? Can anyone say how to do it correctly? Also, can anyone explain the mysteries of the trailing dash, fatal error, nsswitch or the SHELL var?