annotate man/tramp.texi @ 82476:c4d5c23a6b0a

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