CtrlAltBackspaceTimer

Summary

When the user presses Ctrl-Alt-Delete, show a countdown timer giving the user the option of canceling the the restart of the X-server.

Rationale

Some users accidentally hit Ctrl-Alt-Backspace, losing all unsaved work. The upstream solution is simply to disable CAB by default. This is not ideal as other users experience problems and expect CAB to kill the X-server; these users may not know of Alt-Sysreq-K or may not have a functioning Sysreq key on their keyboard.

If the X-server cannot display the dialog the user cannot cancel the countdown, however this doesn't really matter as if the X server cannot display a simple dialog the user probably wants the X-server to be killed and restarted.

Use Cases

  • Adrian does not realize that Ubuntu has disabled Ctrl-Alt-Backspace, and assumed that his machine was locking up so hard that even Ctrl-Alt-Backspace doesn't work. Next time the X-server crashes he tries Ctrl-Alt-Backspace a few times; eventually it seems to work.
  • Brian remembers something about Ubuntu disabling Ctrl-Alt-Backspace, but he doesn't remember the key sequence Alt-Sysreq-k for killing X. He cannot look it up on the internet because his computer is frozen. He presses CAB once and waits a few seconds.
  • Carol doesn't know how to install dontzap, but is willing to wait ten seconds for X server to be killed.
  • David often presses CAB by mistake, but needs to use the flgrx driver for serious 3D work and suffers frequent X crashes that cannot be debugged by the Ubuntu team. He also doesn't have a Sysreq key on his When he presses CAB by mistake he can cancel it.

the the restart of the X-server.

Assumptions

  • Many users want the Ctrl-Alt-Backspace functionality (they do).

  • Many users will not remember to enable the CAB before X crashes, forcing them to do at least one reset (etc).
  • If the user hits CAB by accident they will be able to click Cancel in time.

Design

The script to display the countdown timer is trivial. See for example this prototype. We can make CAB a shortcut for this script and allow the script to kill X by adding "%plugdev ALL=NOPASSWD: killall Xorg" to the default sudoers file.

CtrlAltBackspaceTimer (last edited 2009-02-14 04:54:39 by 203-206-52-164)