Solved. I'm not sure if anybody felt the answer was too obvious - if so I apologise. But it's not an answer I came across anywhere else and shells don't work the way I thought they did.
The problem was a simple error in /etc/passwd - my userid didn't have the default shell specified (/bin/bash at the end of the line) so the login defaulted to the default of /bin/sh. No idea how that happened. /etc/default/useradd look fine. But /bin/sh is just a symlink to /bin/bash, the same binary runs. I didn't think of this straight away because I knew bash was the only shell I had installed, and I thought from my reading that "bash + login = ~/.bash_profile gets read" Would be grateful if someone could confirm or correct my new set of assumptions: 1. SHELL variable gets set in /etc/passwd 2. Whether ~/.bash_profile (or ~/.bashrc for that matter) get sourced depends on what $SHELL is, not whether the running shell is actually bash or not. I'm leaving X right out of it now - just talking about console login Thanks David -- http://linuxfromscratch.org/mailman/listinfo/blfs-support FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page