I recently upgraded from Ubuntu 11.10 to 12.04. If it makes any difference, my system is a Dell Inspiron 1520.

I encounter a problem whenever I shutdown or restart; it kills all running processes (as far as I can tell), but once I get past the shutdown text screen and the screen goes black, my computer doesn't power off. The fans still run and the screen is still on, etc. I have to hold down the power button in order to complety shut down.

ok, while you are looking for a solution to this problem, you should be able to work around it by typing sudo poweroff at a terminal prompt, or if you are unfamiliar with the terminal press "alt-f2" and type "gksudo poweroff" and that may bring your computer to a complete power off.
–
eltommoApr 27 '12 at 4:42

It looks like there is a bug for that: bugs.launchpad.net/bugs/987220 . If you are affected, click on "yes, it affects me too" at the top of the page. This will be counted. You can log on to Launchpad with your UbuntuOne ID.
–
AndreMay 19 '12 at 17:28

The solution above worked for a while but then the problem re-occurred. So I removed acpi=force from GRUB_CMDLINE_LINUX_DEFAULT and added it to GRUB_CMDLINE_LINUX instead, using the steps above (i.e. GRUB_CMDLINE_LINUX="acpi=force"). Then I shut down the computer, using the power button to power off after it stopped shutting down at the black screen with a series of messages that ended with "[end trance ...]" as it did before (I had GRUB_CMDLINE_LINUX_DEFAULT="" to show messages instead of the splash screen). After re-booting, shutdown worked correctly (I tested it several times).
–
CeeOct 28 '12 at 2:44

The problem re-occured after another update with Update Manager. As before, the screensaver also froze (even with just blank screen & 2d screensavers) when trying to return to using the computer after a while. And again there was also freezing at the screensaver instead of automatic shutdown of the computer by Power Management. Shutdown works properly again after following the steps above (moving acpi=force to GRUB_CMDLINE_LINUX_DEFAULT this time) shutting down and manually powering off. So you may have to repeat these steps each time the problem reoccurs, seemingly after system updates.
–
CeeNov 11 '12 at 0:40

I have the same problem on exactly the same model (Inspiron 1520). The culprit seems to be the proprietary NVIDIA graphics driver. If you uninstall it and fallback to Nouveau it will work as usual.

To run Nouveau instead of the NVIDIA driver you just remove/inactivate [both] NVIDIA drivers in "additional drivers" (not running English system so I can't be sure of the name). Ubuntu will then use Nouveau automatically.

Depending on your usage though, Nouveau might not be "good enough". But in my case I don't need the performance of the NVIDIA driver (no gaming here!).

The key may be in this sentence, "it kills all running processes". In my case, it did NOT! The problem was caused by the redis-server process which, for some reason, couldn't be stopped normally. Once I killed all redis-serverprocesses, sudo killall redis-server, I was able to do shut down normally. Since I don't need redis that often, I stopped it from running at startup with these commands:

sudo update-rc.d -f redis-server remove

sudo update-rc.d -f redis_6379 remove

I will wait for an update that fixes this problem, but for now I will remember to stop the redis process before shutting down.
It may not be redis in your case, but it's likely a buggy process that Ubuntu couldn't kill.

This may help you inspect the problem:

service --status-all: lists all services registered with the system. Services that start with OS boot will have a [+] symbol before them.

Read the log messages that appear on the screen when you press the power button to manually power off. In my case, I read something about trying to close the redis server. The messages may also appear if you press some random keys.

Review the programs you installed recently, maybe one of them is causing the problem.

Try closing all unnecessary processes and see if you can shut down normally. If you can, repeat the process, narrowing down the candidates, till you reach the buggy app.

To investigate what's going on behind the splash screen, press Esc. You will see what is stopping it from shutting down. Then you can troubleshoot for that problem. For many cases reported, it was redis-server.