X "Can't open display: :0" while DISPLAY variable is correct

  • I'm not able to start any GUI applications as a root user:

    # pgrep -lf Xorg
    1590 /usr/bin/Xorg -br -nolisten tcp :0 vt7 -auth /var/lib/xdm/authdir/authfiles/A:0-PNnJzp
    # echo $DISPLAY
    # xeyes
    No protocol specified
    Error: Can't open display: :0
    # firefox
    No protocol specified
    No protocol specified
    Error: cannot open display: :0
    # xcalc
    No protocol specified
    Error: Can't open display: :0

    Distribution is openSUSE 11.2( and X.Org X Server version is 1.6.5. My DISPLAY variable is set correctly, isn't it? Any ideas what might cause this problem?

    This isn't really an SF question, and will probably get transferred soon, but you might want to look into the `xauth` command and see what you can learn about how the X server makes decisions about who should be allowed to perform operations through it.

  • Dave C

    Dave C Correct answer

    8 years ago

    :0 should work as should :0.0 (normal default) as also localhost:0 etc. Permissions are most likely problem.

    Try disabling xhost with: xhost +

    (This is unlikely to work but easier to do than the following which is required if it didn't).

    So if that fails it's probably xauth.

    Follow the first answer on here:

    How to use xauth to run graphical application via other user on linux | Server Fault

    To add the xauth key from your user logged into X to the root user.

License under CC-BY-SA with attribution

Content dated before 6/26/2020 9:53 AM