“(as superuser)” considered harmful

It's not easy to be a superheroAbout a year ago, we considered the idea of showing the name of the user running a program in the titlebar, as suggested by GNOME bug 549389.  So if you were running Epiphany as user fred, and you yourself were not user fred, you would see “(as fred)” in the titlebar.  More commonly, if you were running Nautilus as root, you would see “(as superuser)” in the titlebar.

This eventually made its way to being commited to the master branch.

Various problems have since arisen:

  • Several people still say that it should say “as root” instead of “as superuser”.  The wording was chosen for fear that “root” was techspeak, but apparently “superuser” is as well.
  • gvim is somehow able to fool the user detection and displays “as superuser” even when it’s not.  Your chronicler suspects the EWMH properties are misapplied, but has not yet investigated.  This is Debian bug 549290, Gentoo bug 292517, and GNOME bug 603240.
  • Colin Watson has asked in GNOME bug 605137 for a way to suppress the message on particular windows, because the Ubuntu installer runs as root under Metacity, and the user doesn’t need to be worried about the “as superuser” part.  This is certainly something we can do, assuming we keep this feature at all.
  • Launchpad bug 519035 (which is GNOME bug 609431) says that any attempt to mark the titles of windows owned by root is “techspeak and ineffectual”.

We could:

  • keep things as they are
  • rename “(as superuser)” to “(as root)”
  • remove all visual indication that a window is running as root, but leave it in for running as other unexpected users
  • remove the patch entirely
  • replace the patch entirely with a way for themes to specify a titlebar style for windows running as root; this was GNOME bug 505157 and wouldn’t be very difficult with CSS themes (“frame[is-root] > titlebar { background-color: blue; }“).

Gentle reader, your opinions are welcome.

Photo © Esparta, cc-by.

Published by

Thomas Thurman

Mostly themes, triaging, and patch review.

7 thoughts on ““(as superuser)” considered harmful”

  1. Although most of the time I know which window is run under which privileges, I find this a nice, non disturbing, reminder. Colouring the border seems too much, and nothing at all seems too little. Indeed, it could be changed to “as root” because anyway it’s a bit techspeak, but maybe “superuser” is easier to translate (eg: I’d have no idea how to translate “root” to French).

    Concerning the launchpad bug, strangely, it’s in Ubuntu that you are reminded the more often that you are doing something as root, by forcing you to type “sudo” in front of each command, so putting this reminder in the windows too seems very natural.

  2. -1 from me. Useless idea =) integrate PolicyKit everywhere so that you don’t need to run programs as root just lock/unlock or ask for password for needed actions.

    Eg. Even Natutilus should have a popup bar you “don’t have sufficient permissions to copy/paste/view – Authorise?” Mac Os Finder does that =)

  3. I think it’s a useful feature. It might be techspeak, but if you’re at the point of having things running as root, you’re already in technical realms, and the reminder is helpful.

  4. I agree that “as Administrator” would be a less jargonish phrase than “as superuser” – at least “administrator” is an ordinary English word. “root” is even more jargonish, and has a conflict of definition in the world of X11. ;)

    I think themes should have access to “window owned by root” / “window owned by other user” / “window from other host”, even if this patch is kept.

    I left a comment on the gvim bug – apparently it manages to fool Metacity by virtue of having a bogus _NET_WM_PID property.

  5. I vote for:

    “replace the patch entirely with a way for themes to specify a titlebar style for windows running as root; this was GNOME bug 505157 and wouldn’t be very difficult with CSS themes (”frame[is-root] > titlebar { background-color: blue; }“).”

    I’d actually differntiate between frame[is-root] and frame[is-other] (maybe frame[is-remote])

Leave a Reply

Your email address will not be published. Required fields are marked *

Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Unported.