Files

3.6 KiB

Printing

Printing at PSI usually goes via the Findme printing system. More details about this and what printers are available can be found here: https://intranet.psi.ch/de/computing/pull-printing .

Each user can see his individual active printing queue on: https://printmgmt.psi.ch/user

An overview about the past printing jobs (which were executed) can be found at: https://printmgmt.psi.ch/ui

Configuration

Enable printing on a system (printing is usually enabled by default on desktop systems):

base::enable_printing: true

Configure Findme and usual PSI Ricoh printers

By default Findme is

Special printing configuration:


# Configure your own printers
printing::printers:
  'C5500':
    - 'Findme'
  'C400':
    - 'ODGA_006'

# set default printer - default if not specified: Findme
printing::default_printer: 'ODGA_006'

Configure Custom Printer

List local printers

# lpinfo -v
network beh
serial serial:/dev/ttyS0?baud=115200
network http
network socket
network lpd
network ipps
network ipp
network https
direct usb://Brother/PT-9300PC?serial=M2A385973
network smb
#

Ideally the device speaks IPP everywhere, else list available drivers:

# lpinfo -m | grep PT-9200DX
foomatic:Brother-PT-9200DX-ptouch-pt.ppd Brother PT-9200DX Foomatic/ptouch-pt
#

add this information to Hiera key printing::custom_queues where you can add custom printing queues:

printing::custom_queues:
  'label_printer':
    ensure: 'printer'
    enabled: true
    accepting: true
    model: 'foomatic:Brother-PT-9200DX-ptouch-pt.ppd'
    uri: 'usb://Brother/PT-9300PC?serial=M2A385973'
    description: 'Label Printer PT-9200DX'
    options:
      'PageSize': 'tz-18'

If you have a PPD file, best place it onto the system at /usr/share/cups/model/ and in the Hiera hash replace the model key with ppd:

    ppd: '/usr/share/cups/model/my_printer.ppd'

The supported options by your printer are found with:

# lpoptions -p label_printer -l
PageSize/Page Size: Custom.WIDTHxHEIGHT tz-6 tz-9 tz-12 *tz-18 tz-24 tz-36
MirrorPrint/Mirror Print: True *False
AutoCut/Auto Cut: *True False
AutoEject/Auto Eject: *True False
ExtraMargin/Extra Margin: *0mm 1mm 2mm 3mm 4mm 5mm 6mm 7mm 8mm 9mm 10mm 11mm 12mm 13mm 14mm 15mm 16mm 17mm 18mm 19mm 20mm 21mm 22mm 23mm 24mm 25mm 26mm 27mm
HalfCut/Half Cut (Crack & Peel): *True False
#

Usage / Troubleshooting

Command Description
lpstat -p All printers (queues) that CUPS knows about, with their current state (idle, printing, stopped)
lpstat -p -d Same as above plus which printer is the default
cupsenable <printer_name> Enable a printer queue
lp $FILE Print to default queue
lpq -a List all print queues for all printers (useful when you want the job list for each queue)
lprm $JOB_ID Remove a job listed above

Below find more examples:

List status of all printers / default printer:

%> lpstat -p
printer Findme is idle.  enabled since Do 25 Sep 2025 12:45:52
printer label_printer is idle.  enabled since Fr 10 Okt 2025 10:45:49

%> lpstat -p -d
printer Findme is idle.  enabled since Do 25 Sep 2025 12:45:52
printer label_printer is idle.  enabled since Fr 10 Okt 2025 11:12:34
system default destination: Findme

Enable a specific print queue:

cupsenable <printer_name>

Print a file (using the default queue):

lp test.txt

List all print jobs:

# lpq -a
Rank    Owner   Job     File(s)                         Total Size
1st     root    3       test.txt                        1024 bytes
#

Delete a print job from the queue

lprm 3