Actually....
Thats the way I have always had to do it....Why it happens that I can only guess at a security feature (I am taking a guess that it maybe to do with the video group 0660 and maybe not letting anyone outside of it attaching to the X process). I have little idea what has changed in your case...Did you run any updates? Its a security mechanism, do this in a in your terminal screen man xhost.
Try my suggestion as I get the same as you do when I do not do the xhost command.
<snip>
Do you log in a user on the system? If so, are you running a program via root through a terminal in your X sessions? If you are trying to run a program via root then you need to do this as the user who started the X sessions:
xhost +localhost
Then you can go in as root and eun your program.
This also happened to me. One of the IT support folk at work showed me how to get round it using basically the same fix as suggested. The only difference was in a konsole that was _not root_ I had to type: prompt> export DISPLAY=<IP address of machine or machine name>:0 prompt> xhost +localhost for this to work. Hope this helps, but please ignore if of no use as I am complete novice. Mark