I had a problem connecting to the printer in my department’s office at the University of Oregon, so here is a guide for my future self and others. I tried looking at posts on UbuntuForums, StackExchange, and the Xerox Support forums, but I mostly spent time in a rabbit hole of editing the driver and .ppd file myself. That never worked, so try this first.
My operating system is Linux (Ubuntu 16.04)
$ uname -a
Linux lumen 4.15.0-65-generic #74~16.04.1-Ubuntu SMP Wed Sep 18 09:51:44 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux
The printer is a Xerox WorkCentre 5955i with accounting enabled (Xerox Standard Accounting). Accounting is a system configured on the printer by the department to track who is printing how much, but it seems this causes all sorts of problems connecting to the printer, even for Windows and Mac users.
First, Google the drivers. The first link in this picture is the one I clicked:
Change the operating system to “Linux” in the dropdown.
Select the driver you want based on your operating system. I used the second option shown, “Linux Intel Driver .DEB x86 64”.
1. Accept the license agreement.
2. Click on the downloaded .deb once it is done. I used Chrome, so the file opened in Ubuntu Software when I clicked on it.
In Ubuntu Software, the driver should be called “xeroxprtdrv”. Click “Install”.
Authenticate with your root password if necessary.
1. Once the driver is installed, open a terminal and run the command “xeroxprtmgr” as root.
2. The Xerox Printer Manager GUI will open. For me it often took a while and looked like it had frozen, but resist the temptation to just kill it and try something else. Click on the button with two downward-pointing triangles.
The “Install Printers” dialog will open. Click on the button that looks like a little menu and select “Manual Install”.
The “Queue Settings” dialog will open.
Fill out “Queue Name” (with any string you want to nickname the printer). Select the “Printer Model” (here, “Xerox WorkCentre 5955”).
“Connection Type” should be “TCP/IP (Workstation to Printer)”.
“IP/DNS” should be the printer’s IP address given to you by the department or IT or whoever.
Back in the main window of Xerox Printer Manager, you should see the printer you just added. Select it and click the button that looks like a little menu. Select “Queue Preferences”. If it hangs, just wait for it. The “Queue Settings” option will reopen the window you were just in, in case you want to edit those settings.
The dialog named “Xerox WorkCentre 5945/5955 PS” (or whatever printer you are using) should appear. Click on the “Configuration” tab.
Click the “Accounting” button.
“Accounting System” should be “Xerox Standard Accounting”.
I set “Accounting Prompt” to “Always Prompt” so I would get a prompt to enter my user ID, rather than having it put into a config file and sending me down some future rabbit hole again.
I unchecked “Mask User ID” and “Mask Account ID” because I hate password masking, and my ID for this is just a default anyway.
I left “Default User ID” blank.
“Default Account Type” should be “Default Group Account”.
I left “Default Account ID” blank.
So I guess I didn’t change much in this dialog, so perhaps this step is unnecessary. But whatever.
Go make something to print as a test. I created a LibreOffice Writer document containing the text “asdf”. I also recommend this PDF. Print it, and select your printer’s nickname in the dialog. Here mine is “uoling”.
A dialog named “Xerox WorkCentre 5945/5955 PS” (or whatever printer you’re using) will appear. This looks VERY SIMILAR to one you have seen previously, but it lacks the “Configuration” tab. Click “Print”.
The “Accounting” dialog should appear. Here you will enter your user ID given to you by your department or IT or whoever. In my case, “Account ID” should be left blank and “Account Type” should be “Default Group Account”. Click “OK”.
Your document should print!