Mailing-List: contact cygwin-help AT cygwin DOT com; run by ezmlm List-Subscribe: List-Archive: List-Post: List-Help: , Sender: cygwin-owner AT cygwin DOT com Mail-Followup-To: cygwin AT cygwin DOT com Delivered-To: mailing list cygwin AT cygwin DOT com Message-ID: <3E15C89C.21956358@ieee.org> Date: Fri, 03 Jan 2003 12:30:04 -0500 From: "Pierre A. Humblet" X-Accept-Language: en,pdf MIME-Version: 1.0 To: a12 CC: cygwin AT cygwin DOT com Subject: Re: Cygwin home dir=/cygwin/c (not /home/) References: <3E14B9ED DOT 2318E8C9 AT swipnet DOT se> <20030102222853 DOT GA313905 AT WORLDNET> <3E15C121 DOT 77213232 AT swipnet DOT se> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit a12 wrote: > > Pierre, > > 'echo %HOME%' yields 'C:\' > > Modifying /etc/profile: > # Set up USER's home directory > # 020102 magr40 force to use /home/$USER > #if [ -z "$HOME" ]; then > HOME="/home/$USER" > #fi > solves my problem, but is it the correct way to do it ? It's correct but not particularly elegant as it duplicates what passwd is supposed to be for. I assume HOME is defined as a system variable in the Windows environment and it is the same for everybody. Is there a good reason for that? Otherwise undefine it and everything will be well. For reference, here is how HOME is set, in order of priority - When starting from Windows 1) From existing HOME in Windows environment, translated to Posix 2) If the user has an entry in passwd: a) from passwd, if the home directory field in non empty b) from HOMEDRIVE/HOMEPATH 3) / - telnetd and rlogind 1) From passwd, if it is a valid directory 2) / - sshd 1) From passwd, even if it is invalid. In that case /etc/profile may actually create it. Note that in all those cases HOME is never set in /etc/profile ! Pierre -- Unsubscribe info: http://cygwin.com/ml/#unsubscribe-simple Bug reporting: http://cygwin.com/bugs.html Documentation: http://cygwin.com/docs.html FAQ: http://cygwin.com/faq/