TRAMP depends on a number of programs on the remote host in order to
In addition to these required tools, there are various tools that may be required based on the connection method. See Inline methods and External methods for details on these.
Certain other tools, such as
grep will be used if they can be found. When they are
available, they are used to improve the performance and accuracy of
remote file access.
When TRAMP connects to the remote host, it searches for the
programs that it can use. The variable
controls the directories searched on the remote host.
By default, this is set to a reasonable set of defaults for most
hosts. The symbol
tramp-default-remote-path is a place
holder, it is replaced by the list of directories received via the
getconf PATH on your remote host. For example,
on Debian GNU/Linux this is /bin:/usr/bin, whereas on Solaris
this is /usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin.
It is recommended to apply this symbol on top of
It is possible, however, that your local (or remote ;) system administrator has put the tools you want in some obscure local directory.
In this case, you can still use them with TRAMP. You simply need to add code to your .emacs to add the directory to the remote path. This will then be searched by TRAMP when you connect and the software found.
To add a directory to the remote search path, you could use code such as:
;; We load TRAMP to define the variable. (require 'tramp) ;; We have
perlin "/usr/local/perl/bin" (add-to-list 'tramp-remote-path "/usr/local/perl/bin")
Another possibility is to reuse the path settings of your remote
account when you log in. Usually, these settings are overwritten,
because they might not be useful for TRAMP. The place holder
tramp-own-remote-path preserves these settings. You can
activate it via
(add-to-list 'tramp-remote-path 'tramp-own-remote-path)
TRAMP caches several information, like the Perl binary location. The changed remote search path wouldn’t affect these settings. In order to force TRAMP to recompute these values, you must exit Emacs, remove your persistency file (see Connection caching), and restart Emacs.