XorgCtrlAltBackspace

Differences between revisions 1 and 61 (spanning 60 versions)
Revision 1 as of 2007-05-21 22:59:18
Size: 2568
Editor: 71
Comment:
Revision 61 as of 2010-06-12 04:57:24
Size: 6188
Editor: dhcp198-158
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
 * '''Launchpad Entry''': UbuntuSpec:foo  * '''Launchpad Entry''': UbuntuSpec:xorg-ctrl-alt-backspace
Line 10: Line 10:
This should provide an overview of the issue/functionality/change proposed here. Focus here on what will actually be DONE, summarising that so that other people don't have to read the whole spec. The Ctrl-Alt-Backspace key combination currently "zaps" (hard-restarts) the X server, and thus loses any unsaved data in applications, etc. This key combination is also largely undocumented, so users (probably ex-Windows users) may press this key combination without expecting data loss. This spec proposes to follow upstream's lead and disable this key combination by default in order to prevent this usability issue from occurring in normal installs.
Line 14: Line 14:
This section should include a paragraph describing the end-user impact of this change. It is meant to be included in the release notes of the first release in which it is implemented. (Not all of these will actually be included in the release notes, at the release manager's discretion; but writing them is a useful exercise.)

It is mandatory.
The key combination of Ctrl-Alt-Backspace, which previously immediately exited X (and thus reset the graphics system back to the login screen), has been changed to disabled by default. It can be re-enabled by setting the DontZap xorg.conf option to False or by using the AltGr-SysReq-K key combination instead. This should help reduce the frequency of unexpected data loss and activity interruption for users unaware of its function that strike it accidentally.
Line 20: Line 18:
This should cover the _why_: why is this change being proposed, what justifies it, where we see this justified. The key combination of Ctrl-Alt-Backspace terminates the user's current graphical shell, which can cause data loss if invoked accidentally. For some keyboards, backspace is in a location that can lead to accidentally hitting Ctrl-Alt-Backspace when using other Ctrl-Alt- key combinations. This can cause unexpected data loss and workflow interruption. It could also be seen as a form of local denial of service attack when people have access to the keyboard.

Upstream has recently disabled this key combination by default, for many of the same reasons above. It makes sense for Ubuntu to follow their lead on this change.

Historically, it has been one mechanism for users to exit/restart X. Of course, there are other ways to restart. For "normal" logouts, the logout button on the panel or the ctrl-alt-delete combo is the preferred mechanism, as unlike ctrl-alt-backspace they are designed to shut down apps nicely and give the user several options on how to logout (hibernate, suspend, etc.) Ctrl-alt-delete includes a timeout mechanism so can work even if the display is not visible.

Another use case for ctrl-alt-backspace is to restart a locked up X session. In many of these situations, ctrl-alt-delete will work as well. In some situations where ctrl-alt-delete won't work, neither will ctrl-alt-backspace, and so the power button will be the only recourse. For many non-technical users, the power button will be the most obvious mechanism anyway.

Some users will not prefer this change. For these users, the DontZap option is available in xorg.conf to re-enable it.
Line 24: Line 31:
 * Brian is a relatively new Ubuntu user working on a large image file in the GIMP, but also has Blender open on a different workspace which he used to render the image. Brian wants to close Blender as he is finished with it and needs to free up some memory for the GIMP. He remembers in Windows he could bring up an application list via Ctrl-Alt-Delete, but that doesn't work so he tries pressing Ctrl-Alt-Backspace. The key combination does nothing so he decides to open the System Monitor from the System > Administration menu instead. Once Blender is closed he continues to work on his image in the GIMP, saving it when he is finished.

 * Elisee presses ctrl + alt + left or right to change from one workspace to another, and realizes that he wants to erase what he was writing on his IM program just before switching workspace, and accidentally hits backspace before releasing Ctrl and Alt. Thankfully, this didn't result in X exiting as it used to. He breaths a sigh of relief.

 * Joel's computer interface has frozen due to a graphics driver problem. He still has daemons running which need to remain open, so he cannot reboot. He remembered that Ctrl-Alt-Backspace would restart X, and is surprised that it doesn't restart immediately. Instead, he switches to a terminal console and restarts the gdm process and is back in business. After reading up on the change, he decides to re-enable DontZap in his xorg.conf to make things work the way he's accustomed to in the future.

Line 25: Line 39:

This spec assumes that users do not use the Ctrl-Alt-Backspace functionality regularly, and that those who do will be able to change it back on in xorg.conf.
Line 28: Line 45:
You can have subsections that better describe specific parts of the issue. The DontZap option is changed to be True by default.
Line 32: Line 50:
This section should describe a plan of action (the "how") to implement the changes discussed. Could include subsections like: 1. We simply merge the upstream xserver codebase, with no Ubuntu changes required.
Line 34: Line 52:
=== UI Changes === 2. We search through our documentation for any instances where we are using ctrl+alt+backspace. We shouldn't be recommending this anywhere.
Line 36: Line 54:
Should cover changes required to the UI, or specific UI that is required to implement this

=== Code Changes ===

Code changes should include an overview of what needs to change, and in some cases even the specific details.

=== Migration ===

Include:
 * data migration, if any
 * redirects from old URLs to new ones, if any
 * how users will be pointed to the new way of doing things, if necessary.
3. As part of the Xorg.conf Options Editor specification, GUI tools will be implemented that permit re-enabling this. Tools must be available for both GNOME and KDE.
 
Line 51: Line 59:
It's important that we are able to test new features, and demonstrate them to users. Use this section to describe a short plan that anybody can follow that demonstrates the feature is working. This can then be used during CD testing, and to show off after release. To test the implementation the keypress should be held, and X should not restart.
Line 53: Line 61:
This need not be added or completed until the specification is nearing beta. == Discussion ==
Line 55: Line 63:
== Outstanding Issues == Previous discussion has been taken into account with this version of the spec, and is archived at [[XorgCtrlAltBackspace/Discussion]].
Line 57: Line 65:
This should highlight any issues that should be addressed in further specifications, and not problems with the specification itself; since any specification with problems cannot be approved.
Line 59: Line 66:
== BoF agenda and discussion == == External links ==
Line 61: Line 68:
Use this section to take notes during the BoF; if you keep it in the approved spec, use it for summarising what was discussed and note any options that were rejected. See also:

 * http://bugs.freedesktop.org/show_bug.cgi?id=10507 -- Ctrl-Alt-Backspace should request confirmation before killing Xorg
 * http://bugs.freedesktop.org/show_bug.cgi?id=10510 -- Xorg should use a more unlikely key combination than Control-Alt-Backspace as the server zap key

== Alternatives ==

For people coming here because they are missing the nice functionality of being able to kill the X server in case nothing else works anymore in the GUI, it might be interesting to know that x can now be killed with {{{"AltGr" - "SysReq" - K}}} ({{{AltGr}}} is the right Alt key. {{{SysReq}}} also labeled "Print, or "Druck" in Germany)! Found [[http://webupd8.blogspot.com/2009/04/ctrl-alt-backspace-disabled-in-most.html | here]].



Line 65: Line 83:

 

Please check the status of this specification in Launchpad before editing it. If it is Approved, contact the Assignee or another knowledgeable person before making changes.

Summary

The Ctrl-Alt-Backspace key combination currently "zaps" (hard-restarts) the X server, and thus loses any unsaved data in applications, etc. This key combination is also largely undocumented, so users (probably ex-Windows users) may press this key combination without expecting data loss. This spec proposes to follow upstream's lead and disable this key combination by default in order to prevent this usability issue from occurring in normal installs.

Release Note

The key combination of Ctrl-Alt-Backspace, which previously immediately exited X (and thus reset the graphics system back to the login screen), has been changed to disabled by default. It can be re-enabled by setting the DontZap xorg.conf option to False or by using the AltGr-SysReq-K key combination instead. This should help reduce the frequency of unexpected data loss and activity interruption for users unaware of its function that strike it accidentally.

Rationale

The key combination of Ctrl-Alt-Backspace terminates the user's current graphical shell, which can cause data loss if invoked accidentally. For some keyboards, backspace is in a location that can lead to accidentally hitting Ctrl-Alt-Backspace when using other Ctrl-Alt- key combinations. This can cause unexpected data loss and workflow interruption. It could also be seen as a form of local denial of service attack when people have access to the keyboard.

Upstream has recently disabled this key combination by default, for many of the same reasons above. It makes sense for Ubuntu to follow their lead on this change.

Historically, it has been one mechanism for users to exit/restart X. Of course, there are other ways to restart. For "normal" logouts, the logout button on the panel or the ctrl-alt-delete combo is the preferred mechanism, as unlike ctrl-alt-backspace they are designed to shut down apps nicely and give the user several options on how to logout (hibernate, suspend, etc.) Ctrl-alt-delete includes a timeout mechanism so can work even if the display is not visible.

Another use case for ctrl-alt-backspace is to restart a locked up X session. In many of these situations, ctrl-alt-delete will work as well. In some situations where ctrl-alt-delete won't work, neither will ctrl-alt-backspace, and so the power button will be the only recourse. For many non-technical users, the power button will be the most obvious mechanism anyway.

Some users will not prefer this change. For these users, the DontZap option is available in xorg.conf to re-enable it.

Use Cases

  • Brian is a relatively new Ubuntu user working on a large image file in the GIMP, but also has Blender open on a different workspace which he used to render the image. Brian wants to close Blender as he is finished with it and needs to free up some memory for the GIMP. He remembers in Windows he could bring up an application list via Ctrl-Alt-Delete, but that doesn't work so he tries pressing Ctrl-Alt-Backspace. The key combination does nothing so he decides to open the System Monitor from the System > Administration menu instead. Once Blender is closed he continues to work on his image in the GIMP, saving it when he is finished.

  • Elisee presses ctrl + alt + left or right to change from one workspace to another, and realizes that he wants to erase what he was writing on his IM program just before switching workspace, and accidentally hits backspace before releasing Ctrl and Alt. Thankfully, this didn't result in X exiting as it used to. He breaths a sigh of relief.
  • Joel's computer interface has frozen due to a graphics driver problem. He still has daemons running which need to remain open, so he cannot reboot. He remembered that Ctrl-Alt-Backspace would restart X, and is surprised that it doesn't restart immediately. Instead, he switches to a terminal console and restarts the gdm process and is back in business. After reading up on the change, he decides to re-enable DontZap in his xorg.conf to make things work the way he's accustomed to in the future.

Assumptions

This spec assumes that users do not use the Ctrl-Alt-Backspace functionality regularly, and that those who do will be able to change it back on in xorg.conf.

Design

The DontZap option is changed to be True by default.

Implementation

1. We simply merge the upstream xserver codebase, with no Ubuntu changes required.

2. We search through our documentation for any instances where we are using ctrl+alt+backspace. We shouldn't be recommending this anywhere.

3. As part of the Xorg.conf Options Editor specification, GUI tools will be implemented that permit re-enabling this. Tools must be available for both GNOME and KDE.

Test/Demo Plan

To test the implementation the keypress should be held, and X should not restart.

Discussion

Previous discussion has been taken into account with this version of the spec, and is archived at XorgCtrlAltBackspace/Discussion.

See also:

Alternatives

For people coming here because they are missing the nice functionality of being able to kill the X server in case nothing else works anymore in the GUI, it might be interesting to know that x can now be killed with "AltGr" - "SysReq" - K (AltGr is the right Alt key. SysReq also labeled "Print, or "Druck" in Germany)! Found here.


CategorySpec

XorgCtrlAltBackspace (last edited 2010-06-12 04:57:24 by dhcp198-158)