annotate man/tramp.texi @ 47035:58d2828adc19

(Fbyte_code): Fsub1 can GC, so protect it.
author Miles Bader <miles@gnu.org>
date Mon, 26 Aug 2002 07:37:19 +0000
parents 82d113655734
children b31c8ab7336a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1 \input texinfo @c -*-texinfo-*-
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
2 @c %**start of header
45864
112a1c9eb59b use correct @setfilename
David Kastrup <dak@gnu.org>
parents: 45861
diff changeset
3 @setfilename ../info/tramp
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
4 @settitle TRAMP User Manual
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
5 @setchapternewpage odd
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
6 @c %**end of header
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
7
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
8 @c This is *so* much nicer :)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
9 @footnotestyle end
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
10
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
11
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
12 @c Entries for @command{install-info} to use
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
13 @dircategory Emacs
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
14 @direntry
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
15 * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
16 Emacs remote file access via rsh and rcp.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
17 @end direntry
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
18
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
19 @c Macro to make formatting of the tramp program name consistent.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
20 @macro tramp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
21 @sc{tramp}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
22 @end macro
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
23
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
24 @c Copying permissions, et al
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
25 @copying
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
26 This file documents @tramp{}, a remote file editing package for Emacs and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
27 XEmacs.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
28
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
29 Copyright @copyright{} 1999, 2000, 2001, 2002 Free Software
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
30 Foundation, Inc.
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
31
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
32 @quotation
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
33 Permission is granted to copy, distribute and/or modify this document
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
34 under the terms of the GNU Free Documentation License, Version 1.1 or
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
35 any later version published by the Free Software Foundation; with no
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
36 Invariant Sections, with the Front-Cover texts being ``A GNU
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
37 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
38 license is included in the section entitled ``GNU Free Documentation
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
39 License'' in the Emacs manual.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
40
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
41 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
42 this GNU Manual, like GNU software. Copies published by the Free
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
43 Software Foundation raise funds for GNU development.''
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
44
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
45 This document is part of a collection distributed under the GNU Free
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
46 Documentation License. If you want to distribute this document
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
47 separately from the collection, you can do so by adding a copy of the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
48 license to the document, as described in section 6 of the license.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
49 @end quotation
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
50 @end copying
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
51
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
52
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
53 @tex
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
54
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
55 @titlepage
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
56 @title @tramp{} User Manual
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
57
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
58 @author by Daniel Pittman
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
59 @author based on documentation by Kai Gro@ss{}johann
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
60 @page
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
61
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
62 @end titlepage
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
63 @page
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
64
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
65 @end tex
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
66
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
67 @ifnottex
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
68 @node Top, Overview, (dir), (dir)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
69 @top @tramp{} User Manual
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
70
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
71 @tramp{} stands for `Transparent Remote (file) Access, Multiple
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
72 Protocol'. This package provides remote file editing, similar to
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
73 @cite{Ange-FTP} and @cite{EFS}.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
74
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
75 The difference is that Ange-FTP uses FTP to transfer files between the
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
76 local and the remote host, whereas @tramp{} uses a combination of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
77 @command{rsh} and @command{rcp} or other work-alike programs, such as
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
78 @command{ssh}/@command{scp}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
79
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
80 You can find the latest version of this document on the web at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
81 @uref{http://www.freesoftware.fsf.org/tramp/}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
82
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
83 @ifhtml
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
84 This manual is also available as a @uref{tramp_ja.html, Japanese
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
85 translation}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
86
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
87 The latest release of @tramp{} is available for
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
88 @uref{http://savannah.gnu.org/download/tramp/,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
89 download}, or you may see @ref{Obtaining @tramp{}} for more details,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
90 including the CVS server details.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
91
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
92 @tramp{} also has a @uref{https://savannah.gnu.org/projects/tramp/,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
93 Savannah Project Page}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
94 @end ifhtml
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
95
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
96 There is a mailing list for @tramp{}, available at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
97 @email{tramp-devel@@mail.freesoftware.fsf.org}, and archived at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
98 @uref{http://www.mail-archive.com/emacs-rcp@@ls6.cs.uni-dortmund.de/} as
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
99 well as the usual Savannah archives.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
100
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
101 @end ifnottex
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
102
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
103 @menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
104 * Overview:: What @tramp{} can and cannot do.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
105
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
106 For the end user:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
107 * Obtaining @tramp{}:: How to obtain @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
108 * History:: History of @tramp{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
109 * Installation:: Installing @tramp{} with your (X)Emacs.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
110 * Configuration:: Configuring @tramp{} for use.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
111 * Usage:: An overview of the operation of @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
112 * Bug Reports:: Reporting Bugs and Problems
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
113 * Frequently Asked Questions:: Questions and answers from the mailing list.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
114
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
115 For the developer:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
116 * Version Control:: The inner workings of remote version control.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
117 * Files directories and paths:: How file names, directories and paths are mangled and managed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
118 * Issues::
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
119
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
120 @detailmenu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
121 --- The Detailed Node Listing ---
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
122
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
123 Configuring @tramp{} for use
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
124
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
125 * Connection types:: Types of connections made to remote machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
126 * Inline methods:: Inline methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
127 * External transfer methods:: External transfer methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
128 * Multi-hop Methods:: Connecting to a remote host using multiple hops.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
129 * Default Method:: Selecting a default method.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
130 * Customizing Methods:: Using Non-Standard Methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
131 * Remote Programs:: How @tramp{} finds and uses programs on the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
132 * Remote shell setup::
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
133
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
134 Using @tramp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
135
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
136 * Filename Syntax:: @tramp{} filename conventions.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
137 * Multi-hop filename syntax:: Multi-hop filename conventions
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
138 * Dired:: Dired and filename completion.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
139
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
140 The inner workings of remote version control
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
141
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
142 * Version Controlled Files:: Determining if a file is under version control.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
143 * Remote Commands:: Executing the version control commands on the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
144 * Changed workfiles:: Detecting if the working file has changed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
145 * Checking out files:: Bringing the workfile out of the repository.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
146 * Miscellaneous Version Control:: Things related to Version Control that don't fit elsewhere
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
147
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
148 Things related to Version Control that don't fit elsewhere
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
149
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
150 * Remote File Ownership:: How VC determines who owns a workfile.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
151 * Back-end Versions:: How VC determines what release your RCS is.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
152
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
153 How file names, directories and paths are mangled and managed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
154
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
155 * Path deconstruction:: Breaking a path into its components.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
156
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
157 @end detailmenu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
158 @end menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
159
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
160
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
161 @node Overview
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
162 @chapter An overview of @tramp
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
163 @cindex overview
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
164
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
165 After the installation of @tramp{} into your Emacs, you will be able
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
166 to access files on remote machines as though they were local. Access
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
167 to the remote file system for editing files, version control, and
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
168 @command{dired} are transparently enabled.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
169
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
170 Your access to the remote machine can be with the @command{rsh},
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
171 @command{rlogin}, @command{telnet} programs or with any similar
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
172 connection method. This connection must pass ASCII successfully to be
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
173 usable but need not be 8-bit clean.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
174
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
175 The package provides support for @command{ssh} connections out of the
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
176 box, one of the more common uses of the package. This allows
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
177 relatively secure access to machines, especially if @command{ftp}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
178 access is disabled.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
179
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
180 The majority of activity carried out by @tramp{} requires only that
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
181 the remote login is possible and is carried out at the terminal. In
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
182 order to access remote files @tramp{} needs to transfer their content
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
183 to the local machine temporarily.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
184
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
185 @tramp{} can transfer files between the machines in a variety of ways.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
186 The details are easy to select, depending on your needs and the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
187 machines in question.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
188
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
189 The fastest transfer methods (for large files) rely on a remote file
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
190 transfer package such as @command{rcp}, @command{scp} or
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
191 @command{rsync}. The use of these methods is only possible if the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
192 file copy command does not ask for a password for the remote machine.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
193
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
194 If the remote copy methods are not suitable for you, @tramp{} also
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
195 supports the use of encoded transfers directly through the shell.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
196 This requires that the @command{mimencode} or @command{uuencode} tools
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
197 are available on the remote machine. These methods are generally
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
198 faster for small files.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
199
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
200 Within these limitations, @tramp{} is quite powerful. It is worth
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
201 noting that, as of the time of writing, it is far from a polished
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
202 end-user product. For a while yet you should expect to run into rough
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
203 edges and problems with the code now and then.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
204
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
205 It is finished enough that the developers use it for day to day work but
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
206 the installation and setup can be a little difficult to master, as can
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
207 the terminology.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
208
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
209 @tramp{} is still under active development and any problems you encounter,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
210 trivial or major, should be reported to the @tramp{} developers.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
211 @xref{Bug Reports}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
212
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
213
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
214 @subsubheading Behind the scenes
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
215 @cindex behind the scenes
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
216 @cindex details of operation
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
217 @cindex how it works
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
218
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
219 This section tries to explain what goes on behind the scenes when you
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
220 access a remote file through @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
221
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
222 Suppose you type @kbd{C-x C-f} and enter part of an @tramp{} file name,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
223 then hit @kbd{@key{TAB}} for completion. Suppose further that this is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
224 the first time that @tramp{} is invoked for the host in question. Here's
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
225 what happens:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
226
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
227 @itemize
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
228 @item
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
229 @tramp{} discovers that it needs a connection to the host. So it
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
230 invokes @samp{telnet @var{host}} or @samp{rsh @var{host} -l
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
231 @var{user}} or a similar tool to connect to the remote host.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
232 Communication with this process happens through an Emacs buffer, that
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
233 is, the output from the remote end goes into a buffer.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
234
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
235 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
236 The remote host may prompt for a login name (for @command{telnet}). The
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
237 login name is given in the file name, so @tramp{} sends the login name and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
238 a newline.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
239
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
240 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
241 The remote host may prompt for a password or pass phrase (for
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
242 @command{rsh} or for @command{telnet} after sending the login name).
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
243 @tramp{} displays the prompt in the minibuffer, asking you for the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
244 password or pass phrase.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
245
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
246 You enter the password or pass phrase. @tramp{} sends it to the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
247 host, followed by a newline.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
248
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
249 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
250 @tramp{} now waits for the shell prompt or for a message that the login
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
251 failed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
252
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
253 If @tramp{} sees neither of them after a certain period of time (a minute,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
254 say), then it issues an error message saying that it couldn't find the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
255 remote shell prompt and shows you what the remote host has sent.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
256
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
257 If @tramp{} sees a `login failed' message, it tells you so, aborts the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
258 login attempt and allows you to try again.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
259
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
260 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
261 Suppose that the login was successful and @tramp{} sees the shell prompt
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
262 from the remote host. Now @tramp{} invokes @command{/bin/sh} because
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
263 Bourne shells and C shells have different command
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
264 syntaxes.@footnote{Invoking @command{/bin/sh} will fail if your login
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
265 shell doesn't recognize @samp{exec /bin/sh} as a valid command.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
266 Maybe you use the Scheme shell @command{scsh}@dots{}}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
267
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
268 After the Bourne shell has come up, @tramp{} sends a few commands to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
269 ensure a good working environment. It turns off echoing, it sets the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
270 shell prompt, and a few other things.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
271
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
272 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
273 Now the remote shell is up and it good working order. Remember, what
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
274 was supposed to happen is that @tramp{} tries to find out what files exist
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
275 on the remote host so that it can do filename completion.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
276
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
277 So, @tramp{} basically issues @command{cd} and @command{ls} commands and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
278 also sometimes @command{echo} with globbing. Another command that is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
279 often used is @command{test} to find out whether a file is writable or a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
280 directory or the like. The output of each command is parsed for the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
281 necessary operation.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
282
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
283 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
284 Suppose you are finished with filename completion, have entered @kbd{C-x
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
285 C-f}, a full file name and hit @kbd{@key{RET}}. Now comes the time to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
286 transfer the file contents from the remote host to the local host so
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
287 that you can edit them.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
288
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
289 See above for an explanation of how @tramp{} transfers the file contents.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
290
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
291 For inline transfers, @tramp{} issues a command like @samp{mimencode -b
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
292 /path/to/remote/file}, waits until the output has accumulated in the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
293 buffer that's used for communication, then decodes that output to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
294 produce the file contents.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
295
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
296 For out-of-band transfers, @tramp{} issues a command like @samp{rcp
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
297 user@@host:/path/to/remote/file /tmp/tramp.4711} and then reads the local
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
298 temporary file @file{/tmp/tramp.4711} into a buffer and deletes the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
299 temporary file.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
300
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
301 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
302 You now edit the buffer contents, blithely unaware of what has happened
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
303 behind the scenes. (Unless you have read this section, that is.) When
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
304 you are finished, you type @kbd{C-x C-s} to save the buffer.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
305
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
306 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
307 Again, @tramp{} transfers the file contents to the remote host either
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
308 inline or out-of-band. This is the reverse of what happens when reading
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
309 the file.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
310
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
311 @end itemize
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
312
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
313 I hope this has provided you with a basic overview of what happens
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
314 behind the scenes when you open a file with @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
315
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
316
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
317 @c For the end user
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
318 @node Obtaining @tramp{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
319 @chapter Obtaining @tramp{}.
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
320 @cindex obtaining Tramp
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
321
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
322 @tramp{} is freely available on the Internet and the latest release may be
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
323 downloaded from
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
324 @uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/tramp.tar.gz}. This
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
325 release includes the full documentation and code for @tramp{}, suitable
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
326 for installation. But Emacs (21.4 or later) includes @tramp{}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
327 already, and there is a @tramp{} package for XEmacs, as well. So
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
328 maybe it is easier to just use those. But if you want the bleeding
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
329 edge, read on@dots{...}
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
330
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
331 For the especially brave, @tramp{} is available from CVS. The CVS version
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
332 is the latest version of the code and may contain incomplete features or
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
333 new issues. Use these versions at your own risk.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
334
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
335 Instructions for obtaining the latest development version of @tramp{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
336 from CVS can be found by going to the Savannah project page at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
337 @uref{http://savannah.gnu.org/projects/tramp/} and then clicking on the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
338 CVS link in the navigation bar at the top. Or follow the example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
339 session below:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
340
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
341 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
342 ] @strong{cd ~/lisp}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
343 ] @strong{cvs -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/tramp login}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
344
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
345 (Logging in to anoncvs@@subversions.gnu.org)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
346 CVS password: @strong{(just hit RET here)}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
347 @dots{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
348
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
349 ] @strong{cvs -z3 -d:pserver:anoncvs@@subversions.gnu.org:/cvsroot/tramp co tramp}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
350 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
351
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
352 You should now have a directory @file{~/lisp/tramp} containing the latest
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
353 version of @tramp{}. You can fetch the latest updates from the repository
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
354 by issuing the command:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
355
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
356 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
357 ] @strong{cd ~/lisp/tramp}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
358 ] @strong{cvs update -d}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
359 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
360
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
361
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
362 @node History
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
363 @chapter History of @tramp{}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
364 @cindex history
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
365 @cindex development history
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
366
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
367 Development was started end of November 1998. The package was called
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
368 @file{rssh.el}, back then. It only provided one method to access a
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
369 file, using @command{ssh} to log in to a remote host and using
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
370 @command{scp} to transfer the file contents. After a while, the name
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
371 was changed to @file{rcp.el}, and now it's @tramp{}. Along the way,
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
372 many more methods for getting a remote shell and for transferring the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
373 file contents were added. Support for VC was added.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
374
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
375 The most recent addition of major features were the multi-hop methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
376 added in April 2000 and the unification of @tramp{} and Ange-FTP
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
377 filenames in July 2002.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
378
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
379
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
380 @node Installation
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
381 @chapter Installing @tramp{} into Emacs or XEmacs
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
382 @cindex installation
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
383
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
384 If you use the version that comes with your Emacs or the XEmacs
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
385 package, the following information is not necessary. Installing
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
386 @tramp{} into your Emacs or XEmacs is a relatively easy process, at
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
387 least compared to rebuilding your machine from scratch. ;)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
388
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
389 Seriously though, the installation should be a fairly simple matter.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
390
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
391 The easiest way to proceed is as follows:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
392
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
393 @itemize
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
394 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
395 Choose a directory, say @file{~/emacs/}. Change into that directory and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
396 unpack the tarball. This will give you a directory
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
397 @file{~/emacs/tramp/} which contains subdirectories @file{lisp} for the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
398 Lisp code and @file{texi} for the documentation.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
399
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
400 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
401 Optionally byte-compile all files in the Lisp directory,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
402 @file{~/emacs/tramp/lisp/}, by issuing a command like the following from
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
403 the top level directory @file{~/emacs/tramp/}:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
404 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
405 make EMACS=emacs all # for Emacs users
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
406 make EMACS=xemacs all # for XEmacs users
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
407 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
408
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
409 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
410 NOTE:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
411 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
412 If you run into problems running the example @command{make}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
413 commands, don't dispare. You can still byte compile the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
414 @file{*.el} files by opening emacs in @command{dired}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
415 (@command{C-x d}) mode, at @file{~/tramp/lisp}. Mark the lisp
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
416 files with @kbd{m}, then press @kbd{B} to byte compile
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
417 your selections.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
418
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
419 Something similar can be done to create the info manual.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
420 Just cd to @file{~/emacs/tramp/texi} and load the @file{tramp.texi}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
421 file in emacs. Then press @kbd{M-x makeinfo-buffer <RET>}
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
422 to generate @file{tramp.info}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
423 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
424
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
425 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
426 Tell Emacs about the new Lisp directory and the @tramp{} package
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
427 with the following lines in @file{~/.emacs}:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
428 @lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
429 (add-to-list 'load-path "~/emacs/tramp/lisp/")
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
430 (require 'tramp)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
431 @end lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
432
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
433 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
434 To be able to read the Info documentation, create a file
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
435 @file{~/emacs/tramp/texi/dir} using for example the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
436 @command{install-info} command, and add the directory to the search
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
437 path for Info.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
438
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
439 @item
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
440 NOTE:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
441 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
442 On systems using `gnu' @command{install-info}, the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
443 @command{install-info} syntax is very direct and simple. One can
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
444 cd to @file{~/emacs/tramp/texi} and type:
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
445 @kbd{install-info tramp.info dir}
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
446 and a @file{dir} file will be created with the @tramp{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
447 entry. The info reader will know how to interpret it, but must
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
448 be told where to find it (see below). If you want anything fancier
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
449 you'll need to look through @kbd{man install-info}.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
450
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
451 Debian gnu/linux doesn't default to `gnu' @command{install-info} and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
452 uses its own version. This version does not create a @file{dir} file
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
453 for you from scratch. You must provide a skeleton dir file it
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
454 recognizes. One can be found in a default install at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
455 @file{/usr/info/dir}. Copy the top of this file down to the first
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
456 occurrence of `* Menu' including that line plus one more blank line,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
457 to your working directory @file{texi/dir}, or use the sample provided
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46584
diff changeset
458 in the @file{texi} directory of this distribution. See
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
459 @file{texi/dir_sample}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
460
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
461 Once a @file{dir} file is in place, this command will make the entry.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
462 install-info --infodir=. tramp.info
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
463 If you want it in a specific category
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
464 (see @kbd{man install-info} for further details)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
465 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
466
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
467 If the environment variable @env{INFOPATH} is set, add the directory
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
468 @file{~/emacs/tramp/texi/} to it. Else, add the directory to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
469 @code{Info-default-directory-list}, as follows:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
470 @lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
471 (add-to-list 'Info-default-directory-list "~/emacs/tramp/texi/")
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
472 @end lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
473 XEmacs 21 users should use @code{Info-directory-list} rather than
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
474 @code{Info-default-directory-list}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
475
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
476 @end itemize
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
477
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
478
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
479 For XEmacs users, the package @file{fsf-compat} must be installed.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
480 For details on package installation, see @ref{Packages, , ,xemacs}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
481 @ifhtml
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
482 (If the previous link doesn't work, try the XEmacs documentation at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
483 @uref{http://www.xemacs.org/Documentation/packageGuide.html,the XEmacs
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
484 site}.)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
485 @end ifhtml
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
486
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
487 @node Configuration
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
488 @chapter Configuring @tramp{} for use
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
489 @cindex configuration
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
490
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
491 @cindex default configuration
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
492 @tramp{} is (normally) fully functional when it is initially
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
493 installed. It is initially configured to use the @command{sh} program
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
494 to connect to the remote host and to use base-64 encoding (on the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
495 remote host, via @command{mimencode}, and on the local host via the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
496 built-in support for base-64 encoding in Emacs).
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
497
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
498 On some hosts, there are problems with opening a connection. These are
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
499 related to the behavior of the remote shell. See @xref{Remote shell
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
500 setup}, for details on this.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
501
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
502 If you do not wish to use these commands to connect to the remote
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
503 host, you should change the default connection and transfer method
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
504 that @tramp uses. There are several different methods that @tramp{}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
505 can use to connect to remote machines and transfer files
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
506 (@pxref{Connection types}).
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
507
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
508
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
509 @menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
510 * Connection types:: Types of connections made to remote machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
511 * Inline methods:: Inline methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
512 * External transfer methods:: External transfer methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
513 * Multi-hop Methods:: Connecting to a remote host using multiple hops.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
514 * Default Method:: Selecting a default method.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
515 * Customizing Methods:: Using Non-Standard Methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
516 * Remote Programs:: How @tramp{} finds and uses programs on the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
517 * Remote shell setup:: Remote shell setup hints.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
518 * Windows setup hints:: Issues with Cygwin ssh.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
519 @end menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
520
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
521
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
522 @node Connection types
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
523 @section Types of connections made to remote machines.
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
524 @cindex connection types, overview
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
525
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
526 There are two basic types of transfer methods, each with its own
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
527 advantages and limitations. Both types of connection make use of a
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
528 remote shell access program such as @command{rsh}, @command{ssh} or
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
529 @command{telnet} to connect to the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
530
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
531 This connection is used to perform many of the operations that @tramp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
532 requires to make the remote file system transparently accessible from
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
533 the local machine. It is only when visiting files that the methods
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
534 differ.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
535
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
536 @cindex inline methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
537 @cindex external transfer methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
538 @cindex external methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
539 @cindex out-of-band methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
540 @cindex methods, inline
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
541 @cindex methods, external transfer
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
542 @cindex methods, out-of-band
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
543 Loading or saving a remote file requires that the content of the file
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46584
diff changeset
544 be transferred between the two machines. The content of the file can be
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46584
diff changeset
545 transferred over the same connection used to log in to the remote
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46584
diff changeset
546 machine or the file can be transferred through another connection using
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
547 a remote copy program such as @command{rcp}, @command{scp} or
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
548 @command{rsync}. The former are called @dfn{inline methods}, the
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
549 latter are called @dfn{out-of-band methods} or @dfn{external transfer
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
550 methods} (@dfn{external methods} for short).
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
551
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
552 The performance of the external transfer methods is generally better
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
553 than that of the inline methods, at least for large files. This is
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
554 caused by the need to encode and decode the data when transferring
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
555 inline.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
556
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
557 The one exception to this rule are the @command{scp} based transfer
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
558 methods. While these methods do see better performance when actually
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
559 transferring files, the overhead of the cryptographic negotiation at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
560 startup may drown out the improvement in file transfer times.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
561
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
562 External transfer methods do require that the remote copy command is not
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
563 interactive --- that is, the command does not prompt you for a password.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
564 If you cannot perform remote copies without a password, you will need to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
565 use an inline transfer method to work with @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
566
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
567 @cindex multi-hop methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
568 @cindex methods, multi-hop
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
569 A variant of the inline methods are the @dfn{multi-hop methods}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
570 These methods allow you to connect a remote host using a number `hops',
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
571 each of which connects to a different host. This is useful if you are
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
572 in a secured network where you need to go through a bastion host to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
573 connect to the outside world.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
574
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
575
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
576 @node Inline methods
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
577 @section Inline methods
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
578 @cindex inline methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
579 @cindex methods, inline
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
580
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
581 The inline methods in @tramp{} are quite powerful and can work in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
582 situations where you cannot use an external transfer program to connect.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
583 Inline methods are the only methods that work when connecting to the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
584 remote machine via telnet. (There are also strange inline methods which
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
585 allow you to transfer files between @emph{user identities} rather than
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
586 hosts, see below.)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
587
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
588 These methods depend on the existence of a suitable encoding and
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
589 decoding command on remote machine. Locally, @tramp{} may be able to use
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
590 features of Emacs to decode and encode the files or it may require
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
591 access to external commands to perform that task.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
592
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
593 @cindex uuencode
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
594 @tramp{} supports the use of @command{uuencode} to transfer files.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
595 This is @emph{not} recommended. The @command{uuencode} and
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
596 @command{uudecode} commands are not well standardized and may not
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
597 function correctly or at all on some machines, notably AIX and IRIX.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
598 These systems do not work with @command{uuencode} at all. (But do see
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
599 the note about AIX in the documentation for @var{tramp-methods}.)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
600
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
601 @cindex mimencode
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
602 @cindex base-64 encoding
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
603 In summary, if possible use the @command{mimencode} methods to transfer
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
604 the data base64 encoded. This has the advantage of using a built-in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
605 command in every modern Emacs, improving performance.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
606
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
607 @table @asis
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
608 @item @option{rm} --- @command{rsh} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
609 @cindex method rm
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
610 @cindex rm method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
611 @cindex method using rsh (rm)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
612
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
613 Connect to the remote host with @command{rsh} and use base64 encoding to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
614 transfer files between the machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
615
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
616 This requires the @command{mimencode} command that is part of the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
617 @command{metamail} packages. This may not be installed on all remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
618 machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
619
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
620
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
621 @item @option{sm} --- @command{ssh} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
622 @cindex method sm
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
623 @cindex sm method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
624 @cindex method using ssh (sm)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
625 @cindex ssh (with sm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
626 @cindex mimencode (with sm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
627 @cindex base-64 encoding (with sm method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
628
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
629 Connect to the remote host with @command{ssh} and use base64 encoding to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
630 transfer files between the machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
631
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
632 This is identical to the previous option except that the @command{ssh}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
633 package is used, making the connection more secure.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
634
46584
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
635 There are also two variants, @option{sm1} and @option{sm2}, that call
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
636 @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
637 explicitly select whether you want to use the SSH protocol version 1
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
638 or 2 to connect to the remote host. (You can also specify in
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
639 @file{~/.ssh/config}, the SSH configuration file, which protocol
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
640 should be used, and use the regular @option{sm} method.)
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
641
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
642 There are also two variants, @option{sm-ssh1} and @option{sm-ssh2}
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
643 that use the @command{ssh1} and @command{ssh2} commands explicitly. If
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
644 you don't know what these are, you do not need these options.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
645
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46584
diff changeset
646 All the methods based on @command{ssh} have an additional kludgey
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
647 feature: you can specify a host name which looks like @file{host#42}
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
648 (the real host name, then a hash sign, then a port number). This
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
649 means to connect to the given host but to also pass @code{-p 42} as
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
650 arguments to the @command{ssh} command.
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
651
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
652
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
653 @item @option{tm} --- @command{telnet} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
654 @cindex method tm
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
655 @cindex tm method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
656 @cindex method using telnet (tm)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
657 @cindex telnet (with tm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
658 @cindex mimencode (with tm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
659 @cindex base-64 encoding (with tm method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
660
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
661 Connect to the remote host with @command{telnet} and use base64 encoding
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
662 to transfer files between the machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
663
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
664 This requires the @command{mimencode} command that is part of the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
665 @command{metamail} packages.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
666
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
667
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
668 @item @option{ru} --- @command{rsh} with @command{uuencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
669 @cindex method ru
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
670 @cindex ru method
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
671 @cindex method using rsh
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
672 @cindex rsh (with ru method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
673 @cindex uuencode (with ru method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
674
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
675 Connect to the remote host with @command{rsh} and use the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
676 @command{uuencode} and @command{uudecode} commands to transfer files
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
677 between the machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
678
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
679
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
680 @item @option{su} --- @command{ssh} with @command{uuencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
681 @cindex method su
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
682 @cindex su method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
683 @cindex method using ssh (su)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
684 @cindex ssh (with su method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
685 @cindex uuencode (with su method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
686
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
687 Connect to the remote host with @command{ssh} and use the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
688 @command{uuencode} and @command{uudecode} commands to transfer files
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
689 between the machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
690
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
691 As with the @command{ssh} and base64 option (@option{sm}) above, this
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
692 provides the @option{su1} and @option{su2} methods to explicitly
46584
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
693 select an SSH protocol version, and the @option{su-ssh1} and
f548d7d0c651 Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46366
diff changeset
694 @option{su-ssh2} variants to call specific SSH binaries.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
695
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
696 Note that this method does not invoke the @command{su} program, see
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
697 below for methods which use that.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
698
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
699 This supports the @samp{-p} kludge.
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
700
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
701
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
702 @item @option{tu} --- @command{telnet} with @command{uuencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
703 @cindex tu method
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
704 @cindex method tu
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
705 @cindex method using telnet (tu)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
706 @cindex telnet (with tu method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
707 @cindex uuencode (with tu method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
708
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
709 Connect to the remote host with @command{telnet} and use the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
710 @command{uuencode} and @command{uudecode} commands to transfer files
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
711 between the machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
712
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
713
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
714 @item @option{sum} --- @command{su} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
715 @cindex method sum
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
716 @cindex sum method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
717 @cindex method using su (sum)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
718 @cindex su (with sum method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
719 @cindex mimencode (with sum method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
720 @cindex base-64 encoding (with sum method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
721
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
722 This method does not connect to a remote host at all, rather it uses the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
723 @command{su} program to allow you to edit files as another user. Uses
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
724 base64 encoding to transfer the file contents.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
725
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
726
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
727 @item @option{suu} --- @command{su} with @command{uuencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
728 @cindex method suu
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
729 @cindex suu method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
730 @cindex method using su (suu)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
731 @cindex su (with suu method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
732 @cindex uuencode (with suu method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
733
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
734 Like @option{sum}, this uses the @command{su} program to allow you to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
735 edit files on the local host as another user. Uses @command{uuencode}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
736 and @command{uudecode} to transfer the file contents.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
737
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
738
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
739 @item @option{sudm} --- @command{sudo} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
740 @cindex method sudm
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
741 @cindex sudm method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
742 @cindex method using sudo (sudm)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
743 @cindex sudo (with sudm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
744 @cindex mimencode (with sudm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
745 @cindex base-64 encoding (with sudm method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
746
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
747 This is similar to the @option{sum} method, but it uses @command{sudo}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
748 rather than @command{su} to become a different user.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
749
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
750 Note that @command{sudo} must be configured to allow you to start a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
751 shell as the user. It would be nice if it was sufficient if
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
752 @command{ls} and @command{mimencode} were allowed, but that is not easy
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
753 to implement, so I haven't got around to it, yet.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
754
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
755
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
756 @item @option{sudu} --- @command{sudo} with @command{uuencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
757 @cindex method sudu
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
758 @cindex sudu method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
759 @cindex method using sudo (sudu)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
760 @cindex sudo (with sudu method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
761 @cindex uuencode (with sudu method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
762
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
763 This is similar to the @option{suu} method, but it uses @command{sudo}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
764 rather than @command{su} to become a different user.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
765
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
766
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
767 @item @option{smx} --- @command{ssh} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
768 @cindex method smx
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
769 @cindex smx method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
770 @cindex method using ssh (smx)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
771 @cindex ssh (with smx method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
772 @cindex mimencode (with smx method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
773 @cindex base-64 encoding (with smx method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
774 @cindex Cygwin (with smx method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
775
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
776 As you expect, this is similar to @option{sm}, only a little
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
777 different. Whereas @option{sm} opens a normal interactive shell on
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
778 the remote host, this option uses @samp{ssh -t -t @var{host} -l
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
779 @var{user} /bin/sh} tp open a connection. This is useful for users
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
780 where the normal login shell is set up to ask them a number of
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
781 questions when logging in. This procedure avoids these questions, and
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
782 just gives @tramp{} a more-or-less `standard' login shell to work
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
783 with.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
784
46346
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
785 Note that this procedure does not eliminate questions asked by
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
786 @command{ssh} itself. For example, @command{ssh} might ask ``Are you
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
787 sure you want to continue connecting?'' if the host key of the remote
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
788 host is not known. Tramp does not know how to deal with such a
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
789 question (yet), therefore you will need to make sure that you can log
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
790 in without such questions.
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
791
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
792 This is also useful for Windows users where @command{ssh}, when
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
793 invoked from an Emacs buffer, tells them that it is not allocating a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
794 pseudo tty. When this happens, the login shell is wont to not print
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
795 any shell prompt, which confuses @tramp{} mightily. For reasons
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
796 unknown, some Windows ports for @command{ssh} (maybe the Cygwin one)
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
797 require the doubled @samp{-t} option.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
798
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
799 This supports the @samp{-p} kludge.
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
800
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
801
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
802 @item @option{km} --- @command{krlogin} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
803 @cindex method km
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
804 @cindex km method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
805 @cindex krlogin (with km method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
806 @cindex Kerberos (with km method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
807 @cindex mimencode (with km method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
808 @cindex base-64 encoding (with km method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
809
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
810 This method is also similar to @option{sm}. It only uses the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
811 @command{krlogin -x} command to log in to the remote host.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
812
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
813
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
814 @item @option{plinku} --- @command{plink} with @command{uuencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
815 @cindex method plinku
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
816 @cindex plinku method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
817 @cindex method using plink (plinku)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
818 @cindex plink (with plinku method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
819 @cindex uuencode (with plinku method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
820
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
821 This method is mostly interesting for Windows users using the PuTTY
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
822 implementation of SSH. It uses @samp{plink -ssh} to log in to the
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
823 remote host.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
824
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
825 CCC: Do we have to connect to the remote host once from the command
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
826 line to accept the SSH key? Maybe this can be made automatic?
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
827
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
828 CCC: Does @command{plink} support the @samp{-p} option? Tramp
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
829 will support that, anyway.
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
830
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
831 @item @option{plinkm} --- @command{plink} with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
832 @cindex method plinkm
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
833 @cindex plinkm method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
834 @cindex method using plink (plinkm)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
835 @cindex plink (with plinkm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
836 @cindex mimencode (with plinkm method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
837 @cindex base-64 encoding (with plinkm method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
838
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
839 Like @option{plinku}, but uses base64 encoding instead of uu encoding.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
840
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
841 @end table
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
842
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
843
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
844
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
845 @node External transfer methods
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
846 @section External transfer methods
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
847 @cindex methods, external transfer
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
848 @cindex methods, out-of-band
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
849 @cindex external transfer methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
850 @cindex out-of-band methods
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
851
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
852 The external transfer methods operate through multiple channels, using
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
853 the remote shell connection for many actions while delegating file
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
854 transfers to an external transfer utility.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
855
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
856 This saves the overhead of encoding and decoding that multiplexing the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
857 transfer through the one connection has with the inline methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
858
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
859 If you want to use an external transfer method you @emph{must} be able
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
860 to execute the transfer utility to copy files to and from the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
861 machine without any interaction.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
862
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
863 @cindex ssh-agent
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
864 This means that you will need to use @command{ssh-agent} if you use the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
865 @command{scp} program for transfers, or maybe your version of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
866 @command{scp} accepts a password on the command line.@footnote{PuTTY's
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
867 @command{pscp} allows you to specify the password on the command line.}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
868 If you use @command{rsync} via @command{ssh} then the same rule must
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
869 apply to that connection.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
870
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
871 If you cannot get @command{scp} to run without asking for a password but
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
872 would still like to use @command{ssh} to secure your connection, have a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
873 look at the @command{ssh} based inline methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
874
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
875
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
876 @table @asis
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
877 @item @option{rcp} --- @command{rsh} and @command{rcp}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
878 @cindex method rcp
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
879 @cindex rcp method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
880 @cindex rcp (with rcp method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
881 @cindex rsh (with rcp method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
882
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
883 This method uses the @command{rsh} and @command{rcp} commands to connect
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
884 to the remote machine and transfer files. This is probably the fastest
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
885 connection method available.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
886
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
887
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
888 @item @option{scp} --- @command{ssh} and @command{scp}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
889 @cindex method scp
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
890 @cindex scp method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
891 @cindex scp (with scp method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
892 @cindex ssh (with scp method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
893
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
894 Using @command{ssh} to connect to the remote host and @command{scp} to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
895 transfer files between the machines is the best method for securely
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
896 connecting to a remote machine and accessing files.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
897
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
898 The performance of this option is also quite good. It may be slower than
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
899 the inline methods when you often open and close small files however.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
900 The cost of the cryptographic handshake at the start of an @command{scp}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
901 session can begin to absorb the advantage that the lack of encoding and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
902 decoding presents.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
903
46918
82d113655734 Minor spelling and grammar corrections.
Paul Eggert <eggert@twinsun.com>
parents: 46584
diff changeset
904 All the @command{ssh} based methods support the kludgey @samp{-p}
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
905 feature where you can specify a port number to connect to in the host
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
906 name. For example, the host name @file{host#42} tells Tramp to
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
907 specify @samp{-p 42} in the argument list for @command{ssh}.
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
908
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
909
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
910 @item @option{rsync} --- @command{ssh} and @command{rsync}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
911 @cindex method rsync
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
912 @cindex rsync method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
913 @cindex rsync (with rsync method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
914 @cindex ssh (with rsync method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
915
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
916 Using the @command{ssh} command to connect securely to the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
917 machine and the @command{rsync} command to transfer files is almost
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
918 identical to the @option{scp} method.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
919
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
920 While @command{rsync} performs much better than @command{scp} when
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
921 transferring files that exist on both hosts, this advantage is lost if
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
922 the file exists only on one side of the connection.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
923
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
924 The @command{rsync} based method may be considerably faster than the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
925 @command{rcp} based methods when writing to the remote system. Reading
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
926 files to the local machine is no faster than with a direct copy.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
927
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
928 This method supports the @samp{-p} hack.
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
929
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
930
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
931 @item @option{scpx} --- @command{ssh} and @command{scp}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
932 @cindex method scpx
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
933 @cindex scpx method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
934 @cindex scp (with scpx method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
935 @cindex ssh (with scpx method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
936 @cindex Cygwin (with scpx method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
937
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
938 As you expect, this is similar to @option{scp}, only a little
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
939 different. Whereas @option{scp} opens a normal interactive shell on
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
940 the remote host, this option uses @samp{ssh -t -t @var{host} -l
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
941 @var{user} /bin/sh} to open a connection. This is useful for users
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
942 where the normal login shell is set up to ask them a number of
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
943 questions when logging in. This procedure avoids these questions, and
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
944 just gives @tramp{} a more-or-less `standard' login shell to work
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
945 with.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
946
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
947 This is also useful for Windows users where @command{ssh}, when
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
948 invoked from an Emacs buffer, tells them that it is not allocating a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
949 pseudo tty. When this happens, the login shell is wont to not print
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
950 any shell prompt, which confuses @tramp{} mightily. Maybe this
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
951 applies to the Cygwin port of SSH.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
952
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
953 This method supports the @samp{-p} hack.
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
954
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
955
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
956 @item @option{pscp} --- @command{plink} and @command{pscp}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
957 @cindex method pscp
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
958 @cindex pscp method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
959 @cindex pscp (with pscp method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
960 @cindex plink (with pscp method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
961 @cindex PuTTY (with pscp method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
962
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
963 This method is similar to @option{scp}, but it uses the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
964 @command{plink} command to connect to the remote host, and it uses
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
965 @command{pscp} for transferring the files. These programs are part
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
966 of PuTTY, an SSH implementation for Windows.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
967
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
968 CCC: Does @command{plink} support the @samp{-p} hack?
46010
d07b0e5f80b9 (tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 45979
diff changeset
969
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
970
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
971 @item @option{fcp} --- @command{fsh} and @command{fcp}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
972 @cindex method fcp
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
973 @cindex fcp method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
974 @cindex fsh (with fcp method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
975 @cindex fcp (with fcp method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
976
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
977 This method is similar to @option{scp}, but it uses the @command{fsh}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
978 command to connect to the remote host, and it uses @command{fcp} for
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
979 transferring the files. @command{fsh/fcp} are a front-end for
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
980 @command{ssh} which allow for reusing the same @command{ssh} session
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
981 for submitting several commands. This avoids the startup overhead of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
982 @command{scp} (which has to establish a secure connection whenever it
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
983 is called). Note, however, that you can also use one of the inline
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
984 methods to achieve a similar effect.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
985
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
986 This method uses the command @samp{fsh @var{host} -l @var{user}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
987 /bin/sh -i} to establish the connection, it does not work to just say
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
988 @command{fsh @var{host} -l @var{user}}.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
989
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
990 @cindex method fsh
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
991 @cindex fsh method
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
992 There is no inline method using @command{fsh} as the multiplexing
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
993 provided by the program is not very useful in our context. @tramp{}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
994 opens just one connection to the remote host and then keeps it open,
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
995 anyway.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
996
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
997 @end table
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
998
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
999 @node Multi-hop Methods
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1000 @section Connecting to a remote host using multiple hops
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1001 @cindex multi-hop methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1002 @cindex methods, multi-hop
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1003
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1004 Sometimes, the methods described before are not sufficient. Sometimes,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1005 it is not possible to connect to a remote host using a simple command.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1006 For example, if you are in a secured network, you might have to log in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1007 to a `bastion host' first before you can connect to the outside world.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1008 Of course, the target host may also require a bastion host. The format
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1009 of multi-hop filenames is slightly different than the format of normal
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1010 @tramp{} methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1011
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1012 A multi-hop file name specifies a method, a number of hops, and a path
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1013 name on the remote system. The method specifies how the file is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1014 transferred through the inline connection. The following two multi-hop
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1015 methods are available:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1016
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1017 @table @asis
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1018 @item @option{multi} --- base64 encoding with @command{mimencode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1019 @cindex method multi
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1020 @cindex multi method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
1021 @cindex mimencode (with multi method)
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
1022 @cindex base-64 encoding (with multi method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1023
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1024 The file is transferred through the connection in base64 encoding. Uses
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1025 the @command{mimencode} program for doing encoding and decoding, but
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1026 uses an Emacs internal implementation on the local host if available.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1027
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1028 @item @option{multiu} --- use commands @command{uuencode} and @command{uudecode}
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1029 @cindex method multiu
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1030 @cindex multiu method
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
1031 @cindex uuencode (with multiu method)
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1032
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1033 The file is transferred through the connection in `uu' encoding. Uses
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1034 the @command{uuencode} and @command{uudecode} programs for encoding and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1035 decoding, but uses a Lisp implementation for decoding on the local host
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1036 if available.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1037
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1038 @end table
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1039
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1040 Each hop consists of a @dfn{hop method} specification, a user name and a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1041 host name. The following hop methods are (currently) available:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1042
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1043 @table @option
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1044 @item telnet
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1045 @cindex hop method telnet
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1046 @cindex telnet hop method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1047
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1048 Uses the well-known @command{telnet} program to connect to the host.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1049 Whereas user name and host name are supplied in the file name, the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1050 user is queried for the password.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1051
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1052 @item rsh
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1053 @cindex hop method rsh
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1054 @cindex rsh hop method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1055
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1056 This uses @command{rsh} to connect to the host. You do not need to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1057 enter a password unless @command{rsh} explicitly asks for it.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1058
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1059 @item ssh
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1060 @cindex hop method ssh
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1061 @cindex ssh hop method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1062
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1063 This uses @command{ssh} to connect to the host. You might have to enter
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1064 a password or a pass phrase.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1065
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1066 @item su
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1067 @cindex hop method su
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1068 @cindex su hop method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1069
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1070 This method does not actually contact a different host, but it allows
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1071 you to become a different user on the host you're currently on. This
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1072 might be useful if you want to edit files as root, but the remote host
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1073 does not allow remote root logins. In this case you can use
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1074 @option{telnet}, @option{rsh} or @option{ssh} to connect to the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1075 remote host as a non-root user, then use an @option{su} hop to become
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1076 root. But @option{su} need not be the last hop in a sequence, you could
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1077 also use it somewhere in the middle, if the need arises.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1078
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1079 Even though you @emph{must} specify both user and host with a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1080 @option{su} hop, the host name is ignored and only the user name is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1081 used.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1082
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1083 @item sudo
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1084 @cindex hop method sudo
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1085 @cindex sudo hop method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1086
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1087 This is similar to the @option{su} hop, except that it uses
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1088 @command{sudo} rather than @command{su} to become a different user.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1089
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1090 @end table
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1091
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1092 Some people might wish to use port forwarding with @command{ssh} or
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1093 maybe they have to use a nonstandard port. This can be accomplished
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1094 by putting a stanza in @file{~/.ssh/config} for the account which
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1095 specifies a different port number for a certain host name. But it can
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1096 also be accomplished within Tramp, by adding a multi-hop method. For
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1097 example:
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1098
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1099 @lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1100 (add-to-list 'tramp-multi-connection-function-alist
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1101 '("sshf" tramp-multi-connect-rlogin "ssh %h -l %u -p 4400%n"))
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1102 @end lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1103
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1104 Now you can use a @code{sshf} hop which connects to port 4400 instead of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1105 the standard port.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1106
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1107
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1108 @node Default Method
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1109 @section Selecting a default method
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1110 @cindex default method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1111
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1112 @vindex tramp-default-method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1113 When you select an appropriate transfer method for your typical usage
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1114 you should set the variable @var{tramp-default-method} to reflect that
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1115 choice. This variable controls which method will be used when a method
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1116 is not specified in the @tramp{} file path. For example:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1117
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1118 @lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1119 (setq tramp-default-method "scp")
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1120 @end lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1121
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1122 @vindex tramp-default-method-alist
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1123 You can also specify different methods for certain user/host
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1124 combinations, via the variable @var{tramp-default-method-alist}. For
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1125 example, the following two lines specify to use the @option{sm}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1126 method for all user names matching @samp{john} and the @option{rsync}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1127 method for all host names matching @samp{lily}. The third line
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1128 specifies to use the @option{sum} method for the user @samp{root} on
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1129 the machine @samp{localhost}.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1130
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1131 @lisp
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1132 (add-to-list 'tramp-default-method-alist '("" "john" "sm"))
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1133 (add-to-list 'tramp-default-method-alist '("lily" "" "rsync"))
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1134 (add-to-list 'tramp-default-method-alist
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1135 '("\\`root\\'" "\\`localhost\\'" "sum"))
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1136 @end lisp
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1137
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1138 @noindent
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1139 See the documentation for the variable
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1140 @var{tramp-default-method-alist} for more details.
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1141
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1142 External transfer methods are normally preferable to inline transfer
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1143 methods, giving better performance. They may not be useful if you use
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1144 many remote machines where you cannot log in without a password.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1145
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1146 @xref{Inline methods}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1147 @xref{External transfer methods}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1148 @xref{Multi-hop Methods}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1149
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1150 Another consideration with the selection of transfer methods is the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1151 environment you will use them in and, especially when used over the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1152 Internet, the security implications of your preferred method.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1153
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1154 The @command{rsh} and @command{telnet} methods send your password as
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1155 plain text as you log in to the remote machine, as well as transferring
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1156 the files in such a way that the content can easily be read from other
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1157 machines.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1158
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1159 If you need to connect to remote systems that are accessible from the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1160 Internet, you should give serious thought to using @command{ssh} based
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1161 methods to connect. These provide a much higher level of security,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1162 making it a non-trivial exercise for someone to obtain your password or
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1163 read the content of the files you are editing.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1164
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1165 @node Customizing Methods
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1166 @section Using Non-Standard Methods
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1167 @cindex customizing methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1168 @cindex using non-standard methods
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1169 @cindex create your own methods
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1170
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1171 There is a variable @code{tramp-methods} which you can change if the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1172 predefined methods don't seem right.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1173
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1174 For the time being, I'll refer you to the Lisp documentation of that
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1175 variable, accessible with @kbd{C-h v tramp-methods @key{RET}}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1176
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1177
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1178 @node Remote Programs
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1179 @section How @tramp{} finds and uses programs on the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1180
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1181 @tramp{} depends on a number of programs on the remote host in order to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1182 function, including @command{ls}, @command{test}, @command{find} and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1183 @command{cat}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1184
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1185 In addition to these required tools, there are various tools that may be
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1186 required based on the connection method. See @ref{Inline methods} and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1187 @ref{External transfer methods} for details on these.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1188
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1189 Certain other tools, such as @command{perl} (or @command{perl5}) and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1190 @command{grep} will be used if they can be found. When they are
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1191 available, they are used to improve the performance and accuracy of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1192 remote file access.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1193
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1194 @vindex tramp-remote-path
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1195 When @tramp{} connects to the remote machine, it searches for the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1196 programs that it can use. The variable @var{tramp-remote-path} controls
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1197 the directories searched on the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1198
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1199 By default, this is set to a reasonable set of defaults for most
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1200 machines. It is possible, however, that your local (or remote ;) system
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1201 administrator has put the tools you want in some obscure local
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1202 directory.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1203
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1204 In this case, you can still use them with @tramp{}. You simply need to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1205 add code to your @file{.emacs} to add the directory to the remote path.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1206 This will then be searched by @tramp{} when you connect and the software
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1207 found.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1208
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1209 To add a directory to the remote search path, you could use code such
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1210 as:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1211
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1212 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1213 (require 'tramp) @i{; @tramp{} must be loaded before this}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1214 @i{; happens.}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1215
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1216 @i{; We have @command{perl} in "/usr/local/perl/bin"}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1217 (add-to-list 'tramp-remote-path "/usr/local/perl/bin")
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1218 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1219
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1220 @node Remote shell setup
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1221 @comment node-name, next, previous, up
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1222 @section Remote shell setup hints
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1223 @cindex remote shell setup
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
1224 @cindex @file{.profile} file
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
1225 @cindex @file{.login} file
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1226 @cindex shell init files
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1227
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1228 As explained in the @ref{Overview} section, @tramp{} connects to the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1229 remote host and talks to the shell it finds there. Of course, when you
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1230 log in, the shell executes its init files. Suppose your init file
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1231 requires you to enter the birthdate of your mother; clearly @tramp{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1232 does not know this and hence fails to log you in to that host.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1233
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1234 There are different possible strategies for pursuing this problem. One
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1235 strategy is to enable @tramp{} to deal with all possible situations.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1236 This is a losing battle, since it is not possible to deal with
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1237 @emph{all} situations. The other strategy is to require you to set up
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1238 the remote host such that it behaves like @tramp{} expect. This might
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1239 be inconvenient because you have to invest a lot of effort into shell
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1240 setup before you can begin to use @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1241
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1242 The package, therefore, pursues a combined approach. It tries to figure
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1243 out some of the more common setups, and only requires you to avoid
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1244 really exotic stuff. For example, it looks through a list of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1245 directories to find some programs on the remote host. And also, it
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1246 knows that it is not obvious how to check whether a file exist, and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1247 therefore it tries different possibilities. (On some hosts and shells,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1248 the command @code{test -e} does the trick, on some hosts the shell
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1249 builtin doesn't work but the program @code{/usr/bin/test -e} or
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1250 @code{/bin/test -e} works. And on still other hosts, @code{ls -d} is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1251 the right way to do this.)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1252
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1253 Below you find a discussion of a few things that @tramp{} does not deal
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1254 with, and that you therefore have to set up correctly.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1255
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1256 @table @asis
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1257 @item @var{shell-prompt-pattern}
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1258 @vindex shell-prompt-pattern
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1259
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1260 After logging in to the remote host, @tramp{} has to wait for the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1261 shell startup to finish before it can send commands to the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1262 shell. The strategy here is to wait for the shell prompt. In order to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1263 recognize the shell prompt, the variable @code{shell-prompt-pattern} has
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1264 to be set correctly to recognize the shell prompt on the remote host.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1265
46346
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1266 Note that Tramp requires the match for @code{shell-prompt-pattern} to
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1267 be at the end of the buffer. Many people have something like the
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1268 following as the value for the variable: @code{"^[^>$][>$] *"}. Now
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1269 suppose your shell prompt is @code{a <b> c $ }. In this case, Tramp
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1270 recognizes the @code{>} character as the end of the prompt, but it is
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1271 not at the end of the buffer.
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1272
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1273 @item @code{tset} and other questions
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1274 @cindex Unix command tset
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1275 @cindex tset Unix command
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1276
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1277 Some people invoke the @code{tset} program from their shell startup
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1278 scripts which asks the user about the terminal type of the shell. Maybe
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1279 some shells ask other questions when they are started. @tramp{} does
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1280 not know how to answer these questions. (A facility for enabling
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1281 @tramp{} to answer these questions is planned for some future version,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1282 but don't hold your breath.)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1283
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1284 Therefore, you should take care that the shell does not ask any
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1285 questions when invoked from @tramp{}. You can do this by checking the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1286 @code{TERM} environment variable, it will be set to @code{dumb} when
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1287 connecting.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1288
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1289 @vindex tramp-terminal-type
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1290 The variable @code{tramp-terminal-type} can be used to change this value
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1291 @code{dumb}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1292
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1293 @end table
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1294
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1295
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1296 @node Windows setup hints
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1297 @section Issues with Cygwin ssh
46366
93ea423da06e Index entries.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46361
diff changeset
1298 @cindex Cygwin, issues
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1299
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1300 This section needs a lot of work! Please help.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1301
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1302 @cindex method smx with Cygwin
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1303 @cindex smx method with Cygwin
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1304 If you use the Cygwin installation of ssh (you have to explicitly select
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1305 it in the installer), then it should work out of the box to just select
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1306 @code{smx} as the connection method. You can find information about
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1307 setting up Cygwin in their FAQ at @uref{http://cygwin.com/faq/}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1308
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1309
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1310 @node Usage
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1311 @chapter Using @tramp
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1312 @cindex using @tramp
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1313
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1314 Once you have installed @tramp{} it will operate fairly transparently. You
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1315 will be able to access files on any remote machine that you can log in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1316 to as though they were local.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1317
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1318 Files are specified to @tramp{} using a formalized syntax specifying the
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1319 details of the system to connect to. This is similar to the syntax used
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1320 by the @command{EFS} and @command{Ange-FTP} packages.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1321
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1322
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1323 @menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1324 * Filename Syntax:: @tramp{} filename conventions.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1325 * Multi-hop filename syntax:: Multi-hop filename conventions
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1326 * Dired:: Dired and filename completion.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1327 @end menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1328
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1329
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1330 @node Filename Syntax
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1331 @section @tramp{} filename conventions
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1332 @cindex filename syntax
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1333 @cindex filename examples
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1334
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1335 On Emacs, the Ange-FTP and Tramp filenames use a unified syntax. On
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1336 XEmacs, EFS and Tramp use different formats for the filenames.
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1337 Therefore, the following will describe the Emacs and XEmacs cases
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1338 separately.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1339
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1340 On Emacs, to access the file @var{path} on the remote machine
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1341 @var{machine} you would specify the filename
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1342 @file{/@var{machine}:@var{path}}. This will connect to @var{machine}
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1343 and transfer the file using the default method. @xref{Default
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1344 Method}. On XEmacs, use @file{/[@var{machine}]@var{path}}. (The
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1345 square brackets are part of the file name.)
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1346
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1347 Some examples of @tramp{} filenames are shown below. In each case,
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1348 the Emacs-style filename is shown first, then the XEmacs-style
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1349 filename.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1350
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1351 @table @file
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1352 @item /melancholia:.emacs
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1353 @itemx /[melancholia].emacs
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1354 Edit the file @file{.emacs} in your home directory on the machine
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1355 @code{melancholia}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1356
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1357 @item /melancholia.danann.net:.emacs
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1358 @itemx /[melancholia.danann.net].emacs
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1359 This edits the same file, using the fully qualified domain name of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1360 the machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1361
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1362 @item /melancholia:~/.emacs
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1363 @itemx /[melancholia]~/.emacs
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1364 This also edits the same file --- the @file{~} is expanded to your
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1365 home directory on the remote machine, just like it is locally.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1366
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1367 @item /melancholia:~daniel/.emacs
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1368 @itemx /[melancholia]~daniel/.emacs
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1369 This edits the file @file{.emacs} in the home directory of the user
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1370 @code{daniel} on the machine @code{melancholia}. The @file{~<user>}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1371 construct is expanded to the home directory of that user on the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1372 machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1373
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1374 @item /melancholia:/etc/squid.conf
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1375 @itemx /[melancholia]/etc/squid.conf
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1376 This edits the file @file{/etc/squid.conf} on the machine
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1377 @code{melancholia}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1378
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1379 @end table
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1380
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1381 Unless you specify a different name to use, @tramp{} will use the current
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1382 local user name as the remote user name to log in with. If you need to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1383 log in as a different user, you can specify the user name as part of the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1384 filename.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1385
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1386 On Emacs, to log in to the remote machine as a specific user, you use
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1387 the syntax @file{/@var{user}@@@var{machine}:/path/to.file}. On
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1388 XEmacs, use @file{/[@var{user}@@@var{machine}]/path/to.file}. That
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1389 means that connecting to @code{melancholia} as @code{daniel} and
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1390 editing @file{.emacs} in your home directory you would specify
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1391 @file{/daniel@@melancholia:.emacs} on Emacs and
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1392 @file{/[daniel@@melancholia].emacs} on XEmacs.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1393
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1394
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1395 It is also possible to specify other file transfer methods
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1396 (@pxref{Default Method}) as part of the filename. On Emacs, this is
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1397 done by puttig the method before the user and host name, as in
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1398 @file{/@var{method}:} (note the trailing colon). On XEmacs, it is
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1399 done by replacing the initial @file{/[} with @file{/[<method>/}.
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1400 (Note the trailing slash!) The user, machine and file specification
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1401 remain the same.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1402
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1403 So, to connect to the machine @code{melancholia} as @code{daniel},
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1404 using the @option{su} method to transfer files, and edit @file{.emacs}
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1405 in my home directory I would specify the filename
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1406 @file{/su:daniel@@melancholia:.emacs} on Emacs and
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1407 @file{/[su/daniel@@melancholia].emacs} on XEmacs.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1408
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1409
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1410 @node Multi-hop filename syntax
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1411 @section Multi-hop filename conventions
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1412 @cindex filename syntax for multi-hop files
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1413 @cindex multi-hop filename syntax
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1414
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1415 The syntax of multi-hop file names is necessarily slightly different
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1416 than the syntax of other @tramp{} file names. Here's an example multi-hop
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1417 file name, first in Emacs syntax and then in XEmacs syntax:
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1418
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1419 @file{/multi:rsh:out@@gate:telnet:kai@@real.host:/path/to.file}
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1420 @file{/[multi/rsh:out@@gate/telnet:kai@@real.host]/path/to.file}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1421
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1422 This is quite a mouthful. So let's go through it step by step. The
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1423 file name consists of three parts. On Emacs, the parts are separated
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1424 by colons, on XEmacs they are separated by slashes and square
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1425 brackets. The first part is @file{/multi:} (or @file{/[multi}), the
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1426 method specification. The second part is
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1427 @file{rsh:out@@gate:telnet:kai@@real.host} (or
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1428 @file{rsh:out@@gate/telnet:kai@@real.host}) and specifies the hops.
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1429 (Yes, on Emacs the second part may contain even more colons, so that's why
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1430 this file name has more than two colons in it.) The final part is
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1431 @file{/path/to.file} and specifies the file name on the remote host.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1432
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1433 The first part and the final part should be clear. @ref{Multi-hop
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1434 Methods}, for a list of alternatives for the method specification.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1435
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1436 The second part can be subdivided again into components, so-called hops.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1437 In the above file name, there are two hops, @file{rsh:out@@gate} and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1438 @file{telnet:kai@@real.host}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1439
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1440 Each hop can @emph{again} be subdivided into (three) components, the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1441 @dfn{hop method}, the @dfn{user name} and the @dfn{host name}. The
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1442 meaning of the second and third component should be clear, and the hop
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1443 method says what program to use to perform that hop.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1444
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1445 The first hop, @file{rsh:out@@gate}, says to use @command{rsh} to log in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1446 as user @code{out} to the host @code{gate}. Starting at that host, the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1447 second hop, @file{telnet:kai@@real.host}, says to use @command{telnet}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1448 to log in as user @code{kai} to host @code{real.host}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1449
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1450 @xref{Multi-hop Methods}, for a list of possible hop method values. The
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1451 variable @var{tramp-multi-connection-function-alist} contains the list of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1452 possible hop methods and information on how to execute them, should you
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1453 want to add your own.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1454
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1455
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1456 @node Dired
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1457 @section Dired and filename completion
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1458 @cindex dired
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1459 @cindex filename completion
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1460
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1461 @tramp{} works transparently with dired, enabling you to use this powerful
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1462 file management tool to manage files on any machine you have access to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1463 over the Internet.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1464
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1465 Filename completion also works with @tramp{} for files on remote machines
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1466 although there is no completion for user names or machine names at this
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1467 stage.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1468
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1469 As filename completion needs to fetch the listing of files from the
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1470 remote machine, this feature is sometimes fairly slow. As @tramp{} does not
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1471 yet cache the results of directory listing, there is no gain in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1472 performance the second time you complete filenames.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1473
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1474 If you need to browse a directory tree, Dired is a better choice, at
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1475 present, than filename completion. Dired has its own cache mechanism
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1476 and will only fetch the directory listing once.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1477
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1478
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1479 @node Bug Reports
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1480 @chapter Reporting Bugs and Problems
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1481 @cindex bug reports
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1482
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1483 Bugs and problems with @tramp{} are actively worked on by the development
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1484 team. Feature requests and suggestions are also more than welcome.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1485
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1486 The @tramp{} mailing list is a great place to get information on working
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1487 with @tramp{}, solving problems and general discussion and advice on topics
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1488 relating to the package.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1489
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1490 The mailing list is at @email{tramp-devel@@mail.freesoftware.fsf.org}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1491 Messages sent to this address go to all the subscribers. This is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1492 @emph{not} the address to send subscription requests to.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1493
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1494 For help on subscribing to the list, send mail to the administrative
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1495 address, @email{tramp-devel-request@@mail.freesoftware.fsf.org}, with the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1496 subject @samp{help}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1497
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1498 To report a bug in @tramp{}, you should execute @kbd{M-x tramp-bug}. This
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1499 will automatically generate a buffer with the details of your system and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1500 @tramp{} version.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1501
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1502 When submitting a bug report, please try to describe in excruciating
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1503 detail the steps required to reproduce the problem, the setup of the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1504 remote machine and any special conditions that exist.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1505
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1506 If you can identify a minimal test case that reproduces the problem,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1507 include that with your bug report. This will make it much easier for the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1508 development team to analyze and correct the problem.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1509
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1510 @node Frequently Asked Questions
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1511 @chapter Frequently Asked Questions
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1512 @cindex frequently asked questions
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1513 @cindex FAQ
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1514
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1515 @itemize @bullet
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1516 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1517 Where can I get the latest @tramp{}?
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1518
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1519 @tramp{} is available at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1520 @uref{ftp://ls6-ftp.cs.uni-dortmund.de/pub/src/emacs/tramp.tar.gz}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1521 There is also a Savannah project page, at
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1522 @uref{https://savannah.gnu.org/projects/tramp/}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1523
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1524
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1525 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1526 Which systems does it work on?
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1527
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1528 The package has been used successfully on Emacs 20 and Emacs 21, as well
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1529 as XEmacs 21. XEmacs 20 is more problematic, see the notes in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1530 @file{tramp.el}. I don't think anybody has really tried it on Emacs 19.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1531
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1532 The package was intended to work on Unix, and it really expects a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1533 Unix-like system on the remote end, but some people seemed to have some
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1534 success getting it to work on NT Emacs.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1535
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1536 There are some informations on Tramp on NT at the following URL; many
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1537 thanks to Joe Stoy for providing the information:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1538 @uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1539
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1540 The above mostly contains patches to old ssh versions; Tom Roche has a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1541 Web page with instructions:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1542 @uref{http://www4.ncsu.edu/~tlroche/plinkTramp.html}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1543
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1544 ??? Is the XEmacs info correct?
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1545
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1546 ??? Can somebody provide some information for getting it to work on NT
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1547 Emacs? I think there was some issue with @command{ssh}?
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1548
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1549
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1550 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1551 I can't stop EFS starting with XEmacs
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1552
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1553 Not all the older versions of @tramp{} supported XEmacs correctly. The
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1554 first thing to do is to make sure that you have the latest version of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1555 @tramp{} installed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1556
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1557 If you do, please try and find out exactly the conditions required for
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1558 the @code{EFS} handlers to fire. If you can, putting a breakpoint on
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1559 @code{efs-ftp-path} and sending in the stack trace along with your bug
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1560 report would make it easier for the developers to work out what is going
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1561 wrong.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1562
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1563
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1564 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1565 File name completion does not work with @tramp{}
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1566
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1567 When you log in to the remote machine, do you see the output of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1568 @command{ls} in color? If so, this may be the cause of your problems.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1569
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1570 @command{ls} outputs @acronym{ANSI} escape sequences that your terminal
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1571 emulator interprets to set the colors. These escape sequences will
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1572 confuse @tramp{} however.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1573
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1574 In your @file{.bashrc}, @file{.profile} or equivalent on the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1575 machine you probably have an alias configured that adds the option
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1576 @option{--color=yes} or @option{--color=auto}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1577
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1578 You should remove that alias and ensure that a new login @emph{does not}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1579 display the output of @command{ls} in color. If you still cannot use
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1580 filename completion, report a bug to the @tramp{} developers.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1581
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1582
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1583 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1584 File name completion does not work in large directories
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1585
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1586 @tramp{} uses globbing for some operations. (Globbing means to use the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1587 shell to expand wildcards such as `*.c'.) This might create long
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1588 command lines, especially in directories with many files. Some shell
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1589 choke on long command lines, or don't cope well with the globbing
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1590 itself.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1591
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1592 If you have a large directory on the remote end, you may wish to execute
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1593 a command like @samp{ls -d * ..?* > /dev/null} and see if it hangs.
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1594 Note that you must first start the right shell, which might be
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1595 @command{/bin/sh}, @command{ksh} or @command{bash}, depending on which
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1596 of those supports tilde expansion.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1597
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1598
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1599 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1600 What kinds of systems does @tramp{} work on
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1601
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1602 @tramp{} really expects the remote system to be a Unix-like system. The
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1603 local system should preferably be Unix-like, as well, but @tramp{} might
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1604 work on NT with some tweaking.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1605
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1606
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1607 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1608 How can I get notified when @tramp{} file transfers are complete?
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1609
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1610 The following snippet can be put in your @file{~/.emacs} file. It makes
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1611 Emacs beep after reading from or writing to the remote host.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1612
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1613 @lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1614 (defadvice tramp-handle-write-region
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1615 (after tramp-write-beep-advice activate)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1616 " make tramp beep after writing a file."
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1617 (interactive)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1618 (beep))
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1619 (defadvice tramp-handle-do-copy-or-rename-file
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1620 (after tramp-copy-beep-advice activate)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1621 " make tramp beep after copying a file."
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1622 (interactive)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1623 (beep))
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1624 (defadvice tramp-handle-insert-file-contents
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1625 (after tramp-copy-beep-advice activate)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1626 " make tramp beep after copying a file."
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1627 (interactive)
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1628 (beep))
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1629 @end lisp
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1630
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1631
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1632 @item
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1633 There's this @file{~/.sh_history} file on the remote host which keeps
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1634 growing and growing. What's that?
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1635
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1636 Sometimes, @tramp{} starts @code{ksh} on the remote host for tilde
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1637 expansion. Maybe @code{ksh} saves the history by default. @tramp{}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1638 tries to turn off saving the history, but maybe you have to help. For
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1639 example, you could put this in your @file{.kshrc}:
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1640
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1641 @example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1642 if [ -f $HOME/.sh_history ] ; then
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1643 /bin/rm $HOME/.sh_history
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1644 fi
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1645 if [ "$@{HISTFILE-unset@}" != "unset" ] ; then
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1646 unset HISTFILE
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1647 fi
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1648 if [ "$@{HISTSIZE-unset@}" != "unset" ] ; then
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1649 unset HISTSIZE
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1650 fi
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1651 @end example
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1652
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1653 @end itemize
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1654
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1655
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1656 @c For the developer
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1657 @node Version Control
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1658 @chapter The inner workings of remote version control
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1659
46361
a3acca116f2f Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46348
diff changeset
1660 Unlike EFS and Ange-FTP, @tramp{} has full shell access to the remote
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1661 machine. This makes it possible to provide version control for files
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1662 accessed under @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1663
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1664 The actual version control binaries must be installed on the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1665 machine, accessible in the directories specified in
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1666 @var{tramp-remote-path}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1667
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1668 This transparent integration with the version control systems is one of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1669 the most valuable features provided by @tramp{}, but it is far from perfect.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1670 Work is ongoing to improve the transparency of the system.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1671
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1672 @menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1673 * Version Controlled Files:: Determining if a file is under version control.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1674 * Remote Commands:: Executing the version control commands on the remote machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1675 * Changed workfiles:: Detecting if the working file has changed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1676 * Checking out files:: Bringing the workfile out of the repository.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1677 * Miscellaneous Version Control:: Things related to Version Control that don't fit elsewhere
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1678 @end menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1679
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1680
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1681 @node Version Controlled Files
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1682 @section Determining if a file is under version control
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1683
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1684 The VC package uses the existence of on-disk revision control master
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1685 files to determine if a given file is under revision control. These file
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1686 tests happen on the remote machine through the standard @tramp{} mechanisms.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1687
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1688
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1689 @node Remote Commands
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1690 @section Executing the version control commands on the remote machine
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1691
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1692 There are no hooks provided by VC to allow intercepting of the version
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1693 control command execution. The calls occur through the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1694 @code{call-process} mechanism, a function that is somewhat more
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1695 efficient than the @code{shell-command} function but that does not
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1696 provide hooks for remote execution of commands.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1697
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1698 To work around this, the functions @code{vc-do-command} and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1699 @code{vc-simple-command} have been advised to intercept requests for
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1700 operations on files accessed via @tramp{}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1701
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1702 In the case of a remote file, the @code{shell-command} interface is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1703 used, with some wrapper code, to provide the same functionality on the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1704 remote machine as would be seen on the local machine.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1705
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1706
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1707 @node Changed workfiles
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1708 @section Detecting if the working file has changed
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1709
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1710 As there is currently no way to get access to the mtime of a file on a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1711 remote machine in a portable way, the @code{vc-workfile-unchanged-p}
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1712 function is advised to call an @tramp{} specific function for remote files.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1713
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1714 The @code{tramp-vc-workfile-unchanged-p} function uses the functioning VC
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1715 diff functionality to determine if any changes have occurred between the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1716 workfile and the version control master.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1717
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1718 This requires that a shell command be executed remotely, a process that
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1719 is notably heavier-weight than the mtime comparison used for local
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1720 files. Unfortunately, unless a portable solution to the issue is found,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1721 this will remain the cost of remote version control.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1722
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1723
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1724 @node Checking out files
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1725 @section Bringing the workfile out of the repository
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1726
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1727 VC will, by default, check for remote files and refuse to act on them
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1728 when checking out files from the repository. To work around this
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1729 problem, the function @code{vc-checkout} knows about @tramp{} files and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1730 allows version control to occur.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1731
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1732
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1733 @node Miscellaneous Version Control
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1734 @section Things related to Version Control that don't fit elsewhere
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1735
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1736 Minor implementation details, &c.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1737
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1738 @menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1739 * Remote File Ownership:: How VC determines who owns a workfile.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1740 * Back-end Versions:: How VC determines what release your RCS is.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1741 @end menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1742
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1743
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1744 @node Remote File Ownership
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1745 @subsection How VC determines who owns a workfile
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1746
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1747 Emacs provides the @code{user-full-name} function to return the login name
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1748 of the current user as well as mapping from arbitrary user id values
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1749 back to login names. The VC code uses this functionality to map from the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1750 uid of the owner of a workfile to the login name in some circumstances.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1751
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1752 This will not, for obvious reasons, work if the remote system has a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1753 different set of logins. As such, it is necessary to delegate to the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1754 remote machine the job of determining the login name associated with a
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1755 uid.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1756
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1757 Unfortunately, with the profusion of distributed management systems such
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1758 as @code{NIS}, @code{NIS+} and @code{NetInfo}, there is no simple,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1759 reliable and portable method for performing this mapping.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1760
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1761 Thankfully, the only place in the VC code that depends on the mapping of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1762 a uid to a login name is the @code{vc-file-owner} function. This returns
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1763 the login of the owner of the file as a string.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1764
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1765 This function has been advised to use the output of @command{ls} on the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1766 remote machine to determine the login name, delegating the problem of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1767 mapping the uid to the login to the remote system which should know more
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1768 about it than I do.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1769
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1770
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1771 @node Back-end Versions
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1772 @subsection How VC determines what release your RCS is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1773
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1774 VC needs to know what release your revision control binaries you are
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1775 running as not all features VC supports are available with older
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1776 versions of @command{rcs(1)}, @command{cvs(1)} or @command{sccs(1)}.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1777
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1778 The default implementation of VC determines this value the first time it
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1779 is needed and then stores the value globally to avoid the overhead of
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1780 executing a process and parsing its output each time the information is
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1781 needed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1782
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1783 Unfortunately, life is not quite so easy when remote version control
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1784 comes into the picture. Each remote machine may have a different version
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1785 of the version control tools and, while this is painful, we need to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1786 ensure that unavailable features are not used remotely.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1787
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1788 To resolve this issue, @tramp{} currently takes the sledgehammer
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1789 approach of making the release values of the revision control tools
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1790 local to each @tramp{} buffer, forcing VC to determine these values
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1791 again each time a new file is visited.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1792
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1793 This has, quite obviously, some performance implications. Thankfully,
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1794 most of the common operations performed by VC do not actually require
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1795 that the remote version be known. This makes the problem far less
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1796 apparent.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1797
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1798 Eventually these values will be captured by @tramp{} on a system by
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1799 system basis and the results cached to improve performance.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1800
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1801
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1802 @node Files directories and paths
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1803 @chapter How file names, directories and paths are mangled and managed.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1804
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1805 @menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1806 * Path deconstruction:: Breaking a path into its components.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1807 @end menu
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1808
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1809
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1810 @node Path deconstruction
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1811 @section Breaking a path into its components.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1812
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1813 @tramp{} filenames are somewhat different, obviously, to ordinary path
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1814 names. As such, the lisp functions @code{file-name-directory} and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1815 @code{file-name-nondirectory} are overridden within the @tramp{} package.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1816
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1817 Their replacements are reasonably simplistic in their approach. They
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1818 dissect the filename, call the original handler on the remote path and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1819 then rebuild the @tramp{} path with the result.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1820
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1821 This allows the platform specific hacks in the original handlers to take
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1822 effect while preserving the @tramp{} path information.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1823
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1824
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1825 @node Issues
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1826 @chapter Debatable Issues and What Was Decided
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1827
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1828 @itemize @bullet
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1829 @item The uuencode method does not always work.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1830
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1831 Due to the design of @tramp{}, the encoding and decoding programs need to
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1832 read from stdin and write to stdout. On some systems, @code{uudecode -o
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1833 -} will read stdin and write the decoded file to stdout, on other
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1834 systems @code{uudecode -p} does the same thing. But some systems have
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1835 uudecode implementations which cannot do this at all---it is not
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1836 possible to call these uudecode implementations with suitable parameters
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1837 so that they write to stdout.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1838
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1839 Of course, this could be circumvented: the @code{begin foo 644} line
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1840 could be rewritten to put in some temporary file name, then
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1841 @code{uudecode} could be called, then the temp file could be printed and
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1842 deleted.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1843
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1844 But I have decided that this is too fragile to reliably work, so on some
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1845 systems you'll have to do without the uuencode methods.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1846
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1847 @item @tramp{} does not work on XEmacs 20.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1848
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1849 This is because it requires the macro @code{with-timeout} which does not
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1850 appear to exist in XEmacs 20. I'm somewhat reluctant to add an
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1851 emulation macro to @tramp{}, but if somebody who uses XEmacs 20 steps
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1852 forward and wishes to implement and test it, please contact me or the
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1853 mailing list.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1854
46348
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1855 @item The @tramp{} filename syntax differs between Emacs and XEmacs.
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1856
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1857 The Emacs maintainers wish to use a unified filename syntax for
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1858 Ange-FTP and @tramp{} so that users don't have to learn a new
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1859 syntax. It is sufficient to learn some extensions to the old syntax.
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1860
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1861 For the XEmacs maintainers, the problems caused from using a unified
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1862 filename syntax are greater than the gains. The XEmacs package
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1863 system uses EFS for downloading new packages. So, obviously, EFS has
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1864 to be installed from the start. If the filenames were unified, Tramp
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1865 would have to be installed from the start, too.
16e7539f3da5 Fix copyright years.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46346
diff changeset
1866
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1867 @end itemize
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1868
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1869
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1870 @c End of tramp.texi - the TRAMP User Manual
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1871 @bye
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1872
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1873 @c TODO
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1874 @c
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1875 @c * Say something about the .login and .profile files of the remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1876 @c shells.
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1877 @c * Explain how tramp.el works in principle: open a shell on a remote
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1878 @c host and then send commands to it.
46346
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1879 @c * Mention that bookmarks are a cool feature to go along with Tramp.
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1880 @c * Make terminology "inline" vs "out-of-band" consistent.
49f06e689a20 * files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents: 46010
diff changeset
1881 @c It seems that "external" is also used instead of "out-of-band".
45861
7b663a89ef2a *** empty log message ***
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
diff changeset
1882