Print monitor app

I’ve got my printer set up through directly through the cups interface (localhost:631) and have my printer successfully shared to the other machines on the network. When I try to add anything in the Kprinter applet, it corrupts my cupsd.conf file to the point that nothing works anymore and I have to reinstall through cups as stated above.

Is there another printer-monitoring application for KDE3 that I can use to monitor the print jobs, etc.?
I’m tired of having to open a link to localhost:631 to check the status of jobs, and would prefer a system tray icon or app that is readily available without opening a browser.

Thanks!

queequeg wrote:

> I’ve got my printer set up through directly through the cups interface
> (localhost:631) and have my printer successfully shared to the other
> machines on the network. When I try to add anything in the Kprinter
> applet, it corrupts my cupsd.conf file to the point that nothing works
> anymore and I have to reinstall through cups as stated above.

You mean “kjobviewer”? :-?

What kind of corruption are you experiencing in cups config file? That
should not happen at all, better fill a bugzilla for this.

> Is there another printer-monitoring application for KDE3 that I can use
> to monitor the print jobs, etc.?
> I’m tired of having to open a link to localhost:631 to check the status
> of jobs, and would prefer a system tray icon or app that is readily
> available without opening a browser.

Besides Cups web interface, command line tools and desktop printer manager I
don’t know any other program to get this… maybe HP Toolbox (hp-lip), but
only works with HP printers.

Greetings,


Camaleón

From the command line, there is lpstat.

man lpstat

I was referring to the “Print System” KDE applet.

I tried running kjobviewer, and it looks exactly like what him looking for. The problem now is that none of my print jobs show up in kjobviewer when I print. Shouldn’t it “see” the cups information?

More information:

Here is my cupsd.conf file when I set it up through the cups “localhost:631” interface:

#
# "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $"
#
#   Sample configuration file for the Common UNIX Printing System (CUPS)
#   scheduler.  See "man cupsd.conf" for a complete description of this
#   file.
#

# Log general information in error_log - change "info" to "debug" for
# troubleshooting...
LogLevel info

# Administrator user group...
SystemGroup sys root


# Listen to all connections on port 631.
#Listen localhost:631
#Listen /var/run/cups/cups.sock
#Port 631

# Show shared printers on the local network.
Browsing On
BrowseOrder allow,deny
BrowseAllow @LOCAL

# Default authentication type, when authentication is required...
DefaultAuthType Basic

# Restrict access to the server...
<Location />
  Order Deny,Allow
  Deny From All
  Allow From 127.0.0.1
  Allow From 127.0.0.2
  Allow From 192.168.2.3
  Allow From @LOCAL
  Allow From 192.168.2.*
</Location>

# Restrict access to the admin pages...
<Location /admin>
  Encryption Required
  Order allow,deny
</Location>

# Restrict access to configuration files...
<Location /admin/conf>
  AuthType Default
  Require user @SYSTEM
  Order allow,deny
</Location>

# Set the default printer/job policies...
<Policy default>
  # Job-related operations must be done by the owner or an administrator...
  <Limit Send-Document Send-URI Hold-Job Release-Job Restart-Job Purge-Jobs Set-Job-Attributes Create-Job-Subscription Renew-Subscription Cancel-Subscription Get-Notifications Reprocess-Job Cancel-Current-Job Suspend-Current-Job Resume-Job CUPS-Move-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  # All administration operations require an administrator to authenticate...
  <Limit CUPS-Add-Modify-Printer CUPS-Delete-Printer CUPS-Add-Modify-Class CUPS-Delete-Class CUPS-Set-Default>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # All printer operations require a printer operator to authenticate...
  <Limit Pause-Printer Resume-Printer Enable-Printer Disable-Printer Pause-Printer-After-Current-Job Hold-New-Jobs Release-Held-New-Jobs Deactivate-Printer Activate-Printer Restart-Printer Shutdown-Printer Startup-Printer Promote-Job Schedule-Job-After CUPS-Accept-Jobs CUPS-Reject-Jobs>
    AuthType Default
    Require user @SYSTEM
    Order deny,allow
  </Limit>

  # Only the owner or an administrator can cancel or authenticate a job...
  <Limit Cancel-Job CUPS-Authenticate-Job>
    Require user @OWNER @SYSTEM
    Order deny,allow
  </Limit>

  <Limit All>
    Order deny,allow
  </Limit>
