|
Just Beginning
Introduction Is Ubuntu for You?* Which Ubuntu to pick?
Download and Burn Ubuntu
Install Software
Where's the Terminal? Next Steps Beyond the Basics Playing Around Troubleshooting * Off-site link |
Running Sudo Graphically
What's the Issue?
For example, a lot of guides (including the first book ever published about Ubuntu) will ask you to type this sort of command: sudo gedit /etc/apt/sources.list
I will always recommend, however, that people use instead this sort of command: gksudo gedit /etc/apt/sources.list
And reserve sudo for command-line applications, like so: sudo nano /etc/apt/sources.list
Why is it an issue? 1. There are other times, though, when side effects can be as mild as Firefox extensions not sticking or as extreme as as not being able to log in any more because the permissions on your .ICEauthority changed. You can read a full discussion on the issue here. These errors occur because sometimes when sudo launches an application, it launches with root privileges but uses the user's configuration file.
gksudo firefox , it uses root's Firefox configuration file.
sudo firefox , it runs with root privileges but uses the user's configuration file (in this case, you can see the homepage and theme are different).
2. Running graphical applications with sudo also has the downside of always having to be run from the terminal. If you don't use the proper command—gksudo or kdesu, you will not be able to use the command as an icon launcher or keyboard shortcut because there will be no graphical dialogue box to enter your sudo password in. 3. There are also some graphical applications that simply will not run with the sudo command. Kate, for example, can be run as kdesu kate but cannot be run as sudo kate
Why not make exceptions? If you made exceptions, you would have to give people a list of all the graphical applications that are okay to run as sudo and a list of all the graphical applications that must be run as gksudo or kdesu. Why make a list that needs to be compiled and updated, that most people won't refer to, and that is completely unnecessary? Just be consistent in suggesting good practice: gksudo and kdesu for graphical applications. sudo for command-line applications.
But gksudo sometimes gives me an error... even though it appears to work... (gedit:####): GnomeUI-WARNING **: While connecting to session manager:
Authentication Rejected, reason : None of the authentication protocols specified are supported and host-based authentication failed. That is not a real error, and there's already been a bug report filed on the message appearing. The developers have seen the bug and labeled it a low priority. In the meantime, just ignore the message and keep encouraging people to not use sudo for graphical applications so they won't potentially mess up their ~/.ICEauthority and other user configuration files.
|
|
If you have suggestions or corrections for these tutorials, please post in this Ubuntu Forums thread or leave a comment on my blog. |
|