This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: how can I stop Windows setting HOME?




Larry Hall (Cygwin) wrote:
> 
> anadem wrote:
>> 
>> Larry Hall (Cygwin) wrote:
>>> Adam Thompson wrote:
>>>> 2008/6/6 Adam Thompson <adwulf AT gmail DOT com>:
>>>>> 2008/6/6 anadem <anadem AT gmail DOT com>:
>>>>>> Is there any way to permanently unset the HOME env-var in Windows? I
>>>>>> could
>>>>>> run a batch file at startup but afaik that would not be a systemwide
>>>>>> removal
>>>>>> of HOME.
>>>>>>
>>>>> I do not think this is a Windows issue.
>>>>>
>>> Generally speaking, you're right that Windows doesn't set HOME but
>>> rather HOMEDRIVE and HOMEPATH.  If HOME is getting set in the Windows
>>> environment, something else that's installed is setting it and Cygwin
>>> is just going along with it because it's set in the environment.  If
>>> it is not possible to figure out what is setting HOME for Windows, you
>>> can unset it in cygwin.bat, or whatever mechanism Cygwin is started
>>> with, as you noted.  But it would be better to find the source and
>>> squash it.  And although you pointed at the right FAQ entry describing
>>> the hierarchy of rules used for setting HOME within Cygwin's
>>> environment,
>>> your interpretation is a bit off.  As the FAQ states, HOME is determined
>>> by one of the following in order of decreasing priority:
>>>
>>>     1. HOME from the Windows environment, translated to POSIX form.
>>>     2. The entry in /etc/passwd
>>>     3. HOMEDRIVE and HOMEPATH from the Windows environment
>>>     4. /
>>>
>>> Once one of these rules is fulfilled, the remainder are skipped.  So
>>> if HOME is set in the Windows environment, Cygwin will use that
>>> (converted
>>> to POSIX form).  If it's not and there's an '/etc/passwd' file with an
>>> entry
>>> for the current user, the home path specified there will be used.
>>> Otherwise,
>>> HOMEDRIVE and HOMEPATH will be used to define HOME in CYGWIN (again,
>>> converted to POSIX form).  And, if for some reason none of these other
>>> rules fire, HOME is set to '/'.
>>>
>>> It is highly recommended that one let rule #2 fire, since '/etc/passwd'
>>> is
>>> the source of the home path used by Cygwin's telnet, ssh, etc. 
>>> Consistency
>>> between these utilities and your default Cygwin shell/environment is
>>> very likely to eliminate future brain strains. ;-)
>>>
>> 
>> Ah, yes, thanks all, it's possibly MKS Toolset. Now if only I can figure
>> out
>> HOW it's doing it. 
>> There's no autoexec and nothing in Startup. Maybe I'll just adjust
>> cygwin.bat (plus warn co-workers to unset $HOME before installing cygwin,
>> and give my strained brain a warm bath.) 
> 
> On machines I have access to running MKS, I see HOME set to
> %HOMEDRIVE%%HOMEPATH%.  It also sets other environment variables
> like SHELL, TERM, TERMCAP, TERMINFO, etc.  I find these in under
> System->Advanced->Environment Variables.  Looking at two different
> machines, at least one of which I didn't customize at all, shows
> me these variables defined here.  I'm not sure why you wouldn't
> see them on your end.  But MKS is definitely one source of these
> variables.
> 

I didn't mean that %HOMEDRIVE% and %HOMEPATH% are not set (not sure if you
think that's what I meant) -- those two plus %HOME% all show up in
System->Advanced->Environment Variables. The first two are normal Windows
vars, and it's only %HOME% I'm trying to eliminate. 

If %HOME% is deleted from System->Advanced->Environment Variables it
automagically reappears after a reboot, presumably courtesy of MKS but it's
not obvious how it's restored nor how to get rid of it.

-- 
View this message in context: http://www.nabble.com/how-can-I-stop-Windows-setting-HOME--tp17682731p17702046.html
Sent from the Cygwin list mailing list archive at Nabble.com.


--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]