Technical Note - Changing Your Shell
Summary
This document is for advanced users only
Changing your shell from
zsh
to
bash
or
tcsh
is allowed, but comes with many caveats. We strongly recommend against changing your shell. If you are determined to do so, this document will outline some of the pitfalls.
Details
Changing your shell
You can change your login shell by visiting the
change-finger-info web page. Now, when customising your shell, you will now need to edit
~/.bashrc
or
~/.zshrc
(depending on which shell you have selected).
Pitfalls (using bash
)
need
is not defined
Your
~/.bashrc
file must start with the following lines:
#
. /etc/bash.bashrc
You will also want to include some
need
packages. At the very least you will want to add:
need SYSfirst # which should be the first one
need SYSlast
You may also want to get the default printer to track whichever printer is "closest" to you by adding:
PRINTER=$NEAR_2UP_PRINTER
export PRINTER
~/.bashrc
is not run for scripts
This means that you can't use aliases in scripts (not that you should have done this anyway!), nor will any of your environment variables be set correctly when the
~/.xtools
,
~/.xsession
run or window manager runs.
This will cause problems with applications run from window manager menus or started when you log in. To fix this problem, you should copy the following into your
~/.xsession
file:
#!/bin/bash
. ~/.bashrc
exec startkde
Don't forget to make it executable:
chmod u+x ~/.xsession
~/.bashrc
is not run for a login shell
This means that it will not run when you SSH from a remote machine. You need to add the following to the end of your
~/.profile
file.
case $0 in
-bash)
. $HOME/.bashrc
;;
esac
Using zsh
zsh
is more sensible about what startup files it runs and when it runs them (than
bash
) so the main thing you must remember to do is
include some
need
packages in your
~/.zshenv
. At the very least you will want to add:
need SYSfirst # which should be the first one
need SYSlast