Log in on the console (the black screen you're referring to). Then, look in /var/log/Xorg.0.log and see if there's anything relevant there. If you don't find anything there, check out ~/.xsession-errors.
If you don't know how to look at files from the command line, try this:
~:$ less /var/log/Xorg.0.log
~:$ grep -v DEBUG < ~/.xsession-errors | less # Filters out lines containing DEBUG
If you don't understand what you're seeing, post it here.
(PS: I know this isn't really much of an answer--it's really just troubleshooting--but since I'm not allowed to post comments, I have to frame this as an answer.)