aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorKai Großjohann2002-12-26 20:49:52 +0000
committerKai Großjohann2002-12-26 20:49:52 +0000
commitabc6be8d89ad01d19f7163bf77a517275db87779 (patch)
treec9c1082af4ab18c533ca72f5d3fd93c6145965dd
parent4007ba5bfb1152d1b77b212bf881be58fe5fe23a (diff)
downloademacs-abc6be8d89ad01d19f7163bf77a517275db87779.tar.gz
emacs-abc6be8d89ad01d19f7163bf77a517275db87779.zip
(External transfer methods): New method `smb'. From
Michael Albinus.
-rw-r--r--man/ChangeLog5
-rw-r--r--man/tramp.texi128
2 files changed, 106 insertions, 27 deletions
diff --git a/man/ChangeLog b/man/ChangeLog
index b6c1c09925a..ed5b434badc 100644
--- a/man/ChangeLog
+++ b/man/ChangeLog
@@ -1,3 +1,8 @@
12002-12-26 Kai Gro,A_(Bjohann <kai.grossjohann@uni-duisburg.de>
2
3 * tramp.texi (External transfer methods): New method `smb'. From
4 Michael Albinus.
5
12002-11-05 Karl Berry <karl@gnu.org> 62002-11-05 Karl Berry <karl@gnu.org>
2 7
3 * info.texi (Info-fontify): reorder face list to avoid bad line 8 * info.texi (Info-fontify): reorder face list to avoid bad line
diff --git a/man/tramp.texi b/man/tramp.texi
index 45bbcc5c825..93cba2fea17 100644
--- a/man/tramp.texi
+++ b/man/tramp.texi
@@ -12,7 +12,7 @@
12@c Makefile, so you should edit the top-level Makefile to change 12@c Makefile, so you should edit the top-level Makefile to change
13@c the version number. 13@c the version number.
14@macro trampver{} 14@macro trampver{}
152.0.25 152.0.28
16@end macro 16@end macro
17 17
18@c Entries for @command{install-info} to use 18@c Entries for @command{install-info} to use
@@ -463,7 +463,7 @@ make EMACS=@value{emacs-dir} all
463 463
464@item 464@item
465NOTE: If you run into problems running the example @command{make} 465NOTE: If you run into problems running the example @command{make}
466command, don't dispare. You can still byte compile the @file{*.el} 466command, don't despair. You can still byte compile the @file{*.el}
467files by opening @value{emacs-name} in @command{dired} (@command{C-x 467files by opening @value{emacs-name} in @command{dired} (@command{C-x
468d}) mode, at @file{~/@value{emacs-dir}/tramp/lisp}. Mark the lisp files with 468d}) mode, at @file{~/@value{emacs-dir}/tramp/lisp}. Mark the lisp files with
469@kbd{m}, then press @kbd{B} to byte compile your selections. 469@kbd{m}, then press @kbd{B} to byte compile your selections.
@@ -666,7 +666,7 @@ access to external commands to perform that task.
666will be used. The search path can be customized, see @ref{Remote 666will be used. The search path can be customized, see @ref{Remote
667Programs}. 667Programs}.
668 668
669If both commands are'nt available on the remote host, @tramp{} 669If both commands aren't available on the remote host, @tramp{}
670transfers a small piece of Perl code to the remote host, and tries to 670transfers a small piece of Perl code to the remote host, and tries to
671apply it for encoding and decoding. 671apply it for encoding and decoding.
672 672
@@ -752,7 +752,7 @@ with.
752Note that this procedure does not eliminate questions asked by 752Note that this procedure does not eliminate questions asked by
753@command{ssh} itself. For example, @command{ssh} might ask ``Are you 753@command{ssh} itself. For example, @command{ssh} might ask ``Are you
754sure you want to continue connecting?'' if the host key of the remote 754sure you want to continue connecting?'' if the host key of the remote
755host is not known. Tramp does not know how to deal with such a 755host is not known. @tramp{} does not know how to deal with such a
756question (yet), therefore you will need to make sure that you can log 756question (yet), therefore you will need to make sure that you can log
757in without such questions. 757in without such questions.
758 758
@@ -786,8 +786,8 @@ remote host.
786CCC: Do we have to connect to the remote host once from the command 786CCC: Do we have to connect to the remote host once from the command
787line to accept the SSH key? Maybe this can be made automatic? 787line to accept the SSH key? Maybe this can be made automatic?
788 788
789CCC: Does @command{plink} support the @samp{-p} option? Tramp 789CCC: Does @command{plink} support the @samp{-p} option? @tramp{} will
790will support that, anyway. 790support that, anyway.
791 791
792@end table 792@end table
793 793
@@ -865,7 +865,7 @@ know what these are, you do not need these options.
865 865
866All the @command{ssh} based methods support the kludgy @samp{-p} 866All the @command{ssh} based methods support the kludgy @samp{-p}
867feature where you can specify a port number to connect to in the host 867feature where you can specify a port number to connect to in the host
868name. For example, the host name @file{host#42} tells Tramp to 868name. For example, the host name @file{host#42} tells @tramp{} to
869specify @samp{-p 42} in the argument list for @command{ssh}. 869specify @samp{-p 42} in the argument list for @command{ssh}.
870 870
871 871
@@ -885,7 +885,7 @@ the file exists only on one side of the connection.
885 885
886The @command{rsync} based method may be considerably faster than the 886The @command{rsync} based method may be considerably faster than the
887@command{rcp} based methods when writing to the remote system. Reading 887@command{rcp} based methods when writing to the remote system. Reading
888files to the local machine is no faster than with a direct copy. 888files to the local machine is no faster than with a direct copy.
889 889
890This method supports the @samp{-p} hack. 890This method supports the @samp{-p} hack.
891 891
@@ -962,10 +962,53 @@ anyway.
962@cindex method ftp 962@cindex method ftp
963@cindex ftp method 963@cindex ftp method
964 964
965This is not a natural @tramp{} method. Instead of, it forwards all 965This is not a native @tramp{} method. Instead of, it forwards all
966requests to @value{ftp-package-name}. 966requests to @value{ftp-package-name}.
967@end ifset 967@end ifset
968 968
969
970@item @option{smb} --- @command{smbclient}
971@cindex method smb
972@cindex smb method
973
974This is another not natural @tramp{} method. It uses the
975@command{smbclient} command on different Unices in order to connect to
976an SMB server. An SMB server might be a Samba (or CIFS) server on
977another UNIX host or, more interesting, a host running MS Windows. So
978far, it is tested towards MS Windows NT, MS Windows 2000, and MS
979Windows XP.
980
981The first directory in the path must be a share name on the remote
982host. Remember, that the @code{$} character in which default shares
983usually end, must be written @code{$$} due to environment variable
984substitution in file names. If no share name is given (i.e. remote
985directory @code{/}), all available shares are listed.
986
987Since authorization is done on share level, you will be prompted
988always for a password if you access another share on the same host.
989Due to security reasons, the password is not cached.
990
991MS Windows uses for authorization both a user name and a domain name.
992Because of this, the @tramp{} syntax has been extended: you can
993specify a user name which looks like @code{user%domain} (the real user
994name, then a percent sign, then the domain name). So, to connect to
995the machine @code{melancholia} as user @code{daniel} of the domain
996@code{BIZARRE}, and edit @file{.emacs} in the home directory (share
997@code{daniel$}) I would specify the filename
998@file{@value{tramp-prefix}smb@value{tramp-postfix-single-hop}daniel%BIZARRE@@melancholia@value{tramp-postfix}/daniel$$/.emacs}.
999
1000The domain name as well as the user name are optional. If no user
1001name is specified at all, the anonymous user (without password
1002prompting) is assumed. This is different from all other @tramp{}
1003methods, where in such a case the local user name is taken.
1004
1005The @option{smb} method supports the @samp{-p} hack.
1006
1007@strong{Please note:} If Emacs runs locally under MS Windows, this
1008method isn't available. Instead of, you can use UNC file names like
1009@file{//melancholia/daniel$$/.emacs}. The only disadvantage is that
1010there's no possiblity to specify another user name.
1011
969@end table 1012@end table
970 1013
971@node Multi-hop Methods 1014@node Multi-hop Methods
@@ -1134,7 +1177,7 @@ variable, accessible with @kbd{C-h v tramp-methods @key{RET}}.
1134@vindex tramp-completion-function-alist 1177@vindex tramp-completion-function-alist
1135 1178
1136The variable @code{tramp-completion-function-alist} is intended to 1179The variable @code{tramp-completion-function-alist} is intended to
1137customize, which files are taken into account for user and host name 1180customize which files are taken into account for user and host name
1138completion (@pxref{Filename completion}). For every method, it keeps 1181completion (@pxref{Filename completion}). For every method, it keeps
1139a set of configuration files, accompanied by a Lisp function able to 1182a set of configuration files, accompanied by a Lisp function able to
1140parse that file. Entries in @code{tramp-completion-function-alist} 1183parse that file. Entries in @code{tramp-completion-function-alist}
@@ -1293,7 +1336,7 @@ The package, therefore, pursues a combined approach. It tries to figure
1293out some of the more common setups, and only requires you to avoid 1336out some of the more common setups, and only requires you to avoid
1294really exotic stuff. For example, it looks through a list of 1337really exotic stuff. For example, it looks through a list of
1295directories to find some programs on the remote host. And also, it 1338directories to find some programs on the remote host. And also, it
1296knows that it is not obvious how to check whether a file exist, and 1339knows that it is not obvious how to check whether a file exists, and
1297therefore it tries different possibilities. (On some hosts and shells, 1340therefore it tries different possibilities. (On some hosts and shells,
1298the command @code{test -e} does the trick, on some hosts the shell 1341the command @code{test -e} does the trick, on some hosts the shell
1299builtin doesn't work but the program @code{/usr/bin/test -e} or 1342builtin doesn't work but the program @code{/usr/bin/test -e} or
@@ -1313,12 +1356,12 @@ shell. The strategy here is to wait for the shell prompt. In order to
1313recognize the shell prompt, the variable @code{shell-prompt-pattern} has 1356recognize the shell prompt, the variable @code{shell-prompt-pattern} has
1314to be set correctly to recognize the shell prompt on the remote host. 1357to be set correctly to recognize the shell prompt on the remote host.
1315 1358
1316Note that Tramp requires the match for @code{shell-prompt-pattern} to 1359Note that @tramp{} requires the match for @code{shell-prompt-pattern}
1317be at the end of the buffer. Many people have something like the 1360to be at the end of the buffer. Many people have something like the
1318following as the value for the variable: @code{"^[^>$][>$] *"}. Now 1361following as the value for the variable: @code{"^[^>$][>$] *"}. Now
1319suppose your shell prompt is @code{a <b> c $ }. In this case, Tramp 1362suppose your shell prompt is @code{a <b> c $ }. In this case,
1320recognizes the @code{>} character as the end of the prompt, but it is 1363@tramp{} recognizes the @code{>} character as the end of the prompt,
1321not at the end of the buffer. 1364but it is not at the end of the buffer.
1322 1365
1323@item @var{tramp-shell-prompt-pattern} 1366@item @var{tramp-shell-prompt-pattern}
1324@vindex tramp-shell-prompt-pattern 1367@vindex tramp-shell-prompt-pattern
@@ -1363,13 +1406,44 @@ the variables @code{tramp-actions-before-shell} and
1363 1406
1364This section needs a lot of work! Please help. 1407This section needs a lot of work! Please help.
1365 1408
1366@cindex method smx with Cygwin 1409@cindex method sshx with Cygwin
1367@cindex smx method with Cygwin 1410@cindex sshx method with Cygwin
1368If you use the Cygwin installation of ssh (you have to explicitly select 1411If you use the Cygwin installation of ssh (you have to explicitly select
1369it in the installer), then it should work out of the box to just select 1412it in the installer), then it should work out of the box to just select
1370@code{smx} as the connection method. You can find information about 1413@code{sshx} as the connection method. You can find information about
1371setting up Cygwin in their FAQ at @uref{http://cygwin.com/faq/}. 1414setting up Cygwin in their FAQ at @uref{http://cygwin.com/faq/}.
1372 1415
1416@cindex method scpx with Cygwin
1417@cindex scpx method with Cygwin
1418If you wish to use the @code{scpx} connection method, then you might
1419have the problem that Emacs calls @code{scp} with a Windows filename
1420such as @code{c:/foo}. The Cygwin version of @code{scp} does not know
1421about Windows filenames and interprets this as a remote filename on the
1422host @code{c}.
1423
1424One possible workaround is to write a wrapper script for @code{scp}
1425which converts the Windows filename to a Cygwinized filename.
1426
1427I guess that another workaround is to run Emacs under Cygwin, or to run
1428a Cygwinized Emacs.
1429
1430@cindex Cygwin and ssh-agent
1431@cindex SSH_AUTH_SOCK and Emacs on Windows
1432If you want to use either @code{ssh} based method on Windows, then you
1433might encounter problems with @code{ssh-agent}. Using this program,
1434you can avoid typing the pass-phrase every time you log in (and the
1435@code{scpx} method more or less requires you to use @code{ssh-agent}
1436because it does not allow you to type a password or pass-phrase).
1437However, if you start Emacs from a desktop shortcut, then the
1438environment variable @code{SSH_AUTH_SOCK} is not set and so Emacs and
1439thus @tramp{} and thus @code{ssh} and @code{scp} started from @tramp{}
1440cannot communicate with @code{ssh-agent}. It works better to start
1441Emacs from the shell.
1442
1443If anyone knows how to start @code{ssh-agent} under Windows in such a
1444way that desktop shortcuts can profit, please holler. I don't really
1445know anything at all about Windows@dots{}
1446
1373 1447
1374@node Usage 1448@node Usage
1375@chapter Using @tramp 1449@chapter Using @tramp
@@ -1457,7 +1531,7 @@ It is also possible to specify other file transfer methods
1457This is done by putting the method before the user and host name, as 1531This is done by putting the method before the user and host name, as
1458in 1532in
1459@file{@value{tramp-prefix}@var{method}@value{tramp-postfix-single-hop}} 1533@file{@value{tramp-prefix}@var{method}@value{tramp-postfix-single-hop}}
1460(note the trailing colon). 1534(Note the trailing colon).
1461@end ifset 1535@end ifset
1462@ifset xemacs 1536@ifset xemacs
1463This is done by replacing the initial 1537This is done by replacing the initial
@@ -1500,7 +1574,7 @@ specification. The second part is
1500and specifies the hops. The final part is @file{/path/to.file} and 1574and specifies the hops. The final part is @file{/path/to.file} and
1501specifies the file name on the remote host. 1575specifies the file name on the remote host.
1502 1576
1503The first part and the final part should be clear. @ref{Multi-hop 1577The first part and the final part should be clear. See @ref{Multi-hop
1504Methods}, for a list of alternatives for the method specification. 1578Methods}, for a list of alternatives for the method specification.
1505 1579
1506The second part can be subdivided again into components, so-called 1580The second part can be subdivided again into components, so-called
@@ -1656,8 +1730,8 @@ The package was intended to work on Unix, and it really expects a
1656Unix-like system on the remote end, but some people seemed to have some 1730Unix-like system on the remote end, but some people seemed to have some
1657success getting it to work on NT Emacs. 1731success getting it to work on NT Emacs.
1658 1732
1659There are some informations on Tramp on NT at the following URL; many 1733There is some informations on @tramp{} on NT at the following URL;
1660thanks to Joe Stoy for providing the information: 1734many thanks to Joe Stoy for providing the information:
1661@uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/} 1735@uref{ftp://ftp.comlab.ox.ac.uk/tmp/Joe.Stoy/}
1662 1736
1663The above mostly contains patches to old ssh versions; Tom Roche has a 1737The above mostly contains patches to old ssh versions; Tom Roche has a
@@ -1708,7 +1782,7 @@ File name completion does not work in large directories
1708 1782
1709@tramp{} uses globbing for some operations. (Globbing means to use the 1783@tramp{} uses globbing for some operations. (Globbing means to use the
1710shell to expand wildcards such as `*.c'.) This might create long 1784shell to expand wildcards such as `*.c'.) This might create long
1711command lines, especially in directories with many files. Some shell 1785command lines, especially in directories with many files. Some shells
1712choke on long command lines, or don't cope well with the globbing 1786choke on long command lines, or don't cope well with the globbing
1713itself. 1787itself.
1714 1788
@@ -1982,9 +2056,9 @@ Ange-FTP and @tramp{} so that users don't have to learn a new
1982syntax. It is sufficient to learn some extensions to the old syntax. 2056syntax. It is sufficient to learn some extensions to the old syntax.
1983 2057
1984For the XEmacs maintainers, the problems caused from using a unified 2058For the XEmacs maintainers, the problems caused from using a unified
1985filename syntax are greater than the gains. The XEmacs package 2059filename syntax are greater than the gains. The XEmacs package system
1986system uses EFS for downloading new packages. So, obviously, EFS has 2060uses EFS for downloading new packages. So, obviously, EFS has to be
1987to be installed from the start. If the filenames were unified, Tramp 2061installed from the start. If the filenames were unified, @tramp{}
1988would have to be installed from the start, too. 2062would have to be installed from the start, too.
1989 2063
1990@end itemize 2064@end itemize