</Policy>

#
# End of "$Id: cupsd.conf.in 7199 2008-01-08 00:16:30Z mike $".
#
# 2009-05-15,06:16:43 modify_cupsd_conf Listen localhost

Listen localhost:631


… and here is what it turns into after I try to set up the same printer using KDE (after which I can no longer print).

It’s actually too long to paste it all here, (over the 15000 character limit) so this is just the first half. If you’re interested in the 2nd half, let know.

# CUPS configuration file, generated by CUPS configuration tool.
# This tool is part of KDEPrint, the printing framework for KDE
# since version 2.2.2 and is used by the CUPS supporting module
# in KDEPrint. The predecessors to KDEPrint in former KDE releases
# were KUPS and QtCUPS; they are deprecated and no longer maintained.
#
# Author: Michael Goffioul 
#
# Web site: http://printing.kde.org/
#
########################################################################
#                                                                      #
# This is the CUPS configuration file.  If you are familiar with       #
# Apache or any of the other popular web servers, we've followed the   #
# same format.  Any configuration variable used here has the same      #
# semantics as the corresponding variable in Apache.  If we need       #
# different functionality then a different name is used to avoid       #
# confusion...                                                         #
#                                                                      #
########################################################################
#

# Server

# Server name (ServerName)
# 
# The hostname of your server, as advertised to the world.
# By default CUPS will use the hostname of the system.
# 
# To set the default server used by clients, see the client.conf file.
# 
# ex: myhost.domain.com
#
#ServerName myhost.domain.com


# Server administrator (ServerAdmin)
# 
# The email address to send all complaints or problems to.
# By default CUPS will use "root@hostname".
# 
# ex: root@myhost.com
#
#ServerAdmin root@your.domain.com


# Classification (Classification)
# 
# The classification level of the server.  If set, this
# classification is displayed on all pages, and raw printing is disabled.
# The default is the empty string.
# 
# ex: confidential
#
#Classification classified

Classification none

# Allow overrides (ClassifyOverride)
# 
# Whether to allow users to override the classification
# on printouts. If enabled, users can limit banner pages to before or
# after the job, and can change the classification of a job, but cannot
# completely eliminate the classification or banners.
# 
# The default is off.
#
#ClassifyOverride off


# Default character set (DefaultCharset)
# 
# The default character set to use. If not specified,
# defaults to utf-8.  Note that this can also be overridden in
# HTML documents...
# 
# ex: utf-8
#
#DefaultCharset utf-8

DefaultCharset UTF-8

# Default language (DefaultLanguage)
# 
# The default language if not specified by the browser.
# If not specified, the current locale is used.
# 
# ex: en
#
#DefaultLanguage en

DefaultLanguage en

# Printcap file (Printcap)
# 
# The name of the printcap file.  Default is no filename.
# Leave blank to disable printcap file generation.
# 
# ex: /etc/printcap
#
#Printcap /etc/printcap

Printcap /etc/printcap


PrintcapFormat BSD

# Security

# Remote root user (RemoteRoot)
# 
# The name of the user assigned to unauthenticated accesses
# from remote systems.  By default "remroot".
# 
# ex: remroot
#
#RemoteRoot remroot

RemoteRoot remroot

# System group (SystemGroup)
# 
# The group name for "System" (printer administration)
# access.  The default varies depending on the operating system, but
# will be sys, system, or root (checked for in that order).
# 
# ex: sys
#
#SystemGroup sys

