SUSE Conversations


Network Printing Support on SLE Thin or POS Clients without CUPS



By: Alex_F

October 10, 2008 6:18 pm

Reads:185

Comments:0

Rating:0

By Axel Schmidt

Introduction

Sometimes you might run into the requirement to provide the possibility of printing to a network printer from a SUSE Linux Enterprise Thin Client or SLEPOS POS Client and you don’t want to discover the mysteries of Linux printing, printer queues and CUPS, the Common Unix Printing system.

If this is your case, you will find this article helpful and you will be surprised how easy it is, to enable a JavaPOS based retail or a virtual desktop application the possibility to print to a network printer.

Preconditions

SLED 10 installed on the POS client.

The LPRng Tool

The LPRng tool contained as RPM on the SLE media is an implementation of the Line Printer Daemon protocol (commonly known as the Berkeley printing system LPR/LPD) that provides beside printer spooling network print server functionality.

For more information about LPRng and its options refer to The Printing Cookbook.

To install the RPM on your system start “YaST Control Center > Software > Install and Remove Software” and search for the package “lprng”. Activate the check box of this rpm and select the “Accept”-Button to install it.

Printing to a Network Printer

Almost every actual network printer supports printing of Post Script files. With the basic Linux tools like “a2ps” (ASCII text into PostScript conversation) and “ps2pdf” (Post Script to PDF) and vice versa we can handle very text format so far. Therefore we assume, that it will be no problem to use Post Script as the base text format which is send to the network printer.

  Printing is quite simple, just use the following “lpr” command:

lpr -h -Ppr@<Printer Hostname> <File Name>

Example:

lpr -h -Ppr@NPI35FDDFD.novell.com test.ps

To define a default network printer, the environment variable “PRINTER” can be exported. In this case printing will be transparent for the application, because it does not need to know any network printer hostnames.

Example:

PRINTER=pr@NPI35FDDFD.novell.com; export PRINTER;
lpr LinuxNetPrinting.ps

The LPR Options

Usage: lpr [-Pprinter[@host]] [-A] [-B] [-Cclass] [-Fformat] [-G] [-Jinfo]
   [-(K|#)copies] [-Q] [-Raccountname]  [-Ttitle]  [-Uuser[@host]] [-V]
   [-Zoptions] [-b] [-m mailaddr] [-h] [-i indent] [-l] [-w width ] [-r]
   [-Ddebugopt ] [--] [ filenames ...  ]
 -A          - use authentication specified by AUTH environment variable
 -B          - filter files and reduce job to single file before sending
 -C class    - job class
 -D debugopt - debugging flags
 -F format   - job format
   -b,-l        - binary or literal format
    c,d,f,g,l,m,p,t,v are also format options
 -G          - filter individual job files before sending
 -J info     - banner and job information
 -K copies, -# copies   - number of copies
 -P printer[@host] - printer on host
 -Q          - put 'queuename' in control file
 -Raccntname - accounting information
 -T title    - title for 'pr' (-p) formatting
 -U username - override user name (restricted)
 -V          - Verbose information during spooling
 -X path     - user specified filter for job files
 -Y          - connect and send to TCP/IP port (direct mode)
 -Z options  - options to pass to filter
 -h          - no header or banner page
 -i indent   - indentation
 -k          - do not use tempfile when sending to server
 -m mailaddr - mail final status to mailaddr
 -r          - remove files after spooling
 -w width    - width to use
 --          - end of options, files follow
 filename '-'  reads from STDIN



 PRINTER, LPDEST, NPRINTER, NGPRINTER environment variables set default printer.
LPRng-3.7.10, Copyright 1988-2001 Patrick Powell, <papowell@lprng.com>

VN:F [1.9.22_1171]
Rating: 0.0/5 (0 votes cast)

Tags:
Categories: SUSE Linux Enterprise Point of Service, Technical Solutions

Disclaimer: As with everything else at SUSE Conversations, this content is definitely not supported by SUSE (so don't even think of calling Support if you try something and it blows up).  It was contributed by a community member and is published "as is." It seems to have worked for at least one person, and might work for you. But please be sure to test, test, test before you do anything drastic with it.

Comment

RSS