Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

I have ubuntu 12.04 running in a virtual machine on virtual box. Its existence is mainly as a 'toy' to play about with Ubuntu, so for this reason I wanted the GUI (is that what 'Dash' is in ubuntu 12.04? Anyway...)

One thing I am currently using this machine for is a LAMP server. I use 'gedit' to edit my files, but because I haven't correctly set permissions yet I just open it with sudo in terminal.

Just now, to try to simplify this process I created a shell script on the desktop with a very simple job - sudo gedit

I can't help thinking there must be an even more obvious way to open gedit as root from the GUI than this. So is there?

Edit: I just 'improved' my script by replacing sudo with gksudo. Now I don't have to have a terminal window open while gedit is open. So I guess this is quite convenient for now :) It would be good, for the sake of knowledge, to know if this is anything close to how the more seasoned ubuntu users would do this type of thing.

share|improve this question
2  
Yes, gksudo (or more commonly known as gksu) it what most people use. Lots of reading material: askubuntu.com/questions/270006/… askubuntu.com/questions/197772/… askubuntu.com/questions/284306/… askubuntu.com/questions/11760/… –  Seth Jul 13 '13 at 23:06
2  
Seth, would you be willing to post your reply as an answer? This looks resolved. –  Travis G. Jul 13 '13 at 23:14
    
"Now I don't have to have a terminal window open while gedit is open." <- You may already know about this, but if you append & to a command as shown here, you allow the shell script's terminal window to close immediately when gedit is launched instead of waiting for it to close. This trick should work with gksudo without problems. –  IQAndreas Jul 14 '13 at 12:26
add comment

4 Answers 4

up vote 7 down vote accepted

Use gksudo gedit.

gksudo is the equivalent of sudo for graphical programs, which are not safe to run using sudo.

share|improve this answer
3  
Problem is, gksu is not installed by default in Ubuntu 13.04 anymore. I would really love to see an answer for those on 13.04+. The suggested alternative is pkexec, but it just doesn't work =/. –  Alaa Jul 14 '13 at 13:15
    
@Alaa But it's still in the repository, so a quick sudo apt-get install gksu should install it for you. –  IQAndreas Jul 14 '13 at 21:15
    
If you want an explanation to why it is not recommended to use sudo: What is the difference between “gksudo nautilus” and “sudo nautilus”? –  IQAndreas Jul 15 '13 at 2:05
2  
@IQAndreas, I know it's in the repositories, but it's just inconvenient, if I'm answering a new user and want him to edit a file as root, to tell him "first, run sudo apt-get install gksu". Right now, it's a dilemma, at least for me. I can't tell him to "use pkexec", because it doesn't work, and it's too risky to sudo -i then gedit. Also, I know the difference between gksudo and sudo =), what you might have linked me to instead, is this: Why is gksu no longer installed by default in 13.04?. –  Alaa Jul 15 '13 at 5:31
    
@Alaa Valid point regarding apt-get. Actually, my second comment (the one with the link) was directed at the answer you gave, and not a continuation of the discussion in the comments (I figured the poster may want to know the reason why it is "not safe to run using sudo"). –  IQAndreas Jul 15 '13 at 6:05
show 1 more comment

I find myself running gedit as root quite frequently, so I added the option to the right-click menu in Unity (it uses the same command as the selected answer, gksu gedit).

You will need to edit a *.desktop file in order to add the menu option, and you have two choices:

  • /usr/share/applications/gedit.desktop (requires root access to edit) - The menu option will be added for all users. Note that you may need to re-edit this file, adding the option if an update to gedit occurrs that overwrites your changes.
  • ~/.local/share/applications/gedit.desktop (If you can't find it there, make a duplicate of the one found in /usr/share/applications/, and save it to this new location) - The menu option will only be available for the specified user, and is considered "better practice". Note that if you already have it docked to your Unity bar, you will need to choose Unlock from Launcher on your existing GEdit icon, then re-add your "custom" version. These changes should stay even if GEdit gets an update.

Edit the text file gedit.desktop, adding the following block of code (you can use the existing two blocks as a template):

[Desktop Action RootWindow]
Name=Open a Root Window
Exec=gksu gedit
OnlyShowIn=Unity;

Next, add the new action to the list (should be at around line 19 of the text file):

Actions=Window;Document;RootWindow;

Now right-clicking the text editor window in Unity brings up this handy new option:

Ubuntu Unity: Open Gedit as Root

share|improve this answer
    
I also have the same setup for opening the file manager as root, which runs gksu nautilus. –  IQAndreas Jul 14 '13 at 12:43
add comment

You can open Nautilus as root, gksu nautilus, now any text file you open from that window will open in Gedit as root.

share|improve this answer
add comment

I use this command:

su-to-root -c gedit
share|improve this answer
2  
Where is the difference? –  Lucio Jul 14 '13 at 4:10
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.