I’m having a problem with my XEROX C7030 printer after upgrading from 20.04 LTS to 24.04. Xerox has a .deb driver package that offers some additional features over the CUPS printing capabilities.
To use the Xerox driver, the xeroxofficeprtmgr utility is used to set up a print queue, which adds a printer that uses the Xerox driver.
On 20.04, when using the Xerox driver, a system print dialog with very limited options would appear, and after clicking “Print” in that dialog, the dialog from the Xerox driver package would appear to offer additional functionality.
On 24.04, the dialog from the Xerox driver package no longer appears. Instead, the job prints immediately after"Print" is clicked in the limited system print dialog.
I have removed/reinstalled the Xerox deb driver. I have removed/recreated the print queue with xeroxofficeprtmgr, but that didn’t help either. There is a check box in the Xerox driver setup to disable the user interface, but I have that unchecked, as I did previously.
I’m not a commercial customer and I don’t have a support contract, so it is virtually impossible to get support from Xerox. Also, they don’t seem to support the Linux driver very well.
So, just looking for any suggestions. CUPS printing does work for most things. And there was a bug in 20.04 CUPS with this printer that might be fixed now (I have to do further research), so that helps a bit.
Actually, it appears that the printing system is using the Xerox driver. If I setup the Xerox printer queue defaults beforehand using xeroxofficeprtmgr with “different” settings, like printing duplex from Tray 4, those settings are obeyed when the job is printed. These settings are not offered in the limited system print dialog that appears. Somehow, the per-job Xerox dialog is now suppressed.
Unfortunately, when using IPP/driverless printing, the C7030 does not expose photo-quality printing mode, only standard and enhanced (I used ipptool to see what the C7030 exposes). Also, while the C7030 does expose all of its media input trays, CUPS does not seem to pick those up, and I can’t select input source when using driverless printing. I can get to these features using CUPS with a PPD, or the Xerox driver.
Enabling maximum logging in the Xerox driver reveals that there appears to be a problem with GTK that causes the driver to revert to printing without showing the user interface.
Is there some tool that might reveal why GTK is failing? In Windows, I could use procmon to watch xeroxofficedriver and it would show every operation that the driver would try (i.e. opening files, accessing DLL libraries), and could help identify what library call is failing. What would be the best tool to do this in Ubuntu? I tried Procmon for Linux and Sysmon for Linux, but they don’t seem to log that type of information.
I opened up the deb package file and took a look at the file DEBIAN/postinst, as well as took a look at the driver install log.
In DEBIAN\postinst, there was a command xhost +si:localuser:lp >> /tmp/PrtDrvInstaller.log 2>> /tmp/PrtDrvInstaller.log || echo 'Failed to grant lp xhost permissions' 1>> /tmp/PrtDrvInstaller.log
The install log had the error Failed to grant lp xhost permissions, so I ran that command manully with sudo. The command succeeded, but the Xerox print dialog still did not appear.
In DEBIAN\postinst, there was also a command env | grep -w DISPLAY > opt/XeroxOffice/prtsys/.xp_disp
but the created file .xp_disp was empty. I edited .xp_disp and added the output of the env command, which was DISPLAY=:1
After that, the Xerox print dialog appeared, and I was able to use that dialog to adjust printer settings.
So, I don’t know for sure if both changes were necessary, but it seems that certainly fixing .xp_disp was needed.