In a nutshell, a spooler consists of:
a background program
a directory per printer
a file per print job
In your case, the foreground program (lpr) sends its print jobs to cups, which stores it and then uses serial, parallel, USB, network, ... communication to actually start the printing process.
So that's why nowadays even when the printer runs out of ...
Yes a program exists: lpstat - print cups status information
$ lpstat -W completed
Specifies which jobs to show, completed or not-completed (the
default). This option must appear before the -o option and/or any
printer names, otherwise the default (not-completed) value will be
used in the request to the scheduler.
A print spool is effectively a buffer, managed per job, with a program (the spooler) responsible for receiving jobs from submitting programs and feeding them to one or more printers. The point of a spool is to handle communication between two systems with different speeds, and to control access to shared devices. The former means programs can submit print ...
You can use smbclient to print files. I'm able to print via Samba to one of my printers like so:
$ smbclient -U <user> //server/printer -c "print <filename>"
$ smbclient -U sam //bart/mfc-8480dn -c "print hello_printer.txt"
Enter sam's password:
Domain=[BUBBA] OS=[Unix] Server=[Samba 3.0.33-3.39.el5_8]
putting file ...
You should be able to list the printer options with
(add -p and the name of the printer if it is not the default). You should see lines like
InputSlot/Media Source: *Auto Main
i.e. lines in the format of keyword/longer description: value value ..., with one of the values having a * to show it is the default. The actual keywords and values ...
I think /var/log/cups/page_log etc. has the history of completed jobs.
An alternative is the web interface
which also shows completed jobs. I'm not sure where the web interface gets its information from.
Use fold. Extracts from the man page:
Wrap input lines in each FILE (standard input by default), writing to
count bytes rather than columns
count characters rather than columns
break at spaces
use WIDTH columns instead of 80
Use fold (maybe using the -s option ...
The other answer when tried produced the following:
$ sudo lpstat -W completed
mfc-8480dn-1652 root 1024 Tue 28 Jan 2014 01:19:34 AM EST
Adding a user, saml gives you that user's history:
$ sudo lpstat -W completed -u saml | head -2
mfc-8480dn-1524 saml 23552 Thu 28 Nov 2013 10:45:44 AM EST
netcat could be used, though you'd need to send appropriate LPD commands over it. rlpr is doubtless a better option for direct printing than figuring out how to do RFC 1179 over netcat.
The CUPS lpr client does need a CUPS server, as the CUPS server does the heavy work, and the client portion is mostly just a compatibility shim for the traditional lpr or lp ...
Never forget that SPOOL is an acronym for Simultaneous Peripheral Operations On Line. Since the early (but not earliest) days of computing, processors generated results faster than the printers could print them. Without spooling, the processor could not finish a "print job" until the printing itself was finished. This often resulted in an idle processor, ...
Spooling is a fairly old school term. Nowadays you'll see "Print Queue" used more often.
To Queue is a British saying to "wait in line". So print jobs are "queued", ie waiting in line to print.
After a job has finished spooling (there can be long "thinking" times between print lines), then it is printed, generally in a FIFO basis but Print Job priority can ...
You probably need to provide just a single file for lpr to print. If your files are encapsulated PostScript, perhaps all you need to do is concatenate them with an intervening showpage command:
for f in figure[0-9]; do cat "$f"; echo 'showpage'; done |
lpr -o number-up=4
sudo apt-get install printer-driver-all
This will install all open-source filter wrappers and PPDs. I tested it with 3 printers, they can print after "Add Printer" without downloading any proprietary software.
I don't know for OpenBSD, but if you have CUPS running, try this for your Brother HL-2340DW:
Search for Brother-HL-2170W-hpijs-pcl5e....
Using the zsh shell on macOS, assuming that the lpr command itself is correct:
lpr -P BarcodePrinter -o raw < ~/Downloads/Barcodes*.zpl(.Nom)
The (.Nom) glob qualifier changes the behavior of the preceding globbing pattern so that it only matches regular files (that's what . does), and so that it expands to nothing at all if there is no match (the ...
psmerge and psnup from psutils should do what you want.
psmerge figure[0-9].eps | psnup -4 | lpr
From the Description field in the Debian packaged version:
Description-en: PostScript document handling utilities
This collection of utilities is for manipulating PostScript documents. Page selection and rearrangement are supported, including ...
Running pdfinfo on the PDF generated by GIMP's print function, as well as checking the PDF file generated by GIMPs's post script function suggests that the program doing the print is Cairo.
Here is the line in the Postscript file:
Creator: cairo 1.14.8 (http://cairographics.org)
AirPrint is basically IPP + Bonjour + image/urf raster image format. In order to be certified as AirPrint compatible, a printer must support at least the image/urf format... but nothing stops it from accepting and announcing other formats too.
See: https://www.finnie.org/2010/11/13/airprint-and-linux/ and https://wiki.debian.org/AirPrint
Printing from an ...
I don't know if you consider HPLIP an external dependency, but here is the official driver recommendation directly from CUPS.
CUPS Printer Driver: HP4650
and Here is the Package info in the Debian Repo:HPLIPS
As Thushi states your system doesn't know how to rasterize the document without using a tool like paps. Installing the hplip package and ...
The same can be done with paps;
#This script converts UTF-8 txt to postscript
paps | lpr
Sometimes you need to specify the prinqueue;
# This script converts UTF-8 txt to postscript
paps | lpr -P lj
Paps does a much better job then cups' texttops.
You could print to PDF, then convert to grayscale (e.g. via ImageMagick or via GhostScript), then print again.
CUPS v1.3 had the -o saturation=percent (for non-OS-X image printing) and -o blackplot (for HP-GL/2 jobs) options, but they are no longer listed in
the current version (v1.7) of the docs. However, it seems you can write a PPD driver and specify ...