Самый универсальный способ -- написать свой ~/.xsession, засурсить ~/.profile (~/.bash_profile или чего там у кого) и в конце: exec x-session-manager или чего-там у кого любимое.
~/.bashrc исполняется при _каждом_ запуске bash, в частности, при исполнении скриптов. Таким образом, если написать, скажем,
PATH=$PATH:$HOME/bin
то запустив в терминале еще раз bash, получим $HOME/bin в PATH указанный дважды. Ну и прочее в том же духе. Короче, _среду_ надо настраивать в ~/.profile, а не в ~/.bashrc.
> А из .profile оно не цепляется.
См. мой пост выше -- надо писать ~/.xsession, например, такой:
===== CUT HERE =====
#!/bin/sh
. ~/.profile
if [ -x /usr/bin/x-session-manager ]; then
exec /usr/bin/x-session-manager
elif [ -x /usr/bin/x-window-manager ]; then
exec /usr/bin/x-window-manager
elif [ -x /usr/bin/x-terminal-emulator ]; then
exec /usr/bin/x-terminal-emulator
fi
===== CUT HERE =====
Не забудь chmod +x ~/.xsession