Like many open source operating systems, PC-BSD® uses the Common Unix Printing System () to manage printing. Control Panel provides a graphical front-end for adding and managing printers.
While the graphical utility is easy to use, it may or may not automatically detect your printer depending upon how well your printer is supported by an open source print driver. This section will walk you through a sample configuration for a HP Officejet 4500 printer. Your printer may "just work", allowing you to breeze through the configuration screens. If your printer configuration does not work, read this section more closely for hints on how to locate the correct driver for your printer.
Researching your Printer
Before configuring your printer, it is worth the time to see if a print driver exists for your particular model, and if so, which driver is recommended. If you are planning to purchase a printer, this is definitely good information to know beforehand. You can look up the vendor and model of the printer in thewhich will indicate if the model is supported and if there are any known caveats with the print driver.
Figure 8.14a shows a search for our example printer. There are two models in this series and this particular hardware supports wireless.
Once the model is selected, click on the "Show this printer" button to see the results, as demonstrated in Figure 8.14b.
For this model, the HPLIP driver is recommended. In PC-BSD®, the HPLIP driver is available as an optional system component called “pcbsd-meta-hplip”. You can see if the driver is installed, and install it if it is not, using AppCafe®. In order to see the driver shown in Figure 8.14c, make sure that the “Raw Packages” box is checked in the “Browser View” menu.
Adding a Printer
Once you know that your printer is supported, make sure that the printer is plugged into your computer or, if the printer is a network printer, that both your computer and the printer are connected to the network. Then, go to Control Panel → Printing or type pc-su pc-cupscfg. Input your password to see a window similar to Figure 8.14d.
To add a new printer, click the +Add button. The printing utility will pause for a few seconds as as the wizard searches to see if any printers are connected to your computer or network. When it is finished, you should see a screen similar to Figure 8.14e.
In this example, the wizard has found this printer and highlighted the entry for the HP OfficeJet 4500. To also install the fax capability, instead select the driver which includes “HP Fax”. The wizard should find any supported printer that is attached to the computer or network and list it as the highlighted entry in the "Devices" frame. Click “Forward” and the wizard will attempt to load the correct driver for the device. If it is successful, it will display the screen shown in Figure 8.14f. If it does not automatically find your printer, read the section Manually Adding a Driver.
Since the configuration wizard found this printer, the "Describe Printer" screen automatically fills out the printer model series, a description, and the hostname of your computer, if the printer is locally attached, or the hostname of the network printer. If you wish, you can change the printer's name or description. Once you click the "Apply" button, the wizard will ask if you would like to print a test page. Ensure the printer has paper and click "Yes" to print the test page. If you can not print a successful test page, see the Printer Troubleshooting section.
Once the printer is created, a screen will open where you can set the properties of the printer. Our sample printer's properties screen is shown in Figure 8.14g:
You may wish to take a few minutes to review the settings in "Policies", "Access Control", "Printer Options", and "Job Options" tabs as these allow you to configure options such as print banners, permissions, the default paper size, and double-sided printing. The available settings will vary, depending upon the capabilities of the print driver.
Manually Adding a Driver
If the print configuration wizard fails, double-check that the printer is supported as described in the Researching your Printer section and that HPLIP is installed if it is a HP printer. Also check that the printer is plugged in and powered on.
If the wizard is unable to even detect the device, try to manually add the print device. In the "Select Device" screen (Figure 8.14e) you will need to highlight and configure the type of connection to the printer:
USB: this entry will only appear if a printer is plugged into a USB port and the number of entries will vary depending upon the number of USB ports on the system. If there are multiple USB entries, highlight the one that represents the USB port your printer is plugged into.
Enter URI: this option allows you to manually type in the URI to the printer. A list of possible URIs is available on the.
AppSocket/HP JetDirect: select this option if you are connecting to an HP network printer. You will need to input the IP address of the printer in the "Host" field. Only change the port number if the printer is using a port other than the default of 9100.
IPP: select this option if you are connecting to a printer cabled to another computer (typically running a Microsoft operating system) that is sharing the printer using IPP. You will need to input the IP address of the printer in the "Host" field and the name of the print queue. You can then click the "Verify" button to ensure that you can connect to the print queue.
LPD/LPR: select this option if you are connecting to a printer which is cabled to a Unix computer that is using LPD to share the printer. You will need to select the hostname and queue name from the drop-down menus.
Once you have input the information for the type of printer, press “Forward” for the wizard to continue. If the wizard is able to find the printer but is unable to locate the correct driver for the printer, it will display the screen shown in in Figure 8.14h instead of the the “Describe Printer” screen.
Select the manufacturer name and then click “Forward” to select the model, as seen in the example in Figure 8.14i.
Click “Forward” and the wizard should continue to the “Describe Printer” screen.
If the selected driver does not work, go back to the “Choose Driver” screen shown in Figure 8.14h. This screen provides two additional options for installing the driver:
- Provide PPD file: a PostScript Printer Description (PPD) is a driver created by the manufacturer that ends in a .ppd extension. Sometimes the file will end with a .ppd.gz extension, indicating that it has been compressed with gzip. If the driver you need was not automatically found, see if there is a PPD file on the driver CD that came with the printer or if one is available for download from the manufacturer's website. If you find a PPD, select this option and browse to the location of that file. Then, click "Forward" to continue with the printer configuration.
- Search for a printer driver to download: if you know the name of the driver that you are looking for, try typing its name or number into the "Search" box. If found, it will display in the "Printer" model drop-down menu.
Here are some solutions to common printing problems:
- A test page prints but it is all garbled: this typically means that you are using the wrong driver. If your specific model was not listed, click the "Change" button in the "Driver Details" section of the "Settings" tab of the printer and try choosing another driver model that is close to your model number. If trial and error does not fix the problem, see if there are any suggestions for your model in the . A web search for the word freebsd followed by the printer model name may also help you to find the correct driver to use.
- Nothing happens when you try to print: in this case, type tail -f /var/log/cups/error_log in a console and then print a test page. The error messages should appear in the console. If the solution is not obvious from the error messages, try a web search for the error message. If you are still stuck, post the error, the model of your printer, and your version using the PC-BSD® Bug Reporting tool.