57

All of the sudden gksu stopped working for me:

~$ gksu gparted

(gpartedbin:24252): Gtk-WARNING **: cannot open display: :0

The same happens with gparted-pkexec:

~$ gparted-pkexec 
No protocol specified

(gpartedbin:25454): Gtk-WARNING **: cannot open display: :0

What could possibly be causing this?

I am not running this through SSH or VNC. This is localhost in a normal terminal window.

Mark Paskal
  • 2,890
d_inevitable
  • 1,922

6 Answers6

89

If running Ubuntu 17.10 or newer, this issue can arise when an application has not been updated with full support for Wayland. As a workaround until the application is updated, you can run

xhost +SI:localuser:root

which will allow the root user to display applications on your desktop. Also see this Q&A for other possible workarounds: Why don't gksu/gksudo or launching a graphical application with sudo work with Wayland?

source

pomsky
  • 70,557
Cutton Eye
  • 1,256
13

Try running xhost +localhost in your terminal, and then running the command again. This lets all users on your system (i.e. root) open windows on your screen. Make sure to use +localhost and not simply +, as it's more secure to allow connections from only localhost than from anywhere.

To make this permanent, edit the ~/.xinitrc file like this:

Run gedit ~/.xinitrc

Edit the file to look like this (it should be empty at the start):

#! /bin/bash
xhost +localhost &

Now save the file, log out and log in. Now everything should run just fine with sudo.

I can't reproduce your problem on 14.04, but this has worked for me in the past when sudo / gksu threw this error.

Sources:

  1. http://www.nikhef.nl/~mjg/xhost_plus.html
  2. https://forums.opensuse.org/showthread.php/405624-sudo-doesnt-open-X-programs
  3. https://wiki.ubuntu.com/CustomXSession
wjandrea
  • 14,504
Mark Paskal
  • 2,890
8

Execute the following in your terminal:

nano /home/user/.bashrc # user = name of your user

Add the following line at the end.

export XAUTHORITY=$HOME/.Xauthority
2

xhost + fixed my problem

but Be aware that xhost + completely deactivates authentication and allows everyone to access all application on your screen...

xhost +si:localuser:root seems to work similar with proper authentication

Bercove
  • 451
0

I solve it by simply running in the terminal ,

sudo gparted

Looks like GTK+ root password dialog confused with x server settings

Salem F
  • 133
0

Just to add to possible issues that results in "Gtk-WARNING **: cannot open display: :0".

I got it after deleting /tmp/.X11-unix/X0. Solution I know of as of now: restart, creating socket by python -c "import socket as s; sock = s.socket(s.AF_UNIX); sock.bind('/tmp/.X11-unix/X0')" from https://serverfault.com/questions/358866/create-unix-named-socket-from-the-command-line did not help to resolve the error.