Path: utzoo!attcan!utgpu!jarvis.csri.toronto.edu!mailrus!csd4.milw.wisc.edu!lll-winken!snll-arpagw!paolucci From: paolucci@snll-arpagw.UUCP (Sam Paolucci) Newsgroups: comp.sys.amiga Subject: Re: Amiga networking puzzle Message-ID: <118@snll-arpagw.UUCP> Date: 27 May 89 22:52:14 GMT References: <808@helios.toronto.edu> <88G002rZ2c1g01@amdahl.uts.amdahl.com> <1458@uw-entropy.ms.washington.edu> Reply-To: paolucci@snll-arpagw.UUCP (Sam Paolucci) Distribution: na Organization: Sandia National Labs, Livermore, CA Lines: 62 In article <1458@uw-entropy.ms.washington.edu> fetrow@bones.UUCP () writes: ->In article <88G002rZ2c1g01@amdahl.uts.amdahl.com> dwl10@amdahl.uts.amdahl.com (Dave Lowrey) writes: ->[ situation: A lab full of PC's, Macs and an Amiga ] -> ->>>The problem, then is how can we all live in peace and harmony sharing ->>>a single (PostScript) laser printer? ....... ->>>There must be a way to make everybody happy (ethernet?). OK, here's how I do it. 1. First I settled on ethernet as the transmission protocol, because it is standard in the sense that Amigas, Macs, PCs, as well as mainframes can make use of it. 2. I wrote a couple of programs, one a server and one a client. The server runs on an Amiga as a background process. This Amiga has a PostScript printer attached to it via the serial port. The server program is portable enough that it can be recompiled and run on a UNIX machine, a VMS machine, and possibly on a Mac or PC. I say possibly, because in order to recompile the code you need to have access to a socket library. Note that one can obtain a socket library from Ameristar for the Amiga, but the version I use contains quite a few more function than those supplied by Ameristar. The important thing is that the server runs on the machine that has direct access to the printer. 3. The client program is a remote print utility. This program is also portable enough with the same restrictions and limitations as the server. This program gets executed on any machine that wants to print something. Currently I run it on Amigas, UNIX, and VAX/VMS machines. Anytime I want to print something, say from our VMS mainframe while I'm logged on from the Amiga, I just say "print servername filter file1 file2 ...", where servername is the host name of the machine that's running the server, filter is the name of the filter that the server should use, and then come the files that you want printed. Here there are a few things to note. First, if you only have one print server or always use the same server, then it is very easy to define an alias so that you don't have to type the server name every time. Second, the server invokes a filter in processing the file. So if I have a program listing that I want printed, I tell it to use the a2ps filter that I wrote (and which was posted not long ago) to print the file. If the file is already in PostScript, then I use the copy filter so the server just copies it to the printer. If it is an IFF file, the I tell it to use iff2ps as the filter to print. And finally if it is a Tektronix plot file, I tell it to use tek2ps (soon to be sent to Bob Page to post). All of the above I also do from the Amiga directly. Again note that using aliases you could have printiff, printtek, printps, or printlst (or whatever) to invoke the different aliases. Now, before I get a lot of mail, let me just say that as soon as I feel that the print client and server utilities are stable enough and all checked out, I will sent them to Bob Page to post. In the meantime, PLEASE wait until then and don't send mail. You won't get them any sooner than that. Anyway, this is my solution. What do you think. Any suggestions? -- -+= SAM =+- "the best things in life are free" ARPA: paolucci@snll-arpagw.llnl.gov