Under workstations we also define the default printer with printer name and the Linux command to be executed.

Example:

Printer Command
myPrinter lpr -P myPrinter

Using the -o option of the lpr command you can pass various options to the printer. If you have a printer which is configured to normally print double-sided then you want to use this command:

Printer Command
myPrinter lpr -P myPrinter -o sides=one-sided

The program will save this option but when reading it ends up like lpr -P myPrinter -o sides

The reason is that the default printer is saved as MyPrinter=lpr -P myPrinter -o sides=one-sided and after reading this line the program splits the string at the '=' sign into printer name (left side) and printer command (right side). As we have now two equal signs in the string '=one-sided' get's dropped.

Solution

Define a basic shell script containing the printer command.

Example:

#!/bin/sh
# printer wrapper file for ledger
`lpr -P myPrinter -o sides=one-sided $1`
exitcode=$?
exit $?

Save the file as myprinter.sh, make sure that it is executable (chmod ugoa+x myprinter.sh) and define the filename as printer command in the system.