Printing in (K)Ubuntu: CUPS and downs

CUPS, Common Unix Printing System, is used in most Unix-based and Linux-based operating systems. Its aim is to simplify your printing (only when a printer is properly configured). The CUPS website claims:

Now, since every printer manufacturer does things differently, printing can be very complicated. CUPS does its best to hide this from you and your application so that you can concentrate on printing and less on how to print. Generally, the only time you need to know anything about your printer is when you use it for the first time, and even then CUPS can often figure things out on its own.

However, it turns out that CUPS is not that easy to use particularly for a novice. In fact, there are already a million of web sites featuring various problems relating to the use of CUPS.

I’ve got my own beef to share but let me do it more objectively.

Setting up CUPS in Ubuntu Dapper under LAN environment works seamlessly. On the server side, just install the printer. On the client side, just open the gnome-cups-manager, turn on the “Auto Detect LAN printers” and you’ve already got Linux shared printers on the fly.

But with Kubuntu, you’d be in hell. My office’s desktops were running Kubuntu Dapper and they could not connect to the shared printers. We tried all the howtos and tips shared online, to no avail. After several days of sleeping on the problem, eureka, I discovered a solution on the desktop/client side. First, fire up a terminal. Then do the following:

  1. Remove the file /etc/cups/client.conf if it exists (sudo rm /etc/cups/client.conf).
  2. Install gnome-cups-manager and gksu (sudo apt-get install gnome-cups-manager gksu).
  3. Open gnome-cups-manager (sudo gnome-cups-manager). Then choose from the menu Global Settings->Detect LAN printers. And shared printers must appear.

Everyone in my office can now print without any problem (so far).


  1. Marc, it’s not CUPS, it’s the (K)Ubuntu packagers to be blamed. By default vanilla CUPS autodetects LAN printers out-of-the-box. This is perfectly safe, but there’s that annoying zero open port policy in Ubuntu that causes some extra work. Try following in the /etc/cups/cupsd.conf:

    Browsing On
    BrowseAllow @LOCAL
    #BrowseAddress @LOCAL

    That should do it. One should also alter /etc/cups/cups.d/browse.conf to:

    Browsing on

    Luckily kubuntu/ubuntu users have their native control panels. Xubuntu users do not have ANYTHING to control their printers by default.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s