J River, Inc. Technical Support Title: Setting up ICELP on Linux Procedure: To run ICELP on Linux, you will need the following: - Inetd or Xinetd - Printtool - The Linux version of icelpd (downloadable from our ftp site*) - Linux Compatible printer scripts (also available from our ftp site*) - icelp1lx.scr for binary - icelp1lxtxt.scr for text * ftp://ftp.jriver.com/pub/TECH.SUPPORT/linux/ Step 1: Enabling the ICELP Port. You will need to edit your services file to enable the ICELP printer port. A. Using Linuxconf to edit services (directions based on linuxconf version 1.26-7) 1. From either your Start application button or the command line, start linuxconf. 2. Choose Networking from the first popup menu. 3. Choose Server Tasks tab from the network configurator popup menu. 4. Choose Internet Services from the server tasks tab. 5. A "Basic Services" popup will appear, here choose Internet network services. 6. A Filter Prefix popup should appear, letting you search for a service to modify or add. 7. In the item's prefix space, type icelpd, then click on add. 8. An Internet Services popup will appear. Here fill in the appropriate boxes. > Service Name = icelpd > Port = 2346 > Protocol = tcp > Alias for service = icelpd > Comment = optional 9. The Filter prefix box will reappear, close it. 10. Close out of linuxconf entirely choosing "do it" when attempting to close the main linuxconf window. Step 2: Setting up your Inetd or Xinetd configuration file. A. Using Linuxconf to edit Inetd or Xinetd 1. From either your Start application button or the command line, start linuxconf. 2. Choose Networking from the first popup menu. 3. Choose Server Tasks tab from the network configurator popup menu. 4. Choose Internet Services from the server tasks tab. 5. A "Basic Services" popup will appear, here choose Internet servers database. 6. An internet servers popup will appear. 7. Choose add on the Internet servers popup. 8. An Internet Server popup will appear, fill in the appropriate fields. > Service name = icelpd > Protocol = tcp > Socket type = stream > run as user = root > server path = Path to your icelpd executable (usually /usr/bin/icelpd) > Leave all other options stay at defaults. > Don't alter any other setting on the other available tabs. > Choose Accept 9. Close out of linuxconf entirely choosing "do it" when attempting to close the main linuxconf window. B. Using Webmin to edit Inetd or Xinetd (directions based on Webmin version 0.87) 1. Connect to you Webmin administration console. 2. Choose Servers 3. Choose Extended Internet Services 4. On the Extended Internet Services page, choose "Create a new internet service" 5. Fill in the appropriate fields on the Create Internet Service page. > Service name = icelpd > Port number = 2346 > Protocol = tcp > Socket type = stream > Service handled by = Server program a. Specify the path to your icelpd executable > Run as user = root > Leave all other options at the default > Click on "Create" at the bottom of the page. 6. Click on the "Apply Changes" button at the bottom of the Extended Internet services Wincdow. C. Editing Inetd or Xinetd manually 1. Edit the xinetd.conf file appending the following to the end of the file a. #includedir /etc/xinetd.d #service icelpd #{ # port = 2346 # socket_type = stream # protocol = tcp # user = root # server = /usr/bin/icelpd # type = UNLISTED # wait = no # id = icelpd-stream #} b. restart your xinetd services 2. Editing Inetd.conf a. Look in your ICE.TCP manual and edit the inetd.conf file as directed in regards to icelpd b. Restart the inetd services. Step 3: Add a printer A. Manual Method 1. Create a printcap entry for the new printer. a. For a text printer ##PRINTTOOL3## NCP TEXT NAxNA a4 {} Default {} t||Okidata ML 380:\ :fo:\ :ic:\ :if=/var/spool/lpd/text/icelp1lxtxt.scr:\ :lf=/var/log/lp-errs:\ :lp=/dev/null:\ :mx#0:\ :rs:\ :sc:\ :sd=/var/spool/lpd/text:\ :sh: b. For a binary printer ##PRINTTOOL3## NCP TEXT NAxNA a4 {} Default {} test||Okidata ML 380:\ :fo:\ :ic:\ :if=/var/spool/lpd/test/icelp1lx.scr:\ :lf=/var/log/lp-errs:\ :lp=/dev/null:\ :mx#0:\ :rs:\ :sc:\ :sd=/var/spool/lpd/test:\ :sh: B. Printtool Method *Coming Soon* C. Linuxconf Method *Coming Soon* Step 4: Editing the ICELP.SCR script A. You will need to change the printer name in your ICELP.SCR script. <> # # You must replace "printer=foo" immediately below # with "printer= # # It is recommended that this filter be placed in the spool directory # for this printer (/etc/printcap "sd" entry) # and chmod 777 and chown daemon:daemon printer=test if [ -d /usr/tmp/$printer/icelp_jobs ] then continue else mkdir -p /usr/tmp/$printer/icelp_jobs fi # Send the file(s) to icelp directory output # ($$ is process id for the lp script $0) cat >/usr/tmp/$printer/icelp_jobs/$$.icelpr # echo "^L" >> /usr/tmp/$printer/icelp_jobs/$$.icelpr exit 0 # # End of interface file #