Comment 10 for bug 64064

Revision history for this message
Evan Carroll (evancarroll) wrote :

I think ~/.bin is silly, however I'm having the problem now with ~/bin ( git (from source) installs to ~/bin, and the version in the feisty repos is old. ).. Currently I'm confused on this matter, as ~/.bash_profile ( by proxy of /etc/skel/.bash_profile) contains

# set PATH so it includes user's private bin if it exists
if [ -d ~/bin ] ; then
    PATH=~/bin:"${PATH}"
fi

Which applies for all login shells and subprocs that are initiated through a bash login. Now while I haven't tested this, this should mean that the bug is in fact in G/K/X-DM. If $PATH is changed, all subshells (forks etc) should inherit the modified $PATH variable. As long as that method's login-script has a stanza like the above.

If your login shell, or parent process is GDM/KDM then a non-existent-bash-login won't execute the bash-login-shell script ~/.bash_profile. This is a failed assumption by someone possibly years old.

The proof would be to shutdown gdm/gnome, login through a term (bash -l shell), call gnome manually and echo $PATH; ~/bin should be there.

A patch is supplied for gdm:
root@x60s:/etc/gdm/Init# diff Default new-Default -c1
*** Default 2006-10-20 18:36:24.000000000 -0500
--- new-Default 2007-05-17 11:47:10.000000000 -0500
***************
*** 5,7 ****

! PATH=/usr/X11R6/bin:$PATH
  OLD_IFS=$IFS
--- 5,7 ----

! PATH=~/bin:/usr/X11R6/bin:$PATH
  OLD_IFS=$IFS

Please move this bug to gdm, apply the patch, mark as resolved, and give to the kubuntu guys so they can fix kdm too.