xsession for non-root user

I am attempting to run Xsession as a non root user and it fails. If I start exceed log into the server as roots via putty ssh with X11 forwarding on I can startX run xclock, but when I su - user and export DISPLAY=client IP:0 then attempt to startx, xclock it hangs for a minute and I receive the following error "Error: Can't open display: client IP:0. What do I need to do to allow any user to open an xsession.

I am confused. Which on which? Tell me now far you get on this sort of procedure:

In my life, for a virgin situation, I start the X server on the PC and then ssh over there and export $DISPLAY to point to me. Then I fire up an xterm. If you set $SHELL to your favorite, xterm -ls will use it. Then I do a window manager from that xterm and more xterm, xclipboard, etc.

I like a visual bell, big scroll buffer, nice icon and title labels, big windows 80x25 with big font, great for mentoring over my shoulder not to mention my fuzzy eyes.

$ cat bin/xth
#!/usr/bin/ksh
if [ "${1#[1-9])}" != "$1" ]
then
 zn=$1
 shift
else
 ps -fxu $USER | sed '
        s/.* xterm .* -n \([0-9]*\).*/\1/
        t
        d
        '|sort -nr|read zn
 zn=$(( $zn + 1 ))
fi
cd
export TERM=xterm
nohup xterm -T "${HOST}-$zn" -n $zn -geometry 80x25 -fn 12x24 -sb -sl 99999 -vb -bg white -fg black "$@" &
sleep 1
$ 

I also use ultravnc viewer and vnc Xvnc on each host, so no desktops, windows or keystrokes are lost if the PC must go away, and only one desktop if a server is rebooted. My $DISPLAY is always ':1.0' !