Showing a splash screen and progress indicator while shutting down (turn off and restart)


Users like shiny things. Text is not shiny.

Use cases

  • Lisa's husband installed a computer system for her. Lisa's husband is a Linux Hacker. After a long, hard session of Tetrinet, she shuts down her machine and gets a lovely graphical shutdown which makes her feel warm, loved, peaceful and at one with the world.


This affects all display managers (kdm, gdm, and the Edubuntu display manager).

Design / Implementation

  • Set all display managers to switch to tty8 and start usplash. This will be done with a seperate script shipped by usplash that each DM can use at the most appropriate point (usually right after killing X, but before outputting any text to the console). The point of abstracting this out to a generic script is that usplash's internal implementation can change (perhaps we use a different TTY, or run a series of commands first, etc) without touching the DMs again.
  • In rc0 and rc6 we need to make the progress bar count down instead of counting up. Currently, usplash ticks are implemented in the rc scripts, and "just work" in all runlevels, but always count "up" instead of "down". Special-casing the reboot and halt runlevels to count backwards is trivial.
  • Add a final message to the usplash (before the kernel is halted, after root is remounted readonly) that tells the user that it's now safe to shutdown the computer. This is to cover the case of ACPI (or whatever) shutdown failure. This will be done with a small init script that runs at the appropriate time.
  • Alter usplash to use the "fail" colour (red by default in Ubuntu) for the progress bar when counting down, so it's obvious when we're in a shutdown sequence. This not only makes things a bit more intuitive, but also makes it obvious when shutdown starts if you hit Ctrl-Alt-Del during the boot sequence.


SplashDown (last edited 2008-08-06 16:29:29 by localhost)