Master Your Linux Keyboard (And Fix Caps Lock Forever) - Page 2

If the command line is your preferred management interface, smooth out your keyboarding with these handy utilities.

 By Carla Schroder
Page 2 of 2   |  Back to Page 1
Print Article

Ubuntu, sudo, and Root

su is "switch to a different user". sudo is "execute a single command as another user, as configured in the /etc/sudoers file." Ubuntu's clever use of sudo is one of those "d'oh! Why didn't someone think of this years ago!" deals. Users who need occasional root privileges are simply added to the admin group. sudo protects the root password and logs all activity. Ubuntu doesn't even create a root login during installation. But you really need a root login for a number of reasons: some commands do not know how to handle it when sudoasks for a password, and it's more convenient when you have a lot of administrative chores to perform. Probably the most important reason to have a root login is the Ext2/3 filesystem reserves 5% of the filesystem for the root user. This gives you enough room to manuever and to rescue the system when some user process goes nuts and fills up your hard drive.

How do you make a root login on Ubuntu and all of its Buntu cousins? Easy, with sudo:

$ sudo passwd root

sudo is typically compiled with a 15-minute timeout, which means you can run a number of sudo commands without re-entering your password in that time. You can this change per-user or per-group by editing /etc/sudoers, which must be done with visudo:

$ sudo visudo
$ Defaults:carla timestamp_timeout=30

Close and save with Ctrl-X and Y. -1makes it infinite. Don't do this, for obvious security reasons.

Because Ubuntu makes gksu and gksudo both behave like sudo, how do you configure xbindkeys to run a command as "real" root? Use the -wswitch, like this:

$ gksu -w kate

You can cancel the sudotimeout with this command:

$ sudo -k

This is helpful when you're testing your commands and they get stuck in sudomode.


kdesu is a front-end to su, and by default switches to the "real" root user. So you need a root login on your system to use kdesu, like this:

$ kdesu kate

You may also switch to any user that you know the password for:

$ kdesu -u pinball kate

Come back next week to learn more about using xbindkeyswith lots of nice examples, and a quick tour of KeyTouch for additional useful customizations to your multimedia keyboard.


  • man 1 xmodmap
  • man 5 sudoers
  • man 1 gksu
  • man 1 kdesu
  • man 1 xbindkeys
  • Keytouch
This article was originally published on Jul 10, 2007
Get the Latest Scoop with Networking Update Newsletter