Discussion

Differences between revisions 1 and 9 (spanning 8 versions)
Revision 1 as of 2008-06-11 20:37:49
Size: 28768
Editor: c-67-168-235-241
Comment:
Revision 9 as of 2009-06-23 15:25:44
Size: 39051
Editor: 128
Comment:
Deletions are marked like this. Additions are marked like this.
Line 57: Line 57:
 * ["Warbo"]: I agree. For Windows, the Ctrl-Alt-Delete shortcut works with either control key, either Alt key (I think), but most importantly it also works with the Delete key, the Backspace key or the full stop key on the numeric keypad (the period key for the Yanks). Ctrl-Alt-Backspace zaps the X server in Ubuntu, which is dangerous and should be disabled IMHO, Ctrl-Alt-Delete can do various things in Ubuntu, it can send the system into restart mode, it can log out (in Enlightenment 0.16.x it does this for example) and other such things. I am unaware of Ctrl-Alt-NumPad"." doing anything specific, but I am on my laptop at the moment and don't have a proper numpad to try. Any of these actions which perform unsafe actions without a confirmation should be disabled or given a confirmation box, those which could confuse and potentially lose work for users should be disabed altogether (which I think applies to zapping X and restarting the system). E16's logout box is no problem though, as it has a confirmation and no countdown, so things like that can be left. Just for the record, when I used to use Windows systems I would use Ctrl-Alt-Backspace simply because the Backspace key on my keyboard was nice and big so I could hit it easily, therefore arguments about this being in the wrong place are unjustified; this discussion needs to go on, as should discussion about changing other long-practiced behaviour (although probably in separate specs to complement this one, so the merits and drawbacks of each can be seen, but the discussion about a need for this generally, like this comment, aren't duplicated over and over. That's my thoughs on the issue.  * [[Warbo]]: I agree. For Windows, the Ctrl-Alt-Delete shortcut works with either control key, either Alt key (I think), but most importantly it also works with the Delete key, the Backspace key or the full stop key on the numeric keypad (the period key for the Yanks). Ctrl-Alt-Backspace zaps the X server in Ubuntu, which is dangerous and should be disabled IMHO, Ctrl-Alt-Delete can do various things in Ubuntu, it can send the system into restart mode, it can log out (in Enlightenment 0.16.x it does this for example) and other such things. I am unaware of Ctrl-Alt-NumPad"." doing anything specific, but I am on my laptop at the moment and don't have a proper numpad to try. Any of these actions which perform unsafe actions without a confirmation should be disabled or given a confirmation box, those which could confuse and potentially lose work for users should be disabed altogether (which I think applies to zapping X and restarting the system). E16's logout box is no problem though, as it has a confirmation and no countdown, so things like that can be left. Just for the record, when I used to use Windows systems I would use Ctrl-Alt-Backspace simply because the Backspace key on my keyboard was nice and big so I could hit it easily, therefore arguments about this being in the wrong place are unjustified; this discussion needs to go on, as should discussion about changing other long-practiced behaviour (although probably in separate specs to complement this one, so the merits and drawbacks of each can be seen, but the discussion about a need for this generally, like this comment, aren't duplicated over and over. That's my thoughs on the issue.
Line 151: Line 151:
Bottom line, the user should NEVER be able to accidentally destroy their work and reset their computer, regardless of how unlikely the key combination is. How can Ubuntu possibly try to pass itself off as stable when a simple mis-stroke can obliterate the GUI? -- ["physicsnick"] Bottom line, the user should NEVER be able to accidentally destroy their work and reset their computer, regardless of how unlikely the key combination is. How can Ubuntu possibly try to pass itself off as stable when a simple mis-stroke can obliterate the GUI? -- [[physicsnick]]
Line 157: Line 157:
One thing that did frustrate me was finding out where the key binding came from, and how to turn it off. There is nothing in the keyboard/layout options or keyboard shortcut applets to control the binding. Which is what I was expecting. If I can remap whole swathes of the keyboard, why can't I control what c-alt-backspace does? ["steveloughran"]

----

Ctrl-Alt-Backspace has been a common key combo for so long, people coming from other distro's could get easily confused and lost. I've used Windows for many years and never come across and application that used this key combo. I've also used several other linux distro's and relied on this key combo to help fix issues. Removal of this is like removing one of the basic functions. I am strongly against it. -- ["clickwir"]

----

Bug raised to suggest using a different shortcut for workspace swapping (ctrl-alt-arrow) to reduce risk of inadvertently pressing ctrl-alt-backspace and losing data https://bugs.launchpad.net/ubuntu/+bug/184911. -- -- ["koen-beek"]

----

I submitted the bug that ["koen-beek"] mentions, and after further consideration I think that disabling Ctrl+Alt+Bksp by default is the best solution. It's redundant to Alt+Sysreq+k (in practice) anyway. -- ["NatTuck"]
One thing that did frustrate me was finding out where the key binding came from, and how to turn it off. There is nothing in the keyboard/layout options or keyboard shortcut applets to control the binding. Which is what I was expecting. If I can remap whole swathes of the keyboard, why can't I control what c-alt-backspace does? [[steveloughran]]

----

Ctrl-Alt-Backspace has been a common key combo for so long, people coming from other distro's could get easily confused and lost. I've used Windows for many years and never come across and application that used this key combo. I've also used several other linux distro's and relied on this key combo to help fix issues. Removal of this is like removing one of the basic functions. I am strongly against it. -- [[clickwir]]

----

Bug raised to suggest using a different shortcut for workspace swapping (ctrl-alt-arrow) to reduce risk of inadvertently pressing ctrl-alt-backspace and losing data https://bugs.launchpad.net/ubuntu/+bug/184911. -- -- [[koen-beek]]

----

I submitted the bug that [[koen-beek]] mentions, and after further consideration I think that disabling Ctrl+Alt+Bksp by default is the best solution. It's redundant to Alt+Sysreq+k (in practice) anyway. -- [[NatTuck]]
Line 193: Line 193:

 * A number of people have suggested "just pop up a dialog" out of the assumption that "popup dialogs" == "better user experience" but they do so without giving this much thought. In addition to being unimplementable, imposing a GUI dialog largely breaks the control-alt-backspace use case and leaves remaining users with an irritating UI - instead of one key combo they now would have to also hit additional keys or manipulate the mouse; assuming their keys and mice actually work, they would quickly come to loathe this change. Despite all this, if people still feel the compromise of adding a delay is insufficient and that the spec is not complete without a GUI popup, then my preference would be to leave the current behavior as-is and just have users self-educate about the key combo. -- bryce

 * While I do understand your point, I think that the delay *might* not be enough. Would have to test, but backspace is one of the very few keys you get to press for several seconds, because you actually want it to erase multiple characters. Having a popup showing up like the ones used for special volume / contrast keys, e.g. no user interaction, only display a warning and disappear quickly without requiring any user action sounds like a very good way of not getting in the way while providing the user with useful warning ("you just release that key now or you're loosing all your unsaved work!!!1"). Not sure it's technically possible of course, would certainly require interfacing with the desktop/window manager. Additionnally, providing a simple GUI way to disable / change delay of the zap behaviour (maybe "consensus rather than configuration" is not the solution in that case - but maybe it is), could prove to be good? Though I understand that if it requires editing xorg.conf, it's a no-go. -- elisee

 * Since people still feel the compromise of adding a delay is insufficient, I'm leaving the current behavior as-is for intrepid. (The preceding unsigned comment was written by BryceHarrington)

 * openSUSE has already solved the XorgCtrlAltBackspace problem in a different way. They have done it by adding a new ZapWarning option, which is enabled by default. When it is enabled, pushing Ctrl+Alt+Bksp once emits a two-second long beep; pushing Ctrl+Alt+Bksp again within two seconds kills Xorg. I have written [[http://thread.gmane.org/gmane.comp.freedesktop.xorg/32263/focus=32334|more about ZapWarning]] on the Xorg list. I don't know if Ubuntu's idea is better or worse than openSUSE's. But IMO their idea is good enough, so in the interest of standardization and making things easier for users, we should adopt their idea. Poll: Who thinks we should adopt ZapWarning for standardization reasons? Who thinks we should use our idea instead? Please vote below. --JasonSpiro

 * Consider changing nothing as an option. First, Ctrl-Alt-Backspace has restarted X for a long time. Changing well established user interfaces is bound to cause annoyance and frustration with the existing user base (even adding the delay). Generally Ctrl-Alt-Backspace is only used when the system is in a bad state and the user is already frustrated. Two seconds may not seem like long in a spec, but when you're sitting there waiting, it can seem like a long time. Second, Ctrl-Alt-Backspace isn't something you can press by accident. It's not a natural key combination nor close to another one, so this should not be a common problem (and to an extent, if the user goes pressing random key combinations, they shouldn't be suprised when something unexpected happens). Finally, this adds complexity at a time when the system is in a bad state already. If X is dead and I need to restart it, I can get back to working much more quickly from an X restart than a complete system restart, so some consideration should be given to not adding complexity here and possibly making it less likey the user actually gets X restarted. (ScottKitterman)

2008-12-08 halan: If we want to remove Ctrl+Alt+Backspace we need a more stable X-Server first, where single apps can't lock up the whole screen.

2008-12-10 Owais: I'm against this one. This is the most handy shortcut in Linux. It saves you a reboot every time your X Server misbehaves. Must be documented & promoted to masses.

2008-12-10 François Terrier: I think a rule of thumb for a desktop system should be : 'should never discard any user change without a user confirmation'. If you agree with this, you agree ctrl-alt-backspace should be disabled. I think it's not acceptable for any action that discards user entered information not to ask for a confirmation before doing so, and this one is the worst of all.

2008-12-17 Christoph Burgdof: Im strongly against it. Especially in my earlier days of my linux experience I found that feature quite usefeul because it gave me a save feeling. I still have to use it sometimes when my computer hangs for some reason. Think about it, what else can be done when the x server hangs? Do you really want a beginner to switch to tty and restart the exserver via command? I guess a beginner would now have to completly restart the computer :-(

2008-12-17 tjaalton: You still have the option to change the default in your configuration!

2008-12-17 bryce: Most beginners wouldn't know about ctrl-alt-backspace and would just do a restart anyway.

== Write here if you do not agree ==
I can't believe you are talking about this, ctrl+alt+bs has been enabled since the beginning and it is an useful shortcut. I've read someone who want to show an ok/cancel window, now I ask how will you use it if one of the main scenarios in which you will use ctrl+alt+bs is when your X is totally hanged.
You just don't disable electricity sockets because you once put the finger inside, you learn how to deal with them, unless you have children around, and guys, are you children ?
-- matias


== An alternative solution idea from Andrew Sayers ==

I'm developing an [[https://launchpad.net/remote-help-assistant|assistant]] that helps set up remote desktop sessions over the Internet, so my concern is about security when you give access to a friend who starts fiddling with things he oughtn't to. VNC servers don't provide any easy way to kick the other user out, and zapping the system fits the problem quite nicely - it's fullproof, available by default, and hard for malicious users to disable. I'm actually quite concerned that it's possible to set DontZap at all, because it leaves users with no option short of hitting reset/power off when a friend turns out to be nasty (or just drunk). Having read all of the above, could I suggest the following (comparatively complex) solution:

The X server listens on a Unix socket named something like /var/run/Xorg-zap-:0.0. It accepts the following messages:

 * '''lock''' - Enable ctrl-alt-backspace for as long as the specified client is connected to the socket
 * '''release''' - Release a previous '''lock'''
 * '''enable-default''' - Enable zapping on this server until the next restart
 * '''disable-default''' - Disable zapping on this server until the next restart, except when '''lock'''ed by a client
 * '''enable-messages''' - This client should receive messages from the server over this socket

When '''enable-messages''' is set, the server sends the following messages to the socket:

 * '''enabled''' - Zapping has just gone from disabled to enabled, either by a '''lock''' or '''enable-default'''
 * '''disabled''' - Zapping has just gone from enabled to disabled, either by '''lock'''ed socket bing '''release'''d or closed, or by '''disable-default'''
 * '''wait N''' - ctrl-alt-backspace is being held down, and the system will be zapped in N seconds
 * '''cancel''' - ctrl-alt-backspace has been released

Additionally, the server sends either '''enabled''' or '''disabled''' in response to '''enable-messages''', to notify the client of the initial state of the server.

This would make the following use cases possible:

A VNC server (or remote help assistant) could '''lock''' the server for the duration of the VNC session and hold the socket open with only a few lines of code - in particular, it wouldn't need to bother regularly throwing away input from the socket.

A GNOME applet could listen to messages from the server, and pop a warning message up saying "your computer will restart in N seconds" without making massive architectural changes to X. The idea would be that the window pops up on '''wait''' and goes away on '''cancel''', and is just a warning message rather than a confirmation dialogue. That strikes me as a fairly nice way of notifying users what's happening without interrupting their workflow too much.

A KDE configuration program could get the zapping state of the server, update that state in real time, and allow the user to set the state.

 - AndrewSayers
----

I strongly disagree with this change. CTRL-ALT combinations should be kept. :'-(

        - Luís Louro
----
I very much disagree with taking out this key combination. The ability to reload just the UI of your operating system is one of the huge advantages of Linux. If beginning users from Windows don't know the key binding right now, then it's worth them learning. Perhaps the key binding could have been different, but that ship has sailed. At the *very least*, don't remove it, but by default do the suggestion to add a confirmation window. It's a really dumb idea, because the most common use case is for when your UI is hosed, and the confirmation window will also be hosed or at least processing really slow. You could then have the DontZap option (or some similar option) make it so that there's no confirmation window.
Or you could make it so that there's a confirmation window, which after 10 seconds automatically restarts the X server. This would take case of the accidental click use case, as users who's UI is not hosed would have ample time to click cancel.
It's a heck of a lot better than leaving users dead in the water!!
Without this key combination you'll find your users more likely to blame the OS when a badly written program (which there will be more of the more popular Linux gets) locks up the system.
        - Revery

Discussion for XorgCtrlAltBackspace Blueprint

I'm an experienced Linux user who accidentally triggers this at work (as a software developer) all the time, and I too think it should be disabled by default, OR have its default key combination changed to something else. I trigger this because I use virtual desktops, and flit back and forth between them with Ctrl+Alt+Arrow frequently, sometimes with the intent of immediately editing text on the destination window. If this imminent editing involves a backspace, I stand a chance of losing my work (and have now, many times). I think it should go, or be changed to something truly unlikely to hit accidentally (something that uses the Pause/Break button perhaps). (Eric Mill, May 12, 2008)

I personally think it should be left on. Does it really cause that much trouble... I have never hit those keys by accident.

I agree, it is not easy to trigger. I use ubuntu at work and it has happened maybe twice in one year. But really, it is painful to lose all my work because of that keystroke. I now have disabled it in xorg.conf. I just think there is no place for this in an end-user desktop. And in general, undocumented features should be avoided. I do not care leaving it, but if so, it should be clearly documented.

The spec talks about Alt+Ctrl+BS bringing up the task manager in Windows. Unless this has changed in recent Windows versions, you're confusing it with Alt+Ctrl+Del. At least Unix users (esp. Linux and *BSD) are quite customed to Alt+Ctrl+BS for killing the X server. At least in the past, using this sequence was useful to kill unresponsive X sessions due to crashed programs (esp. Netscape/Mozilla). Disabling this sequence without giving the user the opportunity to "opt out" will severely annoy the users accustomed to it (I know it does annoy some people that it doesn't work on Suns). OTOH, I have not yet seen a single user hitting Alt+Ctrl+BS by mistake (having administered a number of FreeBSD pools for several years in the past). A different thing would be to disable Alt+Ctrl+BS and use it for Trusted Path (Orange Book), i.e. a secure login mechanism. But that's probably off topic here. -- Sascha Silbe, 2007-05-31

Hi - I currently use 8 * triple multiseat ubuntu boxes and I find Ctrl-Alt-Bsp invaluable in rebooting a seat that may hang for some reason, as this reboot does not affect the other 2 seats. Don't lose this feature (please). -- Zoltan 2007 06 26

Anyone who's used to using Ctrl-Backspace a lot (a habit easily acquired from Windows or even Emacs) can easily trip over this particular land mine. It's even easier to do in CoqIDE, which lends itself to switching rapidly between typing and hitting Ctrl-Alt-{Up,Down}. If you're just a bit too slow letting go with your left hand, and you want to start backspacing, boom. To have this on by default in any kind of user-friendly desktop environment is absurd, and is exactly the sort of thing that gets people running back to Windows. Of course it's necessary to have *some* way to kill X, but it by no means needs to be this easy by default. I say Ubuntu should ship with DontZap=On in xorg.conf; failing that, Xorg should be patched to require the Shift key as well and/or require the key combination to be pressed three times (which you'd just about never do by accident), giving a warning dialog after the first. (Oh, and is it common that Ctrl-Alt-Backspace works when Ctrl-Alt-F1 does not? That's another perfectly reasonable emergency measure, whose consequences for the typical user are confusing at worst.) - Luke Maurer, July 2, 2007

I do not know if this is the place to raise that question, but I wonder whether the ctrl-alt-f* key combinations should also be disabled by default. How is a normal user accidentally hitting those keys supposed to know that hitting ctrl-f7 brings back the X server ? - François Terrier, August 14, 2007

Ctrl-Alt-F* keys should absolutely remain enabled IMHO, since disabling Ctrl-Alt-BS would leave users with a crashed X who know how to restart it unable to do so short of a reboot. Also, Ctrl-Alt-F* doesn't lose any data. It might be scary and confusing to users, but their work is still sitting untouched in Ctrl-Alt-F7 (or whatever), and thus the functionality it provides is absolutely worth the shock of discovery. The welcome message could be changed though, to tell users how to get back. -- Warbo


Personally, I use ctrl-alt-bkspace to restart Xorg all the time, but I'm an admittedly unique corner case. As long as there is a documented way to reactivate it (a. comment in xorg.conf, b. on a wiki page, c. maybe in a GUI config tool), this should be fine.

I don't think simply documenting it is an adequate solution. Who reads docs? If it truly is an unexpected data-loss situation for users, then Ubuntu should be changed so that by default it does not happen. -- Bryce

I also use the ctrl-alt-backspace combo quite frequently, as I tend to push my system too hard (running Beryl, 3D apps, etc at the same time). I'm sure that many other people use this combo as well. Maybe it would be good to add an option in the installer, allowing people to choose a set of shortcuts mimicking Windows or keeping GNOME shortcuts. I know that Windows users tend to expect ctrl-alt-del to open the system monitor as well, and there may be others, so this may need looking into. --maccam94

I use ctrl-alt-backspace quite often myself, but I expect that most users don't use it and don't even know about the feature. In addition, I expect that the users who do use it are those who would also have the least trouble enabling it if it were disabled by default. -- ConstantineEvans

How about using more complicated sequence e.g. Ctrl-Alt-Shift-Backspace ? I suppose no one will have clicked this by mistake. -- AlanTam

I think it should be completely disabled. Even if there is an almost null probability that a user hits those keys, it can still have catastrophic consequences (and with so many people using ubuntu, there will be someone hitting those keys). This command kills the X server without any warning, and is there, imho, only for debugging purposes. It should not be enabled in an end user desktop. If someone really wants this to be enabled, fine, he can still enable it, and in doing so, he is making himself aware of the danger. In windows, hitting the ctrl-alt-del command does not kill anything, it just brings up a window where one can select the process to kill. My next argument is the following. The only purpose of this command is killing a crashed X server, right? Come on, Ubuntu is a high-end user-friendly desktop and the X server is not supposed to crash on the first hand. People who install ubuntu are not just Linux freaks any more, they want something that is stable and reliable. I couldn't imagine explaining to someone why such a command exist. What should I say? "You know, sometimes your machine freezes and in that case you have the magic combination...". No ! --Fterrier

There is no such thing as a completely stable system. At least not on desktop devices. For this reason I think that Ctrl-Alt-Backspace should not be disabled. Or what do you expect users to do when things go awry? Reset? Pull the plug? The best argument against Ctrl-Alt-Backspace was, that X is killed without warning. So I think the solution lies in providing a dialogue, telling users what will happen, if they press Ctrl-Alt-Backspace again. And is nothing works, pressing Ctrl-Alt-Backspace more than once or twice will kill the X-server without prompting. As for changing the key-combination: it is a standard, so we best schouldn't touch it. --Sokraates

No, right, there is no stable system, but what we should be heading towards is a stable system. I alos think most users would simply reboot when things go wrong. Advanced users will either have reenabled the functionality of ctrl-alt-backspace or will go to a tty term and will restart the X server from there. Now, I think providing a dialog is a good idea, but how do you want to display such a dialog if the X sever is crashed ? I was thinking about bringing up a new X on 0:1 (or whatever that is) with a user friendly window on it asking the user what he wants (killing the primary X server, killing an app, etc...) -- Fterrier

Rebooting is always an option, but one needs to consider, that firstly Linux prides itself, that usually you don't need to reboot (a tradition we should keep) and secondly you waste time. Should the X-server crash, such a dialog could be displayed using curses, but I doubt that makes sense, if the X-server is already dead, i.e. you've lost the data anyway. But of course, the app started pushing Ctrl-Alt-Backspace could check for a running X-server and then display the message using curses (stating something like 'It seems, your enter non-geek term for X-server has crashed') or alternatively GTK/Qt/whatever is available. The main scope of this blueprint, though, was on users accidentally hitting Ctrl-Alt-Backspace. So for those a dialog in GTK/Qt/whatever would be just fine. --Sokraates

I add my support that this option should be removed by default, it is redundant (there are other more explicit ways of killing an xserver) and dangerous as it kills the server without warning. At the very least if it is not removed then the process of its activation must be made more difficult. In the absence of removal I suggest the following alternative: modify the kill action to require two presses of cntl-alt-backspace spaced by >=1 second. On the first press a dialogue box appears explaining what a second press of cntl-alt-backspace will do. This should hopefully be sufficient warning to the simple user while not really affecting the experience user. The purpose of the delay between the key presses is to prevent an accidental double tap (usually rapid) from killing the server. I still favour the disabling of this keypress however. From experience with many non-technical users I fail to believe an ordinary user would bother with a slightly more technical solution (diagnostic and implimentation) to "fixing" their machine than just rebooting it. --AlexMeakins

Why not make Ctrl+Alt+Backspace show a dialog with information and a "Cancel" and "Zap" button? I'm not sure if this is technically possible, but doesn't the Zap option just kill X anyway? -- WesleyStessens

I think adding a confirmation box would fix this issue, but personally I only ever use Ctrl-Alt-Backspace when something has crashed and screwed up X too much to recover (even after switching to a VT to kill whatever process has caused it). In such a situation a confirmation box wouldn't be any help, since X has gone wrong (if I can click in a confirmation box, then I might as well click on the logout button), so I am personally in favour of disabling it altogether. Since making people run "sudo /etc/init.d/gdm restart" in a VT is a little long winded to restart the server properly (if they don't reenable zapping, obviously), making a default alias like "sudo restartx" or something would be nice to have.

There is one huge mistake in this proposal. Windows users use Ctrl+Alt+Delete shortcut, not Ctrl+Alt+Backspace (!!). A lot of windows users know Ctrl+Alt+Delete shortcut, but none of them knows Ctrl+Alt+Backspace. They will not trigger this combination intentionally. This whole draft stands on wrong information. By my experience, Ctrl+Alt+BS is one of the most usefull shortcuts in Ubuntu. I use it regularly, bad things just happen, and they happen often. -- KamilPáral

The fact that few windows users are familiar with the combination ctrl+alt+backspace coupled with the close proximity of the delete key to the backspace key on many keyboards is what makes this discussion all the more important. It is a very dangerous key combination as it contains absolutely no warning and can easily cause the loss of data in open applications. It is the preserve of the more experienced user who should be more than capable of re-enabling it if necessary. As I have said before a basic user e.g. my mum is not going to start using ctrl-alt-backspace etc in preference to hitting the magic-fix-all-button that is the PC's reset switch. It is utterly redundant and more dangerous to common, clumsy figured, basic users than it is useful. It should be diabled by default. --AlexMeakins

  • Warbo: I agree. For Windows, the Ctrl-Alt-Delete shortcut works with either control key, either Alt key (I think), but most importantly it also works with the Delete key, the Backspace key or the full stop key on the numeric keypad (the period key for the Yanks). Ctrl-Alt-Backspace zaps the X server in Ubuntu, which is dangerous and should be disabled IMHO, Ctrl-Alt-Delete can do various things in Ubuntu, it can send the system into restart mode, it can log out (in Enlightenment 0.16.x it does this for example) and other such things. I am unaware of Ctrl-Alt-NumPad"." doing anything specific, but I am on my laptop at the moment and don't have a proper numpad to try. Any of these actions which perform unsafe actions without a confirmation should be disabled or given a confirmation box, those which could confuse and potentially lose work for users should be disabed altogether (which I think applies to zapping X and restarting the system). E16's logout box is no problem though, as it has a confirmation and no countdown, so things like that can be left. Just for the record, when I used to use Windows systems I would use Ctrl-Alt-Backspace simply because the Backspace key on my keyboard was nice and big so I could hit it easily, therefore arguments about this being in the wrong place are unjustified; this discussion needs to go on, as should discussion about changing other long-practiced behaviour (although probably in separate specs to complement this one, so the merits and drawbacks of each can be seen, but the discussion about a need for this generally, like this comment, aren't duplicated over and over. That's my thoughs on the issue.


I've prepared a patch to implement this change once/if the spec is officially approved; the code to be added to dexconf is listed above. This is going to be a controversial change if made, so we definitely need to doublecheck that it's really the way we want to go with Ubuntu.

I've also altered the spec a bit, as it appeared to originally have some confusion between ctrl-alt-backspace and ctrl-alt-delete on windows. I've also neutralized the language a bit; it's not evil, it's just not very kid-friendly. Wink ;-)

Regarding changing the keyboard shortcut to something less likely to get accidentally punched - I suspect people used to ctrl-alt-backspace would be just as equally put off by having this changed as having it disabled. As well, while there is a clear flag in xorg.conf for switching this on/off, I didn't spot a way to remap it.

Regarding a GUI control for setting it, I've added this as future work - see above.

Regarding a handler to display a confirmation dialog when hitting the key combo, as was pointed out, this directly conflicts with ctrl-alt-backspace's main use case (to bypass the window manager and just kill everything asap). If we hear that people routinely use ctrl-alt-backspace for logging out, then that might make sense, but I would assume ctrl-alt-del would be the more expected shortcut in that case.

Regarding mapping this to unrelated functionality, I think this should be strongly discouraged. We should not get users accustomed to using ctrl-alt-backspace for something different, in case they sit down at a different Linux box where it works traditionally.

All-in-all, I think the arguments on both sides are compelling, but to me the risk of data-loss for ordinary users is what tips the scales in favor of disabling. I think this is just one of those rough (but well-loved) edges that needs sanding in order to bring Ubuntu closer to solving bug #1.

-- BryceHarrington


In talking with the spec reviewers about it, the spec is not yet ready to be approved. This is will be controversial change, and as such needs to have a strong consensus. As can be seen in the above discussion, some people strongly favor it, others strongly don't. Many are on the fence. Really, we need a solution that most everyone can get behind without reservation.

From a short googling, it appears few if any Linux distros ship with DontZap turned on. While their audiences may differ from Ubuntu's, this is a pretty good sign that we need to have pretty strong evidence that it's actually needed.

1. Several people have reported that they hit this key combo accidentally, but it's a little ambiguous what sequence of events leads to this. We need to enumerate these situations in a lot more detail, so it's clear how they could be reproduced and so it's more obvious how common/uncommon these situations are. Please add these to the Use Cases section.

2. Do any Linux distros ship with DontZap turned on? Which ones? If none do, then we need a much, much stronger rationale for why Ubuntu should.

3. There is clearly confusion in the spec between ctrl-alt-backspace and ctrl-alt-delete. These must be cleaned up and reevaluated.

4. Most long time Linux users are accustomed to having this shortcut enabled, and will be surprised when it goes away. This spec must account for and address this use case.

5. One of our goals is to minimize the amount of stuff in xorg.conf (ideally we wish to promote running with no xorg.conf at all). So requiring DontZap will be a step back for this goal. It looks to me like it would be feasible to patch xserver to add support for the opposite of DontZap (e.g. "DoZap" or whatever). This should be given consideration and possibly be added to the spec.

In the discussion, several alternate ideas have been voiced. Some of the ideas are unimplementable or will be inadequate solutions, as pointed out in the discussion, but there are a few good ideas. Incorporating some of these thoughts into the spec might bring it to a point where a consensus can be achieved and the spec approved.

Once these things have been taken care of and the spec tightened up, let me know and we can take another shot at getting it approved and implemented.

-- BryceHarrington


I really think ctrl + alt + backspace is an useful feature to quickly go back to login screen when your work is already lost. On the other hand, I happen to press ctrl + alt + left or right to change from one desktop to another, and often I then realize that I want to erase what I was writing on my IM program just before switching desktops (as I already hold Ctrl and Alt pressed...), and thus get my X server to be killed...

To me the best behaviour would be:

- ctrl + alt + backspace pressed - look for an active X session - if there's one, check whether it's responsive, and if it is, display a message box letting the user know about what he did and choice (restart his session cleanly, hard-restart X, cancel) - if it's not responsive, restart it

If checking whether X is responsive or not is not possible, then we should definitly try to send a message box and no matter whether it displays or not, require a second press within a short delay to restart the X-server.

-- Elisée Maurer


To throw something outside of people's impassioned opinions on the fire, let's consider that pressing Ctrl-Alt-Backspace requires a user to be mistakenly holding Control and Alt, and then intending to press the commonly used Backspace key.

Log out

Ctrl + Alt + Delete

Move between panels and the desktop with a popup

Ctrl + Alt + Tab

Move between panels and the desktop immediately

Ctrl + Alt + Escape

Hide all windows and focus desktop

Ctrl + Alt + D

Switch to workspace on the left

Ctrl + Alt + Left

Switch to workspace on the right

Ctrl + Alt + Right

Switch to workspace above this one

Ctrl + Alt + Up

Switch to workspace below this one

Ctrl + Alt + Down

With the exception of "Log out", any of these operations are used when switching between windows. If the first thing a user does is try to backspace a character in that new window, but they hold Ctrl + Alt just a fraction of a second too long, their entire session instantly dies. Coupled with the fact these particular Ctrl + Alt would be chorded on the left hand, and the delay seems even more realistic.

In the case of the exception, "Log out", the delete key is often close to the backspace on many laptop keyboards. Therefore, this too could be mistakenly activated.

-- ScottRobinson

The situations in which I think Ctrl+Alt+Backspace could be be useful are following:

  • You want to use a shared computer, but somebody's left the screen locked...
  • OpenGL game (or app) has messed up the display. At least a few years ago they often were able to put display (Matrox G550) to such state that only rebooting the whole machine got display to useful state though
  • Some application could freeze with a menu open which means that as menus grab all input, the whole Desktop is basically frozen. Advanced users can in this case go to another console and kill the offending process from there

In the first case it's better to be able to start another session directly from the screen lock screen. In the second Ctrl+Alt+Backspace helps fairly rarely, loses your work and users soon learn to avoid such programs (games) anyway. The last case is really annoying as with some versions of Mozilla and Gtk it was quite easy to trigger. For that better option is nowadays AllowDeactivateGrabs or AllowClosedownGrabs (see: http://xorg.freedesktop.org/releases/X11R6.7.0/doc/xorg.conf.5.html).

Anyway, I think it's better to disable Ctrl+Alt+Backspace, advanced users need just to comment out the DontZap line in xorg.conf if they want that back. I.e. result of it is potentially catastrophic (although unlikely) and cause a mystery for newbies, whereas re-enabling it is trivial for power users. And more attention should be given to issues why power users would want to use it. Vi etc can do emergency save on HUP, why the same doesn't work with X apps when X connection breaks?

-- Eero Tamminen


I actually use this shortcut frequently as a beta tester, and it is absolutely *shocking* to me that people think it should be left on for the general public. Aside from some delay, for all intents and purposes it does exactly the same thing as the reset button on the front of the computer. Anyone who would ever actually use this key combination instead of the reset button has the technical know-how to edit xorg.conf to turn it back on. Reset is a much better alternative to ctrl+alt+backspace because it's documented: as in, IT SAYS "RESET" ON IT!

When I was new to Linux, I definitely did hit this shortcut accidentally several times over the course of a few months, each time having no idea what I'd done or that it was even my fault. I lost a lot of trust in X and it took a while to get it back; even when I finally learned what the combination was, I continued to be afraid that I would hit it accidentally. It makes no sense to have it there for average users, especially when there are a dozen other shortcuts involving ctrl+alt.

Bottom line, the user should NEVER be able to accidentally destroy their work and reset their computer, regardless of how unlikely the key combination is. How can Ubuntu possibly try to pass itself off as stable when a simple mis-stroke can obliterate the GUI? -- physicsnick


I've been burned by this in Java IDE's; there's lots of key bindings there, but when you set up C-A-Backspace to do something, your system is toast. At the same time, I've spent many an afternoon getting ubuntu working on laptops, where, now that I know it exists, C-A-Backspace has been invaluable.

One thing that did frustrate me was finding out where the key binding came from, and how to turn it off. There is nothing in the keyboard/layout options or keyboard shortcut applets to control the binding. Which is what I was expecting. If I can remap whole swathes of the keyboard, why can't I control what c-alt-backspace does? steveloughran


Ctrl-Alt-Backspace has been a common key combo for so long, people coming from other distro's could get easily confused and lost. I've used Windows for many years and never come across and application that used this key combo. I've also used several other linux distro's and relied on this key combo to help fix issues. Removal of this is like removing one of the basic functions. I am strongly against it. -- clickwir


Bug raised to suggest using a different shortcut for workspace swapping (ctrl-alt-arrow) to reduce risk of inadvertently pressing ctrl-alt-backspace and losing data https://bugs.launchpad.net/ubuntu/+bug/184911. -- -- koen-beek


I submitted the bug that koen-beek mentions, and after further consideration I think that disabling Ctrl+Alt+Bksp by default is the best solution. It's redundant to Alt+Sysreq+k (in practice) anyway. -- NatTuck


I have to use Ctrl+Alt+Backspace for applications that hang Compiz on a pretty regular basis. I REALLY think we need to keep this key combination; however, I would not be opposed to a 5-10 second countdown with a cancel button (obviously, if X has hung then you can't click cancel so you obviously don't care). I am opposed to a confirmation dialog, when X is hung I cannot confirm that I want to kill it. -- Compholio


Please please do something about this, just lost 30 minutes because of it ... Using Eclipse and Ctrl+Alt, this is just too dangerous.


I like the pressing twice solution. It would be nice for everyone.

  • user hits ctrl+alt+bs
  • a modal dialog with buttons( ok|cancel ) is presented
  • if user clicks ok or presses ctrl+alt+backspace again X restarts.

Alternative:

  • requiring user to hold ctrl+alt+backspace for 1 second could be a good alternative.

-- TacOne


2008-03-09: I didn't know about this magic keystroke. A few years ago I didn't know about ctrl-backslash, either, which under OpenBSD, at least, core dumps the running program. I was "fuzzing" a program for testing purposes by mashing the keyboard in strange ways. Filed a bug report, then got slapped "not a bug". What a waste of time. Concerning Ubuntu, I have an older Compaq keyboard on my Ubuntu workstation, with the unusual feature that the spacebar is split. The left half of my spacebar is a secondary backspace key. Yesterday evening I managed to hit ctrl-alt-backspace by accident, all with my left hand. Terminated about 30 running programs scattered over four desktops. Hardly different than the kind of crash I bought a UPS to prevent. I'm a machine-gun typist with twenty years experience. I also use Emacs/Xemacs heavily, where I would think nothing about ctrl-alt-space or worse. Just off the top of my head, I use ctrl-alt-shift-5 (%) a lot. I've never informed myself about this X-windows hotkey because I've never needed to. X is not the center of my universe, even when it is right in front of my face. How many others have managed to kill their session this way and not bothered to comment? Guesses that this key combination is hard to hit in practice aren't worth much. Lately, I've frequently found myself using both clipboards in parallel which necessitates moving my hand between my mouse and keyboard a lot (since one paste action is bound to my mouse, the other to my keyboard, also too lazy to investigate reconfiguration so far). I have my mouse on the left side of my keyboard to reduce arm strain (closer to home position without the obstruction of the numeric keypad). My left hand came back to the keyboard from the mouse, missing home position by half a key width below; I started unloading something from my brain at 90 WPM, had a sticky roll-over from my pinky to another finger on my left hand and BLAMO I was back to the login screen muttering to myself WTF!? and struggling to remember what my hands had just done. I've had other software, probably debuggers, ask me "do you want to enable SysRq?" as part of the install. It should be opt-in with accompanied by explanatory text "this key, if enabled, will insta-kill your X session with zero confirmation". Now that I know, I'll probably reassign this keystroke to ctrl-alt-shift-break, unless X defeats me again, as it always seems to do. ~MaxEnt

  • A number of people have suggested "just pop up a dialog" out of the assumption that "popup dialogs" == "better user experience" but they do so without giving this much thought. In addition to being unimplementable, imposing a GUI dialog largely breaks the control-alt-backspace use case and leaves remaining users with an irritating UI - instead of one key combo they now would have to also hit additional keys or manipulate the mouse; assuming their keys and mice actually work, they would quickly come to loathe this change. Despite all this, if people still feel the compromise of adding a delay is insufficient and that the spec is not complete without a GUI popup, then my preference would be to leave the current behavior as-is and just have users self-educate about the key combo. -- bryce
  • While I do understand your point, I think that the delay *might* not be enough. Would have to test, but backspace is one of the very few keys you get to press for several seconds, because you actually want it to erase multiple characters. Having a popup showing up like the ones used for special volume / contrast keys, e.g. no user interaction, only display a warning and disappear quickly without requiring any user action sounds like a very good way of not getting in the way while providing the user with useful warning ("you just release that key now or you're loosing all your unsaved work!!!1"). Not sure it's technically possible of course, would certainly require interfacing with the desktop/window manager. Additionnally, providing a simple GUI way to disable / change delay of the zap behaviour (maybe "consensus rather than configuration" is not the solution in that case - but maybe it is), could prove to be good? Though I understand that if it requires editing xorg.conf, it's a no-go. -- elisee
  • Since people still feel the compromise of adding a delay is insufficient, I'm leaving the current behavior as-is for intrepid. (The preceding unsigned comment was written by BryceHarrington)

  • openSUSE has already solved the XorgCtrlAltBackspace problem in a different way. They have done it by adding a new ZapWarning option, which is enabled by default. When it is enabled, pushing Ctrl+Alt+Bksp once emits a two-second long beep; pushing Ctrl+Alt+Bksp again within two seconds kills Xorg. I have written more about ZapWarning on the Xorg list. I don't know if Ubuntu's idea is better or worse than openSUSE's. But IMO their idea is good enough, so in the interest of standardization and making things easier for users, we should adopt their idea. Poll: Who thinks we should adopt ZapWarning for standardization reasons? Who thinks we should use our idea instead? Please vote below. --JasonSpiro

  • Consider changing nothing as an option. First, Ctrl-Alt-Backspace has restarted X for a long time. Changing well established user interfaces is bound to cause annoyance and frustration with the existing user base (even adding the delay). Generally Ctrl-Alt-Backspace is only used when the system is in a bad state and the user is already frustrated. Two seconds may not seem like long in a spec, but when you're sitting there waiting, it can seem like a long time. Second, Ctrl-Alt-Backspace isn't something you can press by accident. It's not a natural key combination nor close to another one, so this should not be a common problem (and to an extent, if the user goes pressing random key combinations, they shouldn't be suprised when something unexpected happens). Finally, this adds complexity at a time when the system is in a bad state already. If X is dead and I need to restart it, I can get back to working much more quickly from an X restart than a complete system restart, so some consideration should be given to not adding complexity here and possibly making it less likey the user actually gets X restarted. (ScottKitterman)

2008-12-08 halan: If we want to remove Ctrl+Alt+Backspace we need a more stable X-Server first, where single apps can't lock up the whole screen.

2008-12-10 Owais: I'm against this one. This is the most handy shortcut in Linux. It saves you a reboot every time your X Server misbehaves. Must be documented & promoted to masses.

2008-12-10 François Terrier: I think a rule of thumb for a desktop system should be : 'should never discard any user change without a user confirmation'. If you agree with this, you agree ctrl-alt-backspace should be disabled. I think it's not acceptable for any action that discards user entered information not to ask for a confirmation before doing so, and this one is the worst of all.

2008-12-17 Christoph Burgdof: Im strongly against it. Especially in my earlier days of my linux experience I found that feature quite usefeul because it gave me a save feeling. I still have to use it sometimes when my computer hangs for some reason. Think about it, what else can be done when the x server hangs? Do you really want a beginner to switch to tty and restart the exserver via command? I guess a beginner would now have to completly restart the computer Sad :-(

2008-12-17 tjaalton: You still have the option to change the default in your configuration!

2008-12-17 bryce: Most beginners wouldn't know about ctrl-alt-backspace and would just do a restart anyway.

Write here if you do not agree

I can't believe you are talking about this, ctrl+alt+bs has been enabled since the beginning and it is an useful shortcut. I've read someone who want to show an ok/cancel window, now I ask how will you use it if one of the main scenarios in which you will use ctrl+alt+bs is when your X is totally hanged. You just don't disable electricity sockets because you once put the finger inside, you learn how to deal with them, unless you have children around, and guys, are you children ? -- matias

An alternative solution idea from Andrew Sayers

I'm developing an assistant that helps set up remote desktop sessions over the Internet, so my concern is about security when you give access to a friend who starts fiddling with things he oughtn't to. VNC servers don't provide any easy way to kick the other user out, and zapping the system fits the problem quite nicely - it's fullproof, available by default, and hard for malicious users to disable. I'm actually quite concerned that it's possible to set DontZap at all, because it leaves users with no option short of hitting reset/power off when a friend turns out to be nasty (or just drunk). Having read all of the above, could I suggest the following (comparatively complex) solution:

The X server listens on a Unix socket named something like /var/run/Xorg-zap-:0.0. It accepts the following messages:

  • lock - Enable ctrl-alt-backspace for as long as the specified client is connected to the socket

  • release - Release a previous lock

  • enable-default - Enable zapping on this server until the next restart

  • disable-default - Disable zapping on this server until the next restart, except when locked by a client

  • enable-messages - This client should receive messages from the server over this socket

When enable-messages is set, the server sends the following messages to the socket:

  • enabled - Zapping has just gone from disabled to enabled, either by a lock or enable-default

  • disabled - Zapping has just gone from enabled to disabled, either by locked socket bing released or closed, or by disable-default

  • wait N - ctrl-alt-backspace is being held down, and the system will be zapped in N seconds

  • cancel - ctrl-alt-backspace has been released

Additionally, the server sends either enabled or disabled in response to enable-messages, to notify the client of the initial state of the server.

This would make the following use cases possible:

A VNC server (or remote help assistant) could lock the server for the duration of the VNC session and hold the socket open with only a few lines of code - in particular, it wouldn't need to bother regularly throwing away input from the socket.

A GNOME applet could listen to messages from the server, and pop a warning message up saying "your computer will restart in N seconds" without making massive architectural changes to X. The idea would be that the window pops up on wait and goes away on cancel, and is just a warning message rather than a confirmation dialogue. That strikes me as a fairly nice way of notifying users what's happening without interrupting their workflow too much.

A KDE configuration program could get the zapping state of the server, update that state in real time, and allow the user to set the state.


I strongly disagree with this change. CTRL-ALT combinations should be kept. :'-(

  • - Luís Louro


I very much disagree with taking out this key combination. The ability to reload just the UI of your operating system is one of the huge advantages of Linux. If beginning users from Windows don't know the key binding right now, then it's worth them learning. Perhaps the key binding could have been different, but that ship has sailed. At the *very least*, don't remove it, but by default do the suggestion to add a confirmation window. It's a really dumb idea, because the most common use case is for when your UI is hosed, and the confirmation window will also be hosed or at least processing really slow. You could then have the DontZap option (or some similar option) make it so that there's no confirmation window. Or you could make it so that there's a confirmation window, which after 10 seconds automatically restarts the X server. This would take case of the accidental click use case, as users who's UI is not hosed would have ample time to click cancel. It's a heck of a lot better than leaving users dead in the water!! Without this key combination you'll find your users more likely to blame the OS when a badly written program (which there will be more of the more popular Linux gets) locks up the system.

  • - Revery

XorgCtrlAltBackspace/Discussion (last edited 2009-06-23 17:15:28 by 128)