Em .bash_profile , você pode descobrir (após o autologin com getty -a em /etc/inittab ) com qual tty você está com tty (se você estiver de fato em X, pode ser assim: /dev/pts/1 - isso é o que a p check está abaixo. Em seguida, defina uma variável para armazenar essa informação; mais tarde, use-o para iniciar o X com xinit .
Você também deve configurar ~/.xinitrc e ~/.Xresources ; um bom começo de ~/.xinitrc é xrdb ~/.Xresources - verifique as páginas do manual para tudo isso. Você pode encontrar alguns exemplos aqui .
CURRENT_VT='tty'
if [[ ${CURRENT_VT[6]} == "p" ]]; then
export VT="X"
else
export VT=${CURRENT_VT: -1:1}
fi
# ... [cut] initialize everything else ...
# OK, done; let's start applications and X depending on where we are
case $VT in
(1) emacs ;;
(5) wait_for_internet
irssi --connect=open.ircnet.net ;;
(6) xinit ;;
(X) ... do X stuff ... ;;
esac
EDITAR
Por engano, eu postei o código zsh acima - na sintaxe bash, ele seria parecido com isso (com a reserva que é muito menos testado que o código zsh, que roda todos os dias no meu computador). O resto não mudou.
CURRENT_VT='tty'
if [[ ${CURRENT_VT:5:1} = "p" ]]; then
export VT="X";
else
export VT=${CURRENT_VT:${#CURRENT_VT} - 1};
fi