annotate man/tramp.texi @ 49599:5ade352e8d1c

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