Question: I am running Gnome3, but I had the same problem with Unity, on Ubuntu 12.04.

I have a fairly elaborate setup I enjoy using day-to-day. A LibreOffice spreadsheet with everyone's extension numbers; a window with reference data I use regularly; two mulit-tabbed Konsole/Terminal windows with several remote systems sessions, firefox with a set of open tabs, and so on. But whenever I log out, when I return, I must set up everything from scratch. I remember the good 'ol days, when I rebooted, I'd re-log in, and all my windows came back up in the same places as they were when I logged out, and my Konsole/Term would come up with the same remote logins as before.... I'd have to re -setup 
some of my programs, but that's better than having to move every win into place, and
resize them, etc.

How do I get this functionality back?

Answer: 
Unfortunately, the ability to save the session has been removed due to a [bug](https://bugs.launchpad.net/ubuntu/+bug/773688). 

That said, I rarely have the necessity of this functionality, as long as I am the only user of a computer thanks to suspend / and or hibernate (and to never switching off my working place desktop).
On Gnome 3.4 < you should be able to launch Startup Programs from the Applications Menu or the Overview if using the shell. In most cases this package will already be present as it is a part of gnome-session

Try to run it with `Alt`+`F2` and type gnome-session-properties then `Enter`
and go to the 2nd tab 'Options'

Here you select the "Automatically remember running applications when logging out" check box and it should remember everything from the next time you login and out, but just to be sure you can click(if available) the Remember Currently Running Applications as well and this will make sure it saves everything from the current session. The currently running box isn't available on all Gnome 3 setups.

As for the bug in another comment, I see no mention of Gnome 3 or Ubuntu 12.04 under it for that matter, so I'm not certain it has any merit.