38

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.

  • You do not work in a graphical user interface or trying to run a program on a system (eg. via ssh) that no graphical interface provides. – A.B. Apr 26 '15 at 16:50
  • 1
    @A.B. I should clarify that this is not via ssh. It's on local host in a very normal terminal window. Infact opening gparted from the application menu has the same result. – d_inevitable Apr 26 '15 at 16:53
  • You shouldn't have to use gksu to run GParted. gparted uses polkit to get elevated privileges. – muru Apr 26 '15 at 16:59
  • @muru when I run gparted without gksu I get Root privileges are required for running gparted. – d_inevitable Apr 26 '15 at 17:17
  • Ok, try gparted-pkexec (without gksu) or gksu gpartedbin. – muru Apr 26 '15 at 17:39
62

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

  • @MDMower Thx for editing, learned something new =)! – Cutton Eye Dec 15 '17 at 7:46
  • @pomsky Thx for adding the link ;)! – Cutton Eye Feb 26 '18 at 10:49
  • In 18.04 X-Org will be used again as default. So this problem should vanis then. see – Cutton Eye Mar 7 '18 at 13:25
11

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
  • 1
    This does work indeed. So does that mean its an access control restriction? Any ideas what the cause of this could be? – d_inevitable Apr 27 '15 at 22:21
  • Yes, it's a security feature of X. It allows only connections from your user to the xserver until told otherwise, I think. I'm not super sure why it's required for some apps and not others, and I don't have a clue why it would be doing it for gparted of all things. Perhaps you were tinkering and tightened security somewhere? – Mark Paskal May 4 '15 at 0:16
  • 2
    This yields an error: xhost: unable to open display "" – IgorGanapolsky Jan 30 '17 at 18:33
  • 5
    On redis, it was suggested to use xhost +local:. After that I was able to launch gparted from the terminal, but using xhost +localhost didn't work. – rmin Sep 6 '17 at 1:40
  • 1
    Indeed! xhost +local: fixed mine! It yields non-network local connections being added to access control list which is what is needed. – lobner Nov 10 '17 at 8:16
5

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
  • 1
    Would be useful if you could add some explanation of how this solves the problem, and whether it has any adverse side effects? – Geoff Jan 1 at 23:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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