I gave up on trying to get direct access as a different
user to the display, sometimes it would work, sometimes
it wouldn't work, and I could never track down why.
I always use ssh with X forwarding now to run apps
as a different user. Something like this:
ssh -l auser -X localhost firefox &
might work.