[ANNOUNCEMENT] TEST RELEASE: Cygwin 1.7.34-003 (Christmas/New Year release)
Corinna Vinschen
corinna-cygwin@cygwin.com
Thu Jan 8 13:34:00 GMT 2015
On Jan 7 18:41, Achim Gratz wrote:
> Corinna Vinschen <corinna-cygwin <at> cygwin.com> writes:
> > > but that would produce some rather unwieldy and long paths for certain
> > > users. So, instead of specifying the users' home directory directly I
> > > would like to mount or auto-mount /home/≤user> to the actual (network)
> > > home directory.
> >
> > Hmm. That's tricky. There's no automatism for that yet. Nsswitch.conf
> > only describes how to create the passwd entry for a user. It does not
> > add any mechanism to run at user context switch. And not everybody
> > would like to have something like that so it needs configuration.
> >
> > I'm not opposed to stuff like that if it simplifies admin's job, but on
> > one hand we should evaluate first if there's a way to script that,
> > rather than to hardcode it into the Cygwin DLL, and on the other hand
> > it's not something I'd like to add for the first cut of 1.7.34...
>
> I agree that this is not something that belongs into nsswitch.conf, but
> since those mounts are working a bit differently on Cygwin than Linux I'd
> expect that in order to make some auto-mount facility available the DLL
> would need to know about it and provide at least some hooks to set them up
> correctly before any process tries to use them.
Adding a user mount should be scriptable. The actual home directory
is the next to last entry in the user's `getent passwd' output. In a
profile script, this entry can be used to generate a user bind mount
from the actual dir to /home/$USER. Then, set $HOME to /home/$USER.
AFAICS this doesn't require any additional DLL support.
> > > > - When spawning a process under another user account, merge the user's
> > > > default Windows environment into the new process' environment.
> > >
> > > I think this change pulls in additional environment variables with
> > > windows path components when starting programs via cygserver/sshd that
> > > are not a login shell (and perhaps when the user's login shell isn't
> > > bash, so that profile doesn't get run), most notably PATH, TMP and TEMP.
> > > If these variables are used later on by programs expecting a POSIX path
> > > there, then things break.
> >
> > Did you try it? The idea was that these variables are converted to POSIX
> > on the way in...
>
> They aren't, but even if they were I don't think it's the right thing to do
> for some variables. Slightly edited:
Ok, I see. So where exactly is the problem? Variable which already
exist in the env are not overwritten ($PATH). Variables which only have
a meaning for Windows apps should stay in DOS notation anyway.
So what's left? TMP/TEMP/TMPDIR? If that's all, we have two choices,
either convert them, or skip them.
What's better?
Corinna
--
Corinna Vinschen Please, send mails regarding Cygwin to
Cygwin Maintainer cygwin AT cygwin DOT com
Red Hat
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 819 bytes
Desc: not available
URL: <http://cygwin.com/pipermail/cygwin/attachments/20150108/baa793c8/attachment.sig>
More information about the Cygwin
mailing list