🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: gnu.emacs.help
Article #189434

Re: Re: emacs on a Cray??( also /var ??)

#189434
From: Andy Norman
Date: Tue, 19 Feb 1991 09:52
166 lines
8891 bytes
>>>>> "BB" == benseb@nic.cerf.net (Booker Bense) writes:

BB> It would be really nice if I could set up an emacsclient on the remote
BB> machine to access emacs running on my machine. Has anyone attempted this?

I have written an upwards-compatible version of emacsclient called gnuserv
which will do what you want.  I include the man page below.  Mail me if you
would like a copy.

					-- ange --

					ange@hplb.hpl.hp.com
--------------------------------------------------------------------------------
     NAME
          gnuserv, gnuclient, gnudoit - Server and Clients for GNU
          Emacs

     SYNOPSIS
          gnuclient [-q] [[-h hostname] [-p port] [-r pathname]]
          [[+line] path] ...
          gnudoit [-q] [[-h hostname] [-p port]] [sexpr] ...
          gnuserv

     DESCRIPTION
          gnuclient allows the user to request a running GNU Emacs
          process to edit the named files or directories.

          gnudoit allows the user to request a running GNU Emacs
          process to evaluate the given arguments inside a progn LISP
          form.

          gnuserv is the server program that is set running by GNU
          Emacs to handle all incoming and outgoing requests. It is
          not usually invoked directly, but is started from GNU Emacs
          by the LISP form (server-start).

     OPTIONS
          -q      This option informs both gnuclient and gnudoit to
                  exit once connection has been made with the GNU
                  Emacs process. Normally gnuclient waits until all of
                  the files on the command line have been finished
                  with (their buffers killed) by the GNU Emacs
                  process, and gnudoit normally waits around for
                  evaluation of its arguments by the GNU Emacs
                  process, and prints the results or error conditions.

          -h hostname
                  Used only with Internet-domain sockets, this option
                  specifies the host machine which should be running
                  gnuserv.  If this option is not specified then the
                  value of the environment variable GNU_HOST is used
                  if set, otherwise the hostname of the machine
                  running the program is used.
                  Note that an internet address may be specified
                  instead of a hostname which can speed up connections
                  to the server by quite a bit, especially if the
                  client machine is running YP.
                  Note also that a hostname of unix can be used to
                  specify that the connection to the server should use
                  a Unix-domain socket (if supported) rather than an
                  Internet-domain socket.

          -p port Used only with Internet-domain sockets, this option
                  specifies the service port used to communicate
                  between server and clients. If this option is not
                  specified, then the value of the environment
                  variable GNU_PORT is used, if set, otherwise a
                  service called ``gnuserv'' is looked up in the
                  services database. Finally, if no other value can be
                  found for the port, then a default port is used
                  which is usually 21490 + uid.
                  Note that since gnuserv doesn't allow command-line
                  options, the port for it will have to be specified
                  via one of the alternative methods.

          -r pathname
                  Used only with Internet-domain sockets, the pathname
                  argument may be needed to inform GNU Emacs how to
                  reach the root directory of a remote machine.
                  gnuclient prepends this string to each path argument
                  given. For example, if you were trying to edit a
                  file on a client machine called otter, whose root
                  directory was accessible from the server machine via
                  the path /net/otter, then this argument should be
                  set to '/net/otter'. If this option is omitted, then
                  the value is taken from the environment variable
                  GNU_NODE, if set, or the empty string otherwise.
                  Note that on hp9000/s300 and hp9000/s800, the
                  pathname, if not specified by the user, is guessed.

          path    This is the path of the file to be edited. If the
                  file is a directory, then the directory browsers
                  dired or monkey are usually invoked instead.

          sexpr   This is part of a GNU Emacs LISP expression to
                  evaluate. All the sexprs are concatenated together
                  and wrapped in a progn form before sending to GNU
                  Emacs.

     SETUP
          In order to use the programs, the file gnuserv.el can be
          copied into a directory on your GNU Emacs load-path, and
          loaded into GNU Emacs by the GNU Emacs LISP form (load
          "gnuserv"). The server can then be started by the GNU Emacs
          LISP form (server-start).

     EXAMPLE
          gnudoit -q '(mh-smail)'

          gnuclient -h otter -r /net/otter /tmp/*

     SYSV IPC
          SysV IPC is used to communicate between gnuclient, gnudoit
          and gnuserv if the symbol SYSV_IPC is defined at the top of
          gnuserv.h. This is incompatible with both Unix-domain and
          Internet-domain socket communication as described below. A
          file called /tmp/gsrv??? is created as a key for the message
          queue, and if removed will cause the communication between
          server and client to fail until the server is restarted.

     UNIX-DOMAIN SOCKETS
          A Unix-domain socket is used to communicate between
          gnuclient, gnudoit and gnuserv if the symbol
          UNIX_DOMAIN_SOCKETS is defined at the top of gnuserv.h.  A
          file called /tmp/gsrv??? is created for communication and if
          deleted will cause communication between server and client
          to fail.

     INTERNET-DOMAIN SOCKETS
          Internet-domain sockets are used to communicate between
          gnuclient, gnudoit and gnuserv if the symbol
          INTERNET_DOMAIN_SOCKETS is defined at the top of gnuserv.h.
          Both Internet-domain and Unix-domain sockets can be used at
          the same time.

     SECURITY
          Using Internet-domain sockets, a more robust form of
          security is needed that wasn't necessary with either Unix-
          domain sockets or SysV IPC.
          gnuserv performs a limited form of security at the machine
          level. By default only connections from the host where the
          server is running will be allowed. All other server
          connections will be rejected with a cryptic message (which
          is displayed only by gnudoit). Alternatively, if the
          variable GNU_SECURE can be found in gnuserv's environment,
          and it names a readable filename, then this file is opened
          and assumed to be a list of hosts, one per line, from which
          the server will allow requests. Note that a host may be
          either a internet address, or a hostname. If this file
          contains a lot of hostnames then the server may take quite a
          time to start up.

     KNOWN BUGS
          If GNU Emacs attempts to send a string containing a newline
          character to gnuserv, then gnuserv will die.

     FILES
          /tmp/gsrv???

          ~/.emacs
                  GNU Emacs customization file, see emacs(1).

     AUTHOR.
          Andy Norman (ange@hplb.hpl.hp.com), based heavily upon
          etc/emacsclient.c, etc/server.c and lisp/server.el from the
          GNU Emacs 18.52 distribution.
Technical Details
Message-ID: <ANGE.91Feb19095207@anorman.hpl.hp.com>
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!elroy.jpl.nasa.gov!sdd.hp.com!hplabs!otter.hpl.hp.com!hpltoad!anorman!ange
References: <7064@pizza.cam.nist.gov> <BOB.91Feb13093533@volitans.MorningStar.Com> <290@nic.cerf.net>

Show Full Headers
Complete Article Headers
X-Google-Language: ENGLISH,ASCII-7-bit
X-Google-Thread: 103b8b,4ff08d81882b3e55
X-Google-Attributes: gid103b8b,public
X-Google-ArrivalTime: 1991-02-19 23:28:57 PST
Path: arc1-ca.pugleaf.net!gmdzi!unido!mcsun!uunet!elroy.jpl.nasa.gov!sdd.hp.com!hplabs!otter.hpl.hp.com!hpltoad!anorman!ange
From: ange@hplb.hpl.hp.com (Andy Norman)
Newsgroups: gnu.emacs.help
Subject: Re: Re: emacs on a Cray??( also /var ??)
Message-ID: <ANGE.91Feb19095207@anorman.hpl.hp.com>
Date: 19 Feb 91 09:52:07 GMT
References: <7064@pizza.cam.nist.gov> <BOB.91Feb13093533@volitans.MorningStar.Com> <290@nic.cerf.net>
Sender: news@hplb.hpl.hp.com (Usenet News Administrator)
Organization: Hewlett-Packard Laboratories, Bristol, UK.
Lines: 166
In-Reply-To: benseb@nic.cerf.net's message of 15 Feb 91 17:48:43 GMT
Nntp-Posting-Host: anorman.hpl.hp.com