Ubuntu 12.04 network printing through Windows Samba server

I have to print through a Samba server sharing an HP printer. After upgrading to 12.04 I'm no longer able to get it to work.

The printer is shared through a samba server and I need to provide logon info (domain, username and password).

The machine that I'm having trouble with is a fresh install of Ubuntu 12.04 64 bit. As a measure to troubleshoot, I created a fresh install of ubuntu 10.04 32 bit as a virtual box image on the Ubuntu 12.04 64 bit machine and had no trouble getting it to print.

I suspect authentication to be the problem. Any idea as to what is wrong? Any suggestions how to make further troubleshooting? Any information I should provide to enable you to help me?

EDIT: To be more specific, when I want to add a network printer I do this through the GUI and when I need to input credentials it will not verify me (although this works fine on the virtual box).

print dialog. As username I input domain/username Print dialog. As username I input domain/username.

If I choose "Prompt user if authentication is required" and then press verify it prompts me for credentials(username, domain and password). If I input username as: domain/username, let domain be empty and supply a password it is able to verify everything. This is the only way that I have made it to verify credentials on Ubuntu 12.04. This however doesn't make me able to print.


I just tried setting up a printer in Ubuntu 12.04 in a similar situation. I want to access printers on a Windows server in a domain. Wasn't working - they were being held for authentication too. My local username on the Ubuntu box is not the same as my Active Directory domain username. (I may be Samba not perfectly set up.) Best solution so far for me:

  1. Choose Add new printer in Printing, click open 'Network Printers', select 'Windows Printer via SAMBA'

  2. Click 'Browse' to browse for printer (it prompts for authentication to access Windows server with printer)

  3. Select the correct printer or enter URI.

  4. URI for new printer in New Printer dialog is now 'smb://servername/printername'

  5. Select 'Set authentication details now'

  6. Enter details as 'domain\username' and password (if I click 'verify' now it says printer is not accessible, but I clicked Forward anyway.)

  7. Select driver

  8. Print test page

Success!

If I chose 'Prompt user if authentication is required' instead of 'Set authentication details now', then the "verify" button reports that the printer is accessible. (This is one of the first things I tried.) But the jobs get held for authentication. I deleted that printer and tried the steps above, ignoring the verify button, and things now seem to work. Perhaps the Verify button doesn't handle usernames of 'domain\username' format, or perhaps I need to have the correct domain name set in my Samba settings in smb.conf.


Try adding the printer without credentials, and then open the list of print jobs after initiating them. Now each job should have the status "Awaiting approval" or similar (My system is Danish), right click, and chose to approve the job. When entering your credentials, put a forward slash in front of your username. That worked for me.


Printing via Samba in 12.04 is broken. See: https://bugs.launchpad.net/ubuntu/+source/samba/+bug/967410