One of my student came to my office this afternoon after her laptop couldn't boot to X. She's using Ubuntu 10.04. The only thing that appeared on the screen was a xterm terminal. I tried to ran startx and it says that the X is already running. I was confused and i searched Google and found the solution. I ran startx -- :1 and it would work, but when i restarted, it happened again, so i guess it was just a temporary solution.
Luckily, i tried to log out from the session and i found the culprit. Someone changed the session from GNOME into xterm. That's why when she logged on using her account, she only got xterm session instead of full GNOME desktop. After changing the session into GNOME, i tried to restart her laptop and voila... the GNOME desktop has been restored as normal