Can't open Gedit as root

82,669

Solution 1

Finally have found an answer. From this question Cannot connect to X Server when running app with sudo and especially this question Error when trying to run an app with sudo or gksudo.

I added the line Defaults env_keep+="DISPLAY" to the end of the visudo file at /etc/sudoers.

Yay, my sudo gedit is back!

EDIT

Got the same error again for sometime.

Did some more research, especially this answer https://askubuntu.com/a/137584/163331 and realized I had to add more options to the visudo file. Instead of Defaults env_keep+="DISPLAY", I used this line:

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"

Solution 2

Running any graphical interface applications as root can result in file corruption, especially if the graphical interface application is a text editor. In addition to this gksu and gksudo don't work for starting graphical applications as root in Wayland in Ubuntu 17.10: Why don't gksu/gksudo work with Wayland? and the gksu package has been dropped from the default Ubuntu repositories in Ubuntu 18.04 and later.

Nautilus Admin (nautilus-admin) is a simple Python extension for the Nautilus file manager that adds some administrative actions to the right-click menu:

  • Open as Administrator: opens a folder in a new Nautilus window running with administrator (root) privileges.
  • Edit as Administrator: opens a file in a Gedit window running with administrator (root) privileges.

To install Nautilus Admin in all currently supported versions of Ubuntu open the terminal and type:

sudo apt install nautilus-admin  

While there are commands to run graphical applications as root, you are strongly advised to use nano text editor, which normally is run from the terminal, for editing files as root. Nano text editor is included in the default Ubuntu installation.

Nano is very easy to use. The instructions for using nano editor are always found at the bottom of every page. The only two nano keyboard shortcuts that you need to know are for WriteOut and Exit. Press the keyboard combination Ctrl+O and after that press Enter to save the file being edited. Press the keyboard combination Ctrl+X to exit nano.

If you get into the habit of editing files as root the right way, you will reduce the possibility of making mistakes that may be very time consuming to correct.

Solution 3

In Ubuntu 17.10, at least, you can do this:

gedit admin:///path/to/some/random/file

You'll be prompted to enter your password, and then the file will be opened for editing as root.

Solution 4

For gedit, try this:

sudo -H env DISPLAY=:0 gedit

Solution 5

I am trying to summarize all info in the other answers on this page:

Wayland:

The only option looks to used nano or vi/vim

Xorg:

try this

sudo -H env DISPLAY=:0 gedit

if it works it probably means you need to add some option to sudo configuration files

sudo visudo

Try to add this line at the end

Defaults env_keep="XAUTHORIZATION XAUTHORITY TZ PS2 PS1 PATH LS_COLORS KRB5CCNAME HOSTNAME HOME DISPLAY COLORS"`
Share:
82,669
Parto
Author by

Parto

Far better it is to dare mighty things, to win glorious triumphs, even though checkered by failure, than to take rank with those poor spirits who neither enjoy much nor suffer much, because they live in the gray twilight that knows neither victory nor defeat. ― Theodore Roosevelt

Updated on September 18, 2022

Comments

  • Parto
    Parto over 1 year

    When I run sudo gedit /path/to/some/random/file I get the following error

    ** (gedit:6262): WARNING **: Command line `dbus-launch --autolaunch=7f8731869e1c690b8205727e0000000a --binary-syntax --close-stderr' exited with non-zero exit status 1: Autolaunch error: X11 initialization failed.
    Cannot open display: 
    Run 'gedit --help' to see a full list of available command line options.  
    

    Using gksudo doesn't help either which returns

    Cannot open display: 
    Run 'gedit --help' to see a full list of available command line options.  
    

    Any help guys. I need to have this capability to open files in Gedit as root.
    I found this question with the same error but no solution Unable to launch gedit with sudo


    EDIT
    I found this post in Ubuntu Forums.
    These are the instructions:

    1. echo $DISPLAY # you'll be needing this value 3 lines below
    2. sudo -i # or "su -" on older Slackwares
    3. xauth merge ~alien/.Xauthority # use your own username here instead of "alien"
    4. export DISPLAY=:0.0 # use the value of DISPLAY you've seen 3 lines before

    On coming to command #3, I got this error
    xauth: file /root/.Xauthority does not exist

    Maybe this new info can shed more light.

  • AzkerM
    AzkerM over 10 years
    +1 for the nano editor. One of the best editor which anyone could find easier to operate.
  • Parto
    Parto over 10 years
    @Karel I finally used nano to make the changes but I need my root Gedit back.
  • Parto
    Parto over 10 years
    Getting the same error.
  • azerafati
    azerafati over 6 years
    This is a good advice, but this is not the answer. Linux guys love terminal, but a GUI is awesome for complex tasks and has better UX.
  • karel
    karel over 6 years
    You can customize the default editor of the sudoedit command (which is by default nano): How can I change the default editor of the sudoedit command to be vim? but starting GUI editors as root might cause problems in Ubuntu 17.10 and later with wayland.
  • muru
    muru over 6 years
    Why add HOME to env_keep?
  • muru
    muru over 6 years
    Why add HOME to env_keep?
  • Gunnar Hjalmarsson
    Gunnar Hjalmarsson over 6 years
    gedit works fine in Wayland. Please see the answer I just posted.
  • Elder Geek
    Elder Geek over 4 years
    Works under 18.04 as well...
  • Daniel
    Daniel about 2 years
    Also works under Fedora 35