So apparently there is something important in ~/.local/share/applications/*.desktop that causes unity, or in the case of unity-2d metacity, not to start when you login. This has the undesireable effect of making the desktop rather useless. Without the window headers it is difficult to exit programs, and without unity it is difficult to start programs. Furthermore keyboard input seems to be broken.

Anyways, if this sounds like you, try rm ~/.local/share/applications/*, or make a backup first if that suits you, just get rid of what's there for a bit and try logging in again. It worked for me.