I recently upgraded my two Ubuntu computers from 11.10 to 12.04. Everything worked fine on my Toshiba netbook, but on my old Dell Dimension E520 the upgrade caused a problem that took me a while to fix.
The machine booted up just fine and presented me with the standard login screen, but immediately upon logging in my screen became a flickering unreadable jumble. It looked like an old TV with the horizontal hold out of whack. Even weirder was the fact that both of my sons' accounts on the same computer seemed to work just fine. I couldn't find a fix for my problem online, and even after posting to a couple of help forums I couldn't get any answers.
I finally found this post which explains how to remove, reinstall, and reconfigure xorg (Ubuntu's graphical environment), and after a little experimenting I was able to make it work. I still don't know exactly what the problem was/is, and there's still a lot that I don't understand about xorg, but this at least allowed me to login and get a functional GUI.
1. From the login screen, instead of logging in normally, type Crtl-Alt-F1. This will give you a terminal screen from which you can login with your regular username and password.
2. Once you're logged in, enter "sudo apt-get remove --purge xserver-xorg" (without the quotes). This will remove your existing xorg.
3. Type Ctrl-Alt-Del to reboot the computer.
4. During the boot process, before your login screen is displayed, your computer will display a purple "Ubuntu" screen with five dots on it. At some point while this screen is up, type Ctrl-Alt-F1 to get the terminal screen (It's important to do this before the login screen appears, otherwise the next commands won't work right.) Wait for the login prompt, then login again as before.
5. Enter "sudo apt-get install xserver-xorg". This will reinstall xorg.
6. Enter "sudo dpkg-reconfigure xserver-xorg". This will reconfigure xorg.
7. Finally, type the command "startx". This will start the Ubuntu GUI and you will find yourself logged in to your Ubuntu account with your GUI and the flickering unreadable screen will be fixed.
The bad news is that this doesn't permanently fix the problem. (In fact, I'm still not entirely sure what the problem is.) So if you log out of your account you'll have to do this same thing all over the next time you want to get your GUI running again. As soon as I figure out the long-term fix I'll update this post, and if anyone with more Ubuntu smarts than me wants to add their insights or suggestions in the comments, please feel free.