Next: , Previous: Top, Up: Top

1 An overview of tramp

After the installation of tramp into your Emacs, you will be able to access files on remote hosts as though they were local. Access to the remote file system for editing files, version control, and dired are transparently enabled.

Your access to the remote host can be with the rsh, rlogin, telnet programs or with any similar connection method. This connection must pass ASCII successfully to be usable but need not be 8-bit clean.

The package provides support for ssh connections out of the box, one of the more common uses of the package. This allows relatively secure access to hosts, especially if ftp access is disabled.

Under Windows, tramp is integrated with the PuTTY package, using the plink program.

The majority of activity carried out by tramp requires only that the remote login is possible and is carried out at the terminal. In order to access remote files tramp needs to transfer their content to the local host temporarily.

tramp can transfer files between the hosts in a variety of ways. The details are easy to select, depending on your needs and the hosts in question.

The fastest transfer methods for large files rely on a remote file transfer package such as rcp, scp, rsync or (under Windows) pscp.

If the remote copy methods are not suitable for you, tramp also supports the use of encoded transfers directly through the shell. This requires that the mimencode or uuencode tools are available on the remote host. These methods are generally faster for small files.

tramp is still under active development and any problems you encounter, trivial or major, should be reported to the tramp developers. See Bug Reports.

Behind the scenes

This section tries to explain what goes on behind the scenes when you access a remote file through tramp.

Suppose you type C-x C-f and enter part of an tramp file name, then hit <TAB> for completion. Suppose further that this is the first time that tramp is invoked for the host in question. Here's what happens:

I hope this has provided you with a basic overview of what happens behind the scenes when you open a file with tramp.


Footnotes

[1] Invoking /bin/sh will fail if your login shell doesn't recognize ‘exec /bin/sh’ as a valid command. Maybe you use the Scheme shell scsh...