Documentation/Maemo PC Connectivity Tutorial/Introduction

= Introduction =

The Maemo PC Connectivity project aims to make easier communication between a Maemo device and a host PC. For this, it provides a set of tools to simplify tasks like connection establishment, connection sharing, remote access, file sharing and transfer.

Maemo PC Connectivity fully supports the Maemo Fremantle platform and devices (such as N900) and the Maemo Diablo platform and devices (such as N800 and N810).

Maemo PC Connectivity target users are Maemo developers as they must use it to set up their Maemo development environment. The Maemo development environment consists of a Maemo device and host PC running Scratchbox and Maemo SDK (and possibly Eclipse IDE) integrated together with services provided by Maemo PC Connectivity. Maemo PC Connectivity is targeted also for those non-developers who are able to use provided tools and services from command line interfaces, as all services available do not yet have a simple enough Graphical User Interface for end users.

Maemo PC Connectivity supports USB Networking, Bluetooth and WLAN connectitivy types between a Maemo device and a remote machine. USB Networking is recommended as, performance wise, it provides the best connectivity for networking. All services that Maemo PC Connectivity provides can be used with all connectivity types assuming that the host PC accessing services has the required clients available.

Some basic services provided by Maemo PC Connectivity and Host PC Connectivity to integrate a Maemo device and host PC include:


 * Connection establishment
 * By using Maemo PC Connectivity configuration applets, it is possible to easily establish a connection over USB, Bluetooth or WLAN, and to configure services between a Maemo device and a host PC.


 * Connection sharing
 * By using Maemo PC Connectivity applets and services installed to the Maemo device, it is possible to easily share connection over USB, Bluetooth or WLAN both ways, that is from a Maemo device to a host PC or from a host PC to a Maemo device.


 * Secure Shell
 * SSH allows data to be exchanged using a secure channel between two networked devices.


 * Scratchbox Remote Shell
 * SBRSH is a remote command execution system similar to rsh and ssh. It is designed with slow devices and Scratchbox's special requirements in mind.


 * SSH File System
 * SSHFS is a file system client based on the SSHprotocol. It allows local mounting of a remote file system via SSH.


 * Network File System
 * NFS allows file system sharing over a network.


 * Samba
 * provides shared access to files, printers, serial ports, and miscellaneous communications between nodes on a network. Most usage of Samba involves host PCs running Microsoft Windows.


 * Virtual Network Computing
 * VNC is a graphical desktop sharing system that allows a host PC to remotely control a Maemo device.


 * Rdesktop
 * is a client for remotely accessing Windows desktops from a Maemo device.


 * X Tunneling over SSH
 * allows the forwarding of X11 desktop from a Maemo device to a host PC.


 * SSH File Transfer Protocol
 * SFTP is a network protocol that provides a secure file transfer over a network using SSH.


 * Secure Copy
 * SCP is another way to transfer files between a local and a remote host using SSH.


 * Rsync
 * is a utility that provides fast incremental file transfer, that is, it transfers only the bytes inside files that have been changed since the previous transfer.