[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: printing to a unix box
Date: Wed, 3 Oct 90 16:39 EDT
From: Bruce R. Miller <miller@GEM.cam.nist.gov>
Date: Thu, 20 Sep 90 16:16 EDT
From: barmar@Think.COM (Barry Margolin)
Date: Thu, 20 Sep 90 11:21:47 EDT
Thats correct, of course, but there is much simpler way to load the
unix-lpd software. Unix-lpd really has nothing to do with RPC, nothing
to do with Embedding-Support, and nothing to do with UX-Support. Just
load it (the file sys;embedding;ux;unix-lpd) on top of IP-TCP.
This also applies to the unix-rsh and unix-tape software which can
be found in the same directory. (Famous last words: I have compiled and
loaded unix-lpd in the manner described, but I haven't actually used it.)
This is probably true. However, there's lots of good stuff in RPC,
Embedding-Support, and UX-Support, and much of it has little to do with
embedded systems, except that embedded systems require them. If you
have Lispms sharing a network with Suns you'll almost certainly find
uses for the stuff in these systems.
Actually, on my XL400 (8.0.1, which has the three systems already
loaded) I get the impression that unix-lpd is NOT included in any of
these systems and must be loaded separately anyway. I had to do what
Unix-lpd isn't defined in any of those systems, it is defined in the
Hardcopy system. However, the module is declared with a
(:required-systems :ux-support) clause, which causes its loading to be
postponed until after the UX Support system is loaded.
On my 3640 I never manually loaded the unix-lpd file. When I loaded UX
Support it was loaded automatically.
Also, although there is a server for :unix-rsh implemented in
sys...us;unix-protocols, there is no protocol defined for it. One plus
with rsh is that it can be made to NOT ask for passwords (at least twixt
unix boxes), whereas rexec ALWAYS asks (it doesn't make use of a
connection which lives longer than the individual request like ftp does,
so it doesnt remember the password).
I have an implementation of :unix-rsh; it depends on some patches to TCP
to support use of low-numbered source ports. Note that if you are at
all security-conscious, allowing RSH from Lispm clients is a humongous
security hole, since Lispms have no way of preventing impersonations.
It shouldn't be too hard to patch REXEC to remember the password (I've
suggested to Symbolics that FS:*REMEMBER-PASSWORDS* should affect
REXEC). You could also remember the passwords in the code that invokes
:UNIX-REXEC, since there's a :PASSWORD argument to the service.
Alternatively, I believe it signals the FS:LOGIN-REQUIRED condition when
a username or password is needed, so you can wrap a CONDITION-BIND
around your code and use (DBG:PROCEED <condition> :PASSWORD <password>).
On the other hand, although
rexec, as implemented, does not arrange for a bi-directional stream, I
hacked up some code which marginally does (and I mean `hacked' in a
negative sense). This allows me to run LaTeX on the sun w/o using
Terminal, see the output and answer its goofy questions (there is, of
course, a little problem with appropriate ined & echoing :<) Is there a
The :UNIX-REXEC protocol does create a bi-directional stream. But it's
a pain to use for automating interactive programs because it can be hard
to tell when the remote program is done. But I'm not sure what your
hacked up code can do that would solve this problem. What's wrong with
using Terminal, anyway?
As we do have a bunch of Suns around here and a superficial browsing of
the aforementioned systems didn't flash any lightbulbs above my head;
Can anyone enlighten me as to what useful things I might find there?
Well, except for UNIX-PROTOCOLS.LISP, most of the stuff in UX-Support is
UX400-specific (although I imagine it might be possible, and would be
nice, to get the run-bar stuff working on any X remote screen, not just
a UX400 main screen). In Embedding-Support, KEYBOARDS.LISP is useful
for anyone using X Remote Screen (it defines keyboard layouts for
several consoles that are likely X servers). RPC and RPC Development
are useful if you want to implement new protocols using Sun RPC rather
than using TCP or UDP directly.