How to Fix “Xlib: No protocol specified”

Linux

While installing Oracle database I was getting this error. I searched various blogs and forums and
found out many solutions but lastly I got one solution which worked for me.

But well I will post all the possible ways which you can try (as per my knowledge) to overcome this issue.

Error:
Xlib: connection to “:0.0” refused by server
Xlib: No protocol specified
Specify the display protocol by logging into the user account you are getting the error

Solution 1:
$ export DISPLAY=localhost:0.0
$ xhost +
Solution 2:
Syntax:
$ export DISPLAY=(machine_name):0.0

For example:
$ export DISPLAY=10.10.20.42:0.0
$ xhost +
Solution 3 (which worked for me)
Login to the user account where you are getting the above error
$ xauth $DISPLAY
xauth: creating new authority file /home/oracle/.Xauthority
xauth: (argv):1: unknown command “:0.0”
The best way to check whether your Xlib display protocol is working or not is by using xclock command
$ xclock
After running this command you should see a small clock on your screen.

Solution 4
In case the above solution does not works
Login as root

xauth $DISPLAY

xauth: creating new authority file /home/root/.Xauthority

xauth list $DISPLAY

test.example.com/unix:0 MIT-MAGIC-COOKIE-1 f601e6a29ea688786765434c5c6325071
Now copy the above output and su to the user you are facing issue

su – oracle

$ xauth add test.example.com/unix:0 MIT-MAGIC-COOKIE-1 f601e6a29ea688786765434c5c6325071
xauth: creating new authority file /home/oracle/.Xauthority
Now test if your DISPLAY is working
$xclock
You should get a small clock output on the screen