cups

The only way I got duplex printing to work from the command line:

lp -o sides=two-sided-long-edge foo.pdf