To fix this issue, first of all, check if you have any Desktop Environment (eg, Unity, Gnome, KDE, xfce, lxde etc) installed on your system. You may use: echo $DESKTOP_SESSION or you can verify from env.
In my case, I have installed LXDE on Ubuntu server. It is important now to find the exact executable path of lxde, which is
/usr/bin/startlxde in my case.
Replace the content of your
~/.vnc/xstartup and paste following lines:
xsetroot -solid grey
Note: Above code is only valid for lxde.