Script has sh code where csh code should be in two places The lines are: kdepath="${KDEDIR}/bin" if ( echo ${PATH} | grep -q ${kdepath} ) then They should read: set kdepath="${KDEDIR}/bin" if ( `echo ${PATH} | grep -q ${kdepath}` ) then The problem is that csh doesn't take the "variable=value" that sh does, and if you leave out the grave accents, csh, or more precisely tcsh, interprets the | as an arithmetical operator and fails. With both these changes, the script seems to function correctly. Without it, it causes and error and stops login script processing, but not login itself.
fixed for next release.