Seems every machine works for only one putty-vncviewer.
The problem is putty in the second user environment always won’t do the forwarding even everytime new forwarding like L5802 192.168.0.2:5802 was added but forgotten afterwards, which causes the following vncviewer fail to conncet.
Here is a very detailed article really solving my this problem:
http://nodivisions.com/tech/vnc/
Put it simply: in linux: ssh -l <ssh-username> -L 5902:localhost:5902 <windows server IP or hostname> (Enter)
For me I also need add option -p 222 because the forwarding port I set for my route is 222 not 22.
Then: vncviewer localhost:5902 &