SystemGroup sys root

# Encryption certificate (ServerCertificate)
# 
# The file to read containing the server's certificate.
# Defaults to "/etc/cups/ssl/server.crt".
# 
# ex: /etc/cups/ssl/server.crt
#
#ServerCertificate /etc/cups/ssl/server.crt

ServerCertificate /etc/cups/ssl/server.crt

# Encryption key (ServerKey)
# 
# The file to read containing the server's key.
# Defaults to "/etc/cups/ssl/server.key".
# 
# ex: /etc/cups/ssl/server.key
#
#ServerKey /etc/cups/ssl/server.key

ServerKey /etc/cups/ssl/server.key

# Access permissions
#
# Access permissions for each directory served by the scheduler.
# Locations are relative to DocumentRoot...
#
# AuthType: the authorization to use:
#
#    None   - Perform no authentication
#    Basic  - Perform authentication using the HTTP Basic method.
#    Digest - Perform authentication using the HTTP Digest method.
#
#    (Note: local certificate authentication can be substituted by
#           the client for Basic or Digest when connecting to the
#           localhost interface)
#
# AuthClass: the authorization class; currently only Anonymous, User,
# System (valid user belonging to group SystemGroup), and Group
# (valid user belonging to the specified group) are supported.
#
# AuthGroupName: the group name for "Group" authorization.
#
# Order: the order of Allow/Deny processing.
#
# Allow: allows access from the specified hostname, domain, IP address, or
# network.
#
# Deny: denies access from the specified hostname, domain, IP address, or
# network.
#
# Both "Allow" and "Deny" accept the following notations for addresses:
#
#     All
#     None
#     *.domain.com
#     .domain.com
#     host.domain.com
#     nnn.*
#     nnn.nnn.*
#     nnn.nnn.nnn.*
#     nnn.nnn.nnn.nnn
#     nnn.nnn.nnn.nnn/mm
#     nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm
#
# The host and domain address require that you enable hostname lookups
# with "HostNameLookups On" above.
#
# Encryption: whether or not to use encryption; this depends on having
# the OpenSSL library linked into the CUPS library and scheduler.
#
# Possible values:
#
#     Always       - Always use encryption (SSL)
#     Never        - Never use encryption
#     Required     - Use TLS encryption upgrade
#     IfRequested  - Use encryption if the server requests it
#
# The default value is "IfRequested".
#
#<Location [resource_name]>
#
# You may wish to limit access to printers and classes, either with Allow
# and Deny lines, or by requiring a username and password.
#
#
## Anonymous access (default)
#AuthType None
#
## Require a username and password (Basic authentication)
#AuthType Basic
#AuthClass User
#
## Require a username and password (Digest/MD5 authentication)
#AuthType Digest
#AuthClass User
#
## Restrict access to local domain
#Order Deny,Allow
#Deny From All
#Allow From .mydomain.com
#
## Use encryption if requested
#Encryption IfRequested
#</Location>

<Location />
Encryption IfRequested
Satisfy All
Order deny,allow
Deny From All
Allow From 127.0.0.1
Allow From 127.0.0.2
Allow From 192.168.2.3
Allow From @LOCAL
Allow From 192.168.2.*
</Location>
<Location /admin>
Encryption Required
Satisfy All
Order allow,deny
</Location>
<Location /admin/conf>
Require user @SYSTEM
Encryption IfRequested
Satisfy All
Order allow,deny
</Location>

# Network

# Hostname lookups (HostNameLookups)
# 
# Whether or not to do lookups on IP addresses to get a
# fully-qualified hostname.  This defaults to Off for performance reasons...
# 
# ex: On
#
#HostNameLookups On

HostnameLookups Off

# Keep alive (KeepAlive)
# 
# Whether or not to support the Keep-Alive connection
# option.  Default is on.
# 
# ex: On
#
#KeepAlive On

