[comp.sys.hp] How to print to a diskless client under hp-ux

jack@umbc5.umbc.edu (Jack Suess) (09/25/90)

Hi,
I  remember seeing this question answered over the summer but I can't find
where I stored the answer :-( . My question is how to print to a printer 
attached to a diskless client. I know that the procedure is not officially 
supported by hp, but we have a critical need to be able to print to 
workstations in faculty members offices. If some kind soul good respond
with the procedure I would appreciate it very much. I vaguely remember the
procedure being to configure the printer on the server, copy the files to
the cnode area, and set up a lnk to servers spool area but not having the
"details" scares me.

thanks,
jack suess
Jack Suess                           UMBC Academic Computing
Internet: Jack@umbc5.umbc.edu        Standard Disclaimer:
Bitnet: Jack@umbc                    The opinions expressed above are mine and
ATT: 301.455.2582                    not my employers.

zlsiial@mcc.ac.uk (A.V. Le Blanc) (09/25/90)

To setup a printer on a diskless node of an HP9000/300 cluster:

1) Login on the diskless node as root, and create
the device with a mknod command.  Assuming the device is accessed
from the RS232 serial port, you should have, for example

     mknod /dev/laser c 1 0x090504
     chmod 600 /dev/laser
     chown lp /dev/laser
     chgrp bin /dev/laser

2) At an appropriate point NOT in /dev -- for example in / -- create
a pipe for the printer; e.g.,

     mknod /laser p
     chmod 600 /laser
     chown lp /laser
     chgrp bin /laser

3) In the inittab file for the diskless node, add an entry copying
from the pipe to the device:

     l1:2:respawn:/bin/sh -c "/bin/cat </laser >/dev/laser"

4) In the /etc/rc file in the function localrc add code which sets
the line parameters as follows:

     if [ `hostname` = "abclaser" ]
     then
	nohup sleep 20000000000 </dev/laser >/dev/null &
	stty 9600 -opost -onlcr -parenb cs8 ixon -istrip clocal tab0 </dev/laser     fi

5) Configure the printer using an lpadmin command:

     lpadmin -plaser -v/laser -mlaserjet [etc]

6) Edit the file in /usr/spool/lp/interface to replace each stty command
with the corresponding command

     remsh abclaser 'stty ...... '

7) Then give the accept and enable commands as usual.  You will have to
reboot the node or give it a telinit command to get the line set up
properly.

Yours,
A. V. Le Blanc
ZLSIIAL@UK.AC.MCC.CMS

rosl@hpuamsa.UUCP (Rob Slotemaker CRC) (09/25/90)

I don't know what the previous solution was, but this is one:

  - modify your script in /usr/spool/lp/interface as follows:

      {
      (current contents of script)
      } | remsh <cnode name> /usr/spool/lp/interface/<cnode name>.aux

  - add a script named <cnode name>.aux in /usr/spool/lp/interface:

      #!/bin/sh
      # An auxiliary script to do remote spooling on diskless client
      # as found in HP-UX 7.0 Supplement to the Technical Exchange
      # Use Bourne shell to avoid any job control anomalies with background jobs
      sleep 999999 > /dev/printer&
      stty raw 9600 -parenb cs8 ixon -istrip clocal < /dev/printer
      cat - > /dev/printer
      kill $!

    (sleep and stty to be setup as wanted)

  - device as known by the lp spooler must be /dev/null


This solution works fine in our clustered environment.

Best regards,

Rob

lienhart@hpfcdc.HP.COM (Bob Lienhart) (09/28/90)

Whatever you do, PLEASE do NOT cdf /usr/spool/lp!  This will make it
almost impossible to upgrade to the supported client spooling coming
out in 8.0.

Bob Lienhart