I would like to control raspberry pi from remote desktop. I tried to use Microsoft remote desktop from my android phone, and it works fine. however I want that I will be able to log on the same session that shown on the raspberry pi screen, that's mean I want to get the same screen on my phone and on the raspberry pi. Is there a way to do that? can any one help please!
The only solution I'm aware of that lets you connect to the same session that is on a local screen is X11VNC, "a VNC server for real X displays". What you'll need is X11VNC on the Pi and some form of VNC client on your remote device.
sudo apt-get update
sudo apt-get install x11vnc
Set a password (you can skip it but probably don't want to)
It'll prompt you for a password.
Next, ensure that you've already got a desktop running. Now we can start X11VNC.
A basic start, this will wait for a connection and then close itself when you disconnect. We also tell it to use password, go to background after starting (so you can still use the console) and to show display :0 (0 is a fairly safe assumption but it might be something different.)
x11vnc -usepw -bg -display :0
If you want it to stay active and listen for connection you can instead use this.
x11vnc -usepw -bg -forever -display :0
Now it's just a matter of connecting with a VNC client by specifying hostname/IP and the screen number, exactly how that's done depends on the client. I've got no recommendations for a VNC client on Android but I'm sure there are many to choose from.
To expand somewhat on Leonick's answer, there's a full tutorial here: http://log.liminastudio.com/writing/tutorials/remote-desktop-control-of-a-raspberry-pi