KeepAlive On

# Keep-alive timeout (KeepAliveTimeout)
# 
# The timeout (in seconds) before Keep-Alive connections are
# automatically closed.  Default is 60 seconds.
# 
# ex: 60
#
#KeepAliveTimeout 60

KeepAliveTimeout 60

# Max clients (MaxClients)
# 
# Controls the maximum number of simultaneous clients that
# will be handled.  Defaults to 100.
# 
# ex: 100
#
#MaxClients 100

MaxClients 100

# Max request size (MaxRequestSize)
# 
# Controls the maximum size of HTTP requests and print files.
# Set to 0 to disable this feature (defaults to 0).
# 
# ex: 0
#
#MaxRequestSize 0

MaxRequestSize 0m

# Client timeout (Timeout)
# 
# The timeout (in seconds) before requests time out.  Default is 300 seconds.
# 
# ex: 300
#
#Timeout 300

Timeout 300

# Listen to (Port/Listen)
# 
# Ports/addresses that are listened to.  The default port 631 is reserved
# for the Internet Printing Protocol (IPP) and is what is used here.
# 
# You can have multiple Port/Listen lines to listen to more than one
# port or address, or to restrict access.
# 
# Note: Unfortunately, most web browsers don't support TLS or HTTP Upgrades
# for encryption.  If you want to support web-based encryption you will
# probably need to listen on port 443 (the "HTTPS" port...).
# 
# ex: 631, myhost:80, 1.2.3.4:631
#
#    Port 80
#    Port 631
#    Listen hostname
#    Listen hostname:80
#    Listen hostname:631
#    Listen 1.2.3.4
#    Listen 1.2.3.4:631
#
#Port 631

Listen localhost:631

# Log

# Access log (AccessLog)
# 
# The access log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot.  By default set to
# "/var/log/cups/access_log".
# 
# You can also use the special name syslog to send the output to the
# syslog file or daemon.
# 
# ex: /var/log/cups/access_log
#
#AccessLog /var/log/cups/access_log

AccessLog /var/log/cups/access_log

# Error log (ErrorLog)
# 
# The error log file; if this does not start with a leading /
# then it is assumed to be relative to ServerRoot.  By default set to
# "/var/log/cups/error_log".


queequeg wrote:

> I tried running kjobviewer, and it looks exactly like what him looking
> for. The problem now is that none of my print jobs show up in
> kjobviewer when I print. Shouldn’t it “see” the cups information?

Yes, you should see the same (queued jobs, printer information…). But I
think only those jobs printed by kdeprint subsystem are shown here.

BTW, what openSUSE release and kde version are you running?

Greetings,


Camaleón

queequeg wrote:

> … and here is what it turns into after I try to set up the same
> printer using KDE (after which I can no longer print).
>
> It’s actually too long to paste it all here, (over the 15000 character
> limit) so this is just the first half. If you’re interested in the 2nd
> half, let know.

I see.

But this is no a corruption “per se”, just seems kdeprinting is adding more
information (and maybe this information is wrong so you cannot print
afterwards).

Take a look into “/var/log/cups/error_log” once “cupsd.conf” gets modified
and you want to print something.

Greetings,


Camaleón

But this is no a corruption “per se”, just seems kdeprinting is adding more
information (and maybe this information is wrong so you cannot print
afterwards).

I could be wrong, but I think that adding information that makes it not function is the definition of “corruption”.

Has anybody else had experience with kjobviewer not “seeing” the cups information even though the printer is functioning properly? Is there a setting somewhere that I need to modify?

SOLVED!

The problem is KDE is unable to connect to the cups service (for some reason). If anybody else has this issue, the workaround is:

  1. Go to Setting->Harware->Printer
  2. Click past the error screen
  3. Click Print Manager->Configure Manager->CUPS Server
  4. Change “/var/run/cups/cups.sock” to “localhost” (or your own IP)