This section describes how to manually customize CrossOver's printing configuration to better suit your particular printer or system. However CrossOver uses CUPS to provide out-of-the-box support for most printers with no additional configuration. So in most cases you can simply ignore this section.
CrossOver supports the use of multiple printers. To setup another printer for
use with CrossOver, you will need to manually edit three configuration files
in the
"~/.cxoffice/
directory: bottlename
"user.reg
, win.ini
, and
system.reg
.
![]() |
|
The instructions in this section will configure a printer for a single bottle. You will need to add the printer entries to each bottle containing apps from which you plan on printing. Once you have the printer configured for a single bottle, you can use the copy bottle feature on the Manage Bottles tab to duplicate the configured bottle. |
user.reg.
Open
"~/.cxoffice/
,
and find the entry for LPT2 in the [Software\\Wine\\Printing\\Spooler]
section. Modify it to pipe the output to lpr and specify the printer with
the -P option:
bottlename
/user.reg"
[Software\\Wine\\Printing\\Spooler] 1128518253
"FILE:"="tmp.ps"
"KDE:"="|kprinter --stdin"
"LPT1:"="|lpr"
"LPT2:"="|lpr -Pmy_second_printer"
"LPT3:"="/dev/lp3"
win.ini.
Now edit
"~/.cxoffice/
,
and add a new line for the second printer in the [devices] section:
bottlename
/win.ini"
[devices]
Wine PostScript Driver=WINEPS,LPT1:
Printer2=WINEPS,LPT2:
Additionally, if you want to make the new printer the default, then alter the device= line in the [windows] section:
[windows] device=Printer2
,WINEPS,LPT2:
system.reg.
Finally, you will need to modify some of the keys in CrossOver's registry
file,
"~/.cxoffice/
.
In this file, duplicate the [..\\Wine PostScript Driver] key and its
[..\\PrinterDriverData] subkey. If it exists also duplicate the
[..\\FontSubTable] subkey. Then substitute the name associated with LPT2 in
the [devices] section of the win.ini file from above for the last tag in the
section name for those keys. You will also need to change the "Name" and
"Port" fields accordingly.
bottlename
/system.reg"
[System\\CurrentControlSet\\Control\\Print\\Printers\\Printer2
] ... ... "Name"="Printer2
" "Port"="LPT2:
" ... [System\\CurrentControlSet\\Control\\Print\\Printers\\Printer2
\\PrinterDriverData] ... "PPD File"=str(2):"%WINEPREFIX%/generic.ppd" [System\\CurrentControlSet\\Control\\Print\\Printers\\Printer2
\PrinterDriverData\\FontSubTable] ... "Arial"="Helvetica" "Courier New"="Courier" ...
A PostScript Printer Description (PPD) file provides characteristics such as which fonts are installed, how to select manual feed, etc. for a specific type of printer. You can configure CrossOver's printer driver to use the PPD file for your particular printer rather than the generic PPD file that CrossOver ships with. This involves downloading (or otherwise acquiring) the PPD file for your printer, and then specifying its location in CrossOver's registry.
There are a number of archived PostScript Printer Description files on Adobe's website, listed by vendor name. If you don't find one to suit your printer, you could try our generic.ppd, perhaps tailoring it as needed.
Save the file that corresponds to your printer vendor in the
/tmp
(or similar) directory.
The files from Adobe's website are self-extracting archives. To decompress
the PPD files, use wine to run the extractor, as follows. Substitute the
name of the archive you downloaded for hp.exe
.
$
~/cxoffice/bin/wine /tmp/hp.exe
Unzip them into the default folder C:\Temp\ADOBE
. You
may want to uncheck the radio button that suggests viewing the readme file
when it's done.
The registry needs to contain the path to the PPD file for your printer. To get the location of the PPD files that were extracted from the archive, you can use this command:
$
find "~/.cxoffice" -iname "*.ppd"
Determine which of the PPD files returned by the search corresponds to your
printer. For an HP LaserJet 5M this would be
HPLJ5M_4.PPD
. Note that the PPD files are simple text
files containing product names along with the properties of the printers
they describe.
We recommend that you then put the new PPD file in the same directory as the
default generic.ppd
file, which is in
"~/.cxoffice/
.
bottlename
"
Now you are ready to specify your printer's description in the Wine registry. Open it in your favorite editor:
$
vi "~/.cxoffice/
bottlename
/system.reg"
Find the "PPD File" entry (a search is the best way), and replace "generic.ppd" with the name of the PPD file for your printer. Then save and close the file.
CrossOver's registry information now contains entries that specify this PPD file for your printer. If all went well, you should be able to print using the Wine PostScript Driver from within WordViewer, etc.