Mercurial > emacs
annotate man/tramp.texi @ 81940:9c550f0c81fa
* files.texi (Magic File Names): Introduce optional parameter
IDENTIFICATION for `file-remote-p'.
author | Michael Albinus <michael.albinus@gmx.de> |
---|---|
date | Tue, 17 Jul 2007 21:29:20 +0000 |
parents | 7cd8ee60cf68 |
children | 25571c49ded1 a1be62cbd32a |
rev | line source |
---|---|
45861 | 1 \input texinfo @c -*-texinfo-*- |
81939
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2 @setfilename ../info/tramp |
45861 | 3 @c %**start of header |
4 @settitle TRAMP User Manual | |
5 @setchapternewpage odd | |
6 @c %**end of header | |
7 | |
8 @c This is *so* much nicer :) | |
9 @footnotestyle end | |
10 | |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
11 @c In the Tramp CVS, the version number is auto-frobbed from |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
12 @c configure.ac, so you should edit that file and run |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
13 @c "autoconf && ./configure" to change the version number. |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
14 |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
15 @c Additionally, flags are set with respect to the Emacs flavor; and |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
16 @c depending whether Tramp is packaged into (X)Emacs, or standalone. |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
17 |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
18 @include trampver.texi |
45861 | 19 |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
20 @c Macros for formatting a filename. |
81759 | 21 @c trampfn is for a full filename, trampfnmhl means method, host, localname |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
22 @c were given, and so on. |
81759 | 23 @macro trampfn {method, user, host, localname} |
24 @value{prefix}\method\@value{postfixhop}\user\@@\host\@value{postfix}\localname\ | |
25 @end macro | |
26 | |
27 @macro trampfnmhl {method, host, localname} | |
28 @value{prefix}\method\@value{postfixhop}\host\@value{postfix}\localname\ | |
29 @end macro | |
30 | |
31 @macro trampfnuhl {user, host, localname} | |
32 @value{prefix}\user\@@\host\@value{postfix}\localname\ | |
33 @end macro | |
34 | |
35 @macro trampfnhl {host, localname} | |
36 @value{prefix}\host\@value{postfix}\localname\ | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
37 @end macro |
45861 | 38 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
39 @copying |
81759 | 40 Copyright @copyright{} 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, |
41 2007 Free Software Foundation, Inc. | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
42 |
52869
4c969f6bcb01
(Inline methods): Small grammar fix.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52401
diff
changeset
|
43 @quotation |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
44 Permission is granted to copy, distribute and/or modify this document |
65555
69b3598a61c5
Update all manuals to specify GFDL version 1.2.
Romain Francoise <romain@orebokech.com>
parents:
64890
diff
changeset
|
45 under the terms of the GNU Free Documentation License, Version 1.2 or |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
46 any later version published by the Free Software Foundation; with no |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
47 Invariant Sections, with the Front-Cover texts being ``A GNU |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
48 Manual'', and with the Back-Cover Texts as in (a) below. A copy of the |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
49 license is included in the section entitled ``GNU Free Documentation |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
50 License'' in the Emacs manual. |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
51 |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
52 (a) The FSF's Back-Cover Text is: ``You have freedom to copy and modify |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
53 this GNU Manual, like GNU software. Copies published by the Free |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
54 Software Foundation raise funds for GNU development.'' |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
55 |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
56 This document is part of a collection distributed under the GNU Free |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
57 Documentation License. If you want to distribute this document |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
58 separately from the collection, you can do so by adding a copy of the |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
59 license to the document, as described in section 6 of the license. |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
60 @end quotation |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
61 @end copying |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
62 |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
63 @c Entries for @command{install-info} to use |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
64 @dircategory @value{emacsname} |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
65 @direntry |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
66 * TRAMP: (tramp). Transparent Remote Access, Multiple Protocol |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
67 @value{emacsname} remote file access via rsh and rcp. |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
68 @end direntry |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
69 |
45861 | 70 @tex |
71 | |
72 @titlepage | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
73 @title @value{tramp} version @value{trampver} User Manual |
45861 | 74 |
75 @author by Daniel Pittman | |
76 @author based on documentation by Kai Gro@ss{}johann | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
77 |
45861 | 78 @page |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
79 @insertcopying |
45861 | 80 |
81 @end titlepage | |
82 @page | |
83 | |
84 @end tex | |
85 | |
86 @ifnottex | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
87 @node Top, Overview, (dir), (dir) |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
88 @top @value{tramp} version @value{trampver} User Manual |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
89 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
90 This file documents @value{tramp} version @value{trampver}, a remote file |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
91 editing package for @value{emacsname}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
92 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
93 @value{tramp} stands for `Transparent Remote (file) Access, Multiple |
45861 | 94 Protocol'. This package provides remote file editing, similar to |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
95 @value{ftppackagename}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
96 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
97 The difference is that @value{ftppackagename} uses FTP to transfer |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
98 files between the local and the remote host, whereas @value{tramp} uses a |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
99 combination of @command{rsh} and @command{rcp} or other work-alike |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
100 programs, such as @command{ssh}/@command{scp}. |
45861 | 101 |
102 You can find the latest version of this document on the web at | |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
103 @uref{http://www.gnu.org/software/tramp/}. |
45861 | 104 |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
105 @c Pointer to the other Emacs flavor is necessary only in case of |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
106 @c standalone installation. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
107 @ifset installchapter |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
108 The manual has been generated for @value{emacsname}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
109 @ifinfo |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
110 If you want to read the info pages for @value{emacsothername}, you |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
111 should read in @ref{Installation} how to create them. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
112 @end ifinfo |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
113 @ifhtml |
63636 | 114 If you're using the other Emacs flavor, you should read the |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
115 @uref{@value{emacsotherfilename}, @value{emacsothername}} pages. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
116 @end ifhtml |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
117 @end ifset |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
118 |
45861 | 119 @ifhtml |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
120 @ifset jamanual |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
121 This manual is also available as a @uref{@value{japanesemanual}, |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
122 Japanese translation}. |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
123 @end ifset |
45861 | 124 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
125 The latest release of @value{tramp} is available for |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
126 @uref{ftp://ftp.gnu.org/gnu/tramp/, download}, or you may see |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
127 @ref{Obtaining Tramp} for more details, including the CVS server |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
128 details. |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
129 |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
130 @value{tramp} also has a @uref{http://savannah.gnu.org/projects/tramp/, |
45861 | 131 Savannah Project Page}. |
132 @end ifhtml | |
133 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
134 There is a mailing list for @value{tramp}, available at |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
135 @email{tramp-devel@@gnu.org}, and archived at |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
136 @uref{http://lists.gnu.org/archive/html/tramp-devel/, the |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
137 @value{tramp} Mail Archive}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
138 @ifhtml |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
139 Older archives are located at |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
140 @uref{http://sourceforge.net/mailarchive/forum.php?forum=tramp-devel, |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
141 SourceForge Mail Archive} and |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
142 @uref{http://www.mail-archive.com/emacs-rcp@@ls6.cs.uni-dortmund.de/, |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
143 The Mail Archive}. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
144 @c in HTML output, there's no new paragraph. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
145 @*@* |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
146 @end ifhtml |
45861 | 147 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
148 @insertcopying |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
149 |
45861 | 150 @end ifnottex |
151 | |
152 @menu | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
153 * Overview:: What @value{tramp} can and cannot do. |
45861 | 154 |
155 For the end user: | |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
156 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
157 * Obtaining Tramp:: How to obtain @value{tramp}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
158 * History:: History of @value{tramp}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
159 @ifset installchapter |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
160 * Installation:: Installing @value{tramp} with your @value{emacsname}. |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
161 @end ifset |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
162 * Configuration:: Configuring @value{tramp} for use. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
163 * Usage:: An overview of the operation of @value{tramp}. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
164 * Bug Reports:: Reporting Bugs and Problems. |
45861 | 165 * Frequently Asked Questions:: Questions and answers from the mailing list. |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
166 * Concept Index:: An item for each concept. |
45861 | 167 |
168 For the developer: | |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
169 |
45861 | 170 * Version Control:: The inner workings of remote version control. |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
171 * Files directories and localnames:: How file names, directories and localnames are mangled and managed. |
81759 | 172 * Traces and Profiles:: How to Customize Traces. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
173 * Issues:: Debatable Issues and What Was Decided. |
45861 | 174 |
77235 | 175 * GNU Free Documentation License:: The license for this documentation. |
176 | |
45861 | 177 @detailmenu |
178 --- The Detailed Node Listing --- | |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
179 @c |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
180 @ifset installchapter |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
181 Installing @value{tramp} with your @value{emacsname} |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
182 |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
183 * Installation parameters:: Parameters in order to control installation. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
184 * Load paths:: How to plug-in @value{tramp} into your environment. |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
185 * Japanese manual:: Japanese manual. |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
186 |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
187 @end ifset |
45861 | 188 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
189 Configuring @value{tramp} for use |
45861 | 190 |
191 * Connection types:: Types of connections made to remote machines. | |
192 * Inline methods:: Inline methods. | |
193 * External transfer methods:: External transfer methods. | |
81759 | 194 @ifset emacsgw |
195 * Gateway methods:: Gateway methods. | |
196 @end ifset | |
45861 | 197 * Default Method:: Selecting a default method. |
81759 | 198 * Default User:: Selecting a default user. |
199 * Default Host:: Selecting a default host. | |
200 * Multi-hops:: Connecting to a remote host using multiple hops. | |
45861 | 201 * Customizing Methods:: Using Non-Standard Methods. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
202 * Customizing Completion:: Selecting config files for user/host name completion. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
203 * Password caching:: Reusing passwords for several connections. |
81759 | 204 * Connection caching:: Reusing connection related information. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
205 * Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
206 * Remote shell setup:: Remote shell setup hints. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
207 * Windows setup hints:: Issues with Cygwin ssh. |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
208 * Auto-save and Backup:: Auto-save and Backup. |
45861 | 209 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
210 Using @value{tramp} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
211 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
212 * Filename Syntax:: @value{tramp} filename conventions. |
81759 | 213 * Alternative Syntax:: URL-like filename syntax. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
214 * Filename completion:: Filename completion. |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
215 * Remote processes:: Integration with other @value{emacsname} packages. |
45861 | 216 |
217 The inner workings of remote version control | |
218 | |
219 * Version Controlled Files:: Determining if a file is under version control. | |
220 * Remote Commands:: Executing the version control commands on the remote machine. | |
221 * Changed workfiles:: Detecting if the working file has changed. | |
222 * Checking out files:: Bringing the workfile out of the repository. | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
223 * Miscellaneous Version Control:: Things related to Version Control that don't fit elsewhere. |
45861 | 224 |
225 Things related to Version Control that don't fit elsewhere | |
226 | |
227 * Remote File Ownership:: How VC determines who owns a workfile. | |
228 * Back-end Versions:: How VC determines what release your RCS is. | |
229 | |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
230 How file names, directories and localnames are mangled and managed |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
231 |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
232 * Localname deconstruction:: Breaking a localname into its components. |
45861 | 233 |
234 @end detailmenu | |
235 @end menu | |
236 | |
237 @node Overview | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
238 @chapter An overview of @value{tramp} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
239 @cindex overview |
45861 | 240 |
81759 | 241 After the installation of @value{tramp} into your @value{emacsname}, you |
242 will be able to access files on remote machines as though they were | |
243 local. Access to the remote file system for editing files, version | |
244 control, and @code{dired} are transparently enabled. | |
45861 | 245 |
246 Your access to the remote machine can be with the @command{rsh}, | |
247 @command{rlogin}, @command{telnet} programs or with any similar | |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
248 connection method. This connection must pass @acronym{ASCII} |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
249 successfully to be usable but need not be 8-bit clean. |
45861 | 250 |
251 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
|
252 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
|
253 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
|
254 access is disabled. |
45861 | 255 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
256 The majority of activity carried out by @value{tramp} requires only that |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
257 the remote login is possible and is carried out at the terminal. In |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
258 order to access remote files @value{tramp} needs to transfer their content |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
259 to the local machine temporarily. |
45861 | 260 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
261 @value{tramp} can transfer files between the machines in a variety of ways. |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
262 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
|
263 machines in question. |
45861 | 264 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
265 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
|
266 transfer package such as @command{rcp}, @command{scp} or |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
267 @command{rsync}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
268 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
269 If the remote copy methods are not suitable for you, @value{tramp} also |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
270 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
|
271 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
|
272 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
|
273 faster for small files. |
45861 | 274 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
275 Within these limitations, @value{tramp} is quite powerful. It is worth |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
276 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
|
277 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
|
278 edges and problems with the code now and then. |
45861 | 279 |
280 It is finished enough that the developers use it for day to day work but | |
281 the installation and setup can be a little difficult to master, as can | |
282 the terminology. | |
283 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
284 @value{tramp} is still under active development and any problems you encounter, |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
285 trivial or major, should be reported to the @value{tramp} developers. |
45861 | 286 @xref{Bug Reports}. |
287 | |
288 | |
289 @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
|
290 @cindex behind the scenes |
46366 | 291 @cindex details of operation |
292 @cindex how it works | |
45861 | 293 |
294 This section tries to explain what goes on behind the scenes when you | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
295 access a remote file through @value{tramp}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
296 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
297 Suppose you type @kbd{C-x C-f} and enter part of an @value{tramp} file name, |
45861 | 298 then hit @kbd{@key{TAB}} for completion. Suppose further that this is |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
299 the first time that @value{tramp} is invoked for the host in question. Here's |
45861 | 300 what happens: |
301 | |
302 @itemize | |
303 @item | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
304 @value{tramp} discovers that it needs a connection to the host. So it |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
305 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
|
306 @var{user}} or a similar tool to connect to the remote host. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
307 Communication with this process happens through an |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
308 @value{emacsname} buffer, that is, the output from the remote end |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
309 goes into a buffer. |
45861 | 310 |
311 @item | |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
312 The remote host may prompt for a login name (for @command{telnet}). |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
313 The login name is given in the file name, so @value{tramp} sends the |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
314 login name and a newline. |
45861 | 315 |
316 @item | |
317 The remote host may prompt for a password or pass phrase (for | |
318 @command{rsh} or for @command{telnet} after sending the login name). | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
319 @value{tramp} displays the prompt in the minibuffer, asking you for the |
45861 | 320 password or pass phrase. |
321 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
322 You enter the password or pass phrase. @value{tramp} sends it to the remote |
45861 | 323 host, followed by a newline. |
324 | |
325 @item | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
326 @value{tramp} now waits for the shell prompt or for a message that the login |
45861 | 327 failed. |
328 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
329 If @value{tramp} sees neither of them after a certain period of time (a minute, |
45861 | 330 say), then it issues an error message saying that it couldn't find the |
331 remote shell prompt and shows you what the remote host has sent. | |
332 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
333 If @value{tramp} sees a @samp{login failed} message, it tells you so, |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
334 aborts the login attempt and allows you to try again. |
45861 | 335 |
336 @item | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
337 Suppose that the login was successful and @value{tramp} sees the shell prompt |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
338 from the remote host. Now @value{tramp} invokes @command{/bin/sh} because |
45861 | 339 Bourne shells and C shells have different command |
340 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
|
341 shell doesn't recognize @samp{exec /bin/sh} as a valid command. |
45861 | 342 Maybe you use the Scheme shell @command{scsh}@dots{}} |
343 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
344 After the Bourne shell has come up, @value{tramp} sends a few commands to |
45861 | 345 ensure a good working environment. It turns off echoing, it sets the |
346 shell prompt, and a few other things. | |
347 | |
348 @item | |
349 Now the remote shell is up and it good working order. Remember, what | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
350 was supposed to happen is that @value{tramp} tries to find out what files exist |
45861 | 351 on the remote host so that it can do filename completion. |
352 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
353 So, @value{tramp} basically issues @command{cd} and @command{ls} commands and |
45861 | 354 also sometimes @command{echo} with globbing. Another command that is |
355 often used is @command{test} to find out whether a file is writable or a | |
356 directory or the like. The output of each command is parsed for the | |
357 necessary operation. | |
358 | |
359 @item | |
360 Suppose you are finished with filename completion, have entered @kbd{C-x | |
361 C-f}, a full file name and hit @kbd{@key{RET}}. Now comes the time to | |
362 transfer the file contents from the remote host to the local host so | |
363 that you can edit them. | |
364 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
365 See above for an explanation of how @value{tramp} transfers the file contents. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
366 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
367 For inline transfers, @value{tramp} issues a command like @samp{mimencode -b |
45861 | 368 /path/to/remote/file}, waits until the output has accumulated in the |
369 buffer that's used for communication, then decodes that output to | |
370 produce the file contents. | |
371 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
372 For out-of-band transfers, @value{tramp} issues a command like the following: |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
373 @example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
374 rcp user@@host:/path/to/remote/file /tmp/tramp.4711 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
375 @end example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
376 It then reads the local temporary file @file{/tmp/tramp.4711} into a |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
377 buffer and deletes the temporary file. |
45861 | 378 |
379 @item | |
380 You now edit the buffer contents, blithely unaware of what has happened | |
381 behind the scenes. (Unless you have read this section, that is.) When | |
382 you are finished, you type @kbd{C-x C-s} to save the buffer. | |
383 | |
384 @item | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
385 Again, @value{tramp} transfers the file contents to the remote host either |
45861 | 386 inline or out-of-band. This is the reverse of what happens when reading |
387 the file. | |
388 @end itemize | |
389 | |
390 I hope this has provided you with a basic overview of what happens | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
391 behind the scenes when you open a file with @value{tramp}. |
45861 | 392 |
393 | |
394 @c For the end user | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
395 @node Obtaining Tramp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
396 @chapter Obtaining Tramp. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
397 @cindex obtaining Tramp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
398 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
399 @value{tramp} is freely available on the Internet and the latest |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
400 release may be downloaded from |
81759 | 401 @uref{ftp://ftp.gnu.org/gnu/tramp/}. This release includes the full |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
402 documentation and code for @value{tramp}, suitable for installation. |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
403 But GNU Emacs (22 or later) includes @value{tramp} already, and there |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
404 is a @value{tramp} package for XEmacs, as well. So maybe it is easier |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
405 to just use those. But if you want the bleeding edge, read |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
406 on@dots{...} |
45861 | 407 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
408 For the especially brave, @value{tramp} is available from CVS. The CVS |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
409 version is the latest version of the code and may contain incomplete |
81759 | 410 features or new issues. Use these versions at your own risk. |
45861 | 411 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
412 Instructions for obtaining the latest development version of @value{tramp} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
413 from CVS can be found by going to the Savannah project page at the |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
414 following URL and then clicking on the CVS link in the navigation bar |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
415 at the top. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
416 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
417 @noindent |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
418 @uref{http://savannah.gnu.org/projects/tramp/} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
419 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
420 @noindent |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
421 Or follow the example session below: |
45861 | 422 |
423 @example | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
424 ] @strong{cd ~/@value{emacsdir}} |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
425 ] @strong{export CVS_RSH="ssh"} |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
426 ] @strong{cvs -z3 -d:ext:anoncvs@@savannah.gnu.org:/cvsroot/tramp co tramp} |
45861 | 427 @end example |
428 | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
429 @noindent |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
430 You should now have a directory @file{~/@value{emacsdir}/tramp} |
81759 | 431 containing the latest version of @value{tramp}. You can fetch the latest |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
432 updates from the repository by issuing the command: |
45861 | 433 |
434 @example | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
435 ] @strong{cd ~/@value{emacsdir}/tramp} |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
436 ] @strong{export CVS_RSH="ssh"} |
45861 | 437 ] @strong{cvs update -d} |
438 @end example | |
439 | |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
440 @noindent |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
441 Once you've got updated files from the CVS repository, you need to run |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
442 @command{autoconf} in order to get an up-to-date @file{configure} |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
443 script: |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
444 |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
445 @example |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
446 ] @strong{cd ~/@value{emacsdir}/tramp} |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
447 ] @strong{autoconf} |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
448 @end example |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
449 |
81759 | 450 People who have no direct CVS access (maybe because sitting behind a |
451 blocking firewall), can try the | |
452 @uref{http://savannah.gnu.org/cvs-backup/tramp-sources.tar.gz, Nightly | |
453 CVS Tree Tarball} instead of. | |
454 | |
45861 | 455 |
456 @node History | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
457 @chapter History of @value{tramp} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
458 @cindex history |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
459 @cindex development history |
45861 | 460 |
461 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
|
462 @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
|
463 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
|
464 @command{scp} to transfer the file contents. After a while, the name |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
465 was changed to @file{rcp.el}, and now it's @value{tramp}. Along the way, |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
466 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
|
467 file contents were added. Support for VC was added. |
45861 | 468 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
469 The most recent addition of major features were the multi-hop methods |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
470 added in April 2000 and the unification of @value{tramp} and Ange-FTP |
81759 | 471 filenames in July 2002. In July 2004, multi-hop methods have been |
472 replaced by proxy hosts. Running commands on remote hosts was | |
473 introduced in December 2005. | |
474 @ifset emacsgw | |
475 Support of gateways exists since April 2007. | |
476 @end ifset | |
477 | |
478 In December 2001, @value{tramp} has been added to the XEmacs package | |
479 repository. Being part of the GNU Emacs repository happened in June | |
480 2002, the first release including @value{tramp} was GNU Emacs 22.1. | |
481 | |
482 @value{tramp} is also a GNU/Linux Debian package since February 2001. | |
483 | |
45861 | 484 |
50495
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
485 @c Installation chapter is necessary only in case of standalone |
cf8b9e443180
2003-04-08 Michael Albinus <Michael.Albinus@alcatel.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50342
diff
changeset
|
486 @c installation. Text taken from trampinst.texi. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
487 @ifset installchapter |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
488 @include trampinst.texi |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
489 @end ifset |
45861 | 490 |
491 @node Configuration | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
492 @chapter Configuring @value{tramp} for use |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
493 @cindex configuration |
45861 | 494 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
495 @cindex default configuration |
73808
2889a065b1d4
* lisp/net/tramp.el (tramp-default-method): scp is the default method.
Michael Albinus <michael.albinus@gmx.de>
parents:
73425
diff
changeset
|
496 @value{tramp} is (normally) fully functional when it is initially |
2889a065b1d4
* lisp/net/tramp.el (tramp-default-method): scp is the default method.
Michael Albinus <michael.albinus@gmx.de>
parents:
73425
diff
changeset
|
497 installed. It is initially configured to use the @command{scp} |
2889a065b1d4
* lisp/net/tramp.el (tramp-default-method): scp is the default method.
Michael Albinus <michael.albinus@gmx.de>
parents:
73425
diff
changeset
|
498 program to connect to the remote host. So in the easiest case, you |
2889a065b1d4
* lisp/net/tramp.el (tramp-default-method): scp is the default method.
Michael Albinus <michael.albinus@gmx.de>
parents:
73425
diff
changeset
|
499 just type @kbd{C-x C-f} and then enter the filename |
81759 | 500 @file{@trampfnuhl{user, machine, /path/to.file}}. |
45861 | 501 |
502 On some hosts, there are problems with opening a connection. These are | |
503 related to the behavior of the remote shell. See @xref{Remote shell | |
504 setup}, for details on this. | |
505 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
506 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
|
507 host, you should change the default connection and transfer method |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
508 that @value{tramp} uses. There are several different methods that @value{tramp} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
509 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
|
510 (@pxref{Connection types}). |
45861 | 511 |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
512 If you don't know which method is right for you, see @xref{Default |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
513 Method}. |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
514 |
45861 | 515 |
516 @menu | |
517 * Connection types:: Types of connections made to remote machines. | |
518 * Inline methods:: Inline methods. | |
519 * External transfer methods:: External transfer methods. | |
81759 | 520 @ifset emacsgw |
521 * Gateway methods:: Gateway methods. | |
522 @end ifset | |
45861 | 523 * Default Method:: Selecting a default method. |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
524 Here we also try to help those who |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
525 don't have the foggiest which method |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
526 is right for them. |
81759 | 527 * Default User:: Selecting a default user. |
528 * Default Host:: Selecting a default host. | |
529 * Multi-hops:: Connecting to a remote host using multiple hops. | |
45861 | 530 * Customizing Methods:: Using Non-Standard Methods. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
531 * Customizing Completion:: Selecting config files for user/host name completion. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
532 * Password caching:: Reusing passwords for several connections. |
81759 | 533 * Connection caching:: Reusing connection related information. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
534 * Remote Programs:: How @value{tramp} finds and uses programs on the remote machine. |
45861 | 535 * Remote shell setup:: Remote shell setup hints. |
536 * Windows setup hints:: Issues with Cygwin ssh. | |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
537 * Auto-save and Backup:: Auto-save and Backup. |
45861 | 538 @end menu |
539 | |
540 | |
541 @node Connection types | |
542 @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
|
543 @cindex connection types, overview |
45861 | 544 |
545 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
|
546 advantages and limitations. Both types of connection make use of a |
45861 | 547 remote shell access program such as @command{rsh}, @command{ssh} or |
548 @command{telnet} to connect to the remote machine. | |
549 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
550 This connection is used to perform many of the operations that @value{tramp} |
45861 | 551 requires to make the remote file system transparently accessible from |
81759 | 552 the local machine. It is only when visiting files that the methods |
45861 | 553 differ. |
554 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
555 @cindex inline methods |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
556 @cindex external transfer methods |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
557 @cindex external methods |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
558 @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
|
559 @cindex methods, inline |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
560 @cindex methods, external transfer |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
561 @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
|
562 Loading or saving a remote file requires that the content of the file |
81759 | 563 be transfered between the two machines. The content of the file can be |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
564 transfered over the same connection used to log in to the remote |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
565 machine or the file can be transfered 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
|
566 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
|
567 @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
|
568 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
|
569 methods} (@dfn{external methods} for short). |
45861 | 570 |
571 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
|
572 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
|
573 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
|
574 inline. |
45861 | 575 |
576 The one exception to this rule are the @command{scp} based transfer | |
577 methods. While these methods do see better performance when actually | |
578 transferring files, the overhead of the cryptographic negotiation at | |
579 startup may drown out the improvement in file transfer times. | |
580 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
581 External transfer methods should be configured such a way that they |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
582 don't require a password (with @command{ssh-agent}, or such alike). |
81759 | 583 Modern @command{scp} implementations offer options to reuse existing |
584 @command{ssh} connections, see method @command{scpc}. If it isn't | |
585 possible, you should consider @ref{Password caching}, otherwise you | |
586 will be prompted for a password every copy action. | |
45861 | 587 |
588 | |
589 @node Inline methods | |
590 @section Inline methods | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
591 @cindex inline methods |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
592 @cindex methods, inline |
45861 | 593 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
594 The inline methods in @value{tramp} are quite powerful and can work in |
45861 | 595 situations where you cannot use an external transfer program to connect. |
596 Inline methods are the only methods that work when connecting to the | |
597 remote machine via telnet. (There are also strange inline methods which | |
598 allow you to transfer files between @emph{user identities} rather than | |
599 hosts, see below.) | |
600 | |
601 These methods depend on the existence of a suitable encoding and | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
602 decoding command on remote machine. Locally, @value{tramp} may be able to |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
603 use features of @value{emacsname} to decode and encode the files or |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
604 it may require access to external commands to perform that task. |
45861 | 605 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
606 @cindex uuencode |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
607 @cindex mimencode |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
608 @cindex base-64 encoding |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
609 @value{tramp} checks the availability and usability of commands like |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
610 @command{mimencode} (part of the @command{metamail} package) or |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
611 @command{uuencode} on the remote host. The first reliable command |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
612 will be used. The search path can be customized, see @ref{Remote |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
613 Programs}. |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
614 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
615 If both commands aren't available on the remote host, @value{tramp} |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
616 transfers a small piece of Perl code to the remote host, and tries to |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
617 apply it for encoding and decoding. |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
618 |
45861 | 619 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
620 @table @asis |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
621 @item @option{rsh} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
622 @cindex method rsh |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
623 @cindex rsh method |
45861 | 624 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
625 Connect to the remote host with @command{rsh}. Due to the unsecure |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
626 connection it is recommended for very local host topology only. |
45861 | 627 |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
628 On operating systems which provide the command @command{remsh} instead |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
629 of @command{rsh}, you can use the method @option{remsh}. This is true |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
630 for HP-UX or Cray UNICOS, for example. |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
631 |
45861 | 632 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
633 @item @option{ssh} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
634 @cindex method ssh |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
635 @cindex ssh method |
45861 | 636 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
637 Connect to the remote host with @command{ssh}. This is identical to |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
638 the previous option except that the @command{ssh} package is used, |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
639 making the connection more secure. |
45861 | 640 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
641 There are also two variants, @option{ssh1} and @option{ssh2}, that |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
642 call @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can |
46584
f548d7d0c651
Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46366
diff
changeset
|
643 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
|
644 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
|
645 @file{~/.ssh/config}, the SSH configuration file, which protocol |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
646 should be used, and use the regular @option{ssh} method.) |
46584
f548d7d0c651
Bump version to 2.0.2.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46366
diff
changeset
|
647 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
648 Two other variants, @option{ssh1_old} and @option{ssh2_old}, use the |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
649 @command{ssh1} and @command{ssh2} commands explicitly. If you don't |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
650 know what these are, you do not need these options. |
45861 | 651 |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
652 All the methods based on @command{ssh} have an additional kludgy |
46010
d07b0e5f80b9
(tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
45979
diff
changeset
|
653 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
|
654 (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
|
655 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
|
656 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
|
657 |
45861 | 658 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
659 @item @option{telnet} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
660 @cindex method telnet |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
661 @cindex telnet method |
45861 | 662 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
663 Connect to the remote host with @command{telnet}. This is as unsecure |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
664 as the @option{rsh} method. |
45861 | 665 |
666 | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
667 @item @option{su} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
668 @cindex method su |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
669 @cindex su method |
45861 | 670 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
671 This method does not connect to a remote host at all, rather it uses |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
672 the @command{su} program to allow you to edit files as another user. |
81759 | 673 With other words, a specified host name in the file name is silently |
674 ignored. | |
45861 | 675 |
676 | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
677 @item @option{sudo} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
678 @cindex method sudo |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
679 @cindex sudo method |
45861 | 680 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
681 This is similar to the @option{su} method, but it uses @command{sudo} |
45861 | 682 rather than @command{su} to become a different user. |
683 | |
684 Note that @command{sudo} must be configured to allow you to start a | |
685 shell as the user. It would be nice if it was sufficient if | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
686 @command{ls} and @command{mimencode} were allowed, but that is not |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
687 easy to implement, so I haven't got around to it, yet. |
45861 | 688 |
689 | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
690 @item @option{sshx} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
691 @cindex method sshx |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
692 @cindex sshx method |
45861 | 693 |
52869
4c969f6bcb01
(Inline methods): Small grammar fix.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52401
diff
changeset
|
694 As you would expect, this is similar to @option{ssh}, only a little |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
695 different. Whereas @option{ssh} 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
|
696 the remote host, this option uses @samp{ssh -t -t @var{host} -l |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
697 @var{user} /bin/sh} to open a connection. This is useful for users |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
698 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
|
699 questions when logging in. This procedure avoids these questions, and |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
700 just gives @value{tramp} a more-or-less `standard' login shell to work |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
701 with. |
45861 | 702 |
46346
49f06e689a20
* files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46010
diff
changeset
|
703 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
|
704 @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
|
705 sure you want to continue connecting?'' if the host key of the remote |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
706 host is not known. @value{tramp} does not know how to deal with such a |
46346
49f06e689a20
* files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46010
diff
changeset
|
707 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
|
708 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
|
709 |
45861 | 710 This is also useful for Windows users where @command{ssh}, when |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
711 invoked from an @value{emacsname} buffer, tells them that it is not |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
712 allocating a pseudo tty. When this happens, the login shell is wont |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
713 to not print any shell prompt, which confuses @value{tramp} mightily. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
714 For reasons unknown, some Windows ports for @command{ssh} require the |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
715 doubled @samp{-t} option. |
45861 | 716 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
717 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
|
718 |
45861 | 719 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
720 @item @option{krlogin} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
721 @cindex method krlogin |
81759 | 722 @cindex krlogin method |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
723 @cindex Kerberos (with krlogin method) |
45861 | 724 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
725 This method is also similar to @option{ssh}. It only uses the |
45861 | 726 @command{krlogin -x} command to log in to the remote host. |
727 | |
728 | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
729 @item @option{plink} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
730 @cindex method plink |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
731 @cindex plink method |
45861 | 732 |
733 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
|
734 implementation of SSH. It uses @samp{plink -ssh} to log in to the |
45861 | 735 remote host. |
736 | |
81759 | 737 This supports the @samp{-P} kludge. |
738 | |
739 Additionally, the methods @option{plink1} and @option{plink2} are | |
740 provided, which call @samp{plink -1 -ssh} or @samp{plink -2 -ssh} in | |
741 order to use SSH protocol version 1 or 2 explicitly. | |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
742 |
45861 | 743 CCC: Do we have to connect to the remote host once from the command |
744 line to accept the SSH key? Maybe this can be made automatic? | |
745 | |
81759 | 746 CCC: Say something about the first shell command failing. This might |
747 be due to a wrong setting of @code{tramp-rsh-end-of-line}. | |
748 | |
749 | |
750 @item @option{plinkx} | |
751 @cindex method plinkx | |
752 @cindex plinkx method | |
753 | |
754 Another method using PuTTY on Windows. Instead of host names, it | |
755 expects PuTTY session names, calling @samp{plink -load @var{session} | |
756 -t"}. User names are relevant only in case the corresponding session | |
757 hasn't defined a user name. Different port numbers must be defined in | |
758 the session. | |
759 | |
760 | |
761 @item @option{fish} | |
762 @cindex method fish | |
763 @cindex fish method | |
764 | |
765 This is an experimental implementation of the fish protocol, known from | |
766 the GNU Midnight Commander or the KDE Konqueror. @value{tramp} expects | |
767 the fish server implementation from the KDE kioslave. That means, the | |
768 file @file{~/.fishsrv.pl} is expected to reside on the remote host. | |
769 | |
770 The implementation lacks good performance. The code is offered anyway, | |
771 maybe somebody can improve the performance. | |
46010
d07b0e5f80b9
(tramp-open-connection-rsh): Support a kludgy feature for the
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
45979
diff
changeset
|
772 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
773 @end table |
45861 | 774 |
775 | |
776 @node External transfer methods | |
777 @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
|
778 @cindex methods, external transfer |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
779 @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
|
780 @cindex external transfer methods |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
781 @cindex out-of-band methods |
45861 | 782 |
783 The external transfer methods operate through multiple channels, using | |
784 the remote shell connection for many actions while delegating file | |
785 transfers to an external transfer utility. | |
786 | |
787 This saves the overhead of encoding and decoding that multiplexing the | |
788 transfer through the one connection has with the inline methods. | |
789 | |
81759 | 790 Since external transfer methods need their own overhead opening a new |
791 channel, all files which are smaller than @var{tramp-copy-size-limit} | |
792 are still transferred with the corresponding inline method. It should | |
793 provide a fair trade-off between both approaches. | |
45861 | 794 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
795 @table @asis |
45861 | 796 @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
|
797 @cindex method rcp |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
798 @cindex rcp method |
46366 | 799 @cindex rcp (with rcp method) |
800 @cindex rsh (with rcp method) | |
45861 | 801 |
802 This method uses the @command{rsh} and @command{rcp} commands to connect | |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
803 to the remote machine and transfer files. This is probably the fastest |
45861 | 804 connection method available. |
805 | |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
806 The alternative method @option{remcp} uses the @command{remsh} and |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
807 @command{rcp} commands. It should be applied on machines where |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
808 @command{remsh} is used instead of @command{rsh}. |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
809 |
45861 | 810 |
811 @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
|
812 @cindex method scp |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
813 @cindex scp method |
46366 | 814 @cindex scp (with scp method) |
815 @cindex ssh (with scp method) | |
45861 | 816 |
817 Using @command{ssh} to connect to the remote host and @command{scp} to | |
818 transfer files between the machines is the best method for securely | |
819 connecting to a remote machine and accessing files. | |
820 | |
81759 | 821 The performance of this option is also quite good. It may be slower than |
45861 | 822 the inline methods when you often open and close small files however. |
823 The cost of the cryptographic handshake at the start of an @command{scp} | |
824 session can begin to absorb the advantage that the lack of encoding and | |
825 decoding presents. | |
826 | |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
827 There are also two variants, @option{scp1} and @option{scp2}, that |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
828 call @samp{ssh -1} and @samp{ssh -2}, respectively. This way, you can |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
829 explicitly select whether you want to use the SSH protocol version 1 |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
830 or 2 to connect to the remote host. (You can also specify in |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
831 @file{~/.ssh/config}, the SSH configuration file, which protocol |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
832 should be used, and use the regular @option{scp} method.) |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
833 |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
834 Two other variants, @option{scp1_old} and @option{scp2_old}, use the |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
835 @command{ssh1} and @command{ssh2} commands explicitly. If you don't |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
836 know what these are, you do not need these options. |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
837 |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
838 All the @command{ssh} based methods support the kludgy @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
|
839 feature where you can specify a port number to connect to in the host |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
840 name. For example, the host name @file{host#42} tells @value{tramp} to |
81759 | 841 specify @samp{-p 42} in the argument list for @command{ssh}, and to |
842 specify @samp{-P 42} in the argument list for @command{scp}. | |
843 | |
844 | |
845 @item @option{sftp} --- @command{ssh} and @command{sftp} | |
846 @cindex method sftp | |
847 @cindex sftp method | |
848 @cindex sftp (with sftp method) | |
849 @cindex ssh (with sftp method) | |
850 | |
851 That is mostly the same method as @option{scp}, but using | |
852 @command{sftp} as transfer command. So the same remarks are valid. | |
853 | |
854 This command does not work like @value{ftppackagename}, where | |
855 @command{ftp} is called interactively, and all commands are send from | |
856 within this session. Instead of, @command{ssh} is used for login. | |
857 | |
858 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
|
859 |
45861 | 860 |
861 @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
|
862 @cindex method rsync |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
863 @cindex rsync method |
46366 | 864 @cindex rsync (with rsync method) |
865 @cindex ssh (with rsync method) | |
45861 | 866 |
867 Using the @command{ssh} command to connect securely to the remote | |
868 machine and the @command{rsync} command to transfer files is almost | |
869 identical to the @option{scp} method. | |
870 | |
871 While @command{rsync} performs much better than @command{scp} when | |
872 transferring files that exist on both hosts, this advantage is lost if | |
873 the file exists only on one side of the connection. | |
874 | |
875 The @command{rsync} based method may be considerably faster than the | |
81759 | 876 @command{rcp} based methods when writing to the remote system. Reading |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
877 files to the local machine is no faster than with a direct copy. |
45861 | 878 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
879 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
|
880 |
45861 | 881 |
882 @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
|
883 @cindex method scpx |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
884 @cindex scpx method |
46366 | 885 @cindex scp (with scpx method) |
886 @cindex ssh (with scpx method) | |
45861 | 887 |
52871
f0730b222101
(External transfer methods): Small grammar fix.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52869
diff
changeset
|
888 As you would 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
|
889 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
|
890 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
|
891 @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
|
892 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
|
893 questions when logging in. This procedure avoids these questions, and |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
894 just gives @value{tramp} a more-or-less `standard' login shell to work |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
895 with. |
45861 | 896 |
897 This is also useful for Windows users where @command{ssh}, when | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
898 invoked from an @value{emacsname} buffer, tells them that it is not |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
899 allocating a pseudo tty. When this happens, the login shell is wont |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
900 to not print any shell prompt, which confuses @value{tramp} mightily. |
45861 | 901 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
902 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
|
903 |
45861 | 904 |
74738
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
905 @item @option{scpc} --- @command{ssh} and @command{scp} |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
906 @cindex method scpx |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
907 @cindex scpx method |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
908 @cindex scp (with scpx method) |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
909 @cindex ssh (with scpx method) |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
910 |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
911 Newer versions of @option{ssh} (for example OpenSSH 4) offer an option |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
912 @option{ControlMaster}. This allows @option{scp} to reuse an existing |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
913 @option{ssh} channel, which increases performance. |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
914 |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
915 Before you use this method, you shall check whether your @option{ssh} |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
916 implementation does support this option. Try from the command line |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
917 |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
918 @example |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
919 ssh localhost -o ControlMaster=yes |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
920 @end example |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
921 |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
922 This method supports the @samp{-p} hack. |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
923 |
1f9822a38f41
* tramp.texi (External transfer methods): Describe new method `scpc'.
Michael Albinus <michael.albinus@gmx.de>
parents:
73808
diff
changeset
|
924 |
45861 | 925 @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
|
926 @cindex method pscp |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
927 @cindex pscp method |
46366 | 928 @cindex pscp (with pscp method) |
929 @cindex plink (with pscp method) | |
930 @cindex PuTTY (with pscp method) | |
45861 | 931 |
932 This method is similar to @option{scp}, but it uses the | |
933 @command{plink} command to connect to the remote host, and it uses | |
934 @command{pscp} for transferring the files. These programs are part | |
935 of PuTTY, an SSH implementation for Windows. | |
936 | |
81759 | 937 This method supports the @samp{-P} hack. |
938 | |
939 | |
940 @item @option{psftp} --- @command{plink} and @command{psftp} | |
941 @cindex method psftp | |
942 @cindex psftp method | |
943 @cindex psftp (with psftp method) | |
944 @cindex plink (with psftp method) | |
945 @cindex PuTTY (with psftp method) | |
946 | |
947 As you would expect, this method is similar to @option{sftp}, but it | |
948 uses the @command{plink} command to connect to the remote host, and it | |
949 uses @command{psftp} for transferring the files. These programs are | |
950 part of PuTTY, an SSH implementation for Windows. | |
951 | |
952 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
|
953 |
45861 | 954 |
955 @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
|
956 @cindex method fcp |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
957 @cindex fcp method |
46366 | 958 @cindex fsh (with fcp method) |
959 @cindex fcp (with fcp method) | |
45861 | 960 |
961 This method is similar to @option{scp}, but it uses the @command{fsh} | |
962 command to connect to the remote host, and it uses @command{fcp} for | |
963 transferring the files. @command{fsh/fcp} are a front-end for | |
964 @command{ssh} which allow for reusing the same @command{ssh} session | |
965 for submitting several commands. This avoids the startup overhead of | |
966 @command{scp} (which has to establish a secure connection whenever it | |
967 is called). Note, however, that you can also use one of the inline | |
968 methods to achieve a similar effect. | |
969 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
970 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
|
971 /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
|
972 @command{fsh @var{host} -l @var{user}}. |
45861 | 973 |
46366 | 974 @cindex method fsh |
975 @cindex fsh method | |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
976 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
977 There is no inline method using @command{fsh} as the multiplexing |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
978 provided by the program is not very useful in our context. @value{tramp} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
979 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
|
980 anyway. |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
981 |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
982 |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
983 @item @option{ftp} |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
984 @cindex method ftp |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
985 @cindex ftp method |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
986 |
81759 | 987 This is not a native @value{tramp} method. Instead of, it forwards all |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
988 requests to @value{ftppackagename}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
989 @ifset xemacs |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
990 This works only for unified filenames, see @ref{Issues}. |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
991 @end ifset |
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
992 |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
993 |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
994 @item @option{smb} --- @command{smbclient} |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
995 @cindex method smb |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
996 @cindex smb method |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
997 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
998 This is another not natural @value{tramp} method. It uses the |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
999 @command{smbclient} command on different Unices in order to connect to |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1000 an SMB server. An SMB server might be a Samba (or CIFS) server on |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1001 another UNIX host or, more interesting, a host running MS Windows. So |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1002 far, it is tested towards MS Windows NT, MS Windows 2000, and MS |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1003 Windows XP. |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1004 |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
1005 The first directory in the localname must be a share name on the remote |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1006 host. Remember, that the @code{$} character in which default shares |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1007 usually end, must be written @code{$$} due to environment variable |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1008 substitution in file names. If no share name is given (i.e. remote |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1009 directory @code{/}), all available shares are listed. |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1010 |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1011 Since authorization is done on share level, you will be prompted |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1012 always for a password if you access another share on the same host. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1013 This can be suppressed by @ref{Password caching}. |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1014 |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1015 MS Windows uses for authorization both a user name and a domain name. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1016 Because of this, the @value{tramp} syntax has been extended: you can |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1017 specify a user name which looks like @code{user%domain} (the real user |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1018 name, then a percent sign, then the domain name). So, to connect to |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1019 the machine @code{melancholia} as user @code{daniel} of the domain |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1020 @code{BIZARRE}, and edit @file{.emacs} in the home directory (share |
81759 | 1021 @code{daniel$}) I would specify the filename @file{@trampfn{smb, |
1022 daniel%BIZARRE, melancholia, /daniel$$/.emacs}}. | |
1023 | |
1024 Depending on the Windows domain configuration, a Windows user might be | |
1025 considered as domain user per default. In order to connect as local | |
1026 user, the WINS name of that machine must be given as domain name. | |
1027 Usually, it is the machine name in capital letters. In the example | |
1028 above, the local user @code{daniel} would be specified as | |
1029 @file{@trampfn{smb, daniel%MELANCHOLIA, melancholia, /daniel$$/.emacs}}. | |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1030 |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1031 The domain name as well as the user name are optional. If no user |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1032 name is specified at all, the anonymous user (without password |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1033 prompting) is assumed. This is different from all other @value{tramp} |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1034 methods, where in such a case the local user name is taken. |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1035 |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1036 The @option{smb} method supports the @samp{-p} hack. |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1037 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1038 @strong{Please note:} If @value{emacsname} runs locally under MS |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1039 Windows, this method isn't available. Instead of, you can use UNC |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1040 file names like @file{//melancholia/daniel$$/.emacs}. The only |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1041 disadvantage is that there's no possibility to specify another user |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1042 name. |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1043 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1044 @end table |
45861 | 1045 |
81759 | 1046 |
1047 @ifset emacsgw | |
1048 @node Gateway methods | |
1049 @section Gateway methods | |
1050 @cindex methods, gateway | |
1051 @cindex gateway methods | |
1052 | |
1053 Gateway methods are not methods to access a remote host directly. | |
1054 These methods are intended to pass firewalls or proxy servers. | |
1055 Therefore, they can be used for proxy host declarations | |
1056 (@pxref{Multi-hops}) only. | |
1057 | |
1058 A gateway method must come always along with a method who supports | |
1059 port setting (referred to as @samp{-p} kludge). This is because | |
1060 @value{tramp} targets the accompanied method to | |
1061 @file{localhost#random_port}, from where the firewall or proxy server | |
1062 is accessed to. | |
1063 | |
1064 Gateway methods support user name and password declarations. These | |
1065 are used to authenticate towards the corresponding firewall or proxy | |
1066 server. They can be passed only if your friendly administrator has | |
1067 granted your access. | |
1068 | |
1069 @table @asis | |
1070 @item @option{tunnel} | |
1071 @cindex method tunnel | |
1072 @cindex tunnel method | |
1073 | |
1074 This method implements an HTTP tunnel via the @command{CONNECT} | |
1075 command (see RFC 2616, 2817). Any HTTP 1.1 compliant (proxy) server | |
1076 shall support this command. | |
1077 | |
1078 As authentication method, only @option{Basic Authentication} (see RFC | |
1079 2617) is implemented so far. If no port number is given in the | |
1080 declaration, port @option{8080} is used for the proxy server. | |
1081 | |
1082 | |
1083 @item @option{socks} | |
1084 @cindex method socks | |
1085 @cindex socks method | |
1086 | |
1087 The @command{socks} method provides access to SOCKSv5 servers (see | |
1088 RFC 1928). @option{Username/Password Authentication} according to RFC | |
1089 1929 is supported. | |
1090 | |
1091 The default port number of the socks server is @option{1080}, if not | |
1092 specified otherwise. | |
45861 | 1093 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1094 @end table |
81759 | 1095 @end ifset |
45861 | 1096 |
1097 | |
1098 @node Default Method | |
1099 @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
|
1100 @cindex default method |
45861 | 1101 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1102 @vindex tramp-default-method |
45861 | 1103 When you select an appropriate transfer method for your typical usage |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1104 you should set the variable @code{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
|
1105 choice. This variable controls which method will be used when a method |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1106 is not specified in the @value{tramp} file name. For example: |
45861 | 1107 |
1108 @lisp | |
73808
2889a065b1d4
* lisp/net/tramp.el (tramp-default-method): scp is the default method.
Michael Albinus <michael.albinus@gmx.de>
parents:
73425
diff
changeset
|
1109 (setq tramp-default-method "ssh") |
45861 | 1110 @end lisp |
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-alist |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1113 You can also specify different methods for certain user/host |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1114 combinations, via the variable @code{tramp-default-method-alist}. For |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
1115 example, the following two lines specify to use the @option{ssh} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1116 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
|
1117 method for all host names matching @samp{lily}. The third line |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
1118 specifies to use the @option{su} method for the user @samp{root} on |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1119 the machine @samp{localhost}. |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1120 |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1121 @lisp |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
1122 (add-to-list 'tramp-default-method-alist '("" "john" "ssh")) |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1123 (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
|
1124 (add-to-list 'tramp-default-method-alist |
47772
e2d9dd69445b
Move @copying to standard place. Use
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47578
diff
changeset
|
1125 '("\\`localhost\\'" "\\`root\\'" "su")) |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1126 @end lisp |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1127 |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1128 @noindent |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1129 See the documentation for the variable |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1130 @code{tramp-default-method-alist} for more details. |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1131 |
45861 | 1132 External transfer methods are normally preferable to inline transfer |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1133 methods, giving better performance. |
45861 | 1134 |
1135 @xref{Inline methods}. | |
1136 @xref{External transfer methods}. | |
1137 | |
1138 Another consideration with the selection of transfer methods is the | |
1139 environment you will use them in and, especially when used over the | |
1140 Internet, the security implications of your preferred method. | |
1141 | |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1142 The @option{rsh} and @option{telnet} methods send your password as |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1143 plain text as you log in to the remote machine, as well as |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1144 transferring the files in such a way that the content can easily be |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1145 read from other machines. |
45861 | 1146 |
1147 If you need to connect to remote systems that are accessible from the | |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1148 Internet, you should give serious thought to using @option{ssh} based |
81759 | 1149 methods to connect. These provide a much higher level of security, |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1150 making it a non-trivial exercise for someone to obtain your password |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1151 or read the content of the files you are editing. |
45861 | 1152 |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1153 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1154 @subsection Which method is the right one for me? |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1155 @cindex choosing the right method |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1156 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1157 Given all of the above, you are probably thinking that this is all fine |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1158 and good, but it's not helping you to choose a method! Right you are. |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1159 As a developer, we don't want to boss our users around but give them |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1160 maximum freedom instead. However, the reality is that some users would |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1161 like to have some guidance, so here I'll try to give you this guidance |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1162 without bossing you around. You tell me whether it works @dots{} |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1163 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1164 My suggestion is to use an inline method. For large files, out-of-band |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1165 methods might be more efficient, but I guess that most people will want |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1166 to edit mostly small files. |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1167 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1168 I guess that these days, most people can access a remote machine by |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1169 using @command{ssh}. So I suggest that you use the @option{ssh} |
81759 | 1170 method. So, type @kbd{C-x C-f @trampfn{ssh, root, otherhost, |
1171 /etc/motd} @key{RET}} to edit the @file{/etc/motd} file on the other | |
1172 host. | |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1173 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1174 If you can't use @option{ssh} to log in to the remote host, then |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1175 select a method that uses a program that works. For instance, Windows |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1176 users might like the @option{plink} method which uses the PuTTY |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1177 implementation of @command{ssh}. Or you use Kerberos and thus like |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1178 @option{krlogin}. |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1179 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1180 For the special case of editing files on the local host as another |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1181 user, see the @option{su} or @option{sudo} methods. They offer |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1182 shortened syntax for the @samp{root} account, like |
81759 | 1183 @file{@trampfnmhl{su, , /etc/motd}}. |
1184 | |
1185 People who edit large files may want to consider @option{scpc} instead | |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1186 of @option{ssh}, or @option{pscp} instead of @option{plink}. These |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1187 out-of-band methods are faster than inline methods for large files. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1188 Note, however, that out-of-band methods suffer from some limitations. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1189 Please try first whether you really get a noticeable speed advantage |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1190 from using an out-of-band method! Maybe even for large files, inline |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1191 methods are fast enough. |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1192 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1193 |
81759 | 1194 @node Default User |
1195 @section Selecting a default user | |
1196 @cindex default user | |
1197 | |
1198 The user part of a @value{tramp} file name can be omitted. Usually, | |
1199 it is replaced by the user name you are logged in. Often, this is not | |
1200 what you want. A typical use of @value{tramp} might be to edit some | |
1201 files with root permissions on the local host. This case, you should | |
1202 set the variable @code{tramp-default-user} to reflect that choice. | |
1203 For example: | |
1204 | |
1205 @lisp | |
1206 (setq tramp-default-user "root") | |
1207 @end lisp | |
1208 | |
1209 @code{tramp-default-user} is regarded as obsolete, and will be removed | |
1210 soon. | |
1211 | |
1212 @vindex tramp-default-user-alist | |
1213 You can also specify different users for certain method/host | |
1214 combinations, via the variable @code{tramp-default-user-alist}. For | |
1215 example, if you always have to use the user @samp{john} in the domain | |
1216 @samp{somewhere.else}, you can specify the following: | |
1217 | |
1218 @lisp | |
1219 (add-to-list 'tramp-default-user-alist | |
1220 '("ssh" ".*\\.somewhere\\.else\\'" "john")) | |
1221 @end lisp | |
1222 | |
1223 @noindent | |
1224 See the documentation for the variable | |
1225 @code{tramp-default-user-alist} for more details. | |
1226 | |
1227 One trap to fall in must be known. If @value{tramp} finds a default | |
1228 user, this user will be passed always to the connection command as | |
1229 parameter (for example @samp{ssh here.somewhere.else -l john}. If you | |
1230 have specified another user for your command in its configuration | |
1231 files, @value{tramp} cannot know it, and the remote access will fail. | |
1232 If you have specified in the given example in @file{~/.ssh/config} the | |
1233 lines | |
1234 | |
1235 @example | |
1236 Host here.somewhere.else | |
1237 User lily | |
1238 @end example | |
1239 | |
1240 @noindent | |
1241 than you must discard selecting a default user by @value{tramp}. This | |
1242 will be done by setting it to @code{nil} (or @samp{lily}, likewise): | |
1243 | |
1244 @lisp | |
1245 (add-to-list 'tramp-default-user-alist | |
1246 '("ssh" "\\`here\\.somewhere\\.else\\'" nil)) | |
1247 @end lisp | |
1248 | |
1249 The last entry in @code{tramp-default-user-alist} could be your | |
1250 default user you'll apply predominantly. You shall @emph{append} it | |
1251 to that list at the end: | |
1252 | |
1253 @lisp | |
1254 (add-to-list 'tramp-default-user-alist '(nil nil "jonas") t) | |
1255 @end lisp | |
1256 | |
1257 | |
1258 @node Default Host | |
1259 @section Selecting a default host | |
1260 @cindex default host | |
1261 | |
1262 @vindex tramp-default-host | |
1263 Finally, it is even possible to omit the host name part of a | |
1264 @value{tramp} file name. This case, the value of the variable | |
1265 @code{tramp-default-host} is used. Per default, it is initialized | |
1266 with the host name your local @value{emacsname} is running. | |
1267 | |
1268 If you, for example, use @value{tramp} mainly to contact the host | |
1269 @samp{target} as user @samp{john}, you can specify: | |
1270 | |
1271 @lisp | |
1272 (setq tramp-default-user "john" | |
1273 tramp-default-host "target") | |
1274 @end lisp | |
1275 | |
1276 Then the simple file name @samp{@trampfnmhl{ssh,,}} will connect you | |
1277 to John's home directory on target. | |
1278 @ifset emacs | |
1279 Note, however, that the most simplification @samp{@trampfnmhl{,,}} | |
1280 won't work, because @samp{/:} is the prefix for quoted file names. | |
1281 @end ifset | |
1282 | |
1283 | |
1284 @node Multi-hops | |
1285 @section Connecting to a remote host using multiple hops | |
1286 @cindex multi-hop | |
1287 @cindex proxy hosts | |
1288 | |
1289 Sometimes, the methods described before are not sufficient. Sometimes, | |
1290 it is not possible to connect to a remote host using a simple command. | |
1291 For example, if you are in a secured network, you might have to log in | |
1292 to a `bastion host' first before you can connect to the outside world. | |
1293 Of course, the target host may also require a bastion host. | |
1294 | |
1295 @vindex tramp-default-proxies-alist | |
1296 In order to specify such multiple hops, it is possible to define a proxy | |
1297 host to pass through, via the variable | |
1298 @code{tramp-default-proxies-alist}. This variable keeps a list of | |
1299 triples (@var{host} @var{user} @var{proxy}). | |
1300 | |
1301 The first matching item specifies the proxy host to be passed for a | |
1302 file name located on a remote target matching @var{user}@@@var{host}. | |
1303 @var{host} and @var{user} are regular expressions or @code{nil}, which | |
1304 is interpreted as a regular expression which always matches. | |
1305 | |
1306 @var{proxy} must be a Tramp filename which localname part is ignored. | |
1307 Method and user name on @var{proxy} are optional, which is interpreted | |
1308 with the default values. | |
1309 @ifset emacsgw | |
1310 The method must be an inline or gateway method (@pxref{Inline | |
1311 methods}, @pxref{Gateway methods}). | |
1312 @end ifset | |
1313 @ifclear emacsgw | |
1314 The method must be an inline method (@pxref{Inline methods}). | |
1315 @end ifclear | |
1316 If @var{proxy} is @code{nil}, no additional hop is required reaching | |
1317 @var{user}@@@var{host}. | |
1318 | |
1319 If you, for example, must pass the host @samp{bastion.your.domain} as | |
1320 user @samp{bird} for any remote host which is not located in your local | |
1321 domain, you can set | |
1322 | |
1323 @lisp | |
1324 (add-to-list 'tramp-default-proxies-alist | |
1325 '("\\." nil "@trampfn{ssh, bird, bastion.your.domain,}")) | |
1326 (add-to-list 'tramp-default-proxies-alist | |
1327 '("\\.your\\.domain\\'" nil nil)) | |
1328 @end lisp | |
1329 | |
1330 Please note the order of the code. @code{add-to-list} adds elements at the | |
1331 beginning of a list. Therefore, most relevant rules must be added last. | |
1332 | |
1333 Proxy hosts can be cascaded. If there is another host called | |
1334 @samp{jump.your.domain}, which is the only one in your local domain who | |
1335 is allowed connecting @samp{bastion.your.domain}, you can add another | |
1336 rule: | |
1337 | |
1338 @lisp | |
1339 (add-to-list 'tramp-default-proxies-alist | |
1340 '("\\`bastion\\.your\\.domain\\'" | |
1341 "\\`bird\\'" | |
1342 "@trampfnmhl{ssh, jump.your.domain,}")) | |
1343 @end lisp | |
1344 | |
1345 @var{proxy} can contain the patterns @code{%h} or @code{%u}. These | |
1346 patterns are replaced by the strings matching @var{host} or | |
1347 @var{user}, respectively. | |
1348 | |
1349 If you, for example, wants to work as @samp{root} on hosts in the | |
1350 domain @samp{your.domain}, but login as @samp{root} is disabled for | |
1351 non-local access, you might add the following rule: | |
1352 | |
1353 @lisp | |
1354 (add-to-list 'tramp-default-proxies-alist | |
1355 '("\\.your\\.domain\\'" "\\`root\\'" "@trampfnmhl{ssh, %h,}")) | |
1356 @end lisp | |
1357 | |
1358 Opening @file{@trampfnmhl{sudo, randomhost.your.domain,}} would | |
1359 connect first @samp{randomhost.your.domain} via @code{ssh} under your | |
1360 account name, and perform @code{sudo -u root} on that host afterwards. | |
1361 It is important to know that the given method is applied on the host | |
1362 which has been reached so far. @code{sudo -u root}, applied on your | |
1363 local host, wouldn't be useful here. | |
1364 | |
1365 This is the recommended configuration to work as @samp{root} on remote | |
1366 Ubuntu hosts. | |
1367 | |
1368 @ifset emacsgw | |
1369 Finally, @code{tramp-default-proxies-alist} can be used to pass | |
1370 firewalls or proxy servers. Imagine your local network has a host | |
1371 @samp{proxy.your.domain} which is used on port 3128 as HTTP proxy to | |
1372 the outer world. Your friendly administrator has granted you access | |
1373 under your user name to @samp{host.other.domain} on that proxy | |
1374 server.@footnote{HTTP tunnels are intended for secure SSL/TLS | |
1375 communication. Therefore, many proxy server restrict the tunnels to | |
1376 related target ports. You might need to run your ssh server on your | |
1377 target host @samp{host.other.domain} on such a port, like 443 (https). | |
1378 See @uref{http://savannah.gnu.org/maintenance/CvsFromBehindFirewall} | |
1379 for discussion of ethical issues.} You would need to add the | |
1380 following rule: | |
1381 | |
1382 @lisp | |
1383 (add-to-list 'tramp-default-proxies-alist | |
1384 '("\\`host\\.other\\.domain\\'" nil | |
1385 "@trampfnmhl{tunnel, proxy.your.domain#3128,}")) | |
1386 @end lisp | |
1387 | |
1388 Gateway methods can be declared as first hop only in a multiple hop | |
1389 chain. | |
1390 @end ifset | |
1391 | |
1392 | |
45861 | 1393 @node Customizing Methods |
1394 @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
|
1395 @cindex customizing methods |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1396 @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
|
1397 @cindex create your own methods |
45861 | 1398 |
1399 There is a variable @code{tramp-methods} which you can change if the | |
1400 predefined methods don't seem right. | |
1401 | |
1402 For the time being, I'll refer you to the Lisp documentation of that | |
1403 variable, accessible with @kbd{C-h v tramp-methods @key{RET}}. | |
1404 | |
1405 | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1406 @node Customizing Completion |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1407 @section Selecting config files for user/host name completion |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1408 @cindex customizing completion |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1409 @cindex selecting config files |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1410 @vindex tramp-completion-function-alist |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1411 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1412 The variable @code{tramp-completion-function-alist} is intended to |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1413 customize which files are taken into account for user and host name |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1414 completion (@pxref{Filename completion}). For every method, it keeps |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1415 a set of configuration files, accompanied by a Lisp function able to |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1416 parse that file. Entries in @code{tramp-completion-function-alist} |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1417 have the form (@var{method} @var{pair1} @var{pair2} ...). |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1418 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1419 Each @var{pair} is composed of (@var{function} @var{file}). |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1420 @var{function} is responsible to extract user names and host names |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1421 from @var{file} for completion. There are two functions which access |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1422 this variable: |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1423 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1424 @defun tramp-get-completion-function method |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1425 This function returns the list of completion functions for @var{method}. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1426 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1427 Example: |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1428 @example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1429 (tramp-get-completion-function "rsh") |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1430 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1431 @result{} ((tramp-parse-rhosts "/etc/hosts.equiv") |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1432 (tramp-parse-rhosts "~/.rhosts")) |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1433 @end example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1434 @end defun |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1435 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1436 @defun tramp-set-completion-function method function-list |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1437 This function sets @var{function-list} as list of completion functions |
52869
4c969f6bcb01
(Inline methods): Small grammar fix.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52401
diff
changeset
|
1438 for @var{method}. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1439 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1440 Example: |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1441 @example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1442 (tramp-set-completion-function "ssh" |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1443 '((tramp-parse-sconfig "/etc/ssh_config") |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1444 (tramp-parse-sconfig "~/.ssh/config"))) |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1445 |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1446 @result{} ((tramp-parse-sconfig "/etc/ssh_config") |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1447 (tramp-parse-sconfig "~/.ssh/config")) |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1448 @end example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1449 @end defun |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1450 |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1451 The following predefined functions parsing configuration files exist: |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1452 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1453 @table @asis |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1454 @item @code{tramp-parse-rhosts} |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1455 @findex tramp-parse-rhosts |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1456 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1457 This function parses files which are syntactical equivalent to |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1458 @file{~/.rhosts}. It returns both host names and user names, if |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1459 specified. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1460 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1461 @item @code{tramp-parse-shosts} |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1462 @findex tramp-parse-shosts |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1463 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1464 This function parses files which are syntactical equivalent to |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1465 @file{~/.ssh/known_hosts}. Since there are no user names specified |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1466 in such files, it can return host names only. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1467 |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1468 @item @code{tramp-parse-sconfig} |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1469 @findex tramp-parse-shosts |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1470 |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
1471 This function returns the host nicknames defined by @code{Host} entries |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1472 in @file{~/.ssh/config} style files. |
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
1473 |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1474 @item @code{tramp-parse-shostkeys} |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1475 @findex tramp-parse-shostkeys |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1476 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1477 SSH2 parsing of directories @file{/etc/ssh2/hostkeys/*} and |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1478 @file{~/ssh2/hostkeys/*}. Hosts are coded in file names |
63710
d20f7349d704
(Customizing Completion, Auto-save and Backup): Texinfo usage fixes.
Richard M. Stallman <rms@gnu.org>
parents:
63669
diff
changeset
|
1479 @file{hostkey_@var{portnumber}_@var{host-name}.pub}. User names |
d20f7349d704
(Customizing Completion, Auto-save and Backup): Texinfo usage fixes.
Richard M. Stallman <rms@gnu.org>
parents:
63669
diff
changeset
|
1480 are always @code{nil}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1481 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1482 @item @code{tramp-parse-sknownhosts} |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1483 @findex tramp-parse-shostkeys |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1484 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1485 Another SSH2 style parsing of directories like |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1486 @file{/etc/ssh2/knownhosts/*} and @file{~/ssh2/knownhosts/*}. This |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1487 case, hosts names are coded in file names |
63710
d20f7349d704
(Customizing Completion, Auto-save and Backup): Texinfo usage fixes.
Richard M. Stallman <rms@gnu.org>
parents:
63669
diff
changeset
|
1488 @file{@var{host-name}.@var{algorithm}.pub}. User names are always @code{nil}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1489 |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1490 @item @code{tramp-parse-hosts} |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1491 @findex tramp-parse-hosts |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1492 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1493 A function dedicated to @file{/etc/hosts} style files. It returns |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1494 host names only. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1495 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1496 @item @code{tramp-parse-passwd} |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1497 @findex tramp-parse-passwd |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1498 |
47578
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1499 A function which parses @file{/etc/passwd} like files. Obviously, it |
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1500 can return user names only. |
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1501 |
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1502 @item @code{tramp-parse-netrc} |
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1503 @findex tramp-parse-netrc |
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1504 |
6e910ba94c42
Version 2.0.22 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47577
diff
changeset
|
1505 Finally, a function which parses @file{~/.netrc} like files. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1506 @end table |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1507 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1508 If you want to keep your own data in a file, with your own structure, |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1509 you might provide such a function as well. This function must meet |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1510 the following conventions: |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1511 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1512 @defun my-tramp-parse file |
81759 | 1513 @var{file} must be either a file name on your host, or @code{nil}. |
1514 The function must return a list of (@var{user} @var{host}), which are | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1515 taken as candidates for user and host name completion. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1516 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1517 Example: |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1518 @example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1519 (my-tramp-parse "~/.my-tramp-hosts") |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1520 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1521 @result{} ((nil "toto") ("daniel" "melancholia")) |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1522 @end example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1523 @end defun |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1524 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1525 |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1526 @node Password caching |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1527 @section Reusing passwords for several connections. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1528 @cindex passwords |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1529 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1530 Sometimes it is necessary to connect to the same remote host several |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1531 times. Reentering passwords again and again would be annoying, when |
71224
b7261e09f8e4
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents:
71068
diff
changeset
|
1532 the chosen method does not support access without password prompt |
b7261e09f8e4
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents:
71068
diff
changeset
|
1533 through own configuration. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1534 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1535 By default, @value{tramp} caches the passwords entered by you. They will |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1536 be reused next time if a connection needs them for the same user name |
71224
b7261e09f8e4
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents:
71068
diff
changeset
|
1537 and host name, independently of the connection method. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1538 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1539 @vindex password-cache-expiry |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1540 Passwords are not saved permanently, that means the password caching |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1541 is limited to the lifetime of your @value{emacsname} session. You |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1542 can influence the lifetime of password caching by customizing the |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1543 variable @code{password-cache-expiry}. The value is the number of |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1544 seconds how long passwords are cached. Setting it to @code{nil} |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1545 disables the expiration. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1546 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1547 @findex tramp-clear-passwd |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1548 A password is removed from the cache if a connection isn't established |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1549 successfully. You can remove a password from the cache also by |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1550 executing @kbd{M-x tramp-clear-passwd} in a buffer containing a |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1551 related remote file or directory. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1552 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1553 @vindex password-cache |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1554 If you don't like this feature for security reasons, password caching |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1555 can be disabled totally by customizing the variable |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1556 @code{password-cache} (setting it to @code{nil}). |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1557 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1558 Implementation Note: password caching is based on the package |
81759 | 1559 @file{password.el} in No Gnus. For the time being, it is activated |
1560 only when this package is seen in the @code{load-path} while loading | |
1561 @value{tramp}. | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1562 @ifset installchapter |
81759 | 1563 If you don't use No Gnus, you can take @file{password.el} from the |
1564 @value{tramp} @file{contrib} directory, see @ref{Installation | |
1565 parameters}. | |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1566 @end ifset |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1567 It will be activated mandatory once No Gnus has found its way into |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1568 @value{emacsname}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1569 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1570 |
81759 | 1571 @node Connection caching |
1572 @section Reusing connection related information. | |
1573 @cindex caching | |
1574 | |
1575 @vindex tramp-persistency-file-name | |
1576 In order to reduce initial connection time, @value{tramp} stores | |
1577 connection related information persistently. The variable | |
1578 @code{tramp-persistency-file-name} keeps the file name where these | |
1579 information are written. Its default value is | |
1580 @ifset emacs | |
1581 @file{~/.emacs.d/tramp}. | |
1582 @end ifset | |
1583 @ifset xemacs | |
1584 @file{~/.xemacs/tramp}. | |
1585 @end ifset | |
1586 It is recommended to choose a local file name. | |
1587 | |
1588 @value{tramp} reads this file during startup, and writes it when | |
1589 exiting @value{emacsname}. You can simply remove this file if | |
1590 @value{tramp} shall be urged to recompute these information next | |
1591 @value{emacsname} startup time. | |
1592 | |
1593 Using such persistent information can be disabled by setting | |
1594 @code{tramp-persistency-file-name} to @code{nil}. | |
1595 | |
1596 | |
45861 | 1597 @node Remote Programs |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1598 @section How @value{tramp} finds and uses programs on the remote machine. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1599 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1600 @value{tramp} depends on a number of programs on the remote host in order to |
45861 | 1601 function, including @command{ls}, @command{test}, @command{find} and |
1602 @command{cat}. | |
1603 | |
1604 In addition to these required tools, there are various tools that may be | |
81759 | 1605 required based on the connection method. See @ref{Inline methods} and |
45861 | 1606 @ref{External transfer methods} for details on these. |
1607 | |
1608 Certain other tools, such as @command{perl} (or @command{perl5}) and | |
81759 | 1609 @command{grep} will be used if they can be found. When they are |
45861 | 1610 available, they are used to improve the performance and accuracy of |
1611 remote file access. | |
1612 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1613 @vindex tramp-remote-path |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1614 When @value{tramp} connects to the remote machine, it searches for the |
81759 | 1615 programs that it can use. The variable @code{tramp-remote-path} |
1616 controls the directories searched on the remote machine. | |
45861 | 1617 |
1618 By default, this is set to a reasonable set of defaults for most | |
81759 | 1619 machines. The symbol @code{tramp-default-remote-path} is a place |
1620 holder, it is replaced by the list of directories received via the | |
1621 command @command{getconf PATH} on your remote machine. For example, | |
1622 on GNU Debian this is @file{/bin:/usr/bin}, whereas on Solaris this is | |
1623 @file{/usr/xpg4/bin:/usr/ccs/bin:/usr/bin:/opt/SUNWspro/bin}. It is | |
1624 recommended to apply this symbol on top of @code{tramp-remote-path}. | |
1625 | |
1626 It is possible, however, that your local (or remote ;) system | |
45861 | 1627 administrator has put the tools you want in some obscure local |
1628 directory. | |
1629 | |
81759 | 1630 In this case, you can still use them with @value{tramp}. You simply need to |
45861 | 1631 add code to your @file{.emacs} to add the directory to the remote path. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1632 This will then be searched by @value{tramp} when you connect and the software |
45861 | 1633 found. |
1634 | |
1635 To add a directory to the remote search path, you could use code such | |
1636 as: | |
1637 | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1638 @lisp |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1639 @i{;; We load @value{tramp} to define the variable.} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1640 (require 'tramp) |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1641 @i{;; We have @command{perl} in "/usr/local/perl/bin"} |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1642 (add-to-list 'tramp-remote-path "/usr/local/perl/bin") |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1643 @end lisp |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1644 |
45861 | 1645 |
1646 @node Remote shell setup | |
1647 @comment node-name, next, previous, up | |
1648 @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
|
1649 @cindex remote shell setup |
46366 | 1650 @cindex @file{.profile} file |
1651 @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
|
1652 @cindex shell init files |
45861 | 1653 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1654 As explained in the @ref{Overview} section, @value{tramp} connects to the |
45861 | 1655 remote host and talks to the shell it finds there. Of course, when you |
1656 log in, the shell executes its init files. Suppose your init file | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1657 requires you to enter the birth date of your mother; clearly @value{tramp} |
45861 | 1658 does not know this and hence fails to log you in to that host. |
1659 | |
1660 There are different possible strategies for pursuing this problem. One | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1661 strategy is to enable @value{tramp} to deal with all possible situations. |
45861 | 1662 This is a losing battle, since it is not possible to deal with |
1663 @emph{all} situations. The other strategy is to require you to set up | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1664 the remote host such that it behaves like @value{tramp} expects. This might |
45861 | 1665 be inconvenient because you have to invest a lot of effort into shell |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1666 setup before you can begin to use @value{tramp}. |
45861 | 1667 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1668 The package, therefore, pursues a combined approach. It tries to |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1669 figure out some of the more common setups, and only requires you to |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1670 avoid really exotic stuff. For example, it looks through a list of |
45861 | 1671 directories to find some programs on the remote host. And also, it |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1672 knows that it is not obvious how to check whether a file exists, and |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1673 therefore it tries different possibilities. (On some hosts and |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1674 shells, the command @command{test -e} does the trick, on some hosts |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1675 the shell builtin doesn't work but the program @command{/usr/bin/test |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1676 -e} or @command{/bin/test -e} works. And on still other hosts, |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1677 @command{ls -d} is the right way to do this.) |
45861 | 1678 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1679 Below you find a discussion of a few things that @value{tramp} does not deal |
45861 | 1680 with, and that you therefore have to set up correctly. |
1681 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1682 @table @asis |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1683 @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
|
1684 @vindex shell-prompt-pattern |
45861 | 1685 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1686 After logging in to the remote host, @value{tramp} has to wait for the remote |
45861 | 1687 shell startup to finish before it can send commands to the remote |
1688 shell. The strategy here is to wait for the shell prompt. In order to | |
1689 recognize the shell prompt, the variable @code{shell-prompt-pattern} has | |
1690 to be set correctly to recognize the shell prompt on the remote host. | |
1691 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1692 Note that @value{tramp} requires the match for @code{shell-prompt-pattern} |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1693 to be at the end of the buffer. Many people have something like the |
46346
49f06e689a20
* files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46010
diff
changeset
|
1694 following as the value for the variable: @code{"^[^>$][>$] *"}. Now |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1695 suppose your shell prompt is @code{a <b> c $ }. In this case, |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1696 @value{tramp} recognizes the @code{>} character as the end of the prompt, |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1697 but it is not at the end of the buffer. |
46346
49f06e689a20
* files.texi (Remote Files): Explain new unified file name synatx.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46010
diff
changeset
|
1698 |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1699 @item @var{tramp-shell-prompt-pattern} |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1700 @vindex tramp-shell-prompt-pattern |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1701 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1702 This regular expression is used by @value{tramp} in the same way as |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1703 @code{shell-prompt-pattern}, to match prompts from the remote shell. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1704 This second variable exists because the prompt from the remote shell |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1705 might be different from the prompt from a local shell --- after all, |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1706 the whole point of @value{tramp} is to log in to remote hosts as a |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1707 different user. The default value of |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1708 @code{tramp-shell-prompt-pattern} is the same as the default value of |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1709 @code{shell-prompt-pattern}, which is reported to work well in many |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1710 circumstances. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1711 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1712 @item @command{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
|
1713 @cindex Unix command tset |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1714 @cindex tset Unix command |
45861 | 1715 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1716 Some people invoke the @command{tset} program from their shell startup |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1717 scripts which asks the user about the terminal type of the shell. |
81759 | 1718 Maybe some shells ask other questions when they are started. |
1719 @value{tramp} does not know how to answer these questions. There are | |
1720 two approaches for dealing with this problem. One approach is to take | |
1721 care that the shell does not ask any questions when invoked from | |
1722 @value{tramp}. You can do this by checking the @code{TERM} | |
1723 environment variable, it will be set to @code{dumb} when connecting. | |
45861 | 1724 |
1725 @vindex tramp-terminal-type | |
1726 The variable @code{tramp-terminal-type} can be used to change this value | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1727 to @code{dumb}. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
1728 |
81759 | 1729 @vindex tramp-actions-before-shell |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1730 The other approach is to teach @value{tramp} about these questions. See |
81759 | 1731 the variable @code{tramp-actions-before-shell}. Example: |
1732 | |
1733 @lisp | |
1734 (defconst my-tramp-prompt-regexp | |
1735 (concat (regexp-opt '("Enter the birth date of your mother:") t) | |
1736 "\\s-*") | |
1737 "Regular expression matching my login prompt question.") | |
1738 | |
1739 (defun my-tramp-action (proc vec) | |
1740 "Enter \"19000101\" in order to give a correct answer." | |
1741 (save-window-excursion | |
1742 (with-current-buffer (tramp-get-connection-buffer vec) | |
1743 (tramp-message vec 6 "\n%s" (buffer-string)) | |
1744 (tramp-send-string vec "19000101")))) | |
1745 | |
1746 (add-to-list 'tramp-actions-before-shell | |
1747 '(my-tramp-prompt-regexp my-tramp-action)) | |
1748 @end lisp | |
45861 | 1749 |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1750 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1751 @item Environment variables named like users in @file{.profile} |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1752 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1753 If you have a user named frumple and set the variable @code{FRUMPLE} in |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1754 your shell environment, then this might cause trouble. Maybe rename |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1755 the variable to @code{FRUMPLE_DIR} or the like. |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1756 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1757 This weird effect was actually reported by a @value{tramp} user! |
53207
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1758 |
83d9437acbf3
2003-11-30 Kai Grossjohann <kai.grossjohann@gmx.net>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
52979
diff
changeset
|
1759 |
51967
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1760 @item Non-Bourne commands in @file{.profile} |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1761 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1762 After logging in to the remote host, @value{tramp} issues the command |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1763 @command{exec /bin/sh}. (Actually, the command is slightly |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1764 different.) When @command{/bin/sh} is executed, it reads some init |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1765 files, such as @file{~/.shrc} or @file{~/.profile}. |
51967
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1766 |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1767 Now, some people have a login shell which is not @code{/bin/sh} but a |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1768 Bourne-ish shell such as bash or ksh. Some of these people might put |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1769 their shell setup into the files @file{~/.shrc} or @file{~/.profile}. |
51967
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1770 This way, it is possible for non-Bourne constructs to end up in those |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1771 files. Then, @command{exec /bin/sh} might cause the Bourne shell to |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1772 barf on those constructs. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1773 |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1774 As an example, imagine somebody putting @command{export FOO=bar} into |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1775 the file @file{~/.profile}. The standard Bourne shell does not |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1776 understand this syntax and will emit a syntax error when it reaches |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1777 this line. |
51967
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1778 |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1779 Another example is the tilde (@code{~}) character, say when adding |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1780 @file{~/bin} to @code{$PATH}. Many Bourne shells will not expand this |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1781 character, and since there is usually no directory whose name consists |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1782 of the single character tilde, strange things will happen. |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1783 |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1784 What can you do about this? |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1785 |
81759 | 1786 Well, one possibility is to make sure that everything in |
1787 @file{~/.shrc} and @file{~/.profile} on all remote hosts is | |
1788 Bourne-compatible. In the above example, instead of @command{export | |
1789 FOO=bar}, you might use @command{FOO=bar; export FOO} instead. | |
51967
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1790 |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1791 The other possibility is to put your non-Bourne shell setup into some |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1792 other files. For example, bash reads the file @file{~/.bash_profile} |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1793 instead of @file{~/.profile}, if the former exists. So bash |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1794 aficionados just rename their @file{~/.profile} to |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1795 @file{~/.bash_profile} on all remote hosts, and Bob's your uncle. |
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1796 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1797 The @value{tramp} developers would like to circumvent this problem, so |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1798 if you have an idea about it, please tell us. However, we are afraid |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1799 it is not that simple: before saying @command{exec /bin/sh}, |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1800 @value{tramp} does not know which kind of shell it might be talking |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1801 to. It could be a Bourne-ish shell like ksh or bash, or it could be a |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1802 csh derivative like tcsh, or it could be zsh, or even rc. If the |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1803 shell is Bourne-ish already, then it might be prudent to omit the |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1804 @command{exec /bin/sh} step. But how to find out if the shell is |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1805 Bourne-ish? |
51967
2693b0669cc1
Tramp 2.0.36 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
51604
diff
changeset
|
1806 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
1807 @end table |
45861 | 1808 |
1809 | |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1810 @node Auto-save and Backup |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1811 @section Auto-save and Backup configuration |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1812 @cindex auto-save |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1813 @cindex backup |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1814 @ifset emacs |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1815 @vindex backup-directory-alist |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1816 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1817 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1818 @vindex bkup-backup-directory-info |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1819 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1820 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1821 Normally, @value{emacsname} writes backup files to the same directory |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1822 as the original files, but this behavior can be changed via the |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1823 variable |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1824 @ifset emacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1825 @code{backup-directory-alist}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1826 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1827 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1828 @code{bkup-backup-directory-info}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1829 @end ifset |
81759 | 1830 In connection with @value{tramp}, this can have unexpected side |
1831 effects. Suppose that you specify that all backups should go to the | |
1832 directory @file{~/.emacs.d/backups/}, and then you edit the file | |
1833 @file{@trampfn{su, root, localhost, /etc/secretfile}}. The effect is | |
1834 that the backup file will be owned by you and not by root, thus | |
1835 possibly enabling others to see it even if they were not intended to | |
1836 see it. | |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1837 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1838 When |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1839 @ifset emacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1840 @code{backup-directory-alist} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1841 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1842 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1843 @code{bkup-backup-directory-info} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1844 @end ifset |
63710
d20f7349d704
(Customizing Completion, Auto-save and Backup): Texinfo usage fixes.
Richard M. Stallman <rms@gnu.org>
parents:
63669
diff
changeset
|
1845 is @code{nil} (the default), such problems do not occur. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1846 |
71224
b7261e09f8e4
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents:
71068
diff
changeset
|
1847 Therefore, it is useful to set special values for @value{tramp} |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1848 files. For example, the following statement effectively `turns off' |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1849 the effect of |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1850 @ifset emacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1851 @code{backup-directory-alist} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1852 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1853 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1854 @code{bkup-backup-directory-info} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1855 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1856 for @value{tramp} files: |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1857 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1858 @ifset emacs |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1859 @lisp |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1860 (add-to-list 'backup-directory-alist |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1861 (cons tramp-file-name-regexp nil)) |
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1862 @end lisp |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1863 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1864 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1865 @lisp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1866 (require 'backup-dir) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1867 (add-to-list 'bkup-backup-directory-info |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1868 (list tramp-file-name-regexp "")) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1869 @end lisp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1870 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1871 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1872 Another possibility is to use the @value{tramp} variable |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1873 @ifset emacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1874 @code{tramp-backup-directory-alist}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1875 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1876 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1877 @code{tramp-bkup-backup-directory-info}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1878 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1879 This variable has the same meaning like |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1880 @ifset emacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1881 @code{backup-directory-alist}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1882 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1883 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1884 @code{bkup-backup-directory-info}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1885 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1886 If a @value{tramp} file is backed up, and DIRECTORY is an absolute |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1887 local file name, DIRECTORY is prepended with the @value{tramp} file |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1888 name prefix of the file to be backed up. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1889 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1890 @noindent |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1891 Example: |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1892 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1893 @ifset emacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1894 @lisp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1895 (add-to-list 'backup-directory-alist |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1896 (cons "." "~/.emacs.d/backups/")) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1897 (setq tramp-backup-directory-alist backup-directory-alist) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1898 @end lisp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1899 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1900 @ifset xemacs |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1901 @lisp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1902 (require 'backup-dir) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1903 (add-to-list 'bkup-backup-directory-info |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1904 (list "." "~/.emacs.d/backups/" 'full-path)) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1905 (setq tramp-bkup-backup-directory-info bkup-backup-directory-info) |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1906 @end lisp |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1907 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1908 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1909 @noindent |
81759 | 1910 The backup file name of @file{@trampfn{su, root, localhost, |
1911 /etc/secretfile}} would be | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1912 @ifset emacs |
81759 | 1913 @file{@trampfn{su, root, localhost, |
1914 ~/.emacs.d/backups/!su:root@@localhost:!etc!secretfile~}} | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1915 @end ifset |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1916 @ifset xemacs |
81759 | 1917 @file{@trampfn{su, root, localhost, |
1918 ~/.emacs.d/backups/![su!root@@localhost]!etc!secretfile~}} | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1919 @end ifset |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1920 |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1921 The same problem can happen with auto-saving files. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1922 @ifset emacs |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1923 Since @value{emacsname} 21, the variable |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1924 @code{auto-save-file-name-transforms} keeps information, on which |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1925 directory an auto-saved file should go. By default, it is initialized |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1926 for @value{tramp} files to the local temporary directory. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1927 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1928 On some versions of @value{emacsname}, namely the version built for |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
1929 Debian GNU/Linux, the variable @code{auto-save-file-name-transforms} |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1930 contains the directory where @value{emacsname} was built. A |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1931 workaround is to manually set the variable to a sane value. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1932 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1933 If auto-saved files should go into the same directory as the original |
63669
2fd498512c5d
(Customizing Completion, Auto-save and Backup): Texinfo usage fix.
Juanma Barranquero <lekktu@gmail.com>
parents:
63636
diff
changeset
|
1934 files, @code{auto-save-file-name-transforms} should be set to @code{nil}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1935 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1936 Another possibility is to set the variable |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1937 @code{tramp-auto-save-directory} to a proper value. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1938 @end ifset |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1939 @ifset xemacs |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1940 For this purpose you can set the variable @code{auto-save-directory} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1941 to a proper value. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1942 @end ifset |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1943 |
50338
155b4b78aa3b
* tramp.el: Version 2.0.31 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49996
diff
changeset
|
1944 |
45861 | 1945 @node Windows setup hints |
1946 @section Issues with Cygwin ssh | |
46366 | 1947 @cindex Cygwin, issues |
45861 | 1948 |
1949 This section needs a lot of work! Please help. | |
1950 | |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1951 @cindex method sshx with Cygwin |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1952 @cindex sshx method with Cygwin |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1953 The recent Cygwin installation of @command{ssh} works only with a |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1954 Cygwinized @value{emacsname}. You can check it by typing @kbd{M-x |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1955 eshell}, and starting @kbd{ssh test.machine}. The problem is evident |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1956 if you see a message like this: |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1957 |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1958 @example |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1959 Pseudo-terminal will not be allocated because stdin is not a terminal. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1960 @end example |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1961 |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1962 Older @command{ssh} versions of Cygwin are told to cooperate with |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1963 @value{tramp} selecting @option{sshx} as the connection method. You |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1964 can find information about setting up Cygwin in their FAQ at |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1965 @uref{http://cygwin.com/faq/}. |
45861 | 1966 |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1967 @cindex method scpx with Cygwin |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1968 @cindex scpx method with Cygwin |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1969 If you wish to use the @option{scpx} connection method, then you might |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1970 have the problem that @value{emacsname} calls @command{scp} with a |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1971 Windows filename such as @code{c:/foo}. The Cygwin version of |
81759 | 1972 @command{scp} does not know about Windows filenames and interprets |
1973 this as a remote filename on the host @code{c}. | |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1974 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1975 One possible workaround is to write a wrapper script for @option{scp} |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1976 which converts the Windows filename to a Cygwinized filename. |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1977 |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1978 @cindex Cygwin and ssh-agent |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1979 @cindex SSH_AUTH_SOCK and @value{emacsname} on Windows |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1980 If you want to use either @option{ssh} based method on Windows, then |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1981 you might encounter problems with @command{ssh-agent}. Using this |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1982 program, you can avoid typing the pass-phrase every time you log in. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1983 However, if you start @value{emacsname} from a desktop shortcut, then |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1984 the environment variable @code{SSH_AUTH_SOCK} is not set and so |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1985 @value{emacsname} and thus @value{tramp} and thus @command{ssh} and |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1986 @command{scp} started from @value{tramp} cannot communicate with |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1987 @command{ssh-agent}. It works better to start @value{emacsname} from |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
1988 the shell. |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1989 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
1990 If anyone knows how to start @command{ssh-agent} under Windows in such a |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1991 way that desktop shortcuts can profit, please holler. I don't really |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1992 know anything at all about Windows@dots{} |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
1993 |
45861 | 1994 |
1995 @node Usage | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1996 @chapter Using @value{tramp} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1997 @cindex using @value{tramp} |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
1998 |
81759 | 1999 Once you have installed @value{tramp} it will operate fairly |
2000 transparently. You will be able to access files on any remote machine | |
2001 that you can log in to as though they were local. | |
45861 | 2002 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2003 Files are specified to @value{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
|
2004 details of the system to connect to. This is similar to the syntax used |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2005 by the @value{ftppackagename} package. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2006 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2007 @cindex type-ahead |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2008 Something that might happen which surprises you is that |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2009 @value{emacsname} remembers all your keystrokes, so if you see a |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2010 password prompt from @value{emacsname}, say, and hit @kbd{@key{RET}} |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2011 twice instead of once, then the second keystroke will be processed by |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2012 @value{emacsname} after @value{tramp} has done its thing. Why, this |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2013 type-ahead is normal behavior, you say. Right you are, but be aware |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2014 that opening a remote file might take quite a while, maybe half a |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2015 minute when a connection needs to be opened. Maybe after half a |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2016 minute you have already forgotten that you hit that key! |
45861 | 2017 |
2018 @menu | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2019 * Filename Syntax:: @value{tramp} filename conventions. |
81759 | 2020 * Alternative Syntax:: URL-like filename syntax. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2021 * Filename completion:: Filename completion. |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2022 * Remote processes:: Integration with other @value{emacsname} packages. |
45861 | 2023 @end menu |
2024 | |
2025 | |
2026 @node Filename Syntax | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2027 @section @value{tramp} filename conventions |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2028 @cindex filename syntax |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2029 @cindex filename examples |
45861 | 2030 |
81759 | 2031 To access the file @var{localname} on the remote machine @var{machine} |
2032 you would specify the filename @file{@trampfnhl{@var{machine}, | |
2033 @var{localname}}}. This will connect to @var{machine} and transfer | |
2034 the file using the default method. @xref{Default Method}. | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2035 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2036 Some examples of @value{tramp} filenames are shown below. |
45861 | 2037 |
2038 @table @file | |
81759 | 2039 @item @trampfnhl{melancholia, .emacs} |
45861 | 2040 Edit the file @file{.emacs} in your home directory on the machine |
2041 @code{melancholia}. | |
2042 | |
81759 | 2043 @item @trampfnhl{melancholia.danann.net, .emacs} |
45861 | 2044 This edits the same file, using the fully qualified domain name of |
2045 the machine. | |
2046 | |
81759 | 2047 @item @trampfnhl{melancholia, ~/.emacs} |
45861 | 2048 This also edits the same file --- the @file{~} is expanded to your |
2049 home directory on the remote machine, just like it is locally. | |
2050 | |
81759 | 2051 @item @trampfnhl{melancholia, ~daniel/.emacs} |
45861 | 2052 This edits the file @file{.emacs} in the home directory of the user |
81759 | 2053 @code{daniel} on the machine @code{melancholia}. The @file{~<user>} |
45861 | 2054 construct is expanded to the home directory of that user on the remote |
2055 machine. | |
2056 | |
81759 | 2057 @item @trampfnhl{melancholia, /etc/squid.conf} |
45861 | 2058 This edits the file @file{/etc/squid.conf} on the machine |
2059 @code{melancholia}. | |
2060 | |
2061 @end table | |
2062 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2063 Unless you specify a different name to use, @value{tramp} will use the |
81759 | 2064 current local user name as the remote user name to log in with. If you |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2065 need to log in as a different user, you can specify the user name as |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2066 part of the filename. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2067 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2068 To log in to the remote machine as a specific user, you use the syntax |
81759 | 2069 @file{@trampfnuhl{@var{user}, @var{machine}, @var{path/to.file}}}. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2070 That means that connecting to @code{melancholia} as @code{daniel} and |
46348 | 2071 editing @file{.emacs} in your home directory you would specify |
81759 | 2072 @file{@trampfnuhl{daniel, melancholia, .emacs}}. |
45861 | 2073 |
2074 It is also possible to specify other file transfer methods | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2075 (@pxref{Default Method}) as part of the filename. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2076 @ifset emacs |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2077 This is done by putting the method before the user and host name, as |
81759 | 2078 in @file{@value{prefix}@var{method}@value{postfixhop}} (Note the |
2079 trailing colon). | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2080 @end ifset |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2081 @ifset xemacs |
81759 | 2082 This is done by replacing the initial @file{@value{prefix}} with |
2083 @file{@value{prefix}<method>@value{postfixhop}}. (Note the trailing | |
2084 slash!). | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2085 @end ifset |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2086 The user, machine and file specification remain the same. |
45861 | 2087 |
46348 | 2088 So, to connect to the machine @code{melancholia} as @code{daniel}, |
81759 | 2089 using the @option{ssh} method to transfer files, and edit |
2090 @file{.emacs} in my home directory I would specify the filename | |
2091 @file{@trampfn{ssh, daniel, melancholia, .emacs}}. | |
2092 | |
2093 | |
2094 @node Alternative Syntax | |
2095 @section URL-like filename syntax | |
2096 @cindex filename syntax | |
2097 @cindex filename examples | |
2098 | |
2099 Additionally to the syntax described in the previous chapter, it is | |
2100 possible to use a URL-like syntax for @value{tramp}. This can be | |
2101 switched on by customizing the variable @code{tramp-syntax}. Please | |
2102 note that this feature is experimental for the time being. | |
2103 | |
2104 The variable @code{tramp-syntax} must be set before requiring @value{tramp}: | |
2105 | |
2106 @lisp | |
2107 (setq tramp-syntax 'url) | |
2108 (require 'tramp) | |
2109 @end lisp | |
2110 | |
2111 Then, a @value{tramp} filename would look like this: | |
2112 @file{/@var{method}://@var{user}@@@var{machine}:@var{port}/@var{path/to.file}}. | |
2113 @file{/@var{method}://} is mandatory, all other parts are optional. | |
2114 @file{:@var{port}} is useful for methods only who support this. | |
2115 | |
2116 The last example from the previous section would look like this: | |
2117 @file{/ssh://daniel@@melancholia/.emacs}. | |
2118 | |
2119 For the time being, @code{tramp-syntax} can have the following values: | |
2120 | |
2121 @itemize @w{} | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2122 @ifset emacs |
81759 | 2123 @item @code{ftp} -- That is the default syntax |
2124 @item @code{url} -- URL-like syntax | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2125 @end ifset |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2126 @ifset xemacs |
81759 | 2127 @item @code{sep} -- That is the default syntax |
2128 @item @code{url} -- URL-like syntax | |
2129 @item @code{ftp} -- EFS-like syntax | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2130 @end ifset |
81759 | 2131 @end itemize |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2132 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2133 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2134 @node Filename completion |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2135 @section Filename completion |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2136 @cindex filename completion |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2137 |
70532
eabc2170431c
* tramp.texi (Filename completion): Improve wording.
Michael Albinus <michael.albinus@gmx.de>
parents:
70487
diff
changeset
|
2138 Filename completion works with @value{tramp} for completion of method |
81759 | 2139 names, of user names and of machine names as well as for completion of |
2140 file names on remote machines. | |
70487
737e59692915
* mini.texi (Completion Options):
Michael Albinus <michael.albinus@gmx.de>
parents:
68335
diff
changeset
|
2141 @ifset emacs |
81759 | 2142 In order to enable this, Partial Completion mode must be set |
2143 on@footnote{If you don't use Partial Completion mode, but want to | |
2144 keep full completion, load @value{tramp} like this in your | |
2145 @file{.emacs}: | |
2146 | |
2147 @lisp | |
2148 ;; Preserve Tramp's completion features. | |
2149 (let ((partial-completion-mode t)) | |
2150 (require 'tramp)) | |
2151 @end lisp | |
2152 }. | |
70487
737e59692915
* mini.texi (Completion Options):
Michael Albinus <michael.albinus@gmx.de>
parents:
68335
diff
changeset
|
2153 @ifinfo |
737e59692915
* mini.texi (Completion Options):
Michael Albinus <michael.albinus@gmx.de>
parents:
68335
diff
changeset
|
2154 @xref{Completion Options, , , @value{emacsdir}}. |
737e59692915
* mini.texi (Completion Options):
Michael Albinus <michael.albinus@gmx.de>
parents:
68335
diff
changeset
|
2155 @end ifinfo |
737e59692915
* mini.texi (Completion Options):
Michael Albinus <michael.albinus@gmx.de>
parents:
68335
diff
changeset
|
2156 @end ifset |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2157 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2158 If you, for example, type @kbd{C-x C-f @value{prefix}t |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2159 @key{TAB}}, @value{tramp} might give you as result the choice for |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2160 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2161 @example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2162 @ifset emacs |
81759 | 2163 @value{prefixhop}telnet@value{postfixhop} tmp/ |
2164 @value{prefixhop}toto@value{postfix} | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2165 @end ifset |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2166 @ifset xemacs |
81759 | 2167 @value{prefixhop}telnet@value{postfixhop} @value{prefixhop}toto@value{postfix} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2168 @end ifset |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2169 @end example |
49600
23a1cea22d13
Trailing whitespace deleted.
Juanma Barranquero <lekktu@gmail.com>
parents:
48974
diff
changeset
|
2170 |
81759 | 2171 @samp{@value{prefixhop}telnet@value{postfixhop}} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2172 is a possible completion for the respective method, |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2173 @ifset emacs |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2174 @samp{tmp/} stands for the directory @file{/tmp} on your local |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2175 machine, |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2176 @end ifset |
81759 | 2177 and @samp{@value{prefixhop}toto@value{postfix}} |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2178 might be a host @value{tramp} has detected in your @file{~/.ssh/known_hosts} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2179 file (given you're using default method @option{ssh}). |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2180 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2181 If you go on to type @kbd{e @key{TAB}}, the minibuffer is completed to |
81759 | 2182 @samp{@value{prefix}telnet@value{postfixhop}}. |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2183 Next @kbd{@key{TAB}} brings you all machine names @value{tramp} detects in |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2184 your @file{/etc/hosts} file, let's say |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2185 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2186 @example |
81759 | 2187 @trampfnmhl{telnet,127.0.0.1,} @trampfnmhl{telnet,192.168.0.1,} |
2188 @trampfnmhl{telnet,localhost,} @trampfnmhl{telnet,melancholia.danann.net,} | |
2189 @trampfnmhl{telnet,melancholia,} | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2190 @end example |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2191 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2192 Now you can choose the desired machine, and you can continue to |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2193 complete file names on that machine. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2194 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2195 If the configuration files (@pxref{Customizing Completion}), which |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2196 @value{tramp} uses for analysis of completion, offer user names, those user |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2197 names will be taken into account as well. |
45861 | 2198 |
81759 | 2199 Remote machines, which have been visited in the past and kept |
2200 persistently (@pxref{Connection caching}), will be offered too. | |
2201 | |
2202 Once the remote machine identification is completed, it comes to | |
2203 filename completion on the remote host. This works pretty much like | |
2204 for files on the local host, with the exception that minibuffer | |
2205 killing via a double-slash works only on the filename part, except | |
2206 that filename part starts with @file{//}. | |
2207 @ifinfo | |
2208 @xref{Minibuffer File, , , @value{emacsdir}}. | |
2209 @end ifinfo | |
2210 | |
2211 @ifset emacs | |
2212 As example, @kbd{@trampfnmhl{telnet,melancholia,/usr/local/bin//etc} | |
2213 @key{TAB}} would result in | |
2214 @file{@trampfnmhl{telnet,melancholia,/etc}}, whereas | |
2215 @kbd{@trampfnmhl{telnet,melancholia,//etc} @key{TAB}} reduces the | |
2216 minibuffer contents to @file{/etc}. A triple-slash stands for the | |
2217 default behaviour, | |
2218 i.e. @kbd{@trampfnmhl{telnet,melancholia,/usr/local/bin///etc} | |
2219 @key{TAB}} expands directly to @file{/etc}. | |
2220 @end ifset | |
2221 | |
2222 @ifset xemacs | |
2223 As example, @kbd{@trampfnmhl{telnet,melancholia,/usr/local/bin//}} | |
2224 would result in @file{@trampfnmhl{telnet,melancholia,/}}, whereas | |
2225 @kbd{@trampfnmhl{telnet,melancholia,//}} expands the minibuffer | |
2226 contents to @file{/}. | |
2227 @end ifset | |
2228 | |
2229 | |
2230 @node Remote processes | |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2231 @section Integration with other @value{emacsname} packages. |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2232 @cindex compile |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2233 @cindex recompile |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2234 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2235 @value{tramp} supports running processes on a remote host. This |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2236 allows to exploit @value{emacsname} packages without modification for |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2237 remote file names. It does not work for the @option{ftp} and |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2238 @option{smb} methods. |
81759 | 2239 |
2240 Remote processes are started when a corresponding command is executed | |
2241 from a buffer belonging to a remote file or directory. Up to now, the | |
2242 packages @file{compile.el} (commands like @code{compile} and | |
2243 @code{grep}) and @file{gud.el} (@code{gdb} or @code{perldb}) have been | |
2244 integrated. Integration of further packages is planned, any help for | |
2245 this is welcome! | |
2246 | |
2247 When your program is not found in the default search path | |
2248 @value{tramp} sets on the remote machine, you should either use an | |
2249 absolute path, or extend @code{tramp-remote-path} (see @ref{Remote | |
2250 Programs}): | |
2251 | |
2252 @lisp | |
2253 (add-to-list 'tramp-remote-path "~/bin") | |
2254 (add-to-list 'tramp-remote-path "/appli/pub/bin") | |
2255 @end lisp | |
2256 | |
2257 The environment for your program can be adapted by customizing | |
2258 @code{tramp-remote-process-environment}. This variable is a list of | |
2259 strings. It is structured like @code{process-environment}. Each | |
2260 element is a string of the form ENVVARNAME=VALUE. An entry | |
2261 ENVVARNAME= disables the corresponding environment variable, which | |
2262 might have been set in your init file like @file{~/.profile}. | |
2263 | |
2264 @noindent | |
2265 Adding an entry can be performed via @code{add-to-list}: | |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2266 |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2267 @lisp |
81759 | 2268 (add-to-list 'tramp-remote-process-environment "JAVA_HOME=/opt/java") |
2269 @end lisp | |
2270 | |
2271 Changing or removing an existing entry is not encouraged. The default | |
2272 values are chosen for proper @value{tramp} work. Nevertheless, if for | |
2273 example a paranoid system administrator disallows changing the | |
2274 @var{$HISTORY} environment variable, you can customize | |
2275 @code{tramp-remote-process-environment}, or you can apply the | |
2276 following code in your @file{.emacs}: | |
2277 | |
2278 @lisp | |
2279 (let ((process-environment tramp-remote-process-environment)) | |
2280 (setenv "HISTORY" nil) | |
2281 (setq tramp-remote-process-environment process-environment)) | |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2282 @end lisp |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2283 |
81759 | 2284 If you use other @value{emacsname} packages which do not run |
2285 out-of-the-box on a remote host, please let us know. We will try to | |
2286 integrate them as well. @xref{Bug Reports}. | |
2287 | |
2288 | |
2289 @subsection Running eshell on a remote host | |
2290 @cindex eshell | |
2291 | |
2292 @value{tramp} is integrated into @file{eshell.el}. That is, you can | |
2293 open an interactive shell on your remote host, and run commands there. | |
2294 After you have started @code{eshell}, you could perform commands like | |
2295 this: | |
2296 | |
2297 @example | |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2298 @b{~ $} cd @trampfnmhl{sudo, , /etc} @key{RET} |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2299 @b{@trampfn{sudo, root, host, /etc} $} hostname @key{RET} |
81759 | 2300 host |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2301 @b{@trampfn{sudo, root, host, /etc} $} id @key{RET} |
81759 | 2302 uid=0(root) gid=0(root) groups=0(root) |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2303 @b{@trampfn{sudo, root, host, /etc} $} find-file shadow @key{RET} |
81759 | 2304 #<buffer shadow> |
2305 @b{@trampfn{sudo, root, host, /etc} $} | |
2306 @end example | |
59582
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2307 |
92796330257a
Sync with Tramp 2.0.47.
Michael Albinus <michael.albinus@gmx.de>
parents:
57463
diff
changeset
|
2308 |
81939
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2309 @anchor{Running a debugger on a remote host} |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2310 @subsection Running a debugger on a remote host |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2311 @cindex gud |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2312 @cindex gdb |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2313 @cindex perldb |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2314 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2315 @file{gud.el} offers an unified interface to several symbolic |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2316 debuggers |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2317 @ifset emacs |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2318 @ifinfo |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2319 (@ref{Debuggers, , , @value{emacsdir}}). |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2320 @end ifinfo |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2321 @end ifset |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2322 With @value{tramp}, it is possible to debug programs on |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2323 remote hosts. You can call @code{gdb} with a remote file name: |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2324 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2325 @example |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2326 @kbd{M-x gdb @key{RET}} |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2327 @b{Run gdb (like this):} gdb --annotate=3 @trampfnmhl{ssh, host, ~/myprog} @key{RET} |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2328 @end example |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2329 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2330 The file name can also be relative to a remote default directory. |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2331 Given you are in a buffer that belongs to the remote directory |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2332 @trampfnmhl{ssh, host, /home/user}, you could call |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2333 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2334 @example |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2335 @kbd{M-x perldb @key{RET}} |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2336 @b{Run perldb (like this):} perl -d myprog.pl @key{RET} |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2337 @end example |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2338 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2339 It is not possible to use just the absolute local part of a remote |
81939
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2340 file name as program to debug, like @kbd{perl -d |
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2341 /home/user/myprog.pl}, though. |
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2342 |
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2343 Arguments of the program to be debugged are taken literally. That |
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2344 means file names as arguments must be given as ordinary relative or |
7cd8ee60cf68
* tramp.texi: Move @setfilename ../info/tramp up, outside the header
Michael Albinus <michael.albinus@gmx.de>
parents:
81831
diff
changeset
|
2345 absolute file names, without any remote specification. |
81827
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2346 |
7b0fef180aa2
* tramp.texi (Remote processes): Don't call it "experimental" any
Michael Albinus <michael.albinus@gmx.de>
parents:
81759
diff
changeset
|
2347 |
45861 | 2348 @node Bug Reports |
2349 @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
|
2350 @cindex bug reports |
45861 | 2351 |
72569
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2352 Bugs and problems with @value{tramp} are actively worked on by the |
81759 | 2353 development team. Feature requests and suggestions are also more than |
72569
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2354 welcome. |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2355 |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2356 The @value{tramp} mailing list is a great place to get information on |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2357 working with @value{tramp}, solving problems and general discussion |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2358 and advice on topics relating to the package. It is moderated so |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2359 non-subscribers can post but messages will be delayed, possibly up to |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2360 48 hours (or longer in case of holidays), until the moderator approves |
7457615d594a
Sync with Tramp 2.0.54.
Michael Albinus <michael.albinus@gmx.de>
parents:
71224
diff
changeset
|
2361 your message. |
45861 | 2362 |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2363 The mailing list is at @email{tramp-devel@@gnu.org}. Messages sent to |
81759 | 2364 this address go to all the subscribers. This is @emph{not} the address |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2365 to send subscription requests to. |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2366 |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2367 Subscribing to the list is performed via |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2368 @uref{http://lists.gnu.org/mailman/listinfo/tramp-devel/, |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2369 the @value{tramp} Mail Subscription Page}. |
45861 | 2370 |
81759 | 2371 To report a bug in @value{tramp}, you should execute @kbd{M-x |
2372 tramp-bug}. This will automatically generate a buffer with the details | |
2373 of your system and @value{tramp} version. | |
45861 | 2374 |
2375 When submitting a bug report, please try to describe in excruciating | |
2376 detail the steps required to reproduce the problem, the setup of the | |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2377 remote machine and any special conditions that exist. You should also |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2378 check that your problem is not described already in @xref{Frequently |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2379 Asked Questions}. |
45861 | 2380 |
2381 If you can identify a minimal test case that reproduces the problem, | |
81759 | 2382 include that with your bug report. This will make it much easier for |
2383 the development team to analyze and correct the problem. | |
2384 | |
2385 Before reporting the bug, you should set the verbosity level to 6 | |
2386 (@pxref{Traces and Profiles, Traces}) in the @file{~/.emacs} file and | |
2387 repeat the bug. Then, include the contents of the @file{*tramp/foo*} | |
2388 and @file{*debug tramp/foo*} buffers in your bug report. A verbosity | |
2389 level greater than 6 will produce a very huge debug buffer, which is | |
2390 mostly not necessary for the analysis. | |
2391 | |
2392 Please be aware that, with a verbosity level of 6 or greater, the | |
2393 contents of files and directories will be included in the debug | |
2394 buffer. Passwords you've typed will never be included there. | |
2395 | |
45861 | 2396 |
2397 @node Frequently Asked Questions | |
2398 @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
|
2399 @cindex frequently asked questions |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2400 @cindex FAQ |
45861 | 2401 |
2402 @itemize @bullet | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2403 @item |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2404 Where can I get the latest @value{tramp}? |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2405 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2406 @value{tramp} is available under the URL below. |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2407 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2408 @noindent |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2409 @uref{ftp://ftp.gnu.org/gnu/tramp/} |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2410 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2411 @noindent |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2412 There is also a Savannah project page. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2413 |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2414 @noindent |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
2415 @uref{http://savannah.gnu.org/projects/tramp/} |
45861 | 2416 |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2417 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2418 @item |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2419 Which systems does it work on? |
45861 | 2420 |
81759 | 2421 The package has been used successfully on GNU Emacs 21, GNU Emacs 22 |
2422 and XEmacs 21 (starting with 21.4). Gateway methods are supported for | |
2423 GNU Emacs 22 only. | |
45861 | 2424 |
2425 The package was intended to work on Unix, and it really expects a | |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2426 Unix-like system on the remote end (except the @option{smb} method), |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2427 but some people seemed to have some success getting it to work on MS |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2428 Windows NT/2000/XP @value{emacsname}. |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2429 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2430 There is some informations on @value{tramp} on NT at the following URL; |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
2431 many thanks to Joe Stoy for providing the information: |
45861 | 2432 @uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/} |
2433 | |
81759 | 2434 @c The link is broken. I've contacted Tom for clarification. Michael. |
57463
40298ea4d83f
Sync with Tramp 2.0.45.
Michael Albinus <michael.albinus@gmx.de>
parents:
55421
diff
changeset
|
2435 @ignore |
45861 | 2436 The above mostly contains patches to old ssh versions; Tom Roche has a |
2437 Web page with instructions: | |
2438 @uref{http://www4.ncsu.edu/~tlroche/plinkTramp.html} | |
57463
40298ea4d83f
Sync with Tramp 2.0.45.
Michael Albinus <michael.albinus@gmx.de>
parents:
55421
diff
changeset
|
2439 @end ignore |
45861 | 2440 |
81759 | 2441 @item |
2442 How could I speed up @value{tramp}? | |
2443 | |
2444 In the backstage, @value{tramp} needs a lot of operations on the | |
2445 remote host. The time for transferring data from and to the remote | |
2446 host as well as the time needed to perform the operations there count. | |
2447 In order to speed up @value{tramp}, one could either try to avoid some | |
2448 of the operations, or one could try to improve their performance. | |
2449 | |
2450 Use an external transfer method, like @option{scpc}. | |
2451 | |
2452 Use caching. This is already enabled by default. Information about | |
2453 the remote host as well as the remote files are cached for reuse. Th | |
2454 information about remote hosts is kept in the file specified in | |
2455 @code{tramp-persistency-file-name}. Keep this file. | |
2456 | |
2457 Disable version control. If you access remote files which are not | |
2458 under version control, a lot of check operations can be avoided by | |
2459 disabling VC. This can be achieved by | |
2460 | |
2461 @lisp | |
2462 (setq vc-handled-backends nil) | |
2463 @end lisp | |
2464 | |
2465 Disable excessive traces. The default trace level of @value{tramp}, | |
2466 defined in the variable @code{tramp-verbose}, is 3. You should | |
2467 increase this level only temporarily, hunting bugs. | |
2468 | |
45861 | 2469 |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2470 @item |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2471 @value{tramp} does not connect to the remote host |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2472 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2473 When @value{tramp} does not connect to the remote host, there are two |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2474 reasons heading the bug mailing list: |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2475 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2476 @itemize @minus |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2477 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2478 @item |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2479 Unknown characters in the prompt |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2480 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2481 @value{tramp} needs to recognize the prompt on the remote machine |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2482 after execution any command. This is not possible, when the prompt |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2483 contains unknown characters like escape sequences for coloring. This |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2484 should be avoided on the remote side. @xref{Remote shell setup}. for |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2485 setting the regular expression detecting the prompt. |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2486 |
81759 | 2487 You can check your settings after an unsuccessful connection by |
2488 switching to the @value{tramp} connection buffer @file{*tramp/foo*}, | |
2489 setting the cursor at the top of the buffer, and applying the expression | |
2490 | |
2491 @example | |
2492 @kbd{M-: (re-search-forward (concat tramp-shell-prompt-pattern "$"))} | |
2493 @end example | |
2494 | |
2495 If it fails, or the cursor is not moved at the end of the buffer, your | |
2496 prompt is not recognised correctly. | |
2497 | |
71068
14f10023ee06
* tramp.texi (Frequently Asked Questions): Disable zsh zle.
Michael Albinus <michael.albinus@gmx.de>
parents:
70532
diff
changeset
|
2498 A special problem is the zsh, which uses left-hand side and right-hand |
14f10023ee06
* tramp.texi (Frequently Asked Questions): Disable zsh zle.
Michael Albinus <michael.albinus@gmx.de>
parents:
70532
diff
changeset
|
2499 side prompts in parallel. Therefore, it is necessary to disable the |
14f10023ee06
* tramp.texi (Frequently Asked Questions): Disable zsh zle.
Michael Albinus <michael.albinus@gmx.de>
parents:
70532
diff
changeset
|
2500 zsh line editor on the remote host. You shall add to @file{~/.zshrc} |
77986
0cc9b64806d2
Sync with Tramp 2.0.56.
Michael Albinus <michael.albinus@gmx.de>
parents:
77235
diff
changeset
|
2501 the following command: |
0cc9b64806d2
Sync with Tramp 2.0.56.
Michael Albinus <michael.albinus@gmx.de>
parents:
77235
diff
changeset
|
2502 |
0cc9b64806d2
Sync with Tramp 2.0.56.
Michael Albinus <michael.albinus@gmx.de>
parents:
77235
diff
changeset
|
2503 @example |
0cc9b64806d2
Sync with Tramp 2.0.56.
Michael Albinus <michael.albinus@gmx.de>
parents:
77235
diff
changeset
|
2504 [ $TERM = "dumb" ] && unsetopt zle && PS1='$ ' |
0cc9b64806d2
Sync with Tramp 2.0.56.
Michael Albinus <michael.albinus@gmx.de>
parents:
77235
diff
changeset
|
2505 @end example |
71068
14f10023ee06
* tramp.texi (Frequently Asked Questions): Disable zsh zle.
Michael Albinus <michael.albinus@gmx.de>
parents:
70532
diff
changeset
|
2506 |
81759 | 2507 |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2508 @item |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2509 @value{tramp} doesn't transfer strings with more than 500 characters |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2510 correctly |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2511 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2512 On some few systems, the implementation of @code{process-send-string} |
81759 | 2513 seems to be broken for longer strings. It is reported for HP-UX, |
2514 FreeBSD and Tru64 Unix, for example. This case, you should customize | |
2515 the variable @code{tramp-chunksize} to 500. For a description how to | |
2516 determine whether this is necessary see the documentation of | |
2517 @code{tramp-chunksize}. | |
2518 | |
2519 Additionally, it will be useful to set @code{file-precious-flag} to | |
2520 @code{t} for @value{tramp} files. Then the file contents will be | |
2521 written into a temporary file first, which is checked for correct | |
2522 checksum. | |
2523 @ifinfo | |
2524 @pxref{Saving Buffers, , , elisp} | |
2525 @end ifinfo | |
2526 | |
2527 @lisp | |
2528 (add-hook | |
2529 'find-file-hooks | |
2530 '(lambda () | |
2531 (when (file-remote-p default-directory) | |
2532 (set (make-local-variable 'file-precious-flag) t)))) | |
2533 @end lisp | |
2534 | |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2535 @end itemize |
45861 | 2536 |
2537 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2538 @item |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2539 File name completion does not work with @value{tramp} |
45861 | 2540 |
2541 When you log in to the remote machine, do you see the output of | |
2542 @command{ls} in color? If so, this may be the cause of your problems. | |
2543 | |
2544 @command{ls} outputs @acronym{ANSI} escape sequences that your terminal | |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
2545 emulator interprets to set the colors. These escape sequences will |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2546 confuse @value{tramp} however. |
45861 | 2547 |
2548 In your @file{.bashrc}, @file{.profile} or equivalent on the remote | |
2549 machine you probably have an alias configured that adds the option | |
2550 @option{--color=yes} or @option{--color=auto}. | |
2551 | |
2552 You should remove that alias and ensure that a new login @emph{does not} | |
49610
ffda74ab6dc4
2003-02-05 Kai Gro?ohann <kai.grossjohann@uni-duisburg.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49600
diff
changeset
|
2553 display the output of @command{ls} in color. If you still cannot use |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2554 filename completion, report a bug to the @value{tramp} developers. |
45861 | 2555 |
2556 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2557 @item |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2558 File name completion does not work in large directories |
45861 | 2559 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2560 @value{tramp} uses globbing for some operations. (Globbing means to use the |
45861 | 2561 shell to expand wildcards such as `*.c'.) This might create long |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
2562 command lines, especially in directories with many files. Some shells |
45861 | 2563 choke on long command lines, or don't cope well with the globbing |
2564 itself. | |
2565 | |
2566 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
|
2567 a command like @samp{ls -d * ..?* > /dev/null} and see if it hangs. |
45861 | 2568 Note that you must first start the right shell, which might be |
2569 @command{/bin/sh}, @command{ksh} or @command{bash}, depending on which | |
2570 of those supports tilde expansion. | |
2571 | |
2572 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2573 @item |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2574 How can I get notified when @value{tramp} file transfers are complete? |
45861 | 2575 |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2576 The following snippet can be put in your @file{~/.emacs} file. It |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2577 makes @value{emacsname} beep after reading from or writing to the |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
2578 remote host. |
45861 | 2579 |
2580 @lisp | |
2581 (defadvice tramp-handle-write-region | |
2582 (after tramp-write-beep-advice activate) | |
2583 " make tramp beep after writing a file." | |
2584 (interactive) | |
2585 (beep)) | |
81759 | 2586 |
45861 | 2587 (defadvice tramp-handle-do-copy-or-rename-file |
2588 (after tramp-copy-beep-advice activate) | |
2589 " make tramp beep after copying a file." | |
2590 (interactive) | |
2591 (beep)) | |
81759 | 2592 |
45861 | 2593 (defadvice tramp-handle-insert-file-contents |
2594 (after tramp-copy-beep-advice activate) | |
2595 " make tramp beep after copying a file." | |
2596 (interactive) | |
2597 (beep)) | |
2598 @end lisp | |
2599 | |
2600 | |
81759 | 2601 @ifset emacs |
2602 @item | |
2603 I'ld like to see a host indication in the mode line when I'm remote | |
2604 | |
2605 The following code has been tested with @value{emacsname} 22. You | |
2606 should put it into your @file{~/.emacs}: | |
2607 | |
2608 @lisp | |
2609 (defconst my-mode-line-buffer-identification | |
2610 (list | |
2611 '(:eval | |
2612 (let ((host-name | |
2613 (if (file-remote-p default-directory) | |
2614 (tramp-file-name-host | |
2615 (tramp-dissect-file-name default-directory)) | |
2616 (system-name)))) | |
2617 (if (string-match "^[^0-9][^.]*\\(\\..*\\)" host-name) | |
2618 (substring host-name 0 (match-beginning 1)) | |
2619 host-name))) | |
2620 ": %12b")) | |
2621 | |
2622 (setq-default | |
2623 mode-line-buffer-identification | |
2624 my-mode-line-buffer-identification) | |
2625 | |
2626 (add-hook | |
2627 'dired-mode-hook | |
2628 '(lambda () | |
2629 (setq | |
2630 mode-line-buffer-identification | |
2631 my-mode-line-buffer-identification))) | |
2632 @end lisp | |
2633 @end ifset | |
2634 | |
2635 | |
2636 @ifset emacs | |
2637 @item | |
2638 My remote host does not understand default directory listing options | |
2639 | |
2640 @value{emacsname} computes the @command{dired} options depending on | |
2641 the local host you are working. If your @command{ls} command on the | |
2642 remote host does not understand those options, you can change them | |
2643 like this: | |
2644 | |
2645 @lisp | |
2646 (add-hook | |
2647 'dired-before-readin-hook | |
2648 '(lambda () | |
2649 (when (file-remote-p default-directory) | |
2650 (setq dired-actual-switches "-al")))) | |
2651 @end lisp | |
2652 @end ifset | |
2653 | |
2654 | |
46361
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2655 @item |
a3acca116f2f
Comply with Texinfo coding standards. Suggestions by Eli.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46348
diff
changeset
|
2656 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
|
2657 growing and growing. What's that? |
45861 | 2658 |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
2659 Sometimes, @value{tramp} starts @command{ksh} on the remote host for |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
2660 tilde expansion. Maybe @command{ksh} saves the history by default. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
2661 @value{tramp} tries to turn off saving the history, but maybe you have |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
2662 to help. For example, you could put this in your @file{.kshrc}: |
45861 | 2663 |
2664 @example | |
2665 if [ -f $HOME/.sh_history ] ; then | |
2666 /bin/rm $HOME/.sh_history | |
2667 fi | |
2668 if [ "$@{HISTFILE-unset@}" != "unset" ] ; then | |
2669 unset HISTFILE | |
2670 fi | |
2671 if [ "$@{HISTSIZE-unset@}" != "unset" ] ; then | |
2672 unset HISTSIZE | |
2673 fi | |
2674 @end example | |
2675 | |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
2676 |
81759 | 2677 @item There are longish file names to type. How to shorten this? |
2678 | |
2679 Let's say you need regularly access to @file{@trampfn{ssh, news, | |
2680 news.my.domain, /opt/news/etc}}, which is boring to type again and | |
2681 again. The following approaches can be mixed: | |
2682 | |
2683 @enumerate | |
2684 | |
2685 @item Use default values for method and user name: | |
2686 | |
2687 You can define default methods and user names for hosts, | |
2688 (@pxref{Default Method}, @pxref{Default User}): | |
2689 | |
2690 @lisp | |
2691 (setq tramp-default-method "ssh" | |
2692 tramp-default-user "news") | |
2693 @end lisp | |
2694 | |
2695 The file name left to type would be | |
2696 @kbd{C-x C-f @trampfnhl{news.my.domain, /opt/news/etc}}. | |
2697 | |
2698 Note, that there are some useful settings already. Accessing your | |
2699 local host as @samp{root} user, is possible just by @kbd{C-x C-f | |
2700 @trampfnmhl{su,,}}. | |
2701 | |
2702 @item Use configuration possibilities of your method: | |
2703 | |
2704 Several connection methods (i.e. the programs used) offer powerful | |
2705 configuration possibilities (@pxref{Customizing Completion}). In the | |
2706 given case, this could be @file{~/.ssh/config}: | |
2707 | |
2708 @example | |
2709 Host xy | |
2710 HostName news.my.domain | |
2711 User news | |
2712 @end example | |
2713 | |
2714 The file name left to type would be @kbd{C-x C-f @trampfnmhl{ssh, xy, | |
2715 /opt/news/etc}}. Depending on files in your directories, it is even | |
2716 possible to complete the hostname with @kbd{C-x C-f | |
2717 @value{prefix}ssh@value{postfixhop}x @key{TAB}}. | |
2718 | |
2719 @item Use environment variables: | |
2720 | |
2721 File names typed in the minibuffer can be expanded by environment | |
2722 variables. You can set them outside @value{emacsname}, or even with | |
2723 Lisp: | |
2724 | |
2725 @lisp | |
2726 (setenv "xy" "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}") | |
2727 @end lisp | |
2728 | |
2729 Then you need simply to type @kbd{C-x C-f $xy @key{RET}}, and here you | |
2730 are. The disadvantage is, that you cannot edit the file name, because | |
2731 environment variables are not expanded during editing in the | |
2732 minibuffer. | |
2733 | |
2734 @item Define own keys: | |
2735 | |
2736 You can define your own key sequences in @value{emacsname}, which can | |
2737 be used instead of @kbd{C-x C-f}: | |
2738 | |
2739 @lisp | |
2740 (global-set-key | |
2741 [(control x) (control y)] | |
2742 (lambda () | |
2743 (interactive) | |
2744 (find-file | |
2745 (read-file-name | |
2746 "Find Tramp file: " | |
2747 "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")))) | |
2748 @end lisp | |
2749 | |
2750 Simply typing @kbd{C-x C-y} would initialize the minibuffer for | |
2751 editing with your beloved file name. | |
2752 | |
2753 See also @uref{http://www.emacswiki.org/cgi-bin/wiki/TrampMode, the | |
2754 Emacs Wiki} for a more comprehensive example. | |
2755 | |
2756 @item Define own abbreviation (1): | |
2757 | |
2758 It is possible to define an own abbreviation list for expanding file | |
2759 names: | |
2760 | |
2761 @lisp | |
2762 (add-to-list | |
2763 'directory-abbrev-alist | |
2764 '("^/xy" . "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")) | |
2765 @end lisp | |
2766 | |
2767 This shortens the file openening command to @kbd{C-x C-f /xy | |
2768 @key{RET}}. The disadvantage is, again, that you cannot edit the file | |
2769 name, because the expansion happens after entering the file name only. | |
2770 | |
2771 @item Define own abbreviation (2): | |
2772 | |
2773 The @code{abbrev-mode} gives more flexibility for editing the | |
2774 minibuffer: | |
2775 | |
2776 @lisp | |
2777 (define-abbrev-table 'my-tramp-abbrev-table | |
2778 '(("xy" "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}"))) | |
2779 | |
2780 (add-hook | |
2781 'minibuffer-setup-hook | |
2782 '(lambda () | |
2783 (abbrev-mode 1) | |
2784 (setq local-abbrev-table my-tramp-abbrev-table))) | |
2785 | |
2786 (defadvice minibuffer-complete | |
2787 (before my-minibuffer-complete activate) | |
2788 (expand-abbrev)) | |
2789 | |
2790 ;; If you use partial-completion-mode | |
2791 (defadvice PC-do-completion | |
2792 (before my-PC-do-completion activate) | |
2793 (expand-abbrev)) | |
2794 @end lisp | |
2795 | |
2796 After entering @kbd{C-x C-f xy @key{TAB}}, the minibuffer is | |
2797 expanded, and you can continue editing. | |
2798 | |
2799 @item Use bookmarks: | |
2800 | |
2801 Bookmarks can be used to visit Tramp files or directories. | |
2802 @ifinfo | |
2803 @pxref{Bookmarks, , , @value{emacsdir}} | |
2804 @end ifinfo | |
2805 | |
2806 When you have opened @file{@trampfn{ssh, news, news.my.domain, | |
2807 /opt/news/etc/}}, you should save the bookmark via | |
2808 @ifset emacs | |
2809 @kbd{@key{menu-bar} @key{edit} @key{bookmarks} @key{set}}. | |
2810 @end ifset | |
2811 @ifset xemacs | |
2812 @kbd{@key{menu-bar} @key{view} @key{bookmarks} @key{set}}. | |
2813 @end ifset | |
2814 | |
2815 Later on, you can always navigate to that bookmark via | |
2816 @ifset emacs | |
2817 @kbd{@key{menu-bar} @key{edit} @key{bookmarks} @key{jump}}. | |
2818 @end ifset | |
2819 @ifset xemacs | |
2820 @kbd{@key{menu-bar} @key{view} @key{bookmarks} @key{jump}}. | |
2821 @end ifset | |
2822 | |
2823 @item Use recent files: | |
2824 | |
2825 @ifset emacs | |
2826 @file{recentf} | |
2827 @end ifset | |
2828 @ifset xemacs | |
2829 @file{recent-files} | |
2830 @end ifset | |
2831 remembers visited places. | |
2832 @ifinfo | |
2833 @ifset emacs | |
2834 @pxref{File Conveniences, , , @value{emacsdir}} | |
2835 @end ifset | |
2836 @ifset xemacs | |
2837 @pxref{recent-files, , , edit-utils} | |
2838 @end ifset | |
2839 @end ifinfo | |
2840 | |
2841 You could keep remote file names in the recent list without checking | |
2842 their readability through a remote access: | |
2843 | |
2844 @lisp | |
2845 @ifset emacs | |
2846 (recentf-mode 1) | |
2847 @end ifset | |
2848 @ifset xemacs | |
2849 (recent-files-initialize) | |
2850 (add-hook | |
2851 'find-file-hooks | |
2852 (lambda () | |
2853 (when (file-remote-p (buffer-file-name)) | |
2854 (recent-files-make-permanent))) | |
2855 'append) | |
2856 @end ifset | |
2857 @end lisp | |
2858 | |
2859 The list of files opened recently is reachable via | |
2860 @ifset emacs | |
2861 @kbd{@key{menu-bar} @key{file} @key{Open Recent}}. | |
2862 @end ifset | |
2863 @ifset xemacs | |
2864 @kbd{@key{menu-bar} @key{Recent Files}}. | |
2865 @end ifset | |
2866 | |
2867 @ifset emacs | |
2868 @item Use filecache: | |
2869 | |
2870 @file{filecache} remembers visited places. Add the directory into | |
2871 the cache: | |
2872 | |
2873 @lisp | |
2874 (eval-after-load "filecache" | |
2875 '(file-cache-add-directory | |
2876 "@trampfn{ssh, news, news.my.domain, /opt/news/etc/}")) | |
2877 @end lisp | |
2878 | |
2879 Whenever you want to load a file, you can enter @kbd{C-x C-f | |
2880 C-@key{TAB}} in the minibuffer. The completion is done for the given | |
2881 directory. | |
2882 @end ifset | |
2883 | |
2884 @end enumerate | |
2885 | |
2886 | |
63710
d20f7349d704
(Customizing Completion, Auto-save and Backup): Texinfo usage fixes.
Richard M. Stallman <rms@gnu.org>
parents:
63669
diff
changeset
|
2887 @item |
68335
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2888 How can I disable @value{tramp}? |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2889 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2890 Shame on you, why did you read until now? |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2891 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2892 @ifset emacs |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2893 If you just want to have @value{ftppackagename} as default remote |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2894 files access package, you should apply the following code: |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2895 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2896 @lisp |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2897 (setq tramp-default-method "ftp") |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2898 @end lisp |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2899 @end ifset |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2900 |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2901 Unloading @value{tramp} can be achieved by applying @kbd{M-x |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2902 tramp-unload-tramp}. |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2903 @ifset emacs |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2904 This resets also the @value{ftppackagename} plugins. |
118ceefc8263
Sync with Tramp 2.0.52.
Michael Albinus <michael.albinus@gmx.de>
parents:
65555
diff
changeset
|
2905 @end ifset |
45861 | 2906 @end itemize |
2907 | |
2908 | |
2909 @c For the developer | |
2910 @node Version Control | |
2911 @chapter The inner workings of remote version control | |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
2912 @cindex Version Control |
45861 | 2913 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2914 Unlike @value{ftppackagename}, @value{tramp} has full shell access to the |
81759 | 2915 remote machine. This makes it possible to provide version control for |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2916 files accessed under @value{tramp}. |
45861 | 2917 |
2918 The actual version control binaries must be installed on the remote | |
2919 machine, accessible in the directories specified in | |
81759 | 2920 @code{tramp-remote-path}. |
45861 | 2921 |
2922 This transparent integration with the version control systems is one of | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2923 the most valuable features provided by @value{tramp}, but it is far from perfect. |
45861 | 2924 Work is ongoing to improve the transparency of the system. |
2925 | |
2926 @menu | |
2927 * Version Controlled Files:: Determining if a file is under version control. | |
2928 * Remote Commands:: Executing the version control commands on the remote machine. | |
2929 * Changed workfiles:: Detecting if the working file has changed. | |
2930 * Checking out files:: Bringing the workfile out of the repository. | |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
2931 * Miscellaneous Version Control:: Things related to Version Control that don't fit elsewhere. |
45861 | 2932 @end menu |
2933 | |
2934 | |
2935 @node Version Controlled Files | |
2936 @section Determining if a file is under version control | |
2937 | |
2938 The VC package uses the existence of on-disk revision control master | |
81759 | 2939 files to determine if a given file is under revision control. These file |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2940 tests happen on the remote machine through the standard @value{tramp} mechanisms. |
45861 | 2941 |
2942 | |
2943 @node Remote Commands | |
2944 @section Executing the version control commands on the remote machine | |
2945 | |
2946 There are no hooks provided by VC to allow intercepting of the version | |
81759 | 2947 control command execution. The calls occur through the |
45861 | 2948 @code{call-process} mechanism, a function that is somewhat more |
2949 efficient than the @code{shell-command} function but that does not | |
2950 provide hooks for remote execution of commands. | |
2951 | |
2952 To work around this, the functions @code{vc-do-command} and | |
2953 @code{vc-simple-command} have been advised to intercept requests for | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2954 operations on files accessed via @value{tramp}. |
45861 | 2955 |
2956 In the case of a remote file, the @code{shell-command} interface is | |
2957 used, with some wrapper code, to provide the same functionality on the | |
52869
4c969f6bcb01
(Inline methods): Small grammar fix.
Thien-Thi Nguyen <ttn@gnuvola.org>
parents:
52401
diff
changeset
|
2958 remote machine as would be seen on the local machine. |
45861 | 2959 |
2960 | |
2961 @node Changed workfiles | |
2962 @section Detecting if the working file has changed | |
2963 | |
2964 As there is currently no way to get access to the mtime of a file on a | |
2965 remote machine in a portable way, the @code{vc-workfile-unchanged-p} | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2966 function is advised to call an @value{tramp} specific function for remote files. |
45861 | 2967 |
2968 The @code{tramp-vc-workfile-unchanged-p} function uses the functioning VC | |
2969 diff functionality to determine if any changes have occurred between the | |
2970 workfile and the version control master. | |
2971 | |
2972 This requires that a shell command be executed remotely, a process that | |
2973 is notably heavier-weight than the mtime comparison used for local | |
81759 | 2974 files. Unfortunately, unless a portable solution to the issue is found, |
45861 | 2975 this will remain the cost of remote version control. |
2976 | |
2977 | |
2978 @node Checking out files | |
2979 @section Bringing the workfile out of the repository | |
2980 | |
2981 VC will, by default, check for remote files and refuse to act on them | |
81759 | 2982 when checking out files from the repository. To work around this |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
2983 problem, the function @code{vc-checkout} knows about @value{tramp} files and |
45861 | 2984 allows version control to occur. |
2985 | |
2986 | |
2987 @node Miscellaneous Version Control | |
2988 @section Things related to Version Control that don't fit elsewhere | |
2989 | |
2990 Minor implementation details, &c. | |
2991 | |
2992 @menu | |
2993 * Remote File Ownership:: How VC determines who owns a workfile. | |
2994 * Back-end Versions:: How VC determines what release your RCS is. | |
2995 @end menu | |
2996 | |
2997 | |
2998 @node Remote File Ownership | |
2999 @subsection How VC determines who owns a workfile | |
3000 | |
81759 | 3001 @value{emacsname} provides the @code{user-login-name} function to |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3002 return the login name of the current user as well as mapping from |
81759 | 3003 arbitrary user id values back to login names. The VC code uses this |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3004 functionality to map from the uid of the owner of a workfile to the |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3005 login name in some circumstances. |
45861 | 3006 |
3007 This will not, for obvious reasons, work if the remote system has a | |
81759 | 3008 different set of logins. As such, it is necessary to delegate to the |
45861 | 3009 remote machine the job of determining the login name associated with a |
3010 uid. | |
3011 | |
3012 Unfortunately, with the profusion of distributed management systems such | |
3013 as @code{NIS}, @code{NIS+} and @code{NetInfo}, there is no simple, | |
3014 reliable and portable method for performing this mapping. | |
3015 | |
3016 Thankfully, the only place in the VC code that depends on the mapping of | |
81759 | 3017 a uid to a login name is the @code{vc-file-owner} function. This returns |
45861 | 3018 the login of the owner of the file as a string. |
3019 | |
3020 This function has been advised to use the output of @command{ls} on the | |
3021 remote machine to determine the login name, delegating the problem of | |
3022 mapping the uid to the login to the remote system which should know more | |
3023 about it than I do. | |
3024 | |
3025 | |
3026 @node Back-end Versions | |
3027 @subsection How VC determines what release your RCS is | |
3028 | |
3029 VC needs to know what release your revision control binaries you are | |
3030 running as not all features VC supports are available with older | |
3031 versions of @command{rcs(1)}, @command{cvs(1)} or @command{sccs(1)}. | |
3032 | |
3033 The default implementation of VC determines this value the first time it | |
3034 is needed and then stores the value globally to avoid the overhead of | |
3035 executing a process and parsing its output each time the information is | |
3036 needed. | |
3037 | |
3038 Unfortunately, life is not quite so easy when remote version control | |
81759 | 3039 comes into the picture. Each remote machine may have a different version |
45861 | 3040 of the version control tools and, while this is painful, we need to |
3041 ensure that unavailable features are not used remotely. | |
3042 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3043 To resolve this issue, @value{tramp} currently takes the sledgehammer |
45861 | 3044 approach of making the release values of the revision control tools |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3045 local to each @value{tramp} buffer, forcing VC to determine these values |
45861 | 3046 again each time a new file is visited. |
3047 | |
81759 | 3048 This has, quite obviously, some performance implications. Thankfully, |
45861 | 3049 most of the common operations performed by VC do not actually require |
81759 | 3050 that the remote version be known. This makes the problem far less |
45861 | 3051 apparent. |
3052 | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3053 Eventually these values will be captured by @value{tramp} on a system by |
45861 | 3054 system basis and the results cached to improve performance. |
3055 | |
3056 | |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3057 @node Files directories and localnames |
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3058 @chapter How file names, directories and localnames are mangled and managed. |
45861 | 3059 |
3060 @menu | |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3061 * Localname deconstruction:: Breaking a localname into its components. |
45861 | 3062 @end menu |
3063 | |
3064 | |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3065 @node Localname deconstruction |
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3066 @section Breaking a localname into its components. |
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3067 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3068 @value{tramp} file names are somewhat different, obviously, to ordinary file |
81759 | 3069 names. As such, the lisp functions @code{file-name-directory} and |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3070 @code{file-name-nondirectory} are overridden within the @value{tramp} |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3071 package. |
45861 | 3072 |
81759 | 3073 Their replacements are reasonably simplistic in their approach. They |
49996
bda88bfc6c5e
Version 2.0.30 released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
49610
diff
changeset
|
3074 dissect the filename, call the original handler on the localname and |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3075 then rebuild the @value{tramp} file name with the result. |
45861 | 3076 |
3077 This allows the platform specific hacks in the original handlers to take | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3078 effect while preserving the @value{tramp} file name information. |
45861 | 3079 |
3080 | |
81759 | 3081 @node Traces and Profiles |
3082 @chapter How to Customize Traces | |
3083 | |
3084 All @value{tramp} messages are raised with a verbosity level. The | |
3085 verbosity level can be any number between 0 and 10. Only messages with | |
3086 a verbosity level less than or equal to @code{tramp-verbose} are | |
3087 displayed. | |
3088 | |
3089 The verbosity levels are | |
3090 | |
3091 @w{ 0} silent (no @value{tramp} messages at all) | |
3092 @*@indent @w{ 1} errors | |
3093 @*@indent @w{ 2} warnings | |
3094 @*@indent @w{ 3} connection to remote hosts (default verbosity) | |
3095 @*@indent @w{ 4} activities | |
3096 @*@indent @w{ 5} internal | |
3097 @*@indent @w{ 6} sent and received strings | |
3098 @*@indent @w{ 7} file caching | |
3099 @*@indent @w{ 8} connection properties | |
3100 @*@indent @w{10} traces (huge) | |
3101 | |
3102 When @code{tramp-verbose} is greater than or equal to 4, the messages | |
3103 are also written into a @value{tramp} debug buffer. This debug buffer | |
3104 is useful for analysing problems; sending a @value{tramp} bug report | |
3105 should be done with @code{tramp-verbose} set to a verbosity level of at | |
3106 least 6 (@pxref{Bug Reports}). | |
3107 | |
3108 The debug buffer is in | |
3109 @ifinfo | |
3110 @ref{Outline Mode, , , @value{emacsdir}}. | |
3111 @end ifinfo | |
3112 @ifnotinfo | |
3113 Outline Mode. | |
3114 @end ifnotinfo | |
3115 That means, you can change the level of messages to be viewed. If you | |
3116 want, for example, see only messages up to verbosity level 5, you must | |
3117 enter @kbd{C-u 6 C-c C-q}. | |
3118 @ifinfo | |
3119 Other keys for navigating are described in | |
3120 @ref{Outline Visibility, , , @value{emacsdir}}. | |
3121 @end ifinfo | |
3122 | |
3123 @value{tramp} errors are handled internally in order to raise the | |
3124 verbosity level 1 messages. When you want to get a Lisp backtrace in | |
3125 case of an error, you need to set both | |
3126 | |
3127 @lisp | |
3128 (setq debug-on-error t | |
3129 debug-on-signal t) | |
3130 @end lisp | |
3131 | |
3132 Sometimes, it might be even necessary to step through @value{tramp} | |
3133 function call traces. Such traces are enabled by the following code: | |
3134 | |
3135 @lisp | |
3136 (require 'tramp) | |
3137 (require 'trace) | |
3138 (mapcar 'trace-function-background | |
3139 (mapcar 'intern | |
3140 (all-completions "tramp-" obarray 'functionp))) | |
3141 (untrace-function 'tramp-read-passwd) | |
3142 (untrace-function 'tramp-gw-basic-authentication) | |
3143 @end lisp | |
3144 | |
3145 The function call traces are inserted in the buffer | |
3146 @file{*trace-output*}. @code{tramp-read-passwd} and | |
3147 @code{tramp-gw-basic-authentication} shall be disabled when the | |
3148 function call traces are added to @value{tramp}, because both | |
3149 functions return password strings, which should not be distributed. | |
3150 | |
3151 | |
45861 | 3152 @node Issues |
3153 @chapter Debatable Issues and What Was Decided | |
3154 | |
3155 @itemize @bullet | |
3156 @item The uuencode method does not always work. | |
3157 | |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3158 Due to the design of @value{tramp}, the encoding and decoding programs |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3159 need to read from stdin and write to stdout. On some systems, |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3160 @command{uudecode -o -} will read stdin and write the decoded file to |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3161 stdout, on other systems @command{uudecode -p} does the same thing. |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3162 But some systems have uudecode implementations which cannot do this at |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3163 all---it is not possible to call these uudecode implementations with |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3164 suitable parameters so that they write to stdout. |
45861 | 3165 |
3166 Of course, this could be circumvented: the @code{begin foo 644} line | |
3167 could be rewritten to put in some temporary file name, then | |
64772
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3168 @command{uudecode} could be called, then the temp file could be |
060177e931f8
Sync with Tramp 2.0.50.
Michael Albinus <michael.albinus@gmx.de>
parents:
63710
diff
changeset
|
3169 printed and deleted. |
45861 | 3170 |
3171 But I have decided that this is too fragile to reliably work, so on some | |
3172 systems you'll have to do without the uuencode methods. | |
3173 | |
60763
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
3174 @item The @value{tramp} filename syntax differs between GNU Emacs and XEmacs. |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
3175 |
3ba8f94e9cfa
Sync with Tramp 2.0.48.
Michael Albinus <michael.albinus@gmx.de>
parents:
59996
diff
changeset
|
3176 The GNU Emacs maintainers wish to use a unified filename syntax for |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3177 Ange-FTP and @value{tramp} so that users don't have to learn a new |
46348 | 3178 syntax. It is sufficient to learn some extensions to the old syntax. |
3179 | |
3180 For the XEmacs maintainers, the problems caused from using a unified | |
48974
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
3181 filename syntax are greater than the gains. The XEmacs package system |
d29e4e3d4f5d
(External transfer methods): New method `smb'. From
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
47772
diff
changeset
|
3182 uses EFS for downloading new packages. So, obviously, EFS has to be |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3183 installed from the start. If the filenames were unified, @value{tramp} |
46348 | 3184 would have to be installed from the start, too. |
3185 | |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3186 @ifset xemacs |
71224
b7261e09f8e4
* cc-mode.texi (Getting Started, Indentation Commands, Config Basics)
Romain Francoise <romain@orebokech.com>
parents:
71068
diff
changeset
|
3187 @strong{Note:} If you'd like to use a similar syntax like |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3188 @value{ftppackagename}, you need the following settings in your init |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3189 file: |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3190 |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3191 @lisp |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3192 (setq tramp-unified-filenames t) |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3193 (require 'tramp) |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3194 @end lisp |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3195 |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3196 The autoload of the @value{emacsname} @value{tramp} package must be |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3197 disabled. This can be achieved by setting file permissions @code{000} |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3198 to the files @file{.../xemacs-packages/lisp/tramp/auto-autoloads.el*}. |
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3199 |
81759 | 3200 In case of unified filenames, all @value{emacsname} download sites are |
3201 added to @code{tramp-default-method-alist} with default method | |
3202 @option{ftp} @xref{Default Method}. These settings shouldn't be | |
3203 touched for proper working of the @value{emacsname} package system. | |
55421
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3204 |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3205 The syntax for unified filenames is described in the @value{tramp} manual |
5be9c6254f06
2004-05-07 Kai Grossjohann <kai@emptydomain.de>
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
54203
diff
changeset
|
3206 for @value{emacsothername}. |
54198
c1bfc266f10a
Tramp: sync with upstream version 2.0.39.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
53207
diff
changeset
|
3207 @end ifset |
45861 | 3208 @end itemize |
3209 | |
77235 | 3210 @node GNU Free Documentation License |
3211 @appendix GNU Free Documentation License | |
3212 @include doclicense.texi | |
3213 | |
51604
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
3214 @node Concept Index |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
3215 @comment node-name, next, previous, up |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
3216 @unnumbered Concept Index |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
3217 @printindex cp |
f57bfce0ddaf
Version 2.0.35 of Tramp released.
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
50495
diff
changeset
|
3218 @contents |
45861 | 3219 @c End of tramp.texi - the TRAMP User Manual |
3220 @bye | |
3221 | |
3222 @c TODO | |
3223 @c | |
3224 @c * Say something about the .login and .profile files of the remote | |
3225 @c shells. | |
3226 @c * Explain how tramp.el works in principle: open a shell on a remote | |
3227 @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
|
3228 @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
|
3229 @c It seems that "external" is also used instead of "out-of-band". |
45861 | 3230 |
47576
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
3231 @c * M. Albinus |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
3232 @c ** Use `filename' resp. `file name' consistently. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
3233 @c ** Use `host' resp. `machine' consistently. |
b31c8ab7336a
Sync with version 2.0.20. Lengthy ChangeLog follows:
Kai Großjohann <kgrossjo@eu.uu.net>
parents:
46918
diff
changeset
|
3234 @c ** Consistent small or capitalized words especially in menues. |
54203 | 3235 |
3236 @ignore | |
3237 arch-tag: f96dd66e-6dd3-4c92-8d77-9c56205ba808 | |
3238 @end ignore |