comparison etc/gnuserv.1 @ 163:0132846995bd r20-3b8

Import from CVS: tag r20-3b8
author cvs
date Mon, 13 Aug 2007 09:43:35 +0200
parents 376386a54a3c
children bfd6434d15b3
comparison
equal deleted inserted replaced
162:4de2936b4e77 163:0132846995bd
1 .TH GNUSERV 1 "" "XEmacs Server" 1 .TH GNUSERV 1 "" "XEmacs Server"
2 .UC 4 2 .UC 4
3 .SH NAME 3 .SH NAME
4 gnuserv, gnuclient, gnuattach, gnudoit \- Server and Clients for XEmacs 4 gnuserv, gnuclient \- Server and Clients for XEmacs
5 .SH SYNOPSIS 5 .SH SYNOPSIS
6 .B gnuclient 6 .B gnuclient
7 [-q] [[-h hostname] [-p port] [-r pathname]] [[+line] path] ... 7 [-q] [-nw] [-l library] [-f function] [-eval form] [[-h hostname]
8 .br 8 [-p port] [-r pathname]] [[+line] path] ...
9 .B gnuattach
10 [[-h hostname] [-p port] [-r pathname]] [[+line] path] ...
11 .br
12 .B gnudoit
13 [-q] [[-h hostname] [-p port]] [sexpr] ...
14 .br 9 .br
15 .B gnuserv 10 .B gnuserv
16 .SH DESCRIPTION 11 .SH DESCRIPTION
17 12
18 .PP 13 .PP
19 \fIgnuclient\fP allows the user to request a running XEmacs process to edit 14 \fIgnuclient\fP allows the user to request a running XEmacs process to
20 the named files or directories (typically in a newly created X frame). 15 edit the named files or directories in a new frame. Depending on your
21 .PP 16 environment, it can be an X frame or a TTY frame. One typical use for
22 \fIgnuattach\fP allows the user to request a running XEmacs process to edit 17 this is with a dialup connection to a machine on which an XEmacs
23 the named files or directories in the current TTY connection. One typical
24 use for this is with a dialup connection to a machine on which an XEmacs
25 process is currently running. 18 process is currently running.
26 .PP 19 .PP
27 \fIgnudoit\fP allows the user to request a running XEmacs process to 20 \fIgnuserv\fP is the server program that is set running by XEmacs to
28 evaluate the given arguments inside a progn LISP form. 21 handle all incoming and outgoing requests. It is not usually invoked
29 .PP 22 directly, but is started from XEmacs by loading the \fIgnuserv\fP
30 \fIgnuserv\fP is the server program that is set running by XEmacs to handle 23 package and evaluating the Lisp form (gnuserv-start).
31 all incoming and outgoing requests. It is not usually invoked directly, but is
32 started from XEmacs by loading the \fIgnuserv\fP package and evaluating
33 the LISP form (gnuserv-start).
34 .SH OPTIONS 24 .SH OPTIONS
35 .TP 8 25 .TP 8
36 .BI \-q 26 .BI \-q
37 This option informs both \fIgnuclient\fP and \fIgnudoit\fP to exit once 27 This option informs \fIgnuclient\fP to exit once connection has been
38 connection has been made with the XEmacs process. Normally \fIgnuclient\fP 28 made with the XEmacs process. Normally \fIgnuclient\fP waits until
39 waits until all of the files on the command line have been finished with 29 all of the files on the command line have been finished with (their
40 (their buffers killed) by the XEmacs process, and \fIgnudoit\fP normally 30 buffers killed) by the XEmacs process, and all the forms have been
41 waits around for evaluation of its arguments by the XEmacs process, and 31 evaluated.
42 prints the results or error conditions. This option does not exist for
43 \fIgnuattach\fP because it does not make sense -- XEmacs and the shell
44 would fight for input and would screw up each other's output.
45 .TP 8 32 .TP 8
46 .BI \-h " hostname" 33 .BI \-h " hostname"
47 Used only with Internet-domain sockets, this option specifies the host 34 Used only with Internet-domain sockets, this option specifies the host
48 machine which should be running \fIgnuserv\fP. If this option is not 35 machine which should be running \fIgnuserv\fP. If this option is not
49 specified then the value of the environment variable GNU_HOST is used 36 specified then the value of the environment variable GNU_HOST is used
50 if set. If no hostname is specified, and the GNU_HOST variable is not 37 if set. If no hostname is specified, and the GNU_HOST variable is not
51 set, an internet connection will not be attempted. N\.B.: \fIgnuserv\fP 38 set, an internet connection will not be attempted. N\.B.:
52 does NOT allow internet connections unless the GNU_SECURE variable has 39 \fIgnuserv\fP does NOT allow internet connections unless the
53 been specified and points at a file listing all trusted hosts. (See 40 GNU_SECURE variable has been specified and points at a file listing
54 SECURITY below.) 41 all trusted hosts. (See SECURITY below.)
55 42
56 .br 43 .br
57 Note that an internet address may be specified instead of a hostname which can 44 Note that an internet address may be specified instead of a hostname
58 speed up connections to the server by quite a bit, especially if the client 45 which can speed up connections to the server by quite a bit,
59 machine is running YP. 46 especially if the client machine is running YP.
60 47
61 .br 48 .br
62 Note also that a hostname of \fBunix\fP can be used to specify that 49 Note also that a hostname of \fBunix\fP can be used to specify that
63 the connection to the server should use a Unix-domain socket (if 50 the connection to the server should use a Unix-domain socket (if
64 supported) rather than an Internet-domain socket. 51 supported) rather than an Internet-domain socket.
76 it will have to be specified via one of the alternative methods. 63 it will have to be specified via one of the alternative methods.
77 .TP 8 64 .TP 8
78 .BI \-r " pathname" 65 .BI \-r " pathname"
79 Used only with Internet-domain sockets, the pathname argument may be 66 Used only with Internet-domain sockets, the pathname argument may be
80 needed to inform XEmacs how to reach the root directory of a remote 67 needed to inform XEmacs how to reach the root directory of a remote
81 machine. \fIgnuclient\fP and \fIgnuattach\fP prepend this string to 68 machine. \fIgnuclient\fP prepends this string to each path argument
82 each path argument given. For example, if you were trying to edit a 69 given. For example, if you were trying to edit a file on a client
83 file on a client machine called otter, whose root directory was 70 machine called otter, whose root directory was accessible from the
84 accessible from the server machine via the path /net/otter, then this 71 server machine via the path /net/otter, then this argument should be
85 argument should be set to '/net/otter'. If this option is omitted, 72 set to '/net/otter'. If this option is omitted, then the value is
86 then the value is taken from the environment variable GNU_NODE, if 73 taken from the environment variable GNU_NODE, if set, or the empty
87 set, or the empty string otherwise. 74 string otherwise.
88 .TP 8 75 .TP 8
89 .BI "path" 76 .BI "path"
90 This is the path of the file to be edited. If the file is a directory, then 77 This is the path of the file to be edited. If the file is a directory, then
91 the directory browsers dired or monkey are usually invoked instead. 78 the directory browsers dired or monkey are usually invoked instead.
92 .TP 8 79 .TP 8
93 .BI "sexpr" 80 .BI "sexpr"
94 This is part of an XEmacs LISP expression to evaluate. All the sexprs are 81 This is part of an XEmacs LISP expression to evaluate. All the sexprs
95 concatenated together and wrapped in a progn form before sending to 82 are concatenated together and wrapped in a progn form before sending
96 XEmacs. If no sexpr is supplied on the \fIgnudoit\fP commandline, 83 to XEmacs.
97 \fIgnudoit\fP will read the sexpr to be evaluated from standard input.
98 84
99 .PP 85 .PP
100 .SH SETUP 86 .SH SETUP
101 \fIgnuserv\fP is packaged standardly with recent versions of XEmacs. 87 \fIgnuserv\fP is packaged standardly with recent versions of XEmacs.
102 Therefore, you should be able to start the server simply by evaluating 88 Therefore, you should be able to start the server simply by evaluating
103 the XEmacs Lisp form (gnuserv-start), or equivalently by typing 89 the XEmacs Lisp form (gnuserv-start), or equivalently by typing
104 `M-x gnuserv-start'. 90 `M-x gnuserv-start'.
105 .SH EXAMPLE 91 .SH EXAMPLE
106 .RS 4 92 .RS 4
107 gnudoit -q '(mh-smail)' 93 gnuclient -q -f mh-smail
108 .br 94 .br
109 gnuclient -h cuckoo -r /ange@otter: /tmp/* 95 gnuclient -h cuckoo -r /ange@otter: /tmp/*
110 .br 96 .br
111 gnuattach ../src/listproc.c 97 gnuclient -nw ../src/listproc.c
112 .RE 98 .RE
113 99
114 .SH SYSV IPC 100 .SH SYSV IPC
115 SysV IPC is used to communicate between \fIgnuclient\fP, 101 SysV IPC is used to communicate between \fIgnuclient\fP and
116 \fIgnuattach\fP, \fIgnudoit\fP and \fIgnuserv\fP if the symbol 102 \fIgnuserv\fP if the symbol SYSV_IPC is defined at the top of
117 SYSV_IPC is defined at the top of gnuserv.h. This is incompatible with 103 gnuserv.h. This is incompatible with both Unix-domain and
118 both Unix-domain and Internet-domain socket communication as described 104 Internet-domain socket communication as described below. A file called
119 below. A file called /tmp/gsrv??? is created as a key for the message 105 /tmp/gsrv??? is created as a key for the message queue, and if removed
120 queue, and if removed will cause the communication between server and 106 will cause the communication between server and client to fail until
121 client to fail until the server is restarted. 107 the server is restarted.
122 .SH UNIX-DOMAIN SOCKETS 108 .SH UNIX-DOMAIN SOCKETS
123 A Unix-domain socket is used to communicate between \fIgnuclient\fP, 109 A Unix-domain socket is used to communicate between \fIgnuclient\fP
124 \fIgnuattach\fP, \fIgnudoit\fP and \fIgnuserv\fP if the symbol 110 and \fIgnuserv\fP if the symbol UNIX_DOMAIN_SOCKETS is defined at the
125 UNIX_DOMAIN_SOCKETS is defined at the top of gnuserv.h. A file called 111 top of gnuserv.h. A file called /tmp/gsrvdir????/gsrv is created for
126 /tmp/gsrvdir????/gsrv is created for communication and if deleted will 112 communication and if deleted will cause communication between server
127 cause communication between server and client to fail. Only the user 113 and client to fail. Only the user running gnuserv will be able to
128 running gnuserv will be able to connect to the socket. 114 connect to the socket.
129 .SH INTERNET-DOMAIN SOCKETS 115 .SH INTERNET-DOMAIN SOCKETS
130 Internet-domain sockets are used to communicate between 116 Internet-domain sockets are used to communicate between
131 \fIgnuclient\fP, \fIgnuattach\fP, \fIgnudoit\fP and \fIgnuserv\fP if 117 \fIgnuclient\fP and \fIgnuserv\fP if the symbol
132 the symbol INTERNET_DOMAIN_SOCKETS is defined at the top of 118 INTERNET_DOMAIN_SOCKETS is defined at the top of gnuserv.h. Both
133 gnuserv.h. Both Internet-domain and Unix-domain sockets can be used at 119 Internet-domain and Unix-domain sockets can be used at the same
134 the same time. If a hostname is specified via -h or via the GNU_HOST 120 time. If a hostname is specified via -h or via the GNU_HOST
135 environment variable, \fIgnudoit\fP, \fIgnuclient\fP and 121 environment variable, \fIgnuclient\fP establish connections using an
136 \fIgnuattach\fP establish connections using an internet domain 122 internet domain socket. If not, a local connection is attempted via
137 socket. If not, a local connection is attempted via either a 123 either a unix-domain socket or SYSV IPC.
138 unix-domain socket or SYSV IPC."
139 .SH SECURITY 124 .SH SECURITY
140 Using Internet-domain sockets, a more robust form of security is 125 Using Internet-domain sockets, a more robust form of security is
141 needed that wasn't necessary with either Unix-domain sockets or SysV 126 needed that wasn't necessary with either Unix-domain sockets or SysV
142 IPC. Currently, two authentication protocols are supported to provide 127 IPC. Currently, two authentication protocols are supported to provide
143 this: MIT-MAGIC-COOKIE-1 (based on the X11 xauth(1) program) and a 128 this: MIT-MAGIC-COOKIE-1 (based on the X11 xauth(1) program) and a
228 .PP 213 .PP
229 .TP 8 214 .TP 8
230 xauth(1X11), Xsecurity(1X11) 215 xauth(1X11), Xsecurity(1X11)
231 .SH BUGS 216 .SH BUGS
232 .PP 217 .PP
233 Ctrl-D's occurring in gnudoit input strings won't be handled correctly.
234 .PP
235 NULs occurring in result strings don't get passed back to gnudoit properly. 218 NULs occurring in result strings don't get passed back to gnudoit properly.
236 219
237 .SH AUTHOR. 220 .SH AUTHOR.
238 Andy Norman (ange@hplb.hpl.hp.com), based heavily upon 221 Andy Norman (ange@hplb.hpl.hp.com), based heavily upon
239 etc/emacsclient.c, etc/server.c and lisp/server.el from the GNU Emacs 222 etc/emacsclient.c, etc/server.c and lisp/server.el from the GNU Emacs
240 18.52 distribution. Various modifications from Bob Weiner (weiner@mot.com), 223 18.52 distribution. Various modifications from Bob Weiner (weiner@mot.com),
241 Darrell Kindred (dkindred@cmu.edu), Arup Mukherjee (arup@cmu.edu), and 224 Darrell Kindred (dkindred@cmu.edu), Arup Mukherjee (arup@cmu.edu), Ben
242 Ben Wing (wing@666.com). 225 Wing (wing@666.com) and Hrvoje Niksic (hniksic@srce.hr).