Не знаю, как во FreeBSD, но в Linux в домашнем каталоге пользователя добавляешь, например в файл .bashrc строки c анализом существования файла /tmp/.X0-lock и при его отсуттствии запуск X-в:
if [ ! -f /tmp/X-lock ]
startx
fi
PS Писал на скорую руку, возможны ошибки