11

Every version of macOS I've used has allowed me to open the print queue and drag a print job from one printer to another queue. This is especially helpful when (for example) you accidentally send a job to a printer that is offline or unavailable. Today I tried to print, macOS defaulted to the last used printer, which was in my workplace. I tried to move the print job to my home printer, but the Print Center doesn't allow anything other than pausing or canceling the job. I don't see anything obvious in the CUPS interface. I don't have to do this often, but it's truly obnoxious to see a functional system dialog be replaced with one that doesn't have anywhere near the same features. Is there a workaround?

2
  • 1
    Yes, it looks like they haven't implemented this in the new app. Make sure you submit feedback to Apple.
    – benwiggy
    Commented Oct 10, 2023 at 6:49
  • 3
    Submitted as a bug report. Technically, it's a regression - feature that no longer works...
    – dr.nixon
    Commented Oct 12, 2023 at 20:38

2 Answers 2

7

As you'll likely already found yourself, this is a regression and moving jobs between queues using the UI is not implemented (yet).

However, this Apple Discussions post suggests that you can still move jobs using the command line (links to manpages added by me):

  • Open Terminal
  • Run lpstat to find the print jobs

For me this looks like this:

➜ lpstat  
EPSON_XP_640_Series-32  user       311296   Tue Feb 27 13:09:45 2024
  • For each print job listed ("foobar_printer-XXX" where the name of the printer is "foobar_printer", and the print job is "XXX"), run lpmoveXXX new_printer.

If I would've had another printer named e.g. "HP_LaserJet_M402dn" I would then run the command:

lpmove 32 HP_LaserJet_M402dn

As can be seen on the lpmove man page, you can also move all jobs from one printer to the other, e.g. in my case:

lpmove EPSON_XP_640_Series HP_LaserJet_M402dn
3
  • I wonder if this could be turned into a script that moves all pending jobs to one given printer. You could then have Shortcut workflows or Automator apps that incorporated them.
    – benwiggy
    Commented Feb 29 at 10:36
  • 2
    I am not too familiar with Shortcut/Automator, but the lpmove command can move all jobs from one printer to the other: lpmove source_printer destination_printer. Commented Feb 29 at 12:24
  • For the first example, lpmove EPSON_XP_640_Series-32 HP_LaserJet_M402dn should also work (according to the man page).
    – nohillside
    Commented Feb 29 at 13:32
2

You can also move jobs using the CUPS web interface to printers at:

http://localhost:631/

You'll need to enable the job control via the terminal command:

cupsctl WebInterface=yes

Then click on Jobs at the top of the web interface, select a job, and then click on Move and select the printer you want to move the job to from the list.

New contributor
user764396 is a new contributor to this site. Take care in asking for clarification, commenting, and answering. Check out our Code of Conduct.

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .