deke@valhalla.ee.rochester.edu (12/22/88)
This is a followup to my recent article asking about setting the 'appletalktype' field on a LaserWriter. Many people wrote and asked me to summarize my findings. My motivation was to hide actual LaserWriters from the Mac 'chooser' so that everyone would see the "spoolers" but nothing else. This helps to avoid the situation where users reset the LaserWriter with 'old' version of LaserPrep (which breaks lots of things when you are depending on a particular level of LaserPrep). My department has about 200 users of Macs and UNIX machines... its just not possible to control the versions of LaserPrep hanging around (though I wish it were). A local postscript hacker here in my own department helped me find a minor bug in my PostScript program. I now can change the appletalktype on my LaserWriters to 'LaserPrinter' with the following: %! serverdict begin 0 exitserver statusdict begin statusdict /appletalktype (LaserPrinter) put end As I feared, and as others pointed out, this breaks things. The spooler dies on the UNIX end, probably because nbpd(8) won't keep track of the odd appletalktype (that's my uneducated guess). I believe that a potential solution could be to allow for the spoolers and the nbpd to recognize multiple or alternate appletalktypes either through a configuration file, or even hardcoded but documented. I invite comments on this idea. I would like to hear both from Kinetics, and other users. Perhaps there are more obvious workarounds to the problem I have described. ^Deke Kassabian, deke@ee.rochester.edu or ur-valhalla!deke Univ of Rochester, Dept of EE, Rochester, NY 14627 (+1 716-275-3106)
inei@cs.glasgow.ac.UK (Nick Nei) (12/22/88)
I have successfully changed the product name of our LaserWriter in Glasgow so that it does not appear in the chooser. Instead the name used by lwsrv appears in the Chooser. This is part of my scheme to prevent unauthorised access to the LaserWriters. The PostScript that effects this is: %! serverdict begin 0 exitserver statusdict begin (F091.LocalTalk:LazerWriter) setprintername where "LazerWriter" (with the 'z' instead of the 's') is the new product name. Remember to update your /etc/cap.printers file with: lwf091=F091.LocalTalk:LazerWriter@* If you invoke lwsrv as lwsrv -n F091 -p lwf091 ... then the name "F091" will appear instead of "F091.LocalTalk" in the Chooser. (atlook will however see both.) You should send the PostScript using lwpr like so: $ lwpr -pF091.LocalTalk:LaserWriter@\* rename where "rename" is the file containing the PostScript. This has worked for me since September. In fact I managed to embed non-printable ASCII in the product name like "LazerWriter^A^B^C" to make it more difficult for would be hackers. ARPA: inei%cs.glasgow.ac.uk@nss.cs.ucl.ac.uk USENET: inei@cs.glasgow.uucp Mail: Nick Nei, Computing Science Dept., Glasgow Univ., 17 Lilybank Gardens, Glasgow G12 8QQ, UK. Tel: (041) 339 8855