On Jul 23 00:53, Andrey Repin wrote: > Greetings, Shaun Martin! > > >> Is HOME set in the Windows environment already? If so, this > >> might interact with the setting in /etc/nsswitch.conf, which *only* > >> works for entries taken from the passwd DB (getpwnam, getpwuid calls). > >> > >> How do you start mintty? It should be started with a single parameter, > >> a dash, e.g.: > >> > >> C:\cygwin64\bin\mintty.exe - > > > Yes, HOME is set in the Windows environment and I am not able to change it. > > How so?... I think admins can disallow changing your default user environment via policy. But that only means you can't change the env for the *first* process in a process tree. See below. > > With the "SET" command in a Windows command prompt I can see: > > > HOME=SERVER/USERS5:USERS\SHAUN > > That's suspicious. So many symbols not allowed to be there. I agree. For a start, this behaviour of Cygwin has not chaged since at least 2002: When being started from a non-Cygwin process (e.g. cmd, explorer), Cygwin checks if the environment variable $HOME is already set. If so, it uses it verbatim. Otherwise, it generates a value for $HOME from the user's passwd DB entry or, if that fails for some reason, falls back to generate a POSIX path from $HOMEDIR/$HOMEDRIVE. The above value of $HOME is really a problem here. Not only that it exists and doesn't actually reflect your HOME, it's also not starting with a slash and thus is evaluated as a *relative* path. Therefore your resulting HOME will depend on the current directory you're starting the Cygwin process from. The fact that your actual home directory in the passwd DB is set differently doesn't matter anymore then. I.e., the output of $ getent passwd will very likely show something different as pw_dir entry. On a second look into your OP, I'm also a bit puzzled about the settings you made in /etc/nsswitch.conf. No offense meant, but it seem you just used some arbitrary settings without actually reading what they mean and how to configure them (e.g. cygwin, desc). Is there a problem understanding https://cygwin.com/cygwin-ug-net/ntsec.html? I'm always grateful for hints how to improve the docs, even more so for patches to the docs. > > When you say it only works for entries taken from passwd DB, does that > > mean I need to create a "/etc/passwd" file in order to change the > > "db_home" directory with nsswitch.conf? > > No, she said that it only works if Cygwin has to retrieve these records from > DB. If the information is already available, it will be used as is. Right. > > I'm starting mintty with the shortcut generated by the installer: > > > C:\Users\shaun\Apps\cygwin\bin\mintty.exe -i /Cygwin-Terminal.ico - > > System properties - Advanced - Environment. > Remove the HOME variable. It shouldn't be there for Windows to begin with. > If that wouldn't work, talk to your domain admin, explain the situation and > ask to resolve the conflict. > If Cygwin is a necessary part of your workflow, there's a Cygwin-specific > schema available which can be installed in domain to help facilitate provision > of the necessary Cygwin-specific information. Alternatively (if your admin is a BOFH), you can always drop HOME from your powershell env before starting a Cygwin process. Even more alternatively, what Cygwin *could* do in an upcoming version is to check the incoming $HOME for validity, i.e., is it an absolute POSIX path and does it resolve to an existing directory. If not, ignore it and try the entry from the passwd DB. However, I'm rather reluctant to do that. For one your case is a first. Such a change could also have surprising side effects. Maybe just checking for a leading slash would work in most environments, but still... Corinna -- Corinna Vinschen Please, send mails regarding Cygwin to Cygwin Maintainer cygwin AT cygwin DOT com Red Hat