Transferring computers in our organization to licensed software, we found a problem with the organization of printing documents. A computer running Windows Vista Business did not print on a network printer connected to a Linux computer. And none of the printers we tried worked.
Of course, many people believe that using Windows Vista for work is not a good idea, because everything is wrong in it, everything does not work ... But, since the license was acquired, there was nothing else to do but try to solve this problem without deleting system.
In a nutshell, from a technical point of view, the situation looked like this. Mandriva 2009 was installed on the computer to which the printer was connected (however, with other types of Linux, the problem looked similar). The printer was configured correctly and worked through CUPS, and shared with Samba. The system is quite modern, and we didn’t do any tricky settings in the configuration files. It would seem that everything should work with such minimum settings.
In Windows Vista, the printer was installed as a network printer using native drivers (both drivers from the disk and newer ones from the manufacturer’s website were tried). The printer was installed normally, showed the status "Ready", but when I tried to print a document, nothing happened - even the test page did not print. At the same time, during printing attempts, a line appeared in the Samba-server log:
')
cli_rpc_pipe_open: cli_nt_create failed on pipe \spoolss to machine user. Error was NT_STATUS_ACCESS_DENIED
After “Google”, it turned out that this problem was faced not only by us, but by many other happy Linux and Windows administrators. True, the solutions given on the forums did not really help (and in general they were often related to the old versions of Samba and CUPS). And the method of alternative printer installation in Vista helped, without additional settings in Linux. The scheme is as follows:
- To get started, you need a printer that normally runs on a Linux computer, and is properly shared via Samba. In modern distributions with this problem, as a rule, no.
- You need to know the name of the printer in the form in which it is configured in the system. This can be done by clicking on the link http: // localhost: 631 on a Linux-based computer, and opening the Printers tab. From another computer, you can view the list of printers by knowing the IP address of the computer to which the printer is connected. Here it was 192.168.1.10, and the link looked like this: http://192.168.1.10:631 . In the list of printers have the names that will be needed later. In our case, these were Epson-TX117 and HP-LaserJet-1020.
- Open the Add Printer Wizard in Windows Vista and select Add a network, wireless or Bluetooth printer .
- Scanning of all printers available on the network can be stopped, and clicking The desired printer is not in the list . Then select the shared printer by its name and specify the name of the printer in the following form: http://192.168.1.10:631/printers/Epson-TX117 . This is where the IP address of the Linux computer and the name of the printer installed on it will be needed.
- As a printer driver, select the Generic group, MS Publisher Imagesetter driver .
- If everything is done correctly, it remains to click Next , print a test page and click Finish .
Thus, it turned out to install all the printers that were needed by users of Windows Vista, even without drivers suitable for specific printers. Therefore - we recommend everyone!
PS> By the way, a similar method works for installing a printer in Windows XP, even if there is no driver disk for the printer. Only the messages of the Printer Setup Wizard are slightly different.