aboutsummaryrefslogblamecommitdiffhomepage
path: root/src/linux/cups.md
blob: 75b436ee013500dcd9772cbc38d221b42101fcc5 (plain) (tree)























                                                                              
                    
                        


                                              

                                                        
                    








































                                                                 
# cups(1)

## Discover
```sh
# List available printer driver.
lpinfo -m

# List available printer devices (connected + network).
lpinfo -v
```
## Install printer
```sh
# Add device with PRINTER name, practically all modern network printer use the
# everywhere driver.
lpadmin -p PRINTER -m everywhere -v DEVICE_URI

# Delete named printer.
lpadmin -x PRINTER
```

## Printer & Printing options
```sh
# List printer options.
# CHECK printer-make-and-model
lpoptions -p PRINTER
# List printing options.
lpoptions -p PRINTER -l
# Set an options, eg duplex mode.
lpoptions -p PRINTER -o 'Duplex=DuplexNoTumble

# Set the default printer (stored in ~/.cups/lpoptions).
lpoptions -d PRINTER
```

## Inspect installed printer.
```sh
# List default printer.
lpstat -d
# List installed printer (-l for longer output).
lpstat -p
# List printer accepting state.
lpstat -a
# List printer and the attached device (eg device uri).
lpstat -v

# List all states at once.
lpstat -t
```
## Print jobs
```sh
# Create print job.
lp -d PRINTER FILE
    -n NUM                           number of copies
    -P PAGE_LIST                     pages to print (eg 1,3-5,10)
    -o media=a4                      paper format
    -o number-up={2|4|6|9|16}        input pages per output page
    -o sides=one-sided               print front-page only
    -o sides=two-sided-long-edge     print duplex

# Remove pending print job.
lprm JOOBID
```

## Control printer
```sh
# Enable/disable printer.
cupsenable PRINTER
cupsdisable PRINTER

# Accept/rejects jobs for printer.
cupsaccept PRINTER
cupsreject PRINTER
```