Ну да, xterm сам HOME и устанавливает, а до этого, НОМЕ не установлен, вот он и запускается в корне (это версия).
Можно попробовать su ditsi -c "(export HOME=/home/ditsi; startx)" & или
HOME=/home/ditsi su ditsi -c startx &
Если не сработает, то можно в .bashrc прописать в конце cd $HOME. Хотя это не выход, всегда будет в HOME открываться. Можно костыль поставить:
test -z "$STARTWASDONE" && cd $HOME
export STARTWASDONE=yes
Мда, может кто что правильней посоветует...
