There are several ways to access linux remotely.
- Access a console (no graphics) via ssh, with a client on AppStore or Cydia (is possible to use iSSH to get an X connection, I found it very slow and unreliable yet)
- Access a desktop via VNC (very slow)
- Access via an NX client (none available for the iPhone yet)
- Access via RDP
The best way would be an NX client, but there is none yet, so the easiest and fastest way to do it is via the Microsoft protocol RDP, what we need is:
1-An RDP server in linux: install xrdp (use this link to install in ubuntu).
2-An RDP client on the iPhone: I have tried many that work: Mocha RDP lite, Mocha RDP, iRdesktop, WinAdmin, and one that does not work: Jaadu RDP, it’s a shame because I can tell that is the best RDP client for iPhone (it works for windows servers, but I have not been able to make it connect to linux xrdp)
3-If you want to access over the internet behind a firewall, you would need to open a port 3389 in your router’s firewall and get the current valid IP address. You can even get a free service from dyndns or no-ip in order to get a subdomain that will always point to your machine, no matter where it is.
xrdp is an open source remote desktop protocol(rdp) server, so it’s able to serve a desktop to any Microsoft terminal server client. (that includes any recent Windows, Linux via rdesktop, or many portable devices with RDP clients.
But, the default installation of xrdp in ubuntu has some glitches that need to be solved. So this is what’s needed:
I’ll be using ubuntu 9.04 (jaunty jackalpe)
1-Since xrdp requires a vnc server, one is automatically installed with xrdp, BUT the only working one is tightvnc (if you have already installed vnc4server, remove it) so you MUST install tightvnc first, either using synaptic or the following command:
sudo apt-get install tightvncserver
2-Now Install the xrdp server via synaptic or with
sudo apt-get install xrdp
Now in order to get the proper keyboard map and theme in GNOME, you need to make a modification:
3-Open gconf-editor either by typing that in a console, or in the Alt+F2 window.
4-Inside gconf-editor, navigate to /apps/gnome_settings_daemon/plugins/keyboard and set “active” to false.
That’s it. your Remote Desktop sever should be up and running.
There are several ways to achieve this, but I’m focusing on this specific way because is really fast, easy and secure.
This method has two flavors:
- Via safari for free
- Via a paid app (much faster and easier, but involves $).
This is what you need to do:
1-Open a free account at http://www.logmein.com
2-Download and install the LogMeIn Free program to your windows pc. There are serveral versions make sure to try the free version first
At this point you are now able to acces your PC via another PC web browser by logging into https://secure.logmein.com/
3-Once in the website go to the Remote Control and change the default mode from ACTIVEX to HTML:
Now you can access it even from your iphone’s safari.
If you like what you see you have the option to get the paid app, wich provides a better inerface to control the mouse in the touchscreen as well as a much fast rendering:
4-Go to AppStore and get the LogMeIn Ignition application in your iPhone.
5-Start your new app in the iphone, and provide the email and password used in step 1.
6-You will see a list (maybe just one item in the list) containing the name of the PC where you installed on step 2. Click on it.
7-I till prompt for the PC password also provided on step 2.
8-And then you are ready, ytou have your full Windows Desktop inside your iphone.