ican's answer is totally correct. However, I think your aiming for the wrong goal. I am not sure what freeswitch is so I am going to remove it, and use gedit.
First, Linux is way more "network oriented" then windows. This is true right down to the gui level. X windows, is a network protocol. You can run one of several X servers on windows and then use putty to connect to your Linux box and run gedit. The window would then appear on your windows box as if you where running it natively.
Another option that is very similar, but good if you want to support running gedit full time is Xvnc. You can start a vnc server (that you connect to from windows). This will give you a totally independent DISPLAY to run gedit on. Xvnc can start as a server, as a particular user, and auto execute some commands. This will help you get started in that direction, but will take a bit of research. I suspect the is the solution you want.
A third solution is XDMCP. This protocol allows you to login to an entire X session from a remote X server. Basically you would connect to the "login screen" from your windows box and go from there. This page is a good start for XDMCP
A forth solution is to launch X then run your script inside it. This would give you a "special" Desktop that you could use for just that application. This would not "break" your normal install or login, but would separate out your application. A quick example script would be...
#/bin/bash
sudo X :2 &
sleep 5 # wait for X to start up
export DISPLAY=:2 # set the X display
metacity --replace # start a window manager (this may not be installed)
gedit # run the actual program
Of note is that the forth example can be used in Xvnc or XDMCP sessions as well.