Can't open Gedit as root
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"`
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, 2022Comments
-
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 returnsCannot 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:- echo $DISPLAY # you'll be needing this value 3 lines below
- sudo -i # or "su -" on older Slackwares
- xauth merge ~alien/.Xauthority # use your own username here instead of "alien"
- 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.
-
Admin over 10 yearsHave you tried
gksudo gedit /path/to/the/file/name
instead? -
Admin over 10 years@AzkerMohamed Yah, as my question says, using
gksudo
orgksu
returns the same error. -
Admin over 10 yearsSeems same case as this askubuntu.com/questions/175611/…
-
Admin over 5 yearsI've made a script for this purpose: gist.github.com/wachambo/bd22e12db2d5a46dc109bd0d553733be
-
AzkerM over 10 years+1 for the
nano
editor. One of the best editor which anyone could find easier to operate. -
Parto over 10 years@Karel I finally used nano to make the changes but I need my root Gedit back.
-
Parto over 10 yearsGetting the same error.
-
azerafati over 6 yearsThis 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 over 6 yearsYou 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 over 6 yearsWhy add HOME to env_keep?
-
muru over 6 yearsWhy add HOME to env_keep?
-
Gunnar Hjalmarsson over 6 years
gedit
works fine in Wayland. Please see the answer I just posted. -
Elder Geek over 4 yearsWorks under 18.04 as well...
-
Daniel about 2 yearsAlso works under Fedora 35