The problem is that when a shell tries to run a script, it generally forks a child process to do this. When you run your shell script, the script in fact runs in a child shell of your command shell. Your script is correct. By using "export DISPLAY=162.105.89.214:0.0", the DISPLAY env var should take effect in the child shell and all the child processes of the child shell. But after your script exits, you are back to your command shell which is the parent process of the child shell. So DISPLAY value set in your child shell will not be kept.
There is one way to solve your problem. You can use
. ./test
Adding a "." and a space means (1) enforcing the excutive right of the script. (2) running the script in current shell instead of creating a child shell.