Your company here, and a link to your site. Click to find out more.

foomatic-rip - Man Page

Universal print filter/RIP wrapper


General Options

foomatic-rip [-v] [-q] <mode-specific options>

Spooler-less printing filter

foomatic-rip [-P <printer>  |  --ppd  <ppdfile> ]  [-J <jobtitle> ] [-o  <option>=<value>  [...]]  [<files>]

CUPS filter

foomatic-rip <jobid> <user> <jobtitle> <numcopies> <options> [<file>]


foomatic-rip is a universal print filter which can be used as CUPS filter or stand-alone for spooler-less, direct printing. It has the following features:

Direct, Spooler-Less Printing



verbose mode for debugging. WARNING: This will create a file in /tmp that contains the debugging information. This opens a security loophole and should not be used in production.


quiet mode - minimal information output

-P <printer>

<printer> is the configured printer which should be used for this job.

--ppd <ppdfile>

The PPD file <ppdfile> should be applied for processing this job.

-o <option>=<value>

Option settings for this job.


The file(s) to be printed.

foomatic-rip will print from standard input unless at least one file to be printed is specified on the command line. If your printer PPD file is stored as /etc/direct/<printer>.ppd or ~/.foomatic/direct/<printer>.ppd you can use it by simply specifying "-P <printer>".

Put a line

*FoomaticRIPPostPipe: "| <command>"

into the PPD file, right after *PPD-Adobe: "4.3", where <command> is a command into which you want to re-direct the output data. Due to the restrictions of PPD files <, >, and " are not allowed in the <command>, replace them as follows:

Character	Replacement
<	&lt;
>	&gt;
'	&apos;
&	&amp;

This way you can print directly to your printer, use

*FoomaticRIPPostPipe: "| cat &gt; /dev/lp0"


*FoomaticRIPPostPipe: "| cat &gt; /dev/usb/lp0"

for local parallel or USB printers. To make normal users able to print this way add them to the group lp and make sure that the appropriate printer device file /dev/... is group-writable for the lp group.

for a TCP/Socket/JetDirect printer with the host name printer listening on port 9100 you need this:

*FoomaticRIPPostPipe: "| /usr/bin/nc -w 1 printer 9100"

Note the "-w 1" in the "nc" command line, it makes "nc" exiting immediately after the data is transferred to the printer.

*FoomaticRIPPostPipe: "| rlpr -Plp@printserver"

directs your jobs to the LPD printer queue lp on the machine named printserver.

See also http://www.openprinting.org/direct-doc.html

Printing with Spooler

See the documentation on the OpenPrinting Web site: http://www.openprinting.org/

Configuration File

The file /etc/cups/foomatic-rip.conf or if it is not readable the file /etc/foomatic/filter.conf is read whenever foomatic-rip is executed. It allows one to configure the behavior of foomatic-rip as follows (lines beginning with # are comments and therefore get ignored):

debug: 0|1

Turns on (1) or off (0) the debug mode. This is equivalent to supplying the --debug command line option. Default setting is 0.

echo: [<path>/]<executable>

Sets the path to an echo(1) executable which supports -n.

gspath: [<path>/]<executable>

Sets the path to the Ghostscript (gs(1)) executable. To be used if Ghostscript is at a non-standard location or if an alternative Ghostscript should be used.

execpath: <path>[:<path>]...

Sets the $PATH variable to be used by foomatic-rip.

cupsfilterpath: <path>[:<path>]...

Sets the directories (colon-separated) in which foomatic-rip searches for CUPS filters.

preferred_shell: [<path>/]<executable>

Sets the preferred shell to use when executing FoomaticRIPCommandLine and friends. Several PPD files use shell constructs that require a more modern shell like bash, zsh, or ksh.



The PPD files of the currently defined printers


Configuration file for foomatic-rip

Exit Status

foomatic-rip returns 0 unless something unexpected happens.


Till Kamppeter <till.kamppeter@gmail.com> with parts of Manfred Wassmanns's <manolo@NCC-1701.B.Shuttle.de> man pages for the Foomatic 2.0.x filters.


None so far.

Please send bug reports to the OpenPrinting bug tracker:


Use "OpenPrinting" as the product and "cups-filters" as the component.

Referenced By

foomatic-configure(1), foomatic-ppdfile(1).

2013-11-06 cups-filters