Sounds like you might have a corrupted session. Try logging out, going to your first console (Ctrl+Alt+F1), logging in to the text console and running these commands:
Code:
cd ~/.cache
rm -rf sessions
...then go back to your gui console (Ctrl+Alt+F7) and log back in.
These commands will clear the existing saved sessions state and hopefully fix your problems. If not, please post back the contents of ~/.xsession-errors:
Code:
pastebinit ~/.xsessions-errors
...and post back the lin kthat is generated.
Bookmarks