How to set up tcsh when the account runs another shell 1. Find where tcsh is on your system: which tcsh to get the full path to it. A standard location is: /usr/local/bin/tcsh If yours is not, replace it with the correct path in 2 below. 2. To make tcsh start up automatically when you login, see 2.A or 2.B. Else, you can keep your default shell and run tcsh manually by typing: tcsh See 3. 2.A If your default shell is csh, insert this in your .login, before any uncommented lines: ##---------------------- autostart tcsh ----------------------## if( $?prompt ) then if ( ! $?tcsh ) then if ( -x /usr/local/bin/tcsh ) then echo " ... exec tcsh ... wait ..." exec /usr/local/bin/tcsh -l endif endif endif 2.B If your default shell is ksh or another sh variant, insert this in your .profile, after PATH is set: ##---------------------- autostart tcsh ----------------------## if [ $?prompt ]; then if [ -z "$tcsh" ]; then if [ -x /usr/local/bin/tcsh ]; then echo " ... exec tcsh ... wait ..." exec /usr/local/bin/tcsh -l fi fi fi 3. In your home dir, create a file named: .tcshrc, and copy into it everything below: ### ###------- tcsh startup, only for interactive shells ---------## if ( ! $?prompt ) then ## not interactive shell, so exit source ~/.cshrc exit else ## interactive shell, so set tcsh: echo "shell = $shell : sourcing .cshrc .login " ##------------------------ set DISPLAY ---------------------## if ($?REMOTEHOST) then setenv DISPLAY ${REMOTEHOST}:0 else setenv DISPLAY `hostname`:0 endif echo ' DISPLAY is set to:' $DISPLAY ##------------------- source ~/.cshrc source ~/.login #source ~/.Setup ## any other setup files, else delete this ##-------------------- set tcsh variables ------------------## set autolist=ambiguous ##possibilities at ambiguous completion set prompt=%m:%~" :> "%L ## prompt: hostname: cwd :> #set symlinks=ignore ##stays at dir@, not going to real one bindkey -v ##vi-like bindings for command editing alias l 'echo " "; ls-F' ##builtin fast "ls -CF" alias la 'echo " "; echo \!*; ls-F -A \!* | more -ei' alias ll 'echo " "; echo \!*; ls-F -s \!* ' endif