From b529f046c9a64ac5fcfa60747af940cf972b3ebc Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Sun, 6 Nov 2011 15:56:34 -0600 Subject: Actually move the kde files that were renamed in the last commit --- doc/glossary/kdeprintingglossary.docbook | 1387 ------------- doc/glossary/tdeprintingglossary.docbook | 1387 +++++++++++++ doc/kdeprint/CMakeLists.txt | 12 - doc/kdeprint/Makefile.am | 3 - doc/kdeprint/add-printer-wiz.docbook | 290 --- doc/kdeprint/cr32-action-wizard.png | Bin 606 -> 0 bytes doc/kdeprint/cups-config.docbook | 2072 -------------------- ...s-filterarchitecture-kivio-70Percent-scaled.png | Bin 100464 -> 0 bytes doc/kdeprint/cupsaddprinterwizard1.png | Bin 70554 -> 0 bytes .../cupsaddprinterwizard2_backendselection.png | Bin 76444 -> 0 bytes doc/kdeprint/cupsaddprinterwizard3_networkscan.png | Bin 70820 -> 0 bytes .../cupsaddprinterwizard3_networkscan_results.png | Bin 90883 -> 0 bytes .../cupsaddprinterwizard4_networkscan_config.png | Bin 10607 -> 0 bytes doc/kdeprint/cupsoptions.docbook | 602 ------ .../cupsserverconfig_browse_relay_add_button.png | Bin 2562 -> 0 bytes .../cupsserverconfig_browsingmasks_add_button.png | Bin 2294 -> 0 bytes .../cupsserverconfiguration10_browsinggeneral.png | Bin 14678 -> 0 bytes ...psserverconfiguration11_browsingconnections.png | Bin 15433 -> 0 bytes .../cupsserverconfiguration11_browsingmasks.png | Bin 15493 -> 0 bytes .../cupsserverconfiguration12_browsingtimeouts.png | Bin 14109 -> 0 bytes .../cupsserverconfiguration14_browsingrelay.png | Bin 14903 -> 0 bytes ...uration15a_resourceallprinters_defineaccess.png | Bin 15822 -> 0 bytes ...uration15b_resourceallprinters_defineaccess.png | Bin 5870 -> 0 bytes ...uration15c_resourceallprinters_defineaccess.png | Bin 5470 -> 0 bytes doc/kdeprint/cupsserverconfiguration1_welcome.png | Bin 31316 -> 0 bytes doc/kdeprint/cupsserverconfiguration2_general.png | Bin 15870 -> 0 bytes doc/kdeprint/cupsserverconfiguration3_logging.png | Bin 16490 -> 0 bytes .../cupsserverconfiguration4_directories.png | Bin 17728 -> 0 bytes doc/kdeprint/cupsserverconfiguration5_HTTP.png | Bin 15010 -> 0 bytes .../cupsserverconfiguration6_encryption.png | Bin 15083 -> 0 bytes .../cupsserverconfiguration7_miscellanious.png | Bin 15943 -> 0 bytes .../cupsserverconfiguration8_networkgeneral.png | Bin 15538 -> 0 bytes .../cupsserverconfiguration9_networkclients.png | Bin 14998 -> 0 bytes ...erverconfiguration_resourceadminaccessmasks.png | Bin 47480 -> 0 bytes ...erverconfiguration_resourceadminaddprinters.png | Bin 30334 -> 0 bytes ...ation_resourceadminaddprinters_defineaccess.png | Bin 43890 -> 0 bytes ...verconfiguration_resourceadminauthorization.png | Bin 30503 -> 0 bytes .../cupsserverconfiguration_securityoverview.png | Bin 16804 -> 0 bytes doc/kdeprint/extensions.docbook | 57 - doc/kdeprint/external-command.docbook | 25 - doc/kdeprint/final-word.docbook | 117 -- doc/kdeprint/getting-started.docbook | 143 -- doc/kdeprint/highlights.docbook | 518 ----- doc/kdeprint/index.docbook | 200 -- doc/kdeprint/kcontrol-icon.png | Bin 1202 -> 0 bytes .../kcontrolcenter-printmanager-jobcontrol-2.png | Bin 10761 -> 0 bytes doc/kdeprint/kcron_to_be_printed.png | Bin 10637 -> 0 bytes doc/kdeprint/kdeprint-jobviewer.png | Bin 11220 -> 0 bytes doc/kdeprint/kprinter-as-netscape-printcommand.png | Bin 8210 -> 0 bytes doc/kdeprint/kprinter-kivio.png | Bin 11149 -> 0 bytes doc/kdeprint/kprinter.png | Bin 12568 -> 0 bytes doc/kdeprint/kprinter_called_from_run_command.png | Bin 6068 -> 0 bytes .../kprinter_with_kcron_developer_special.png | Bin 11245 -> 0 bytes doc/kdeprint/lpd.docbook | 18 - doc/kdeprint/lpr-bsd.docbook | 25 - doc/kdeprint/lprng.docbook | 7 - doc/kdeprint/ps-boxes.png | Bin 441 -> 0 bytes doc/kdeprint/rlpr.docbook | 18 - doc/kdeprint/steinbruch_scaled.png | Bin 116567 -> 0 bytes doc/kdeprint/tech-overview.docbook | 280 --- doc/kdeprint/theory.docbook | 690 ------- doc/kdesu/CMakeLists.txt | 12 - doc/kdesu/Makefile.am | 5 - doc/kdesu/index.docbook | 320 --- doc/kdesu/man-kdesu.1.docbook | 179 -- doc/tdeprint/CMakeLists.txt | 12 + doc/tdeprint/Makefile.am | 3 + doc/tdeprint/add-printer-wiz.docbook | 290 +++ doc/tdeprint/cr32-action-wizard.png | Bin 0 -> 606 bytes doc/tdeprint/cups-config.docbook | 2072 ++++++++++++++++++++ ...s-filterarchitecture-kivio-70Percent-scaled.png | Bin 0 -> 100464 bytes doc/tdeprint/cupsaddprinterwizard1.png | Bin 0 -> 70554 bytes .../cupsaddprinterwizard2_backendselection.png | Bin 0 -> 76444 bytes doc/tdeprint/cupsaddprinterwizard3_networkscan.png | Bin 0 -> 70820 bytes .../cupsaddprinterwizard3_networkscan_results.png | Bin 0 -> 90883 bytes .../cupsaddprinterwizard4_networkscan_config.png | Bin 0 -> 10607 bytes doc/tdeprint/cupsoptions.docbook | 602 ++++++ .../cupsserverconfig_browse_relay_add_button.png | Bin 0 -> 2562 bytes .../cupsserverconfig_browsingmasks_add_button.png | Bin 0 -> 2294 bytes .../cupsserverconfiguration10_browsinggeneral.png | Bin 0 -> 14678 bytes ...psserverconfiguration11_browsingconnections.png | Bin 0 -> 15433 bytes .../cupsserverconfiguration11_browsingmasks.png | Bin 0 -> 15493 bytes .../cupsserverconfiguration12_browsingtimeouts.png | Bin 0 -> 14109 bytes .../cupsserverconfiguration14_browsingrelay.png | Bin 0 -> 14903 bytes ...uration15a_resourceallprinters_defineaccess.png | Bin 0 -> 15822 bytes ...uration15b_resourceallprinters_defineaccess.png | Bin 0 -> 5870 bytes ...uration15c_resourceallprinters_defineaccess.png | Bin 0 -> 5470 bytes doc/tdeprint/cupsserverconfiguration1_welcome.png | Bin 0 -> 31316 bytes doc/tdeprint/cupsserverconfiguration2_general.png | Bin 0 -> 15870 bytes doc/tdeprint/cupsserverconfiguration3_logging.png | Bin 0 -> 16490 bytes .../cupsserverconfiguration4_directories.png | Bin 0 -> 17728 bytes doc/tdeprint/cupsserverconfiguration5_HTTP.png | Bin 0 -> 15010 bytes .../cupsserverconfiguration6_encryption.png | Bin 0 -> 15083 bytes .../cupsserverconfiguration7_miscellanious.png | Bin 0 -> 15943 bytes .../cupsserverconfiguration8_networkgeneral.png | Bin 0 -> 15538 bytes .../cupsserverconfiguration9_networkclients.png | Bin 0 -> 14998 bytes ...erverconfiguration_resourceadminaccessmasks.png | Bin 0 -> 47480 bytes ...erverconfiguration_resourceadminaddprinters.png | Bin 0 -> 30334 bytes ...ation_resourceadminaddprinters_defineaccess.png | Bin 0 -> 43890 bytes ...verconfiguration_resourceadminauthorization.png | Bin 0 -> 30503 bytes .../cupsserverconfiguration_securityoverview.png | Bin 0 -> 16804 bytes doc/tdeprint/extensions.docbook | 57 + doc/tdeprint/external-command.docbook | 25 + doc/tdeprint/final-word.docbook | 117 ++ doc/tdeprint/getting-started.docbook | 143 ++ doc/tdeprint/highlights.docbook | 518 +++++ doc/tdeprint/index.docbook | 200 ++ doc/tdeprint/kcontrol-icon.png | Bin 0 -> 1202 bytes .../kcontrolcenter-printmanager-jobcontrol-2.png | Bin 0 -> 10761 bytes doc/tdeprint/kcron_to_be_printed.png | Bin 0 -> 10637 bytes doc/tdeprint/kprinter-as-netscape-printcommand.png | Bin 0 -> 8210 bytes doc/tdeprint/kprinter-kivio.png | Bin 0 -> 11149 bytes doc/tdeprint/kprinter.png | Bin 0 -> 12568 bytes doc/tdeprint/kprinter_called_from_run_command.png | Bin 0 -> 6068 bytes .../kprinter_with_kcron_developer_special.png | Bin 0 -> 11245 bytes doc/tdeprint/lpd.docbook | 18 + doc/tdeprint/lpr-bsd.docbook | 25 + doc/tdeprint/lprng.docbook | 7 + doc/tdeprint/ps-boxes.png | Bin 0 -> 441 bytes doc/tdeprint/rlpr.docbook | 18 + doc/tdeprint/steinbruch_scaled.png | Bin 0 -> 116567 bytes doc/tdeprint/tdeprint-jobviewer.png | Bin 0 -> 11220 bytes doc/tdeprint/tech-overview.docbook | 280 +++ doc/tdeprint/theory.docbook | 690 +++++++ doc/tdesu/CMakeLists.txt | 12 + doc/tdesu/Makefile.am | 5 + doc/tdesu/index.docbook | 320 +++ doc/tdesu/man-tdesu.1.docbook | 179 ++ 128 files changed, 6980 insertions(+), 6980 deletions(-) delete mode 100644 doc/glossary/kdeprintingglossary.docbook create mode 100644 doc/glossary/tdeprintingglossary.docbook delete mode 100644 doc/kdeprint/CMakeLists.txt delete mode 100644 doc/kdeprint/Makefile.am delete mode 100644 doc/kdeprint/add-printer-wiz.docbook delete mode 100644 doc/kdeprint/cr32-action-wizard.png delete mode 100644 doc/kdeprint/cups-config.docbook delete mode 100644 doc/kdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png delete mode 100644 doc/kdeprint/cupsaddprinterwizard1.png delete mode 100644 doc/kdeprint/cupsaddprinterwizard2_backendselection.png delete mode 100644 doc/kdeprint/cupsaddprinterwizard3_networkscan.png delete mode 100644 doc/kdeprint/cupsaddprinterwizard3_networkscan_results.png delete mode 100644 doc/kdeprint/cupsaddprinterwizard4_networkscan_config.png delete mode 100644 doc/kdeprint/cupsoptions.docbook delete mode 100644 doc/kdeprint/cupsserverconfig_browse_relay_add_button.png delete mode 100644 doc/kdeprint/cupsserverconfig_browsingmasks_add_button.png delete mode 100644 doc/kdeprint/cupsserverconfiguration10_browsinggeneral.png delete mode 100644 doc/kdeprint/cupsserverconfiguration11_browsingconnections.png delete mode 100644 doc/kdeprint/cupsserverconfiguration11_browsingmasks.png delete mode 100644 doc/kdeprint/cupsserverconfiguration12_browsingtimeouts.png delete mode 100644 doc/kdeprint/cupsserverconfiguration14_browsingrelay.png delete mode 100644 doc/kdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png delete mode 100644 doc/kdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png delete mode 100644 doc/kdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png delete mode 100644 doc/kdeprint/cupsserverconfiguration1_welcome.png delete mode 100644 doc/kdeprint/cupsserverconfiguration2_general.png delete mode 100644 doc/kdeprint/cupsserverconfiguration3_logging.png delete mode 100644 doc/kdeprint/cupsserverconfiguration4_directories.png delete mode 100644 doc/kdeprint/cupsserverconfiguration5_HTTP.png delete mode 100644 doc/kdeprint/cupsserverconfiguration6_encryption.png delete mode 100644 doc/kdeprint/cupsserverconfiguration7_miscellanious.png delete mode 100644 doc/kdeprint/cupsserverconfiguration8_networkgeneral.png delete mode 100644 doc/kdeprint/cupsserverconfiguration9_networkclients.png delete mode 100644 doc/kdeprint/cupsserverconfiguration_resourceadminaccessmasks.png delete mode 100644 doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters.png delete mode 100644 doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png delete mode 100644 doc/kdeprint/cupsserverconfiguration_resourceadminauthorization.png delete mode 100644 doc/kdeprint/cupsserverconfiguration_securityoverview.png delete mode 100644 doc/kdeprint/extensions.docbook delete mode 100644 doc/kdeprint/external-command.docbook delete mode 100644 doc/kdeprint/final-word.docbook delete mode 100644 doc/kdeprint/getting-started.docbook delete mode 100644 doc/kdeprint/highlights.docbook delete mode 100644 doc/kdeprint/index.docbook delete mode 100644 doc/kdeprint/kcontrol-icon.png delete mode 100644 doc/kdeprint/kcontrolcenter-printmanager-jobcontrol-2.png delete mode 100644 doc/kdeprint/kcron_to_be_printed.png delete mode 100644 doc/kdeprint/kdeprint-jobviewer.png delete mode 100644 doc/kdeprint/kprinter-as-netscape-printcommand.png delete mode 100644 doc/kdeprint/kprinter-kivio.png delete mode 100644 doc/kdeprint/kprinter.png delete mode 100644 doc/kdeprint/kprinter_called_from_run_command.png delete mode 100644 doc/kdeprint/kprinter_with_kcron_developer_special.png delete mode 100644 doc/kdeprint/lpd.docbook delete mode 100644 doc/kdeprint/lpr-bsd.docbook delete mode 100644 doc/kdeprint/lprng.docbook delete mode 100644 doc/kdeprint/ps-boxes.png delete mode 100644 doc/kdeprint/rlpr.docbook delete mode 100644 doc/kdeprint/steinbruch_scaled.png delete mode 100644 doc/kdeprint/tech-overview.docbook delete mode 100644 doc/kdeprint/theory.docbook delete mode 100644 doc/kdesu/CMakeLists.txt delete mode 100644 doc/kdesu/Makefile.am delete mode 100644 doc/kdesu/index.docbook delete mode 100644 doc/kdesu/man-kdesu.1.docbook create mode 100644 doc/tdeprint/CMakeLists.txt create mode 100644 doc/tdeprint/Makefile.am create mode 100644 doc/tdeprint/add-printer-wiz.docbook create mode 100644 doc/tdeprint/cr32-action-wizard.png create mode 100644 doc/tdeprint/cups-config.docbook create mode 100644 doc/tdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png create mode 100644 doc/tdeprint/cupsaddprinterwizard1.png create mode 100644 doc/tdeprint/cupsaddprinterwizard2_backendselection.png create mode 100644 doc/tdeprint/cupsaddprinterwizard3_networkscan.png create mode 100644 doc/tdeprint/cupsaddprinterwizard3_networkscan_results.png create mode 100644 doc/tdeprint/cupsaddprinterwizard4_networkscan_config.png create mode 100644 doc/tdeprint/cupsoptions.docbook create mode 100644 doc/tdeprint/cupsserverconfig_browse_relay_add_button.png create mode 100644 doc/tdeprint/cupsserverconfig_browsingmasks_add_button.png create mode 100644 doc/tdeprint/cupsserverconfiguration10_browsinggeneral.png create mode 100644 doc/tdeprint/cupsserverconfiguration11_browsingconnections.png create mode 100644 doc/tdeprint/cupsserverconfiguration11_browsingmasks.png create mode 100644 doc/tdeprint/cupsserverconfiguration12_browsingtimeouts.png create mode 100644 doc/tdeprint/cupsserverconfiguration14_browsingrelay.png create mode 100644 doc/tdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png create mode 100644 doc/tdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png create mode 100644 doc/tdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png create mode 100644 doc/tdeprint/cupsserverconfiguration1_welcome.png create mode 100644 doc/tdeprint/cupsserverconfiguration2_general.png create mode 100644 doc/tdeprint/cupsserverconfiguration3_logging.png create mode 100644 doc/tdeprint/cupsserverconfiguration4_directories.png create mode 100644 doc/tdeprint/cupsserverconfiguration5_HTTP.png create mode 100644 doc/tdeprint/cupsserverconfiguration6_encryption.png create mode 100644 doc/tdeprint/cupsserverconfiguration7_miscellanious.png create mode 100644 doc/tdeprint/cupsserverconfiguration8_networkgeneral.png create mode 100644 doc/tdeprint/cupsserverconfiguration9_networkclients.png create mode 100644 doc/tdeprint/cupsserverconfiguration_resourceadminaccessmasks.png create mode 100644 doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters.png create mode 100644 doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png create mode 100644 doc/tdeprint/cupsserverconfiguration_resourceadminauthorization.png create mode 100644 doc/tdeprint/cupsserverconfiguration_securityoverview.png create mode 100644 doc/tdeprint/extensions.docbook create mode 100644 doc/tdeprint/external-command.docbook create mode 100644 doc/tdeprint/final-word.docbook create mode 100644 doc/tdeprint/getting-started.docbook create mode 100644 doc/tdeprint/highlights.docbook create mode 100644 doc/tdeprint/index.docbook create mode 100644 doc/tdeprint/kcontrol-icon.png create mode 100644 doc/tdeprint/kcontrolcenter-printmanager-jobcontrol-2.png create mode 100644 doc/tdeprint/kcron_to_be_printed.png create mode 100644 doc/tdeprint/kprinter-as-netscape-printcommand.png create mode 100644 doc/tdeprint/kprinter-kivio.png create mode 100644 doc/tdeprint/kprinter.png create mode 100644 doc/tdeprint/kprinter_called_from_run_command.png create mode 100644 doc/tdeprint/kprinter_with_kcron_developer_special.png create mode 100644 doc/tdeprint/lpd.docbook create mode 100644 doc/tdeprint/lpr-bsd.docbook create mode 100644 doc/tdeprint/lprng.docbook create mode 100644 doc/tdeprint/ps-boxes.png create mode 100644 doc/tdeprint/rlpr.docbook create mode 100644 doc/tdeprint/steinbruch_scaled.png create mode 100644 doc/tdeprint/tdeprint-jobviewer.png create mode 100644 doc/tdeprint/tech-overview.docbook create mode 100644 doc/tdeprint/theory.docbook create mode 100644 doc/tdesu/CMakeLists.txt create mode 100644 doc/tdesu/Makefile.am create mode 100644 doc/tdesu/index.docbook create mode 100644 doc/tdesu/man-tdesu.1.docbook (limited to 'doc') diff --git a/doc/glossary/kdeprintingglossary.docbook b/doc/glossary/kdeprintingglossary.docbook deleted file mode 100644 index 6a0f35a34..000000000 --- a/doc/glossary/kdeprintingglossary.docbook +++ /dev/null @@ -1,1387 +0,0 @@ - - - - Printing - - - - ACLs - Abbreviation for Access - Control Lists; - ACLs are used to check for the access by a given - (authenticated) user. A first rough support for ACLs - for printing is available from &CUPS;; this will be refined - in future versions. - Authentication - - - - - AppSocket Protocol - AppSocket is a protocol for the transfer of - print data, also frequently called "Direct TCP/IP Printing". - &Hewlett-Packard; have taken AppSocket, added a few minor - extensions around it and been very successful in renaming - and marketing it under the brand "&HP; JetDirect"... - &HP; JetDirect Protocol - Direct TCP/IP Printing - - - - - APSfilter - APSfilter is used mainly in the context of "classical" - &UNIX; printing (BSD-style LPD). It is a sophisticated shell script, - disguised as an "all-in-one" filtering program. In reality, - APSfilter calls "real filters" to do the jobs needed. It sends - printjobs automatically through these other filters, based on an - initial file-type analysis of the printfile. - It is written and maintained by Andreas Klemm. - - It is - similar to Magicfilter and mostly uses Ghostscript for file conversions. - Some Linux Distributions (like &SuSE;) use APSfilter, others - Magicfilter (like &RedHat;), some have both for preference selection - (like *BSD). - - &CUPS; has no need for APSfilter, - as it runs its own file type recognition (based on &MIME; types) - and applies its own filtering logic. - Ghostscript - Magicfilter - &MIME;-Types - printcap - - - - - Authentication - Proving the identity of a certain person (maybe via username/password - or by means of a certificate) is often called authentication. Once you are - authenticated, you may or may not get access to a requested ressource, - possibly based on ACLs. - ACLs - - - - - Bi-directional communication - In the context of printing, a server or a host may receive additional - information sent back from the printer (status messages &etc;), either - upon a query or unrequested. AppSocket ( = &HP; JetDirect), &CUPS; and IPP - support bi-directional communication, LPR/LPD and BSD-style printing - do not... - AppSocket Protocol - &CUPS; - Direct TCP/IP Printing - &HP; JetDirect - IPP - LPR/LPD - - - - - BSD-style Printing - Generic term for different variants of the traditional &UNIX; - printing method. Its first version appeared in the early 70s on - BSD &UNIX; and was formally described in RFC 1179 only as late - as 1990. - - At the time when BSD "remote" printing was first designed, printers - were serially or otherwise directly connected devices to a host - (with the Internet hardly consisting of more than 100 nodes!); printers - used hole-punched, continuous paper, fed through by a tractor - mechanism, with simple rows of ASCII text mechanically hammered on to - the medium, drawn from a cardboard box beneath the table. It came out - like a zig-zag folded paper "snake". Remote printing consisted of a - neighboring host in the next room sending a file - asking for printout. - - How technology has changed! Printers generally use cut-sheet media, they have - built-in intelligence to compute the raster images of pages after pages - that are sent to them using one of the powerful page description - languages (PDL). Many are network nodes in their own right, - with CPU, RAM, a hard disk and their own Operation System, and - are hooked to a net with potentially millions of users... - - It is a vast proof of the flexible &UNIX; concept for doing things, - that it made "Line Printing" reliably work even under these modern - conditions. But time has finally come now to go for something new - -- the IPP. - - It is strong proof of the flexibility of &UNIX;; that "Line Printing" works - reliably, even under these modern conditions. But time has finally come now - to go for something new -- the IPP. - - - IPP - &CUPS; - LPR/LPD printing - - - - - &CUPS; - Abbreviation for Common - UNIX Printing - System; &CUPS; is the most modern &UNIX; and Linux - printing system, also providing cross-platform print services - to &Microsoft; &Windows; and Apple &MacOS; clients. Based on IPP, it does - away with all the pitfalls of old-style BSD printing, - providing authentication, encryption and ACLs, plus many more - features. At the same time it is backward-compatible enough - to serve all legacy clients that are not yet up to IPP, via - LPR/LPD (BSD-style). - - &CUPS; is able to control any &PostScript; printer by - utilizing the vendor-supplied PPD (PostScript Printer - Description file), targeted originally for &Microsoft; Windows NT - printing only. &kde; Printing is most powerful if based on - &CUPS;. - ACLs - Authentication - BSD-style printing - IPP - KDEPrint - LPR/LPD - PPD - - - - - - &CUPS;-FAQ - Currently only available in German (translation is on the way), - the &CUPS;-FAQ - is a valuable resource to answer many questions that anyone new to - &CUPS; printing might have at first. - - KDEPrint Handbook - - - - - - &CUPS;-O-Matic - &CUPS;-O-Matic was the first "Third Party" plugin for - the &CUPS; printing software. It is available on the Linuxprinting.org - website to provide an online PPD-generating service. - - - Together with the companion cupsomatic Perl-Script, - that needs to be installed as an additional &CUPS; backend, - it redirects output from the native pstops filter into - a chain of suitable Ghostscript filters. Upon completion, it - passes the resulting data back to a &CUPS; "backend" for sending - to the printer. - - In this way, &CUPS;-O-Matic enables support for any printer known to - have worked previously in a "classical" Ghostscript environment. - If no native &CUPS; support for that printer is in sight... &CUPS;-O-Matic - is now replaced by the more capable PPD-O-Matic. - cupsomatic - PPD-O-Matic - Foomatic - - - - - - cupsomatic - The Perl script cupsomatic (plus a working Perl installation - on your system) is needed to make any &CUPS;-O-Matic (or PPD-O-Matic) - generated PPD work with &CUPS;. It was written by Grant Taylor, author of - the Linux Printing HOWTO and Maintainer of the printer - database at the Linuxprinting.org website. - &CUPS;-O-Matic - Foomatic - cupsomatic - - - - - Daemon - Abbreviation for Disk - and execution - monitor; Daemons are present - on all &UNIX; systems to perform tasks independent of user - intervention. Readers more familiar with &Microsoft; &Windows; might - want to compare daemons and the tasks they are responsible - with "services". - - One example of a daemon present on most - legacy &UNIX; systems is the LPD (Line Printer Daemon); &CUPS; is - widely seen as the successor to LPD in the &UNIX; world and - it also operates through a daemon. - SPOOLing - - - - - Database, Linuxprinting.org - Already years ago, when Linux printing was still really difficult - (only command line printing was known to most Linux users, no device - specific print options were available for doing the jobs), Grant Taylor, - author of the "Linux Printing HOWTO", collected most of the available - information about printers, drivers and filters in his database. - - With the emerging - &CUPS; concept, extending the use of PPDs even to non-PostScript printers, - he realized the potential of this database: if one puts the different - datablobs (with content that could be described along the lines - "Which device prints with which Ghostscript or other - filter?", "How well?", and "What command line switches are available?") into - PPD-compatible files, he could have all the power of &CUPS; on top of - the traditional printer "drivers". - - This has now developed into a broader - concept, known as "Foomatic". Foomatic extends the capabilities - of spoolers other than &CUPS; (LPR/LPD, LPRng, PDQ, PPR) to a certain - degree ("stealing" some concepts from &CUPS;). The Linuxprinting - Database is not a Linux-only stop -- people running other &UNIX; - based OSes (like *BSD or &MacOS; X) will also find valuable information - and software there. - - Foomatic - Linuxprinting database - - - - - Direct TCP/IP Printing - This is a method that often uses TCP/IP port 9100 to connect - to the printer. It works with many modern network printers and has - a few advantages over LPR/LPD, as it is faster and provides some - "backchannel feedback data" from the printer to the host sending - the job. - AppSocket Protocol - &HP; JetDirect Protocol - - - - - - Drivers, Printer Drivers - The term "printer drivers", used in the same sense - as on the &Microsoft; &Windows; platform, is not entirely applicable - to a Linux or &UNIX; platform. A "driver" functionality - is supplied on &UNIX; by different modular components working - together. At the core of the printer drivers are "filters". Filters convert - print files from a given input format to another format that is acceptable - to the target printer. In many cases filters may be connected to a whole - filter "chain", where only the result of the last conversion is sent to the - printer. The actual transfer of the print data to the device is performed by - a "backend". - - Filter - PPDs - - - - - Easy Software Products - Mike Sweet's company, which has contributed a few substantial - software products towards the Free Software community; amongst - them the initial version of Gimp-Print, the EPM software packaging tool - and HTMLDOC - (used by the "Linux Documentation Project" to build the PDF versions - of the HOWTOs) -- but most importantly: &CUPS; (the 'Common &UNIX; Printing - System'). - - ESP finance themselves by selling a commercial version - of &CUPS;, called ESP PrintPro, - that includes some professional enhancements. - - &CUPS; - ESP PrintPro - ESP - Gimp-Print - - - - - Encryption - Encryption of confidential data is an all-important issue if - you transfer it over the Internet or even within intranets. - - Printing - via traditional protocols is not encrypted at all -- it is very easy - to tap and eavesdrop ⪚ into &PostScript; or PCL data transfered - over the wire. - - Therefore, in the design of IPP, provision was made for the easy - plugin of encryption mechanisms (which can be provided by the same - means as the encryption standards for HTTP traffic: SSL and TLS). - Authentication - &CUPS; - IPP - SSL - TLS - - - - - - Epson - Epson inkjets are among the best supported models by Free software - drivers, as the company was not necessarily as secretive about their - devices and handed technical specification documents to developers. - The excellent print quality achieved by Gimp-Print on the Stylus - series of printers can be attributed to this openness. - - They have also - contracted Easy Software Products to maintain an enhanced version - of Ghostscript ("ESP GhostScript") for improved support of their - printer portfolio. - - ESP Ghostscript - - - - - - Escape Sequences - The first ever printers printed ASCII data only. To - initiate a new line, or eject a page, they included special - command sequences, often carrying a leading [ESC]-character. - &HP; evolved this concept through its series of PCL language - editions until today, having now developed a full-blown - Page Description Language (PDL) from these humble beginnings. - - PCL - PDL - - - - - ESC/P - Abbreviation for Epson - Standard Codes for - Printers. Besides &PostScript; and PCL, Epson's ESC/P - printer language is one of the best known. - PCL - &PostScript; - hpgl - - - - - ESP - Abbreviation for Easy - Software Products; - the company that developed &CUPS; (the "Common &UNIX; Printing System"). - - Easy Software Products - &CUPS; - ESP PrintPro - - - - - - ESP Ghostscript - A Ghostscript version that is maintained by Easy Software - Products. It includes pre-compiled Gimp-Print drivers for - many inkjets (plus some other goodies). ESP Ghostscript - will produce photographic quality prints in many cases, especially - with the Epson Stylus model series. ESP Ghostscript is GPL-software. - - Easy Software Products - &CUPS; - ESP PrintPro - - - - - ESP PrintPro - This professional enhancement to &CUPS; (the "Common &UNIX; - Printing System") is sold by the developers - of &CUPS; complete with more than 2,300 printer drivers for several commercial - &UNIX; platforms. ESP PrintPro - is supposed to work "out of the box" with little or no configuration - for users or admins. ESP also sell support contracts for - &CUPS; and PrintPro. These sales help to feed the programmers who - develop the Free version of &CUPS;. - - &CUPS; - - - - - Filter - Filters, in general, are programs that take some input - data, work on it and pass it on as their output data. Filters - may or may not change the data. - - Filters in the context of printing, are programs that convert - a given file (destined for printing, but not suitable in the - format it is presently) into a printable format. Sometimes - whole "filter chains" have to be constructed to achieve the - goal, piping the output of one filter as the input to the next. - - Ghostscript - RIP - - - - - Foomatic - Foomatic started out as the wrapper name for a set of - different tools available from Linuxprinting.org - These tools aimed to make the usage of traditional - Ghostscript and other print filters easier for users and - extend the filters' capabilities by adding more command line - switches or explain the driver's execution data. - - Foomatic's different incarnations are &CUPS;-O-Matic, PPD-O-Matic, - PDQ-O-Matic, LPD-O-Matic, PPR-O-Matic, MF-O-Matic and - Direct-O-Matic. All of these allow the generation - of appropriate printer configuration files online, by simply - selection the suitable model and suggested (or alternate) driver - for that machine. - - More recently, Foomatic gravitated towards becoming a "meta-spooling" - system, that allows configuration of the underlying print subsystem - through a unified set of commands (however, this is much more - complicated than KDEPrint's &GUI; interface, which performs a similar - task with regards to different print subsystems). - &CUPS;-O-Matic - PPD-O-Matic - cupsomatic - - - - - Ghostscript - Ghostscript is a &PostScript; Raster Image Processor (RIP) in software, originally - developed by L. Peter Deutsch. There is always a GPL version - of Ghostscript available for free usage and distribution - (mostly 1 year old) while - the current version is commercially sold under another license. - - Ghostscript is widely used inside the Linux and &UNIX; world - for transforming &PostScript; into raster data suitable - for sending to non-&PostScript; devices. - &PostScript; - RIP - - - - - Gimp-Print - Contrary to its name, Gimp-Print is no longer - just the plugin to be used for printing from the popular - Gimp program -- its codebase can also serve to be compiled - into... - - *...a set of PPDs and associated filters that integrate seamlessly - into &CUPS;, supporting around 130 different printer models, providing - photographic output quality in many cases; - - - *...a Ghostscript filter that can be used with any other - program that needs a software-RIP; - - - *...a library that can be used by other software applications - in need of rasterization functions. - - - - - Lexmark Drivers - RIP - Ghostscript - - - - - &HP; - Abbreviation for Hewlett-Packard; - one of the first companies to distribute their own Linux printer - drivers. -- More recently, the Company has released their - "HPIJS" package of drivers, including source code and a Free license. - This is the first printer manufacturer to do so. HPIJS supports most - current models of HP Ink- and DeskJets. - - - - - - - &HP;/GL - Abbreviation for &HP; - Graphical Language; - a &HP; printer language mainly used for plotters; many CAD - (Computer Aided Design) software programs output &HP;/GL files for - printing. - ESC/P - PCL - &PostScript; - - - - - &HP; JetDirect Protocol - A term branded by &HP; to describe their implementation - of print data transfer to the printer via an otherwise "AppSocket" or - "Direct TCP/IP Printing" named protocol. - AppSocket Protocol - Direct TCP/IP Printing - - - - - IETF - Abbreviation for Internet - Engineering Task - Force; an assembly of Internet, software - and hardware experts that discuss - new networking technologies and very often arrive at - conclusions that are regarded by many as standards. "TCP/IP" - is the most famous example. - - - IETF standards, as well as - drafts, discussions, ideas and useful tutorials, are - put in writing in the famous series of "RFCs", which - are available to the public and included in most Linux and - BSD distributions. - IPP - PWG - RFC - - - - - IPP - Abbreviation for Internet - Printing Protocol; - defined in a series of RFCs accepted by the IETF with - status "proposed standard"; was designed - by the PWG. -- IPP is a completely new design for network printing, - but it utilizes a very well-known and proven method for the - actual data transfer: HTTP 1.1! By not "re-inventing the wheel", - and basing itself on an existing and robust Internet standard, - IPP is able to relatively easily bolt other HTTP-compatible standard - mechanisms into its framework: - - * Basic, Digest or Certificate authentication - mechanisms; - - * SSL or TLS for encryption of transferred - data; - - * LDAP for directory services (to publish - data on printers, device-options, drivers, costs or - also to the network; or to check for passwords while - performing authentication). - - - - - - &CUPS; - PWG - IETF - RFC - TLS - - - - - KDEPrint - The new printing functionality of &kde; since version 2.2 - consists of several modules that translate the features and settings - of different available print subsystems (&CUPS;, BSD-style LPR/LPD, RLPR...) - into nice &kde; desktop &GUI; windows and dialogs to ease their - usage. - - Most important for day-to-day usage is "kprinter", the new - &GUI; print command. -- Note: KDEPrint does not implement its own - spooling mechanism or its own &PostScript; processing; for this it - relies on the selected print subsystem - -- however it does add some functionality of its own on top of this - foundation... - - BSD-style printing - &CUPS; - kprinter - KDEPrint Handbook - - - - - - KDEPrint Handbook... - ...is the name of the reference document that describes KDEPrint - functions to users and administrators. You can load it into Konqueror by - typing "help:/tdeprint" into the address field. The KDEPrint website - is the resource for updates to this documentation, as well as PDF - versions suitable for printing it. It is authored and maintained by Kurt - Pfeifle. - - &CUPS;-FAQ - - - - - kprinter - kprinter is the new powerful - print utility that is natively used by all &kde; applications. - - Contrary to some common misconceptions, - kprinter is not a &CUPS;-only tool, - but supports different print subsystems. You can even switch - to a different print subsystem "on the fly", in between two jobs, - without re-configuration. Of course, due to the powerful - features of &CUPS;, kprinter is - best suited for use with a &CUPS; frontend. - - kprinter is the successor - to "qtcups", which is no longer being actively maintained. It has - inherited all the best features of qtcups and added several new ones. - - - MOST IMPORTANT: you can use kprinter - with all its features in all non-&kde; applications that allow - a customized print command, like gv, Acrobat Reader, Netscape, - Mozilla, Galeon, StarOffice, OpenOffice and all GNOME programs. - - kprinter can act as a "standalone" - utility, started from an X-Terminal or a "Mini-CLI" to - print many different files, from different folders, with different - formats, in one job and simultaneously, without the need to first open the - files in the applications! (File formats supported this way are &PostScript;, - PDF, International and ASCII Text, as well as many different popular graphic - formats, such as PNG, TIFF, JPEG, PNM, Sun RASTER, &etc;) - - QtCUPS - - - - - Lexmark - was one of the first companies to distribute their own Linux printer - drivers for some of their models. However, those drivers are binary only - (no source code available), and therefore cannot be used to integrate into - other Free printing software projects. - - - - - - Linuxprinting.org - Linuxprinting.org = not just for Linux; all &UNIX;-like OS-es, - like *BSD and commercial Unices may find useful printing - information on this site. This web site is the home for the interesting - Foomatic project, that strives to develop the "Meta Print Spool and Driver - Configuration Toolset" (being able to configure, through one common - interface, different print subsystems and their required drivers) with the - ability to transfer all queues, printers and configuration files seamlessly - to another spooler without new configuration effort. -- Also, they maintain - the Printing Database; a collection of driver and device information that - enables everybody to find the most current information about printer models, - and also generate online the configuration files for any - spooler/driver/device combo known to work with one of the common Linux or - &UNIX; print subsystems. - - Linuxprinting database - - - - - - Linuxprinting.org Database - ....Database containing printers and drivers that are suitable - for them... ...a lot of information and documentation to be found... ...it - is now also providing some tools and utilities for easing the integration - of those drivers into a given system... ...the "Foomatic" family - of utilities; being the toolset to make use of the database - for most of the commonly used print subsystems, for generating "on the fly" - working configurations for your printer model. - - Foomatic - - - - - LPR/LPD printing - LPR == some people translate Line - Printing Request, others: - Line Printer - Remote. - BSD-style printing - - - - - Magicfilter - Similarly to the APSfilter program, Magicfilter - provides automatic file type recognition functions and, base - on that, automatic file conversion to a printable format, - depending on the target printer. - APSfilter - - - - - &MIME;-Types - Abbreviation for Multipurpose (or - Multimedia) Internet Mail - Extensions; &MIME;-Types were first used to allow - the transport of binary data (like mail attachments containing - graphics) over mail connections that were normally only transmitting - ASCII characters: the data had to be encoded into an ASCII representation. - - Later this concept was extended to describe a data format in - a platform independent, but at the same time non-ambiguous, way. - From &Windows; everybody knows the .doc extensions for &Microsoft; Word files. - This is handled ambiguously on the &Windows; platform: .doc extensions are also - used for simple text files or for Adobe Framemaker files. And if a real - Word file is renamed with a different extension, it can no longer be - opened by the program. - - &MIME; typed files carry a recognition string with them, describing - their file format based on main_category/sub_category. - Inside IPP, print files are also described using the &MIME; type scheme. - &MIME; types are registered with the IANA (Internet Assigning Numbers - Association) to keep them unambiguous. - - &CUPS; has some &MIME; types of its own registered, like - application/vnd.cups-raster (for the &CUPS;-internal - raster image format). - - - &CUPS; - Easy Software Products - ESP PrintPro - Gimp-Print - - - - - PCL - Abbreviation for Printer - Control Language; - developed by &HP;. PCL started off in version 1 as a simple - command set for ASCII printing; now, - in its versions PCL6 and PCL-X, it is capable of printing graphics - and color -- but outside the &Microsoft; &Windows; realm and &HP-UX; - (&HP;'s own brand of &UNIX;), it is not commonly used... - ESC/P - &HP;/GL - PDL - &PostScript; - - - - - PDL - Abbreviation for Page - Description Language; - PDLs describe, in an abstract way, the graphical representation - of a page. - Before it is actually transferred into - toner or ink laid down on to paper, a PDL needs to be - "interpreted" first. In &UNIX;, the most important PDL - is &PostScript;. - - ESC/P - &HP;/GL - PCL - &PostScript; - - - - - Pixel - Abbreviation for Picture - Element; this term describes the smallest - part of a raster picture (either as printed on paper - or as displayed on a monitor by cathode rays or LCD elements). As - any graphical or image representation on those types of output - devices is composed of pixels, the values of "ppi" (pixel per inch) - and &dpi; (dots per inch) are one important parameter for the - overall quality and resolution of an image. - Filter - Ghostscript - &PostScript; - Raster - - - - - PJL - Abbreviation for Print - Job Language; - developed by &HP; to control and influence default and per-job - settings of a printer. It may not only be used - for &HP;'s own (PCL-)printers; also many &PostScript; - and other printers understand PJL commands sent to them - inside a print job, or in a separate signal. - PCL - - - - - &PostScript; - &PostScript; (often shortened to "PS") is the de-facto - standard in the &UNIX; world for printing files. It was - developed by Adobe and licensed to printer manufacturers - and software companies. - - As the &PostScript; specifications were - published by Adobe, there are also "Third Party" implementations - of &PostScript; generating and &PostScript; interpreting software - available (one of the best-known in the Free software world - being Ghostscript, a powerful PS-interpreter). - - ESC/P - &HP;/GL - PCL - PPD - - - - - PPD - Abbreviation for PostScript - Printer Description; - PPDs are ASCII files storing all information about the special - capabilities of a printer, plus definitions of the (PostScript- - or PJL-) commands to call on a certain capability (like print - duplexing). - - - As the explanation of the acronym reveals, PPDs were originally - only used for &PostScript; printers. &CUPS; has extended the - PPD concept to all types of printers. - - - PPDs for &PostScript; printers are provided by the printer - vendors. They can be used with &CUPS; and KDEPrint to have access - to the full features of any &PostScript; printer. The KDEPrint Team - recommends using a PPD originally intended for use with - &Microsoft; Windows NT. - - - PPDs for non-PostScript printers need a - companion "filter" to process the &PostScript; print files into - a format digestible for the non-PostScript target device. Those - PPD/filter combos are not (yet) available from the vendors. After - the initiative by the &CUPS; developers to utilize PPDs, the Free - Software community was creative enough to quickly come up with - support for most of the currently used printer models, through - PPDs and classical Ghostscript filters. But note: the printout - quality varies from "hi-quality photographic output" (using - Gimp-Print with most Epson inkjets) to "hardly readable" (using - Foomatic-enabled Ghostscript filters for models rated as - "paperweight" in the Linuxprinting.org database). - - &CUPS; - Linuxprinting.org - &PostScript; - - - - - PPD-O-Matic - PPD-O-Matic is a set of Perl scripts that run on the Linuxprinting.org - web server and can be used online to generate PPDs for any printer that is known - to print with Ghostscript. - - - These PPDs can be hooked up to &CUPS;/KDEPrint, as well as - used inside PPD-aware applications like StarOffice to determine all different - parameters of your printjobs. It is now recommended, in most cases, to - use "PPD-O-Matic" instead of the older &CUPS;-O-Matic. - - - To generate a PPD, go to the printer - database, select your printer model, follow - the link to show the available Ghostscript filters for that printer, select - one, click "generate" and finally save the file to your local system. - Be sure to read the instructions. Make sure that your local system - does indeed have Ghostscript and the filter, which you chose - before generating the PPD, installed. - - &PostScript; - &CUPS;-O-Matic - Linuxprinting.org - Foomatic - - - - - printcap - In BSD-style print systems, the "printcap" file holds - the configuration information; the printing daemon reads this file - to determine which printers are available, what filters are to be - user for each, where the spooling folder is located, - if there are banner pages to be used, and so on... - Some applications also depend on read access to the printcap - file, to obtain the names of available printers. - BSD-style printing - - - - - - Printer-MIB - Abbreviation for - Printer-Management - Information Base; the - Printer-MIB defines a set of parameters that are to be - stored inside the printer for access - through the network. This is useful if many (in some cases, literally - thousands) network printers are managed centrally - with the help of SNMP (Simple Network Management Protocol). - PWG - SNMP - - - - - PWG - Abbreviation for - Printer Working - Group; the PWG is a loose grouping of - representatives of the printer industry that has, in the past - years, developed different standards - in relation to network printing. These were later accepted by the - IETF as RFC standards, like the "Printer-MIB" and the IPP. - &PostScript; - IPP - Printer-MIB - SNMP - - - - - print:/ KIO Slave - You can use a syntax of "print:/..." to get quick access - to KDEPrint resources. Typing "print:/manager" as a Konqueror URL - address gives administrative access to KDEPrint. Konqueror uses &kde;'s - famous "KParts" technology to achieve that. - IO Slave - KParts - - - - - - Printer Database - . - Linuxprinting Database - - - - - Qt&CUPS; - Qt&CUPS; and KUPS were the predecessors of KDEPrint; they are now - deprecated and no longer maintained. What was good in qtcups is all inherited - by "kprinter", the new KDE print dialog (which is much improved over qtcups); - what you liked about kups is now all in the KDEPrint Manager (accessible - via the KDE Control Center or via the URL "print:/manager" from Konqueror) -- - with more functionality and less bugs... Its former developer, Michael Goffioul, is now - the developer of KDEPrint -- a very nice and productive guy and quick bug fixer... - - kprinter - - - - - Raster Image - Every picture on a physical medium - is composed of a pattern of discrete dots in different colors and (maybe) - sizes. This is called a "raster image". - - - This is as opposed to a "vector image" - where the graphic is described in terms of continuous curves, shades, - forms and filled areas, represented by mathematical formula. Vector images - normally have a smaller file size and may be scaled in size - without any loss of information and quality --- but they cannot be - output directly, but always have to be "rendered" or "rasterized" - first to the given resolution that the output device is capable of... - - - - The rasterization is done by a Raster Image Processor (RIP, - often the Ghostscript software) or some other filtering - instance. - Pixel - Ghostscript - &PostScript; - Filter - RIP - - - - - RIP - Abbreviation for - Raster Image - Process(or); if used in the context of - printing, "RIP" means a hardware or software - instance that converts &PostScript; (or other print formats - that are represented in one of the non-Raster PDLs) into a - raster image format in such a way that it is acceptable - for the "marking engine" of the printer. - - - &PostScript; printers - contain their own PostScript-RIPs. A RIP may or may not be located - inside a printer. - - - For many &UNIX; systems, Ghostscript is the package that provides - a "RIP in software", running on the host computer, and pre-digesting - the &PostScript; or other data to become ready to be sent to the - printing device (hence you may perceive a "grain of truth" in the - slogan "Ghostscript turns your printer into a &PostScript; - machine", which of course is not correct in the true sense of the - meaning). - Filter - Ghostscript - &PostScript; - PDL - Raster - - - - - - RLPR (Remote LPR) - Abbreviation for Remote - Line Printing - Request; this is a BSD-style printing system, - that needs no root privileges to be installed, and no "printcap" to - work: all parameters may be specified on the command - line. - - - RLPR comes in handy for many laptop users who are - working in frequently changing environments. This is because it - may be installed concurrently with every other printing - sub system, and allows a very flexible and quick - way to install a printer for direct access via LPR/LPD. - - - KDEPrint - has an "Add Printer Wizard" to make RLPR usage even easier. - The kprinter command allows switching to RLPR "on - the fly" at any time. - KDEPrint - kprinter - printcap - - - - - - SNMP - Abbreviation for Simple - Network Management - Protocol; SNMP is widely used to control - all types of network node (Hosts, Routers, Switches, Gateways, - Printers...) remotely. - PWG - Printer-MIB - - - - - SSL(3) encryption - Abbreviation for Secure - Socket Layer; - SSL is a proprietary encryption method for data - transfer over HTTP that was developed by Netscape. It is now being - replaced by an IETF standard named TLS. - - TLS - - - - - - SPOOLing - Abbreviation for Synchronous - Peripheral Operations - OnLine; - SPOOLing enables printing applications - (and users) to continue their work - as the job is being taken care of by a system daemon, - which stores the file at a temporary location until the printer is ready - to print. - Daemon - - - - - - TLS encryption - Abbreviation for Transport - Layer Security; - TLS is an encryption standard for - data transfered over HTTP 1.1; it is defined in RFC 2246; - although based on the former SSL development - (from Netscape) it is not fully compatible with it. - - SSL(3) - - - - - - System V-style printing - This is the second flavor of traditional &UNIX; - printing (as opposed to BSD-style printing). It uses - a different command set (lp, lpadmin,...) to BSD, - but is not fundamentally different from it. However, the - gap between the two is big enough to make the two - incompatible, so that a BSD-client cannot simply print - to a System V style print server without additional - tweaking... IPP is supposed to resolve this weakness - and more. - - BSD-style printing - IPP - - - - - TurboPrint - Shareware software providing photo quality printing for many - inkjet printers. It is useful if you are unable to find a driver for your - printer and may be hooked into either a traditional Ghostscript system - or a modern &CUPS; system. - Gimp-Print - - - - - XPP - Abbreviation for X - Printing Panel; - XPP was the first Free - graphical print command for &CUPS;, written by Till Kamppeter, - and in some ways a model for the "kprinter" utility in &kde;. - - - - - - - diff --git a/doc/glossary/tdeprintingglossary.docbook b/doc/glossary/tdeprintingglossary.docbook new file mode 100644 index 000000000..6a0f35a34 --- /dev/null +++ b/doc/glossary/tdeprintingglossary.docbook @@ -0,0 +1,1387 @@ + + + + Printing + + + + ACLs + Abbreviation for Access + Control Lists; + ACLs are used to check for the access by a given + (authenticated) user. A first rough support for ACLs + for printing is available from &CUPS;; this will be refined + in future versions. + Authentication + + + + + AppSocket Protocol + AppSocket is a protocol for the transfer of + print data, also frequently called "Direct TCP/IP Printing". + &Hewlett-Packard; have taken AppSocket, added a few minor + extensions around it and been very successful in renaming + and marketing it under the brand "&HP; JetDirect"... + &HP; JetDirect Protocol + Direct TCP/IP Printing + + + + + APSfilter + APSfilter is used mainly in the context of "classical" + &UNIX; printing (BSD-style LPD). It is a sophisticated shell script, + disguised as an "all-in-one" filtering program. In reality, + APSfilter calls "real filters" to do the jobs needed. It sends + printjobs automatically through these other filters, based on an + initial file-type analysis of the printfile. + It is written and maintained by Andreas Klemm. + + It is + similar to Magicfilter and mostly uses Ghostscript for file conversions. + Some Linux Distributions (like &SuSE;) use APSfilter, others + Magicfilter (like &RedHat;), some have both for preference selection + (like *BSD). + + &CUPS; has no need for APSfilter, + as it runs its own file type recognition (based on &MIME; types) + and applies its own filtering logic. + Ghostscript + Magicfilter + &MIME;-Types + printcap + + + + + Authentication + Proving the identity of a certain person (maybe via username/password + or by means of a certificate) is often called authentication. Once you are + authenticated, you may or may not get access to a requested ressource, + possibly based on ACLs. + ACLs + + + + + Bi-directional communication + In the context of printing, a server or a host may receive additional + information sent back from the printer (status messages &etc;), either + upon a query or unrequested. AppSocket ( = &HP; JetDirect), &CUPS; and IPP + support bi-directional communication, LPR/LPD and BSD-style printing + do not... + AppSocket Protocol + &CUPS; + Direct TCP/IP Printing + &HP; JetDirect + IPP + LPR/LPD + + + + + BSD-style Printing + Generic term for different variants of the traditional &UNIX; + printing method. Its first version appeared in the early 70s on + BSD &UNIX; and was formally described in RFC 1179 only as late + as 1990. + + At the time when BSD "remote" printing was first designed, printers + were serially or otherwise directly connected devices to a host + (with the Internet hardly consisting of more than 100 nodes!); printers + used hole-punched, continuous paper, fed through by a tractor + mechanism, with simple rows of ASCII text mechanically hammered on to + the medium, drawn from a cardboard box beneath the table. It came out + like a zig-zag folded paper "snake". Remote printing consisted of a + neighboring host in the next room sending a file + asking for printout. + + How technology has changed! Printers generally use cut-sheet media, they have + built-in intelligence to compute the raster images of pages after pages + that are sent to them using one of the powerful page description + languages (PDL). Many are network nodes in their own right, + with CPU, RAM, a hard disk and their own Operation System, and + are hooked to a net with potentially millions of users... + + It is a vast proof of the flexible &UNIX; concept for doing things, + that it made "Line Printing" reliably work even under these modern + conditions. But time has finally come now to go for something new + -- the IPP. + + It is strong proof of the flexibility of &UNIX;; that "Line Printing" works + reliably, even under these modern conditions. But time has finally come now + to go for something new -- the IPP. + + + IPP + &CUPS; + LPR/LPD printing + + + + + &CUPS; + Abbreviation for Common + UNIX Printing + System; &CUPS; is the most modern &UNIX; and Linux + printing system, also providing cross-platform print services + to &Microsoft; &Windows; and Apple &MacOS; clients. Based on IPP, it does + away with all the pitfalls of old-style BSD printing, + providing authentication, encryption and ACLs, plus many more + features. At the same time it is backward-compatible enough + to serve all legacy clients that are not yet up to IPP, via + LPR/LPD (BSD-style). + + &CUPS; is able to control any &PostScript; printer by + utilizing the vendor-supplied PPD (PostScript Printer + Description file), targeted originally for &Microsoft; Windows NT + printing only. &kde; Printing is most powerful if based on + &CUPS;. + ACLs + Authentication + BSD-style printing + IPP + KDEPrint + LPR/LPD + PPD + + + + + + &CUPS;-FAQ + Currently only available in German (translation is on the way), + the &CUPS;-FAQ + is a valuable resource to answer many questions that anyone new to + &CUPS; printing might have at first. + + KDEPrint Handbook + + + + + + &CUPS;-O-Matic + &CUPS;-O-Matic was the first "Third Party" plugin for + the &CUPS; printing software. It is available on the Linuxprinting.org + website to provide an online PPD-generating service. + + + Together with the companion cupsomatic Perl-Script, + that needs to be installed as an additional &CUPS; backend, + it redirects output from the native pstops filter into + a chain of suitable Ghostscript filters. Upon completion, it + passes the resulting data back to a &CUPS; "backend" for sending + to the printer. + + In this way, &CUPS;-O-Matic enables support for any printer known to + have worked previously in a "classical" Ghostscript environment. + If no native &CUPS; support for that printer is in sight... &CUPS;-O-Matic + is now replaced by the more capable PPD-O-Matic. + cupsomatic + PPD-O-Matic + Foomatic + + + + + + cupsomatic + The Perl script cupsomatic (plus a working Perl installation + on your system) is needed to make any &CUPS;-O-Matic (or PPD-O-Matic) + generated PPD work with &CUPS;. It was written by Grant Taylor, author of + the Linux Printing HOWTO and Maintainer of the printer + database at the Linuxprinting.org website. + &CUPS;-O-Matic + Foomatic + cupsomatic + + + + + Daemon + Abbreviation for Disk + and execution + monitor; Daemons are present + on all &UNIX; systems to perform tasks independent of user + intervention. Readers more familiar with &Microsoft; &Windows; might + want to compare daemons and the tasks they are responsible + with "services". + + One example of a daemon present on most + legacy &UNIX; systems is the LPD (Line Printer Daemon); &CUPS; is + widely seen as the successor to LPD in the &UNIX; world and + it also operates through a daemon. + SPOOLing + + + + + Database, Linuxprinting.org + Already years ago, when Linux printing was still really difficult + (only command line printing was known to most Linux users, no device + specific print options were available for doing the jobs), Grant Taylor, + author of the "Linux Printing HOWTO", collected most of the available + information about printers, drivers and filters in his database. + + With the emerging + &CUPS; concept, extending the use of PPDs even to non-PostScript printers, + he realized the potential of this database: if one puts the different + datablobs (with content that could be described along the lines + "Which device prints with which Ghostscript or other + filter?", "How well?", and "What command line switches are available?") into + PPD-compatible files, he could have all the power of &CUPS; on top of + the traditional printer "drivers". + + This has now developed into a broader + concept, known as "Foomatic". Foomatic extends the capabilities + of spoolers other than &CUPS; (LPR/LPD, LPRng, PDQ, PPR) to a certain + degree ("stealing" some concepts from &CUPS;). The Linuxprinting + Database is not a Linux-only stop -- people running other &UNIX; + based OSes (like *BSD or &MacOS; X) will also find valuable information + and software there. + + Foomatic + Linuxprinting database + + + + + Direct TCP/IP Printing + This is a method that often uses TCP/IP port 9100 to connect + to the printer. It works with many modern network printers and has + a few advantages over LPR/LPD, as it is faster and provides some + "backchannel feedback data" from the printer to the host sending + the job. + AppSocket Protocol + &HP; JetDirect Protocol + + + + + + Drivers, Printer Drivers + The term "printer drivers", used in the same sense + as on the &Microsoft; &Windows; platform, is not entirely applicable + to a Linux or &UNIX; platform. A "driver" functionality + is supplied on &UNIX; by different modular components working + together. At the core of the printer drivers are "filters". Filters convert + print files from a given input format to another format that is acceptable + to the target printer. In many cases filters may be connected to a whole + filter "chain", where only the result of the last conversion is sent to the + printer. The actual transfer of the print data to the device is performed by + a "backend". + + Filter + PPDs + + + + + Easy Software Products + Mike Sweet's company, which has contributed a few substantial + software products towards the Free Software community; amongst + them the initial version of Gimp-Print, the EPM software packaging tool + and HTMLDOC + (used by the "Linux Documentation Project" to build the PDF versions + of the HOWTOs) -- but most importantly: &CUPS; (the 'Common &UNIX; Printing + System'). + + ESP finance themselves by selling a commercial version + of &CUPS;, called ESP PrintPro, + that includes some professional enhancements. + + &CUPS; + ESP PrintPro + ESP + Gimp-Print + + + + + Encryption + Encryption of confidential data is an all-important issue if + you transfer it over the Internet or even within intranets. + + Printing + via traditional protocols is not encrypted at all -- it is very easy + to tap and eavesdrop ⪚ into &PostScript; or PCL data transfered + over the wire. + + Therefore, in the design of IPP, provision was made for the easy + plugin of encryption mechanisms (which can be provided by the same + means as the encryption standards for HTTP traffic: SSL and TLS). + Authentication + &CUPS; + IPP + SSL + TLS + + + + + + Epson + Epson inkjets are among the best supported models by Free software + drivers, as the company was not necessarily as secretive about their + devices and handed technical specification documents to developers. + The excellent print quality achieved by Gimp-Print on the Stylus + series of printers can be attributed to this openness. + + They have also + contracted Easy Software Products to maintain an enhanced version + of Ghostscript ("ESP GhostScript") for improved support of their + printer portfolio. + + ESP Ghostscript + + + + + + Escape Sequences + The first ever printers printed ASCII data only. To + initiate a new line, or eject a page, they included special + command sequences, often carrying a leading [ESC]-character. + &HP; evolved this concept through its series of PCL language + editions until today, having now developed a full-blown + Page Description Language (PDL) from these humble beginnings. + + PCL + PDL + + + + + ESC/P + Abbreviation for Epson + Standard Codes for + Printers. Besides &PostScript; and PCL, Epson's ESC/P + printer language is one of the best known. + PCL + &PostScript; + hpgl + + + + + ESP + Abbreviation for Easy + Software Products; + the company that developed &CUPS; (the "Common &UNIX; Printing System"). + + Easy Software Products + &CUPS; + ESP PrintPro + + + + + + ESP Ghostscript + A Ghostscript version that is maintained by Easy Software + Products. It includes pre-compiled Gimp-Print drivers for + many inkjets (plus some other goodies). ESP Ghostscript + will produce photographic quality prints in many cases, especially + with the Epson Stylus model series. ESP Ghostscript is GPL-software. + + Easy Software Products + &CUPS; + ESP PrintPro + + + + + ESP PrintPro + This professional enhancement to &CUPS; (the "Common &UNIX; + Printing System") is sold by the developers + of &CUPS; complete with more than 2,300 printer drivers for several commercial + &UNIX; platforms. ESP PrintPro + is supposed to work "out of the box" with little or no configuration + for users or admins. ESP also sell support contracts for + &CUPS; and PrintPro. These sales help to feed the programmers who + develop the Free version of &CUPS;. + + &CUPS; + + + + + Filter + Filters, in general, are programs that take some input + data, work on it and pass it on as their output data. Filters + may or may not change the data. + + Filters in the context of printing, are programs that convert + a given file (destined for printing, but not suitable in the + format it is presently) into a printable format. Sometimes + whole "filter chains" have to be constructed to achieve the + goal, piping the output of one filter as the input to the next. + + Ghostscript + RIP + + + + + Foomatic + Foomatic started out as the wrapper name for a set of + different tools available from Linuxprinting.org + These tools aimed to make the usage of traditional + Ghostscript and other print filters easier for users and + extend the filters' capabilities by adding more command line + switches or explain the driver's execution data. + + Foomatic's different incarnations are &CUPS;-O-Matic, PPD-O-Matic, + PDQ-O-Matic, LPD-O-Matic, PPR-O-Matic, MF-O-Matic and + Direct-O-Matic. All of these allow the generation + of appropriate printer configuration files online, by simply + selection the suitable model and suggested (or alternate) driver + for that machine. + + More recently, Foomatic gravitated towards becoming a "meta-spooling" + system, that allows configuration of the underlying print subsystem + through a unified set of commands (however, this is much more + complicated than KDEPrint's &GUI; interface, which performs a similar + task with regards to different print subsystems). + &CUPS;-O-Matic + PPD-O-Matic + cupsomatic + + + + + Ghostscript + Ghostscript is a &PostScript; Raster Image Processor (RIP) in software, originally + developed by L. Peter Deutsch. There is always a GPL version + of Ghostscript available for free usage and distribution + (mostly 1 year old) while + the current version is commercially sold under another license. + + Ghostscript is widely used inside the Linux and &UNIX; world + for transforming &PostScript; into raster data suitable + for sending to non-&PostScript; devices. + &PostScript; + RIP + + + + + Gimp-Print + Contrary to its name, Gimp-Print is no longer + just the plugin to be used for printing from the popular + Gimp program -- its codebase can also serve to be compiled + into... + + *...a set of PPDs and associated filters that integrate seamlessly + into &CUPS;, supporting around 130 different printer models, providing + photographic output quality in many cases; + + + *...a Ghostscript filter that can be used with any other + program that needs a software-RIP; + + + *...a library that can be used by other software applications + in need of rasterization functions. + + + + + Lexmark Drivers + RIP + Ghostscript + + + + + &HP; + Abbreviation for Hewlett-Packard; + one of the first companies to distribute their own Linux printer + drivers. -- More recently, the Company has released their + "HPIJS" package of drivers, including source code and a Free license. + This is the first printer manufacturer to do so. HPIJS supports most + current models of HP Ink- and DeskJets. + + + + + + + &HP;/GL + Abbreviation for &HP; + Graphical Language; + a &HP; printer language mainly used for plotters; many CAD + (Computer Aided Design) software programs output &HP;/GL files for + printing. + ESC/P + PCL + &PostScript; + + + + + &HP; JetDirect Protocol + A term branded by &HP; to describe their implementation + of print data transfer to the printer via an otherwise "AppSocket" or + "Direct TCP/IP Printing" named protocol. + AppSocket Protocol + Direct TCP/IP Printing + + + + + IETF + Abbreviation for Internet + Engineering Task + Force; an assembly of Internet, software + and hardware experts that discuss + new networking technologies and very often arrive at + conclusions that are regarded by many as standards. "TCP/IP" + is the most famous example. + + + IETF standards, as well as + drafts, discussions, ideas and useful tutorials, are + put in writing in the famous series of "RFCs", which + are available to the public and included in most Linux and + BSD distributions. + IPP + PWG + RFC + + + + + IPP + Abbreviation for Internet + Printing Protocol; + defined in a series of RFCs accepted by the IETF with + status "proposed standard"; was designed + by the PWG. -- IPP is a completely new design for network printing, + but it utilizes a very well-known and proven method for the + actual data transfer: HTTP 1.1! By not "re-inventing the wheel", + and basing itself on an existing and robust Internet standard, + IPP is able to relatively easily bolt other HTTP-compatible standard + mechanisms into its framework: + + * Basic, Digest or Certificate authentication + mechanisms; + + * SSL or TLS for encryption of transferred + data; + + * LDAP for directory services (to publish + data on printers, device-options, drivers, costs or + also to the network; or to check for passwords while + performing authentication). + + + + + + &CUPS; + PWG + IETF + RFC + TLS + + + + + KDEPrint + The new printing functionality of &kde; since version 2.2 + consists of several modules that translate the features and settings + of different available print subsystems (&CUPS;, BSD-style LPR/LPD, RLPR...) + into nice &kde; desktop &GUI; windows and dialogs to ease their + usage. + + Most important for day-to-day usage is "kprinter", the new + &GUI; print command. -- Note: KDEPrint does not implement its own + spooling mechanism or its own &PostScript; processing; for this it + relies on the selected print subsystem + -- however it does add some functionality of its own on top of this + foundation... + + BSD-style printing + &CUPS; + kprinter + KDEPrint Handbook + + + + + + KDEPrint Handbook... + ...is the name of the reference document that describes KDEPrint + functions to users and administrators. You can load it into Konqueror by + typing "help:/tdeprint" into the address field. The KDEPrint website + is the resource for updates to this documentation, as well as PDF + versions suitable for printing it. It is authored and maintained by Kurt + Pfeifle. + + &CUPS;-FAQ + + + + + kprinter + kprinter is the new powerful + print utility that is natively used by all &kde; applications. + + Contrary to some common misconceptions, + kprinter is not a &CUPS;-only tool, + but supports different print subsystems. You can even switch + to a different print subsystem "on the fly", in between two jobs, + without re-configuration. Of course, due to the powerful + features of &CUPS;, kprinter is + best suited for use with a &CUPS; frontend. + + kprinter is the successor + to "qtcups", which is no longer being actively maintained. It has + inherited all the best features of qtcups and added several new ones. + + + MOST IMPORTANT: you can use kprinter + with all its features in all non-&kde; applications that allow + a customized print command, like gv, Acrobat Reader, Netscape, + Mozilla, Galeon, StarOffice, OpenOffice and all GNOME programs. + + kprinter can act as a "standalone" + utility, started from an X-Terminal or a "Mini-CLI" to + print many different files, from different folders, with different + formats, in one job and simultaneously, without the need to first open the + files in the applications! (File formats supported this way are &PostScript;, + PDF, International and ASCII Text, as well as many different popular graphic + formats, such as PNG, TIFF, JPEG, PNM, Sun RASTER, &etc;) + + QtCUPS + + + + + Lexmark + was one of the first companies to distribute their own Linux printer + drivers for some of their models. However, those drivers are binary only + (no source code available), and therefore cannot be used to integrate into + other Free printing software projects. + + + + + + Linuxprinting.org + Linuxprinting.org = not just for Linux; all &UNIX;-like OS-es, + like *BSD and commercial Unices may find useful printing + information on this site. This web site is the home for the interesting + Foomatic project, that strives to develop the "Meta Print Spool and Driver + Configuration Toolset" (being able to configure, through one common + interface, different print subsystems and their required drivers) with the + ability to transfer all queues, printers and configuration files seamlessly + to another spooler without new configuration effort. -- Also, they maintain + the Printing Database; a collection of driver and device information that + enables everybody to find the most current information about printer models, + and also generate online the configuration files for any + spooler/driver/device combo known to work with one of the common Linux or + &UNIX; print subsystems. + + Linuxprinting database + + + + + + Linuxprinting.org Database + ....Database containing printers and drivers that are suitable + for them... ...a lot of information and documentation to be found... ...it + is now also providing some tools and utilities for easing the integration + of those drivers into a given system... ...the "Foomatic" family + of utilities; being the toolset to make use of the database + for most of the commonly used print subsystems, for generating "on the fly" + working configurations for your printer model. + + Foomatic + + + + + LPR/LPD printing + LPR == some people translate Line + Printing Request, others: + Line Printer + Remote. + BSD-style printing + + + + + Magicfilter + Similarly to the APSfilter program, Magicfilter + provides automatic file type recognition functions and, base + on that, automatic file conversion to a printable format, + depending on the target printer. + APSfilter + + + + + &MIME;-Types + Abbreviation for Multipurpose (or + Multimedia) Internet Mail + Extensions; &MIME;-Types were first used to allow + the transport of binary data (like mail attachments containing + graphics) over mail connections that were normally only transmitting + ASCII characters: the data had to be encoded into an ASCII representation. + + Later this concept was extended to describe a data format in + a platform independent, but at the same time non-ambiguous, way. + From &Windows; everybody knows the .doc extensions for &Microsoft; Word files. + This is handled ambiguously on the &Windows; platform: .doc extensions are also + used for simple text files or for Adobe Framemaker files. And if a real + Word file is renamed with a different extension, it can no longer be + opened by the program. + + &MIME; typed files carry a recognition string with them, describing + their file format based on main_category/sub_category. + Inside IPP, print files are also described using the &MIME; type scheme. + &MIME; types are registered with the IANA (Internet Assigning Numbers + Association) to keep them unambiguous. + + &CUPS; has some &MIME; types of its own registered, like + application/vnd.cups-raster (for the &CUPS;-internal + raster image format). + + + &CUPS; + Easy Software Products + ESP PrintPro + Gimp-Print + + + + + PCL + Abbreviation for Printer + Control Language; + developed by &HP;. PCL started off in version 1 as a simple + command set for ASCII printing; now, + in its versions PCL6 and PCL-X, it is capable of printing graphics + and color -- but outside the &Microsoft; &Windows; realm and &HP-UX; + (&HP;'s own brand of &UNIX;), it is not commonly used... + ESC/P + &HP;/GL + PDL + &PostScript; + + + + + PDL + Abbreviation for Page + Description Language; + PDLs describe, in an abstract way, the graphical representation + of a page. - Before it is actually transferred into + toner or ink laid down on to paper, a PDL needs to be + "interpreted" first. In &UNIX;, the most important PDL + is &PostScript;. + + ESC/P + &HP;/GL + PCL + &PostScript; + + + + + Pixel + Abbreviation for Picture + Element; this term describes the smallest + part of a raster picture (either as printed on paper + or as displayed on a monitor by cathode rays or LCD elements). As + any graphical or image representation on those types of output + devices is composed of pixels, the values of "ppi" (pixel per inch) + and &dpi; (dots per inch) are one important parameter for the + overall quality and resolution of an image. + Filter + Ghostscript + &PostScript; + Raster + + + + + PJL + Abbreviation for Print + Job Language; + developed by &HP; to control and influence default and per-job + settings of a printer. It may not only be used + for &HP;'s own (PCL-)printers; also many &PostScript; + and other printers understand PJL commands sent to them + inside a print job, or in a separate signal. + PCL + + + + + &PostScript; + &PostScript; (often shortened to "PS") is the de-facto + standard in the &UNIX; world for printing files. It was + developed by Adobe and licensed to printer manufacturers + and software companies. + + As the &PostScript; specifications were + published by Adobe, there are also "Third Party" implementations + of &PostScript; generating and &PostScript; interpreting software + available (one of the best-known in the Free software world + being Ghostscript, a powerful PS-interpreter). + + ESC/P + &HP;/GL + PCL + PPD + + + + + PPD + Abbreviation for PostScript + Printer Description; + PPDs are ASCII files storing all information about the special + capabilities of a printer, plus definitions of the (PostScript- + or PJL-) commands to call on a certain capability (like print + duplexing). + + + As the explanation of the acronym reveals, PPDs were originally + only used for &PostScript; printers. &CUPS; has extended the + PPD concept to all types of printers. + + + PPDs for &PostScript; printers are provided by the printer + vendors. They can be used with &CUPS; and KDEPrint to have access + to the full features of any &PostScript; printer. The KDEPrint Team + recommends using a PPD originally intended for use with + &Microsoft; Windows NT. + + + PPDs for non-PostScript printers need a + companion "filter" to process the &PostScript; print files into + a format digestible for the non-PostScript target device. Those + PPD/filter combos are not (yet) available from the vendors. After + the initiative by the &CUPS; developers to utilize PPDs, the Free + Software community was creative enough to quickly come up with + support for most of the currently used printer models, through + PPDs and classical Ghostscript filters. But note: the printout + quality varies from "hi-quality photographic output" (using + Gimp-Print with most Epson inkjets) to "hardly readable" (using + Foomatic-enabled Ghostscript filters for models rated as + "paperweight" in the Linuxprinting.org database). + + &CUPS; + Linuxprinting.org + &PostScript; + + + + + PPD-O-Matic + PPD-O-Matic is a set of Perl scripts that run on the Linuxprinting.org + web server and can be used online to generate PPDs for any printer that is known + to print with Ghostscript. + + + These PPDs can be hooked up to &CUPS;/KDEPrint, as well as + used inside PPD-aware applications like StarOffice to determine all different + parameters of your printjobs. It is now recommended, in most cases, to + use "PPD-O-Matic" instead of the older &CUPS;-O-Matic. + + + To generate a PPD, go to the printer + database, select your printer model, follow + the link to show the available Ghostscript filters for that printer, select + one, click "generate" and finally save the file to your local system. + Be sure to read the instructions. Make sure that your local system + does indeed have Ghostscript and the filter, which you chose + before generating the PPD, installed. + + &PostScript; + &CUPS;-O-Matic + Linuxprinting.org + Foomatic + + + + + printcap + In BSD-style print systems, the "printcap" file holds + the configuration information; the printing daemon reads this file + to determine which printers are available, what filters are to be + user for each, where the spooling folder is located, + if there are banner pages to be used, and so on... + Some applications also depend on read access to the printcap + file, to obtain the names of available printers. + BSD-style printing + + + + + + Printer-MIB + Abbreviation for + Printer-Management + Information Base; the + Printer-MIB defines a set of parameters that are to be + stored inside the printer for access + through the network. This is useful if many (in some cases, literally + thousands) network printers are managed centrally + with the help of SNMP (Simple Network Management Protocol). + PWG + SNMP + + + + + PWG + Abbreviation for + Printer Working + Group; the PWG is a loose grouping of + representatives of the printer industry that has, in the past + years, developed different standards + in relation to network printing. These were later accepted by the + IETF as RFC standards, like the "Printer-MIB" and the IPP. + &PostScript; + IPP + Printer-MIB + SNMP + + + + + print:/ KIO Slave + You can use a syntax of "print:/..." to get quick access + to KDEPrint resources. Typing "print:/manager" as a Konqueror URL + address gives administrative access to KDEPrint. Konqueror uses &kde;'s + famous "KParts" technology to achieve that. + IO Slave + KParts + + + + + + Printer Database + . + Linuxprinting Database + + + + + Qt&CUPS; + Qt&CUPS; and KUPS were the predecessors of KDEPrint; they are now + deprecated and no longer maintained. What was good in qtcups is all inherited + by "kprinter", the new KDE print dialog (which is much improved over qtcups); + what you liked about kups is now all in the KDEPrint Manager (accessible + via the KDE Control Center or via the URL "print:/manager" from Konqueror) -- + with more functionality and less bugs... Its former developer, Michael Goffioul, is now + the developer of KDEPrint -- a very nice and productive guy and quick bug fixer... + + kprinter + + + + + Raster Image + Every picture on a physical medium + is composed of a pattern of discrete dots in different colors and (maybe) + sizes. This is called a "raster image". + + + This is as opposed to a "vector image" + where the graphic is described in terms of continuous curves, shades, + forms and filled areas, represented by mathematical formula. Vector images + normally have a smaller file size and may be scaled in size + without any loss of information and quality --- but they cannot be + output directly, but always have to be "rendered" or "rasterized" + first to the given resolution that the output device is capable of... + + + + The rasterization is done by a Raster Image Processor (RIP, + often the Ghostscript software) or some other filtering + instance. + Pixel + Ghostscript + &PostScript; + Filter + RIP + + + + + RIP + Abbreviation for + Raster Image + Process(or); if used in the context of + printing, "RIP" means a hardware or software + instance that converts &PostScript; (or other print formats + that are represented in one of the non-Raster PDLs) into a + raster image format in such a way that it is acceptable + for the "marking engine" of the printer. + + + &PostScript; printers + contain their own PostScript-RIPs. A RIP may or may not be located + inside a printer. + + + For many &UNIX; systems, Ghostscript is the package that provides + a "RIP in software", running on the host computer, and pre-digesting + the &PostScript; or other data to become ready to be sent to the + printing device (hence you may perceive a "grain of truth" in the + slogan "Ghostscript turns your printer into a &PostScript; + machine", which of course is not correct in the true sense of the + meaning). + Filter + Ghostscript + &PostScript; + PDL + Raster + + + + + + RLPR (Remote LPR) + Abbreviation for Remote + Line Printing + Request; this is a BSD-style printing system, + that needs no root privileges to be installed, and no "printcap" to + work: all parameters may be specified on the command + line. + + + RLPR comes in handy for many laptop users who are + working in frequently changing environments. This is because it + may be installed concurrently with every other printing + sub system, and allows a very flexible and quick + way to install a printer for direct access via LPR/LPD. + + + KDEPrint + has an "Add Printer Wizard" to make RLPR usage even easier. + The kprinter command allows switching to RLPR "on + the fly" at any time. + KDEPrint + kprinter + printcap + + + + + + SNMP + Abbreviation for Simple + Network Management + Protocol; SNMP is widely used to control + all types of network node (Hosts, Routers, Switches, Gateways, + Printers...) remotely. + PWG + Printer-MIB + + + + + SSL(3) encryption + Abbreviation for Secure + Socket Layer; + SSL is a proprietary encryption method for data + transfer over HTTP that was developed by Netscape. It is now being + replaced by an IETF standard named TLS. + + TLS + + + + + + SPOOLing + Abbreviation for Synchronous + Peripheral Operations + OnLine; + SPOOLing enables printing applications + (and users) to continue their work + as the job is being taken care of by a system daemon, + which stores the file at a temporary location until the printer is ready + to print. + Daemon + + + + + + TLS encryption + Abbreviation for Transport + Layer Security; + TLS is an encryption standard for + data transfered over HTTP 1.1; it is defined in RFC 2246; + although based on the former SSL development + (from Netscape) it is not fully compatible with it. + + SSL(3) + + + + + + System V-style printing + This is the second flavor of traditional &UNIX; + printing (as opposed to BSD-style printing). It uses + a different command set (lp, lpadmin,...) to BSD, + but is not fundamentally different from it. However, the + gap between the two is big enough to make the two + incompatible, so that a BSD-client cannot simply print + to a System V style print server without additional + tweaking... IPP is supposed to resolve this weakness + and more. + + BSD-style printing + IPP + + + + + TurboPrint + Shareware software providing photo quality printing for many + inkjet printers. It is useful if you are unable to find a driver for your + printer and may be hooked into either a traditional Ghostscript system + or a modern &CUPS; system. + Gimp-Print + + + + + XPP + Abbreviation for X + Printing Panel; + XPP was the first Free + graphical print command for &CUPS;, written by Till Kamppeter, + and in some ways a model for the "kprinter" utility in &kde;. + + + + + + + diff --git a/doc/kdeprint/CMakeLists.txt b/doc/kdeprint/CMakeLists.txt deleted file mode 100644 index 3a1f95d9e..000000000 --- a/doc/kdeprint/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -tde_create_handbook( DESTINATION tdeprint ) diff --git a/doc/kdeprint/Makefile.am b/doc/kdeprint/Makefile.am deleted file mode 100644 index e786da562..000000000 --- a/doc/kdeprint/Makefile.am +++ /dev/null @@ -1,3 +0,0 @@ - -KDE_LANG = en -KDE_DOCS = AUTO diff --git a/doc/kdeprint/add-printer-wiz.docbook b/doc/kdeprint/add-printer-wiz.docbook deleted file mode 100644 index 28d5791d2..000000000 --- a/doc/kdeprint/add-printer-wiz.docbook +++ /dev/null @@ -1,290 +0,0 @@ - -The <quote>Add Printer Wizard</quote> for &CUPS; - -Clicking on the leftmost icon on the toolbar - - in the upper part of the window starts the -Add Printer Wizard. - -This wizard steps you through various screens to install a new -printer. At present this Wizard works for &CUPS; and the -RLPR environment module. The number of steps depend -on the actual print-subsystem which is active and available to you on -your box. - - -Starting - -The welcome screen informs you that you can go back any time to -change a setting. - - -The &tdeprint; wizard introduction screen - - - - -The introduction screen of the printer wizard - - - - - -Backend Selection - -Choose the backend protocol that &CUPS; is supposed to -use with your new printer. There are: - - - -local printer (serial, parallel, USB) - - -remote LPD queue - - -SMB shared printer (&Windows;) - - -Network Printer (TCP, &HP; JetDirect, -AppSocket) - - -Network printer with &IPP; (&IPP;/HTTP) - - -File printer - - -serial fax /modem printer - - -Class of Printers - - - -If some choices are grayed out, they are not available. For -example, you may have no FAX backend software or no modem installed to -use it. - - -Choosing your Printer system - - - - -Choosing your Printer System - - - - - - -Direct Network Setting - -The contents of your next screen is dependent on your choice in -the previous screen. If you know the details, just type them in to -configure your network settings directly. - -In other cases the wizard can scan the network for you, to help you -decide which setting could be useful. - - -&tdeprint; wizard network scan - - - - -In the &tdeprint; wizard, you can enter network details -directly, or you can scan the network -automatically. - - - - - -Information Retrieval by Scanning the Network - -If you use one of the network connections (remote -LPD, SMB, remote &CUPS;, network -printer with &IPP;), you have an option for scanning the network. Be careful -when applying this; in some environments network scanning is considered -to be hostile and harmful! - -In the case of SMB, &tdeprint; will use the -Samba utilities nmblookup and -smbclient (which need to be installed for this to -work) to retrieve the information it presents in a tree -structure. - -In the case of &IPP; (Port 631) and TCP -Network/AppSocket (Port 9100) &tdeprint; will try to open the port and, -if successful, send an ipp-get-printer-attribute -request to the printer. For newer &HP; printers the latter usually -works, because they support both AppSocket and &IPP;. - -Some printers or manufacturers use other port numbers for direct -TCP/IP printing. You may need to look up which one to use. The -Settings button in the dialog lets you configure -your scan, including IP addresses, ports and -timeout to use. - -Once again: be careful not to be mistaken for an intruder on -your network, if you use the scanning technique. - - -&tdeprint; wizard network configuration dialog - - - - -In the &tdeprint; wizard, you can enter parameters to have the -wizard scan parts of your network. - - - - - -Printer Model Selection - -The hardest part is probably the Printer Model -Selection. In former years the situation was difficult, because -there were hardly any drivers to find. The difficulty now is there are too -many; though some of them are very good, many are quite broken. - -If you have a current database of available drivers -on your system, select the manufacturer in the left part of the window -first, then the device model in the right part. This split window shows -all &PPD;s found by &CUPS; in its standard repository of installable -&PPD;s. This repository normally is /usr/share/cups/model/. If you want your -driver to be found automatically by &CUPS; and &tdeprint;, place it in -there. - - - - - - -Driver Selection - -On the next screen you will see a description of the driver -selected previously. This description is extracted from the actual &PPD; -used. - - -For a real &PostScript; printer never try to -install a Foomatic or Gimp-Print &PPD;, -even if it is offered. You won't be happy with it. Instead find the -original &PPD; from the manufacturer, preferably the one written for -&Windows; NT and use it. - - -Some &Linux; distributions have supplied for &CUPS; every -possible combination of Ghostscript filters -and foomatic &PPD; files they could find on the net. -Many of these are quite useless; they were generated a year ago, when -the people at www.linuxprinting.org began -their first experiments with supplying third party &PPD;s for -&CUPS;. Although dubbed Alpha at the time, these -started to take on a life of their own and can now be found at various -places on the net, doing &CUPS; no favors. - -If you are not sure which ones to use go to: - - - -http://www.linuxprinting.org - - - - - -http://www.cups.org - - - - -And ask for help. At a later stage, a document detailing the -differences between the different driver and &PPD; models will appear at -http://tdeprint.sourceforge.net/ -Watch out for this! - -Via the Other... button you are able to -retrieve any &PPD; located somewhere on your available file -system. - - - - - -Printer Test and Finding the Right Settings - -Specify your first driver settings now. The most important one is the -default paper size. In many cases this is set to -Letter. If you live in an A4 -country and don't want your first test page to jam: now is the time to -prevent this. - -You are ready to start a test print. Hit the -Test button. - - - - - - - - -Finally: Baptizing Your New Printer - -The last screen lets you insert a name for your new -printer. - -The name must start with a letter and may contain numbers and -underscores with a maximum size of 128 characters. Conform to this if you -want to avoid erratic behavior of your &CUPS; daemon. The printer -names in &CUPS; are not case sensitive! This is a -requirement of &IPP;. So the names DANKA_infotec, Danka_Infotec and danka_infotec all represent the same -printer. - - - - - - -The Final Confirmation Screen - - - - - - - - diff --git a/doc/kdeprint/cr32-action-wizard.png b/doc/kdeprint/cr32-action-wizard.png deleted file mode 100644 index b00db2499..000000000 Binary files a/doc/kdeprint/cr32-action-wizard.png and /dev/null differ diff --git a/doc/kdeprint/cups-config.docbook b/doc/kdeprint/cups-config.docbook deleted file mode 100644 index 304fe9514..000000000 --- a/doc/kdeprint/cups-config.docbook +++ /dev/null @@ -1,2072 +0,0 @@ - -Print Server Configuration: CUPS - -Start the print server configuration (now that you have chosen -&CUPS;, this is equivalent to the configuration of the &CUPS; daemon) by -clicking on the appropriate button. You can find it by moving the mouse -slowly over the buttons and reading the tooltips. It should be the 11th -from the left , or third from the right; its icon is a -wrench. - -The &CUPS; Server Configuration window pops up. It gives you a -structured view of all the settings that apply to the &CUPS; daemon. The -configuration file for that daemon is normally located in -/etc/cups/cupsd.conf. This is a plain -ASCII file with a syntax similar to the configuration -file of the Apache web server. It is a good -idea to create a backup copy, just in case something goes wrong with the -configuration through &tdeprint;/&CUPS; Server Configuration -dialogs: - -cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak - -As this graphical user interface to edit the configuration file is -such a new feature, you should have the second chance of resorting to -the original file. So back it up, please. - - -Quick Help - -One very nice feature is the Quick Help -available. If you click on the little question mark (What's -this?) on your window title bar, you'll see the cursor -changing its form. Now click on a cupsd -configuration setting field to find out what it means and what your -options are. In most cases you should understand the meaning -immediately, otherwise turn to the excellent &CUPS; documentation. (If -your &CUPS; Daemon is running, you have it online on your own host at -http://localhost:631/documentation.html. -If &CUPS; is not running, but installed on your system you could -find it in your own host's file system. The exact location depends on -your &OS;, but on &Linux; the default is /usr/share/doc/cups/ or - -/usr/share/doc/cups/documentation.html. - - - -Longer Help - -For the best, most detailed and most recent information you should -always refer to the original &CUPS; documentation. &CUPS; is, much like -&kde; in a rapid development process. There are constantly new features -being added. New features might for times be only configurable by -directly editing the configuration files. The &tdeprint; &GUI; might not -have caught up with &CUPS; development. - -Just in case you want to look at the original configuration files -of your &CUPS; system -- they are here: - - -These paths are based on the default installation. Your &OS; -may have installed them to a different prefix, for example, /usr/local/, but the hierarchy should -still match that shown below. - - - - -/etc/cups/ - -The folder with the configuration files - - - - -/etc/cups/cupsd.conf - -The configuration file for the &CUPS; daemon - - - - -/etc/cups/printers.conf - -The configuration file that contains the information about your -locally installed printers. - - - - -/etc/cups/ppd/ - -The folder with &PPD; files of your installed -printers. - - - - -The following links only work if your &CUPS; daemon is up and -running. To access all the original &CUPS; documentation, go -to: - - - - -http://localhost:631/documentation.html - -A page with all the links to the other documents. - - - - - -http://localhost:631/sam.html - -Direct access to the &CUPS; Software Administrator Manual -in HTML format. - - - - - -http://localhost:631/sam.pdf - -Direct access to the &CUPS; Software Administrator Manual in -PDF format. - - - - - -http://www.cups.org/documentation.html - -The latest on line documentation from the &CUPS; web -site. - - - -The following links give you access to the same files (probably -icons and graphics will be missing) even if your CUPS daemon is not up -and running. You need, however, CUPS installed on your system. (Some -distributions might place the files somewhere else -- you're on your -own then to find out where...) To access all the original CUPS -documentation, go to: - -This documentation is available even when the &CUPS; daemon is -not installed, although you may find images and icons are missing when -you view the HTML files. - -As noted above, the hierarchy below should be intact, but your -&OS; may have installed &CUPS; to a different location. - - - -/usr/share/doc/cups/documentation.html - -A page with all the links to the other documents. - - - - -/usr/share/doc/cups/sam.html - -Direct access to the &CUPS; Software Administrator Manual in -HTML format. - - - - -/usr/share/doc/cups/sam.pdf - -Direct access to the &CUPS; Software Administrator Manual in -PDF format. - - - - -There are a few WebSites and Newsgroups discussing &CUPS; (and -&Linux; Printing in General) and giving help to newbies at: - - - - -http://www.cups.org/newsgroups.php - -The &CUPS; website. - - - - - -http://www.linuxprinting.org/newsportal/ - -LinuxPrinting.org, the home of the Linuxprinting HOWTO and the -&Linux; Printer Database - - - - -And finally, there will be a WebSite for &tdeprint; and related -documentation, at -http://tdeprint.sourceforge.net/ - -In the next section I will step you through most of the -configuration options of &tdeprint; with &CUPS;. - - - -Explaining different elements of the &GUI; - - -Upper Window: View on Printers, both Real and Virtual - -This section is not yet complete - - - -Tree view, icon view and list view - - -The icons of the task bar - - -Different fonts for different printers - - -Different printer icons mean different things - - - - - - -Lower Window: Tabbed View of Details - -This section is not yet complete. - - - -The icons of the task bar - - -The Tabs - - -Changing printer settings - - - - - - - - - -Welcome to the &CUPS; Server Configuration - -This is the Welcome Screen for your server configuration -dialogs. Clicking onto one of the items of the tree view on left -side of the screen opens the appropriate part of the configuration -settings. - -Every setting has a default value. The defaults let &CUPS; -normally work as a fully functional client. The clients listen on -TCP/IP Port 631 for infos broadcast by &CUPS; servers on the -LAN. This information let the clients print -immediately after receiving them, without installing any driver or -configuring any printer on the clients. - -To configure a &CUPS; server (which is broadcasting its service -to the LAN) you need to change settings from the -defaults. - -The dialog to configure the &CUPS; server: welcome screen. - -CUPS server configuration dialog: welcome screen - - - - -The dialog to configure the &CUPS; server: welcome -screen -The dialog to configure the &CUPS; server: welcome -screen - - - -To select the default setting of any item just enable the -checkbox on the right side of the screen. To set an item to a -different value, disable the checkbox and then go on to do the setting -you want on the left side of the screen. - -The complete server configuration includes: - - - -Server -General Configuration - - -Server -Logging Configuration - - -Server -Folders and Path Definitions - - -Server -HTTP Configuration - - -Server -Encryption and Certificate Support -Configuration - - -Server -Miscellaneous Configuration - - -Network General Configuration - - -Network -Clients Configuration - - -Browsing -General Configuration - - -Browsing -Connection Configuration - - -Browsing -Masks Configuration - - -Browsing -Timeouts Configuration - - -Browsing -Relay Configuration - - -Security -Configuration - - - -Each of these configuration items will be described in the -following sections of the manual. - - - - -Server General Configuration - -The server general configuration is done on this screen. It -includes: - - -Server name -Administrators email -Server user -Server group -Remote user name - - -The tab window to configure the &CUPS; server general settings -lets you the change the default values. Click on the little question -mark and then on one of the fields to get a Quick Help -about the meaning of the setting. - -If you are unsure, leave alone and turn to the original &CUPS; -documentation first. If your &CUPS; daemon is already running, it is -readable from the &konqueror; by pointing it to &URL; -http://localhost:631/documentation.html. - -There, first make friends with the Software -Administrator Manual. Otherwise, for example, if the &CUPS; daemon is -not running, try looking in your local file system, by default at -/usr/share/doc/cups/ or -/usr/share/doc/cups/documentation.html. - - -&CUPS; server general configuration dialog: ServerName, AdminMail, -ServerUser, ServerGroup, RemoteUserName - - - - -The dialog to configure the &CUPS; server general settings: -ServerName, AdminMail, ServerUser, ServerGroup, RemoteUserName - - - - - - -Server Name - -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 usd by clients, see the -client.conf file. - - -For example, enter myhost.domain.com - - -This is the hostname that is reported to clients. Should you -ever encounter strange problems in accessing the server, put here its -IP address for troubleshooting. This way you -eliminate any potential name resolution problems; and you can more -easily nail the real problem down. - - - - -Administrators email - -This is the email address to send all complaints or problems -to. By default &CUPS; will use root@hostname. - - -For example, enter -root@myhost.com. - - - -Contrary to what the quickhelp suggests, it is also legal to -send an email full of praise and enthusiasm about &CUPS; and -&tdeprint; to the server administrator. - - - - - -Server User - -The user the server runs under. Normally this must be -lp, however you can -configure things for another user if needed. - - -The server must be initially run as root to support the default -IPP port of 631. It changes users whenever an -external program is run. - - - -Enter for example lp. - - -This is the &UNIX; user account for filters and -CGI programs to run under. CGI -programs are responsible for showing you the nice web administration -interface accessible via http://localhost:631/). - - -There is no need to set the User directive -to root, so never do this, -as it only involves dangers. Should anyone discover security -vulnerabilities in one of the used file filters, printer drivers or -CGI programs, he could remotely execute arbitrary -commands on your system with root user privileges. Always use an -unprivileged account for the server directive -User. - - - - - -Server group - -The group the server runs under. Normally this must be -lpadmin, however you can -configure things for another group as needed. - - -Enter for example lpadmin. - - - - - -Remote user name - -The name of the user assigned to unauthenticated accesses from -remote systems. By default remroot. - -This name will appear in log files and in queries about the job -owner &etc;, for all resources and locations of the &CUPS; server that -are configured to allow access without -authentication. Authenticated entries will carry the authenticated -names. - - - - - - -Server Logging Configuration - -The server logging configuration is done on this screen. It -includes: - - -Access log file setting -Error log file setting -Page log file setting -Log level setting -Max log file size -setting - - -This is an important screen for you. Should you ever encounter -problems: here is the place to set the Log level to -debug, restart the &CUPS; daemon and then look at the -Error log file defined here for entries that might give you an insight -to the trouble. - - -&CUPS; server configuration dialog: Server -logging - - - - -The dialog to configure the &CUPS; server: Server -logging - - - - - -Access log file - -This is where accesses to the server are logged. If this does -not start with a leading /, then it is assumed to -be relative to the server root. - -You can also use the special name syslog -to send the output to the syslog file or daemon. - - -Enter a path, for example -/var/log/cups/acces_log. - - -The format of this file is stored in the so-called Common -Log Format. This way you can use programs such as -Webalyzer or any other Web access reporting -tool to generate reports on the &CUPS; server activities. - -To include the server name in the file name use a -%s in the name. Example: -/var/log/cups/access_log-%s. - -kurt@transmeta:~ >tail /var/log/cups/access_log - -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /printers/ HTTP/1.1" 200 109 -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /admin/ HTTP/1.1" 401 0 -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 210 -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "GET /ppd/DANKA_P450.ppd HTTP/1.1" 200 51021 -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /jobs/ HTTP/1.1" 200 246 -10.160.16.45 - - [04/Aug/2001:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 0 -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 80 -127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 139 -10.160.16.45 - - [04/Aug/2001:20:11:40 +0100] "GET /cups.css HTTP/1.0" 200 198 -127.0.0.1 - - [04/Aug/2001:20:11:40 +0100] "POST / HTTP/1.1" 200 139 -10.160.16.45 - - [04/Aug/2001:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 7319 -10.160.16.45 - - [04/Aug/2001:20:11:40 +0100] "GET /images/title-logo.gif HTTP/1.0" 200 5729 - - -You see a separate line for each single access, showing the -IP address of the accessing client, date and time -of access, method of access (POST or -GET), the requested ressource, the &HTTP; version -used by the client, status code and the number of transferred -bytes. Status code 200 means -successful-OK the 401 in -the above example was an unauthorized access -which was denied. For a detailed explanation of the log format go to -the &CUPS; Software -Administrator Manual. - - - - -Error log file - -If this does not start with a leading /, then -it is assumed to be relative to the server root. The default setting -is /var/log/cups/error_log. - -You can also use the special name syslog -to send the output to the syslog file or daemon. - - -Enter the path, for example -/var/log/cups/error_log. - - -The error log excerpt below shows you the part logged for printing the test page -with the default setting of Log level to -info. For an explanation of the Log -Level setting see further below. - -kurt@transmeta:~ > tail /var/log/cups/error_log - -I [04/Aug/2001:23:15:10 +0100] Job 213 queued on 'DANKA_P450' by 'root' -I [04/Aug/2001:23:15:10 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18891) for job 213. -I [04/Aug/2001:23:15:10 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18892) for job 213. - - - - - -Page log file - -If this does not start with a leading / then -it is assumed to be relative to the server root. The default is -/var/log/cups/page_log - -You can also use the special name syslog -to send the output to the syslog file or daemon. - - -Enter the path, for example -/var/log/cups/page_log. - -The page log file has a line for every single page of every job -printed. - - Here is what some entries look like: - -kurt@transmeta:~ > tail /var/log/cups/page_log - -GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 4 1 -GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 5 1 -GIMP_print_stp_HP kdetest 202 [03/Aug/2001:11:46:49 +0100] 1 1 -GIMP_print_stp_HP kdetest 203 [03/Aug/2001:11:46:54 +0100] 1 1 -DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 1 33 -DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 2 33 -DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 3 33 -DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 4 33 -DANKA_infotec_P450 root 205 [04/Aug/2001:19:12:34 +0100] 1 14 -DANKA_infotec_P450 root 206 [04/Aug/2001:19:15:20 +0100] 1 1 - - -In this excerpt of the file you find information on the name of -the printers (GIMP_print_stp_HP and DANKA_infotec_P450) used through this -server, the user names (kdetest, kurt and root), the job-IDs (201 -to 205), time of printing, page number inside the job -and the number of copies for the pages. For example, job-ID 204 had 4 -pages and 33 copies printed, job-ID 205 had 14 copies of just 1 page) -. - - -&CUPS; is dependent (for its calculation of the number of pages -in a job) on passing the &PostScript; through the -pstops filter. See the &kivio; Flowchart on the &CUPS; -filter architecture for an idea about were this filter fits into the -whole printing process). More, pstops depends for -the counting on a DSC conforming -(DSC is Document Structuring Conventions, a -standard defined by Adobe) to be sent by the client. In most cases -this is working. - -However, this page accounting does not work for any -raw printer queues (as those, by definition, don't use -any filtering on the &CUPS; host and are by-passing -pstops.) Every job going through a -raw queue is counted as a 1-page-job (with possibly -multiple copies). This is especially true for all Jobs send from -&Microsoft; &Windows; clients via Samba to -the &CUPS; server, as those jobs are already arriving in the correct -format for the printer, because the clients use the original printer -driver. - - - -I am still looking for someone who will write a nice &CUPS; page -log analysing tool. It should generate a report with a graphical -output similar to the Webalizer's access -log reports. This way you could have nice statistics to be used for -accounting about usage of printers, load dependent on daytime or -weekday, users &etc; Anyone? - - - - - -Log level - -This setting controls the number of messages logged to the error -log file. It can be one of the following: - - - -debug2 - -Log everything. - - - - -debug - -Log almost everything. - - - - -info - -Log all requests and state changes. - - - - -warn - -Log errors and warnings. - - - - -error - -Log only errors. - - - - -none - -Log nothing. - - - - - -If you need to troubleshoot (or if you want to study the inner -workings of &CUPS;), set the log level to debug or debug2. Then the -error_log will have a lot more entries (not just errors, but also -informational entries). - -You can use this to watch live what &CUPS; is -doing when you send a print job. In a &konsole; type: - -kurt@transmeta:~ >tail 100 /var/log/cups/error_log - -This will give you the last 100 lines ( -100) of the file onto the screen and a -realtime update ()of what is -happening. The following listing shows the printing of a test page -(some pieces have been cut off for space reasons... Try it yourself if -you need more info): - - -I [04/Aug/2001:23:15:12 +0100] Job 214 queued on 'DANKA_P450' by 'root' -D [04/Aug/2001:23:15:12 +0100] StartJob(214, 08426fe0) -D [04/Aug/2001:23:15:12 +0100] StartJob() id = 214, file = 0/1 -D [04/Aug/2001:23:15:12 +0100] job-sheets=none,none -D [04/Aug/2001:23:15:12 +0100] banner_page = 0 -D [04/Aug/2001:23:15:12 +0100] StartJob: argv = "DANKA_P450","214","root","KDE Print Test", -[....] -D [04/Aug/2001:23:15:12 +0100] StartJob: envp = "PATH=/usr/lib/cups/filter:/bin:/usr/bin", [....] -D [04/Aug/2001:23:15:12 +0100] StartJob: statusfds = 5, 6 -D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[1] = 7, -1 -D [04/Aug/2001:23:15:12 +0100] StartJob: filter = "/usr/lib/cups/filter/pstops" -D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[0] = 8, 9 -D [04/Aug/2001:23:15:12 +0100] start_process("/usr/lib/cups/filter/pstops", [....] -I [04/Aug/2001:23:15:12 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18991) for job 214. -D [04/Aug/2001:23:15:12 +0100] StartJob: backend = "/usr/lib/cups/backend/lpd" -D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[1] = -1, 7 -D [04/Aug/2001:23:15:12 +0100] start_process("/usr/lib/cups/backend/lpd", [....] -I [04/Aug/2001:23:15:12 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18992) for job 214. -D [04/Aug/2001:23:15:12 +0100] Page = 595x842; 15,16 to 580,833 [....] - -The lines tagged D at the beginning are debug -level entries, the ones tagged I are there in -info level. - - - - -Max log file size - - -Controls the maximum size of each log file before they are -rotated. Defaults to 1048576 (1 Mb). Set this to 0 to disable log -rotation. - - -Enter an size in bytes, for example 1048576 - - - - - - - - -Server Folders Configuration - -The dialog to configure the &CUPS; server. Different -folders are to be set here. Normally you don't need to change -anything in this section. In case you play around with fancy -(TrueType, &PostScript; or other) fonts on your system, this qis the -place to do the settings for using those fonts when printing. Server -folder settings include: - - - -Executables: where to find the server -executables - - -Configuration: where to find the server -configuration files - - -Data: where to find the server data -files - - -Temporary files: where to put the server -temporary print files - - -Temporary Requests: where to find the -server - - -Font Path: where to find the -server fonts - - - -&CUPS; server configuration dialog: &HTTP; configuration - - - - -The dialog to configure the &CUPS; server: &HTTP; configuration - - - - - -Executables - -The root folder for the scheduler executables. By default -this is /usr/lib/cups (or -/usr/lib32/cups on IRIX -6.5) - - - - -Configuration - -The root folder for the scheduler. By default, /etc/cups. -On the authors SuSE system, this is /usr/share/doc/cups. It contains all the -HTML or PDF documentation for -&CUPS; which is available through the Web interface at -http://localhost:631/documentation.html - - - - -Data - -The root folder for the &CUPS; data files. By default this -is /usr/share/cups -It contains such things as banners, charsets, data, drivers, -fonts, and pstoraster templates. - - - - -Temporary files - -The folder to put temporary files in. This folder must be -writable by the user defined on the previous screen. This defaults to -either /var/spool/cups/tmp or -the value of the TMPDIR environment variable. - - - - -Temporary Requests - -The folder where request files are stored. By default this -is /var/spool/cups - - - - -Font path - -The place to configure the &CUPS; server for handling your fancy -fonts (TrueType or &PostScript;). &CUPS; will look here for fonts to -embed in printfiles. This currently only affects the -pstoraster filter, and the default is /usr/share/cups/fonts. - -To specify more than one folder, list them with double colons as -separator. Do it like this: - - -/path/to/first/fontdir/:/path/to/second/fontdir/:/path/to/last/fontdir/ - - -For the Font path directive to work as intended, the application -that wants to print needs to: - - - -Either correctly reference its desired fonts in the header of the -generated &PostScript; - - -Or embed the font into the &PostScript; file. - - - -Referencing the font by name leaves it up -to the RIP and print device to respect and actually -use it. RIP or printer can -only use the desired font, if it is available on the system. - - In the case of a &PostScript; printer, this needs to be a -printer-resident font. If the printers doesn't have this font, it will -try and replace it by an adequately similar font. - -In the case of a non &PostScript; printer, this is done by -&CUPS; and its RIP-ing filtering system. &CUPS; -will use the font path directive to grab the correct font when -RIP-ing the &PostScript; in the -pstoraster filter. - -In the case of a &PostScript; output device, &CUPS; is just -spooling the file (actually, it is passing it through the -pstops filter for accounting or n-up purposes), not -working on it. Therefore, if you print to a -&PostScript; printer it is solely the printer's responsibility to use -the font asked for. It can't, if the font is neither loaded into the -printer nor embedded in the &PostScript;. - - - - - - - -Server <acronym>HTTP</acronym> -Configuration - -The dialog to configure the &CUPS; server &HTTP; settings -is shown here. -&CUPS; server &HTTP; settings are the following ones: - -the Document folder -the Default Language -the Default Charset - - - -Dialog to configure the &CUPS; server &HTTP; settings - - - - - -Dialog to configure the &CUPS; server &HTTP; settings - - - - - - -Document folder - -The root folder for &HTTP; documents that are served. By -default the compiled in folder, /usr/share/cups/doc-root - - - - -Default Language - -The default language, if not specified by the browser. If not -specified, the current locale is used. - -Use the two letter locale codes, for example -en or de. - - - - - - -Default charset - -The default character set to use. If not specified, this -defaults to UTF-8. This can also be overridden directly in the -HTML documents. - - - - - - -<guilabel>Server encryption support configuration</guilabel> - -This is the dialog to configure the &CUPS; server security -settings. The server encryption support settings are these: - - -Server certificate: the file to -read containing the server's certificate -Server key: the file to read containing the server's -key - - -&CUPS; server configuration dialog: security overview - - - - -The dialog to configure the &CUPS; server: security settings - - - - - -Server certificate - -The file to read containing the server's certificate. Defaults -to /etc/cups/ssl/server.crt. - - - - -Server key - -The file to read containing the server's key. Defaults to -/etc/cups/ssl/server.key - - - - - - - -Server Miscellaneous Configuration - -The dialog to configure the &CUPS; server miscellaneous settings -is shown here. The following server settings are done through this -screen: - - -Preserve job history: whether to -preserve a job history for later re-view -Preserve job files: whether to -preserve fully RIP-ed job files for later -re-print -Printcap file: setting the name -of and the path to a printcap file -RIP Cache: setting the size of -the RIP cache in memory -Filter Limit: defining a filter -limit - - - -Dialog to configure the &CUPS; server miscellaneous settings - - - - -Dialog to configure the &CUPS; server miscellaneous -settings - - - - - -Preserve job history (after completion) - -Whether or not to preserve the job history after a job is -completed, canceled, or stopped. The default is yes - - - - -Preserve job file (after completion) - -Whether or not to preserve the job files after a job is -completed, canceled, or stopped. The default is no. - - - - -Printcap file - -The name of the printcap file. The default is no filename. -Leave this blank, to disable printcap file generation. -The printcap setting is only needed to satisfy older -applications in need of such a file. - - - - -RIP cache - -The amount of memory that each RIP should use -to cache bitmaps. The value can be any real number, followed by -k for kilobytes, m for megabytes, -gfor gigabytes, or t for tiles, where -one tile is 256 x 256 pixels. The default value is 8m. - - - - -Filter limit - -Sets the maximum cost of all job filters that can be run at the -same time. A limit of 0 means no limit. A typical job may need a -filter limit of at least 200. Limits less than the minimum required -by a job force a single job to be printed at any time. The default -limit is 0 (unlimited). - - - - - - -Network General Configuration - -The dialog to configure the &CUPS; server network settings is -shown here. It includes: - - -Look for hostname on IP -addresses -Port -Max request size -Timeout - - - -Dialog to configure the &CUPS; server network settings - - - - -Dialog to configure the &CUPS; server network -settings - - - - -Look for hostname on IP addresses - -Whether or not to do lookups on IP addresses -to get a fully-qualified hostname. This defaults to off, for -performance reasons. - - - - -Port - -Enter here Ports and addresses that the server will listen to. -The default port 631 is reserved for the Internet Printing Protocol, -and is what we use here. -You can have multiple entries, to listen to more than one port -or address, or to restrict access. - -Unfortunately, most web browsers don't support -TLS or &HTTP; upgrades for encryption. If you want -to support web-based encryption, you'll probably need to listen on -port 443, the HTTPS port. - -Use the Add and -Remove buttons to add and remove entries from -the list. - -You can enter ports on their own, ⪚ -631, or hostnames with ports, ⪚ -myhost:80 or 1.2.3.4:631. - - - - - -Max request size - -Controls the maximum size of &HTTP; requests and print files. -The default setting is 0, which disables this feature. - - - - -Timeout - -The timeout (in seconds) before requests time out. The default -is 300 seconds. - - - - - - - -Network Clients Configuration - -The dialog to configure the &CUPS; network client settings is -shown here. It includes: - - -Accept "Keep Alive" -requests -KeepAliveTimeout: -MaxClients: - - -dialog to configure the &CUPS; network client settings - - - - -Dialog to configure the &CUPS; network client settings - - - - - -Accept "Keep Alive" requests - -Whether or not to support the Keep-Alive connection option. The -default is on. - - - - -Keep alive timeout - -The timeout (in seconds) before Keep-Alive connections are -automatically closed. The default is 60 seconds. - - - - -Max number of clients - -Controls the maximum number of simultaneous clients that will be -handled. Defaults to 100. - - - - - - - -Browsing General Configuration - -The dialog to configure the &CUPS; browsing general settings -is shown here. It includes: - - -Enable browsing -Use short names when -possible -Use implicit -classes - - - - -Dialog to configure the &CUPS; browsing general -settings - - - - -Dialog to configure the &CUPS; browsing general -settings - - - - - -Enable browsing - -Whether or not to broadcast printer information to other &CUPS; -servers. Enabled by default. - - - - -Use short names when possible - -Whether or not to use short names for remote -printers when possible (⪚ printer instead of printer@host). Enabled by -default. - - - - -Use implicit classes - -Whether or not to use implicit classes. -Printer classes can be specified explicitly, in the -classes.conf file, implicitly based upon the -printers available on the LAN, or both. -When Implicit classes are enabled, printers on the -LAN with the same name (⪚ Acme-LaserPrint-1000) will be put into -a class with the same name. This allows you to setup multiple -redundant queues on a LAN without a lot of -administrative difficulties. If a user sends a job to Acme-LaserPrint-1000, the job will go to -the first available queue. -This option is enabled by default. - - - - - - -Browsing Connection Configuration - -The dialog to configure the &CUPS; server browsing connection is -shown here. Browsing connection settings include: - - -Broadcast addresses: The -(UDP) broadcast address to transmit printer -information to -Broadcast Port: The port number -to use for broadcasting -Poll addresses: The address(es) -to poll for information about printers on servers that might not -broadcast (or whose broadcasts might not reach your -LAN due to routers in between). - - - -Dialog to configure the &CUPS; server browsing -connection - - - - -Dialog to configure the &CUPS; server browsing -connection - - - - - -Broadcast addresses - -After pressing the Add button, you will -see the following dialog to enter a new value for outgoing -broadcasting browse packets. It is the same kind of dialog as for -adding other &CUPS; server addresses to be polled for printer -information. - - -Dialog to enter a new value for broadcasting browse -packets to - - - - -Dialog to enter a new value for broadcasting browse packets -to - - - -This option specifies a broadcast address to be used. By -default, browsing information is broadcast to all active -interfaces. - - -&HP-UX; 10.20 and earlier do not properly handle broadcast -unless you have a Class A, B, C or D netmask (&ie;, there is no -CIDR support). - - - - - -Broadcast port - -The port used for UDP broadcasts. By default -this is the IPP port; if you change this, you need -to do it on all servers. Only one BrowsePort is recognized. - - - - -Poll addresses - -Poll the named server(s) for printers. - - - - - - -Browsing Masks Configuration - -The dialog to configure the &CUPS; server allowed and/or denied browse -packets from other servers is shown here. - - -Browse allow: -Browse deny: -Browse order: - - - -Dialog to configure the &CUPS; server allowed and/or -denied browse packets from other servers - - - - -Dialog to configure the &CUPS; server allowed and/or denied -browse packets from other servers - - - - - -Add Browse Address dialog - -The dialog to enter a new value for the address of another -&CUPS; server to accept browse packets from is shown here. It is opened -by clicking on the Add... button beside the -field named Browse Allow:. It is the same dialog -as for adding denied broadcast sending -addresses. - -The dialog to enter a new value for the address of another -&CUPS; server to accept browse packets from is shown here. - - -Dialog to enter a new value for the address of another -&CUPS; server to accept browse packets from - - - - -Dialog to enter a new value for the address of another &CUPS; -server to accept browse packets from - - - - - - -Browse allow and Browse -deny - -Browse allow specifies an address mask to -allow for incoming browser packets. The default is to allow packets -from all addresses. -Browse deny specifies an address mask to -deny for incoming browser packets. The default is to deny packets -from no addresses. -Both Browse allow and Browse -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/mmm - - -nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm - - - - -The hostname/domain name restrictions will only work if you have -turned hostname lookups on! - - - - -Browse order - -Specifies the order of the allow/deny comparisons. - - - - - - - -Browsing Timeouts Configuration - -The dialog to configure the &CUPS; server browse timeout settings -is shown here. Browse timeout settings include: - -Browse Interval -Browse Timeout - - -Dialog to configure the &CUPS; server browse timeout -settings - - - - -dialog to configure the &CUPS; server browse timeout -settings - - - - - -Browse interval - -The time between browsing updates in seconds. The default is 30 -seconds. -Note that browsing information is sent whenever a printer's -state changes as well, so this represents the maximum time between -updates. -Set this to 0 to disable outgoing broadcasts so your local -printers are not advertised, but you can still see printers on other -hosts. - - - - -Browse timeouts - -The timeout (in seconds) for network printers - if we don't get -an update within this time, the printer will be removed from the -printer list. -This number definitely should not be less than the browse -interval period, for obvious reasons. Defaults to 300 seconds. - - - - - - -Browsing Relay Configuration - -The dialog to configure the &CUPS; server as a browsing relay is -shown here. Browsing relay settings include: - - -Browser packets relay - - - -Dialog to configure the &CUPS; server as a browsing -relay - - - - -Dialog to configure the &CUPS; server as a browsing -relay - - - - - -Add Browse Relay dialog - -The dialog to enter a new value for an address pair to define -browsing relaying between a &CUPS; server and a network is shown -here. - - -The dialog to enter a new value for an address pair to -define browsing relaying between a &CUPS; server and a -network - - - - -The dialog to enter a new value for an address pair to define -browsing relaying between a &CUPS; server and a -network - - - - - - -Browser packets relay - -Relay browser packets from one address or network to -another. - - - - - - - -Security Configuration - -The dialog to configure the &CUPS; server security settings for -any of the defined server locations is shown here. It contains the -following settings, which may be defined separately for any valid -resource (or location) of the &CUPS; server: - - -System Group: -Access Permissions: -Auth Type: -Auth Class: -Auth Group Name: -Encryption: -Allow: -Deny: -Order: - - -Valid resources (or locations) of the &CUPS; server are: - - -Server Root Location: / -Server Administration Location: /admin -All printers on the server: /printers -Any individual printer on the server: -⪚ /printers/infotec_P320 -All printer classes on the server: /classes: -Any individual printer class on the server: -⪚ /classes/all_infotecs_P320_or_P450 - - - -Dialog to configure the &CUPS; server security settings -for any of the defined server locations - - - - -dialog to configure the &CUPS; server security settings for -any of the defined server locations - - - - - -For all locations that are not defined separately the setting of -the location above it is valid. - -For example, you have a printer named infotec_P450 with no set security -options. Then the security of the location /printers will take the responsibility -for this printer as it is a sub-location of/printers. If, in turn there is no -security set for /printers, -then the security for / (the -general security) of the server takes responsibility. Either you have -set this for your purpose or the compiled-in default value takes -over. - - - - -SystemGroup - -The group name for System or printer administration -access. The default varies depending on the operating system, but -will be lpadmin, system or root (checked for in that order). - - - - -Access Permissions - -Access permissions for each folder served by the scheduler. -Locations are relative to the document root. - - - - -Authorization Type - -The authorization to use: - - - -None - -Perform no authentication. - - - -Basic - -Perform authentication using the &HTTP; Basic method. - - - -Digest - -Perform authentication using the &HTTP; Digest method. - - - - - -Local certificate authentication can be substituted by the -client for Basic or Digest, when connecting to the localhost -interface. - - - - - -Authorization Class - -The authorization class. Currently only -Anonymous, User, System -(valid user belonging to the group set as system group), and -group (valid user belonging to the specified group) are -supported. - - - - -Authorization Group Name - -The group name for Group authorization - - - - -Encryption - -Whether or not to use encryption. This depends on having the -OpenSSL linked into the &CUPS; library and -scheduler. -Possible values are: - - -Always - -Always use encryption (SSL) - - - -Never - -Never use encryption. - - - -Required - -Use TLS encryption upgrade. - - - -IfRequested - -Use encryption if the server requests it. - - - - - - - -Allow - -Allows access from the specified hostname, domain, -IP address or network. Possible values are: - - - - -All - - -None - - -*.domain.com - - -.domain.com - - -host.domain.com - - -nnn.* - - -nnn.nnn.* - - -nnn.nnn.nnn.* - - -nnn.nnn.nnn.nnn - - -nnn.nnn.nnn.nnn/mmm - - -nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm - - - - -The host and domain address require that you enable hostname -lookups, as described earlier. - - - - -Deny - -Denies access from the specified hostname, domain, -IP address or network. Possible values are: - - - -All - - -None - - -*.domain.com - - -.domain.com - - -host.domain.com - - -nnn.* - - -nnn.nnn.* - - -nnn.nnn.nnn.* - - -nnn.nnn.nnn.nnn - - -nnn.nnn.nnn.nnn/mmm - - -nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm - - - -The host and domain address require that you enable hostname -lookups, as described earlier. - - - - -Order - -The order of the allow and deny processing. - - - - - - -Example: How To Define The Security For All Printers - -The dialog to configure the &CUPS; server security settings is -discussed here. We use the example to add security definitions other -than the default ones for the resource named all printers. For the &CUPS; web server, -this is the location you access through -http://localhost:631/printers/ or (remotely) through -http://cups.server.name:631/printers/ - -The first screenshot shows the general location for this -setting. Select Add or -Modify a resource for which you want to decide -about its security settings. - - -Dialog to configure the &CUPS; server security -settings - - - -Dialog to configure the &CUPS; server security -settings - - - -This dialog is to add a new resource. It looks similar if you -want to modify an already existing resource. Here are the general -options: - - -Dialog to add a new resource. - - - - -Dialog to add a new resource. - - - -.This is the second part or the dialog is to add a new -ressource. It looks similar if you want to modify an already existing -resource. Here you define the actual access masks for the resource in -question. - - -Dialog to add a new resource. - - - - -Dialog to add a new resource. - - - -Resource dialog - - - - -Resource dialog - - - - -Resource dialog - - - - -Resource dialog - - - - -Resource dialog - - - - -Resource dialog - - - - -Resource dialog - - - - -Resource dialog - - - - - - diff --git a/doc/kdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png b/doc/kdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png deleted file mode 100644 index 9f5a73d39..000000000 Binary files a/doc/kdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png and /dev/null differ diff --git a/doc/kdeprint/cupsaddprinterwizard1.png b/doc/kdeprint/cupsaddprinterwizard1.png deleted file mode 100644 index cf20e087c..000000000 Binary files a/doc/kdeprint/cupsaddprinterwizard1.png and /dev/null differ diff --git a/doc/kdeprint/cupsaddprinterwizard2_backendselection.png b/doc/kdeprint/cupsaddprinterwizard2_backendselection.png deleted file mode 100644 index 3e4b2f126..000000000 Binary files a/doc/kdeprint/cupsaddprinterwizard2_backendselection.png and /dev/null differ diff --git a/doc/kdeprint/cupsaddprinterwizard3_networkscan.png b/doc/kdeprint/cupsaddprinterwizard3_networkscan.png deleted file mode 100644 index 160834ee9..000000000 Binary files a/doc/kdeprint/cupsaddprinterwizard3_networkscan.png and /dev/null differ diff --git a/doc/kdeprint/cupsaddprinterwizard3_networkscan_results.png b/doc/kdeprint/cupsaddprinterwizard3_networkscan_results.png deleted file mode 100644 index aa6cd87f1..000000000 Binary files a/doc/kdeprint/cupsaddprinterwizard3_networkscan_results.png and /dev/null differ diff --git a/doc/kdeprint/cupsaddprinterwizard4_networkscan_config.png b/doc/kdeprint/cupsaddprinterwizard4_networkscan_config.png deleted file mode 100644 index 7fff7de52..000000000 Binary files a/doc/kdeprint/cupsaddprinterwizard4_networkscan_config.png and /dev/null differ diff --git a/doc/kdeprint/cupsoptions.docbook b/doc/kdeprint/cupsoptions.docbook deleted file mode 100644 index bd0ba95a3..000000000 --- a/doc/kdeprint/cupsoptions.docbook +++ /dev/null @@ -1,602 +0,0 @@ - -&CUPS; options presently not available through &kcontrol; - -This chapter gives you some hints about further configuration -possibilities which may not be available through the &tdeprint; &GUI; -interface to &CUPS;. - - -Overview of provided features - -All of the most often used features and functions &CUPS; provides -are supported in &tdeprint;. - - - -Printer management is supported: add, remove, modify, configure, -test, disable, enable ... - - -Job management is supported: cancel, hold, release, move to -different printer - - -Print options: for full control as provided by &CUPS;. - - - - - - -Where to find help when using &CUPS; - -A lot of information about the inner workings of &CUPS; is -available through the web interface, which &CUPS; will always -support. It works with any browser (yes, even text-based ones). Just go -to http://localhost:631/ for -a start. There you find a link to locally available &CUPS; documentation -in HTML and PDF if you are new to -&CUPS;. - -&CUPS; is accessible through other means than &tdeprint;: -commandline and browser are two native &CUPS; interfaces. The many -commandline utilities add up to the most complete control you have on -&CUPS;. The web interface is only a subset of all available -configuration or control options. - -This is also true for &tdeprint;. Generally, as &CUPS; develops, -most new features will first be implemented through the commandline. Be -sure to check the latest versions of the man pages for &CUPS; to stay -up-to-date with new features after you install a new version. - - -Depending on your update method for &CUPS;, your active -configuration file might not have been re-placed by a new one; thus your -new, more capable &CUPS;-daemon might not have been told by the old -configuration file about the new features to use. - - -A complete list of available files and man pages should always be -in the &CUPS; Software Administrator Manual (http://localhost:631/sam.html#FILES. -In the &konqueror; &URL;/location field, type -man:/lpadmin and -man:/cupsd.conf to find out about the most -important command and configuration file. You knew already about -&konqueror;'s nice abilities to show you the traditional &UNIX; man -pages, didn't you? Read this. From there you find more interesting -hints and links to other man pages and documentation. - - -How to find &CUPS; related man pages - -Here is a way to find out which &CUPS; related man pages there -are on your system: - -kurt@transmeta:~ > apropos cups - -cups-calibrate (8)- ESP Printer Calibration Tool -lpstat (1) - print cups status information -cups-lpd (8) - receive print jobs + report printer status to lpd clients -classes.conf (5) - class configuration file for cups -backend (1) - cups backend transmission interfaces -filter (1) - cups file conversion filter interfaces -cups-polld (8) - cups printer polling daemon -mime.types (5) - mime type description file for cups -cupsd (8) - common unix printing system daemon -lpadmin (8) - configure cups printers and classes -cupsd.conf (5) - server configuration file for cups -mime.convs (5) - mime type conversion file for cups -printers.conf (5) - printer configuration file for cups -mime.convs (5) - mime type conversion file for cups -cups-polld (8) - cups printer polling daemon -lpstat (1) - print cups status information -backend (1) - cups backend transmission interfaces -mime.types (5) - mime type description file for cups -cupsd (8) - common unix printing system daemon -lpadmin (8) - configure cups printers and classes -printers.conf (5) - printer configuration file for cups -cupsd.conf (5) - server configuration file for cups -filter (1) - cups file conversion filter interfaces - - - - - -Outside &tdeprint;: Hints & Tips Tricks with &CUPS; on the -Commandline - -Here are a few examples of options that are presently only -available if you use the commandline. - - -Allowing or denying printer access for certain users - -When installing (or modifying) a printer through the command line, -you can either deny or allow the usage of that printer to certain -users: - -lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue allow:kurt,sylvi,hansjoerg /home/kurt/PPDs/DVHV.ppd - -will allow the usage of this (believe me: very nice and also very -professional) printer to only the three mentioned users and at the same -time deny it to all others. If another user wants to print on the -DigiMaster via this &CUPS; server, he will receive an error message -along the lines client-error-not-possible. - -lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue deny:tackat,boss,waba /home/kurt/PPDs/DVHV.ppd - -will deny the usage of this same printer to the three mentioned -users and at the same time allow it to all others. If -denied user wants to print on the DigiMaster via this -&CUPS; server, he will receive an error message along the lines -client-error-not-possible. - - -Only one of the two options may be used at one time; at present -there is no support to have a similar option in a per-group based -way. This will be implemented in the future. - - - - -Imposing Quotas for certain printers - -Sometimes you want to impose quotas for certain printers. With -quotas you can set upper limits for the number of pages or the amount of -data to be printed over a certain period to a certain printer. - -Quotas can be set with the option when -installing a printer with the lpadmin command, or -afterwards for an already existing printer. Following are some -guidelines (which are missing at the time of writing in the, official -&CUPS; documentation): - - - -With &CUPS; you may have pagecount- and filesize-based quotas for -individual printers. - - - -Quotas are calculated for each user individually (so a single set -of limits applies to all users for the printer concerned). - - - -Quotas include banner pages (if those are used). - - - -This means: you can limit every user to 20 pages per day on an -expensive printer, but you cannot limit every user except Kurt or root. - - - -There are , -, and -options to give when setting up a printer. - - - - sets a time interval for quota -computing (intervals are determined in seconds; so a day is -60x60x24=86.400, a week is 60x60x24x7=604,800, and a month is -60x60x24x30=2.592.000 seconds.) - - - -For quotas to be enforced, the time-period -plus at least one job-limit must be set to -non-zero. - - - -The default value of 0 for specifies -that there is no limit. - - - -The default value of 0 for -specifies that there is no limit. - - - -The default value of 0 for -specifies that the limits apply to all jobs that have been printed by a -user that are still known to the system. - - - - -Working Examples: - -Working, as both, time-period plus one or -both job-limits are defined - -lpadmin danka_infotec_4850 job-quota-period=604800 job-k-limit=1024 - -This sets a limit of a file size of 1 MB (in total) for each user -of existing printer danka_infotec_4850 during one week. - -lpadmin danka_infotec_4105 job-quota-period=604800 job-page-limit=100 - -This sets a limit of 100 pages (in total) for each user of -existing printer danka_infotec_4105 during one week. - -lpadmin danka_infotec_P450 job-quota-period=604800 job-k-limit=1024 job-page-limit=100 - -This sets a combined limit of 1 MB (in total) and 100 pages (in -total) for each user of existing printer danka_infotec_P450 during one -week. Whichever limit is reached first will take effect. - - - - -Not working examples - -NOT working, as only -one, time-period or job-limit -is defined) - -lpadmin danka_infotec_P320 job-quota-period=604800 - -lpadmin danka_infotec_FullColor job-page-limit=100 - -lpadmin danka_infotec_HiSpeed job-k-limit=1024 - - - - -Related Error Messages - -Once a user reaches his quota limit, he'll get a -client-error-not-possible message, if he wants to -print. - - - - - - -Installing a <quote>raw</quote> printer - -There are different ways to define a raw -printer. One comfortable one is to use the lpadmin -command. Just don't define a &PPD; file to be used for that printer and -it will be a raw one: - -lpadmin Raw_Danka_infotec lpd://10.160.16.137/PORT1 - -Raw printer queues are those which don't touch the print file to -transform it to a different file format. You need this for example when -printing from &Windows; clients via Samba through a &CUPS; server to a -PCL printer: in this case the &Windows; side printer -driver would generate the finished print file format for the target -printer and filtering it through &CUPS; filters would only harm the -purpose. Under certain circumstances (if you want to make sure that the -file goes to the printer unfiltered by &CUPS;) the -lpadmin without a &PPD; comes in -handy. - - - - - -Troubleshooting &CUPS; in &tdeprint; - -This section of the &tdeprint; Handbook will live from the -readers' feedback. Here is just a small beginning. - - -Error Messages - - - - -What does the error -client-error-bad-request mean? - - -The user sent a file to the &CUPS; which the server could not -process. You get this also upon sending an empty -file. - - - - - -And client-error-not-possible? - - -User is either not allowed to print to a certain printer or has -achieved his quota (based on file size and/or page number) - - - - - -How about client-error-not-found? - - -The user tried to access a nonexistent resource on the &CUPS; -server, such as trying to print a nonexistent file, or one that you are -denied permission to read. - - - - - - - - -Questions and Answers - - - - -Why can't I re-start my jobs? - - -To be able to re-start your completed jobs from the -web interface, you need a setting in the -/etc/cups/cupsd.conf file: set -PreserveJobFiles True. - - - - - -How do I get rid of the long list of completed jobs in the web -interface? - - -TODO - - - - - -How does page accounting work? - - -&CUPS; does the print accounting by passing nearly -every job through the pstops filter. This one does, -amongst other things, the page counting. Output of this filter there may -be piped into other filters (like pstoraster --> rastertopcl) or sent to -the printer directly (if it is a &PostScript; printer). - -In any case, this works for network, parallel, serial or -USB printers the same. For pstops to work, it needs -DSC, Document Structuring Convention compliant -&PostScript; (or near-equivalent) as input. So it calculates the pages -during filtering on the print server and writes info about every single -page (what time, which user, which job-ID and -name, which printer, how -many copies of which pages of the document, how many kilo-bytes?) into -/var/log/cups/page_log. - -By the way: on my personal wishlist is a hack of -webalizer to read and analyze the page_log and give a -similar output. Anyone? - -However, it is not giving correct results in -the following cases: - - - -The printer jams and maybe therefor throw away the job (real live -experience; or maybe throwing away the job because of problems with the -data format) - - -Jobs printed as raw are always counted as size of 1 -page (and maybe multiple copies). - - - -Therefore the page accounting of &CUPS; is only -an approximation (in many cases an excellent or at least good one, in -others a quite poor one). The only reliable print count is the one -done by the internal printer counter. (Because this is the one you pay -for, if you are on a click price or similar.) Some, by -far not most, printers can be queried remotely for that information -via SNMP (Simple Network Management Protocol). That -means, in a bigger network with many different printers there -is just no completely reliable and accurate page -accounting tool! - - - - - -Why doesn't page-accounting work with &Windows; clients? - - -From &Windows; clients jobs nearly always need to be sent as -raw. Why? If &CUPS; works as a print server for &Windows; -clients using the original native &Windows; driver for the target print -device, this guarantees the correct formatting of the job on the clients -already; therefor the server should not touch it and print -raw; therefor no filtering is started (and this is not -even possible as the input from the clients is not &PostScript; as -pstops expects; hence no page-count other than the default -1. - - - - - -How do I get a list of available options for a given printer or a -&PPD; file? - - -See the man page for the lpoptions command. You -may investigate a &CUPS;-enabled box about any option of its available -printers. There is no need to have the printer installed locally. As -long as the printer is available locally (through the &CUPS; -printer browsing feature), it will also work -remote. - -To query for a printers' option typing -lpoptions -HitachiDDP70MicroPress - will give a long listing of all -available options as read from the &PPD; file for the given -Hitachi-Printer (in my case installed on remote server -transmeta). Remote server Transmeta and its &CUPS; daemon as well -as the localhost's &CUPS; daemon need to be up and running for this to -succeed. - - - - - -How do I read the listing retrieved by the -lpoptions command? - - - -You know that for &PostScript; printer manufacturers it is -legal to define their own internal names and procedures -even for standard &PostScript; options. As long as the driver is able to -retrieve the option from the &PPD; and show it to the user in a way that -he understands it everything is OK. But what do you -do, if you want to use some obscure printer options on the command line? -How do you find out its exact syntax? - -Let's take an example. Looking at Hitachi's DDP70 printer and how -it implements duplex printing is revealing somehow. How do you tell how -to print double sided? duplex or Duplex? Or another name altogether?. - -lpoptions transmeta Hitachi_DDP70_ClusterPrintingSystem | grep uplex - -This leads to the output - -TR-Duplex/Duplex: False *True - -This is to be interpreted like follows: - - - -The name of the investigated option is -; - - -Behind the slash you see the translation of the option, as it -should be shown in a &GUI; or Web interface -(Duplex); - - -The option may take one of the two values -False or True; - - -The present setting is True to be -recognized by the marking with a star *. - - - -To override the present default setting (duplex) and print a job -in simplex, you need to use the following command: - -lpr Hitachi_DDP70_ClusterPrintingSystem TR-Duplex=False /path/to/your/printjob - - - - - -How do I get a nicely formatted listing of available options for a -given printer or &PPD;? - - -Use the lphelp command which may be installed -on your system locally. There is not yet a man page for -lphelp. - -lphelp infotecP450 - -This lists the available options for the named printer. It is -nicely formatted and does explain every available option and how to use -it. You can query different printers' options at once: - -lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550 - -It also works for &PPD; files. Just specify the path to the -&PPD;: - -lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd - - - - - - -Solving Problems - -No system is perfect. Here are some commonly seen traps people -have fallen into. - - - - -My printer named 3-lp-duplex shows erratic -behavior. What's wrong? - - -The printer names used in &CUPS; shall start with a letter and may -contain up to 128 letters, numbers or underscores. Using dashes may lead -to problems. Speaking about naming: printer names in &CUPS; are not case -sensitive. So a printer named Best_of_Danka will be the same as -best_of_danka or BEST_OF_DANKA. (This is a requirement of -&IPP;, which &CUPS; is fully compliant with). - - - - - -Why do I get Unable to connect to SAMBA host: -Success with my printer shares from &Windows; accessed via -Samba? - - -Are the rights on the remote &Windows; box set correctly for you? -Are you actually allowed to print on the &Windows; shared -printer? - - - - - -My files for printer lp -sometimes mysteriously disappear and two days later I am told they got -printed on a printer three floors below my office. What is going on? - - -Believe me, it is very unlikely that your printer is the only one -with the name lp. Maybe -&CUPS; is playing a trick on you. As you might have the setting -ImplicitClasses On activated, &CUPS; tries to stuff all -printers it sees on the network into a Class name lp. All -jobs destined to lp are sent to this class and the first available -member prints it. So if you had this nice fellow (who listened closely -when you raved about &CUPS; and &tdeprint;) install &CUPS; and poke -around the system...get the idea? - -Take my advice: choose a unique name for any network printer! -(Mind you, the one on your parallel port also turns out to be a network -printer for the rest of the world if you don't take care of your -settings). - - - - - - diff --git a/doc/kdeprint/cupsserverconfig_browse_relay_add_button.png b/doc/kdeprint/cupsserverconfig_browse_relay_add_button.png deleted file mode 100644 index 391cf06ee..000000000 Binary files a/doc/kdeprint/cupsserverconfig_browse_relay_add_button.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfig_browsingmasks_add_button.png b/doc/kdeprint/cupsserverconfig_browsingmasks_add_button.png deleted file mode 100644 index f5767faad..000000000 Binary files a/doc/kdeprint/cupsserverconfig_browsingmasks_add_button.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration10_browsinggeneral.png b/doc/kdeprint/cupsserverconfiguration10_browsinggeneral.png deleted file mode 100644 index 3775f4d2a..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration10_browsinggeneral.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration11_browsingconnections.png b/doc/kdeprint/cupsserverconfiguration11_browsingconnections.png deleted file mode 100644 index d3ca6971f..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration11_browsingconnections.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration11_browsingmasks.png b/doc/kdeprint/cupsserverconfiguration11_browsingmasks.png deleted file mode 100644 index a662dd117..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration11_browsingmasks.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration12_browsingtimeouts.png b/doc/kdeprint/cupsserverconfiguration12_browsingtimeouts.png deleted file mode 100644 index d9e9528d6..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration12_browsingtimeouts.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration14_browsingrelay.png b/doc/kdeprint/cupsserverconfiguration14_browsingrelay.png deleted file mode 100644 index 0030b4d7c..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration14_browsingrelay.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png b/doc/kdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png deleted file mode 100644 index fab7bc65b..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png b/doc/kdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png deleted file mode 100644 index 2cc4bf8ae..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png b/doc/kdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png deleted file mode 100644 index cfd09e543..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration1_welcome.png b/doc/kdeprint/cupsserverconfiguration1_welcome.png deleted file mode 100644 index 50bd9ba3a..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration1_welcome.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration2_general.png b/doc/kdeprint/cupsserverconfiguration2_general.png deleted file mode 100644 index c8e8b01c0..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration2_general.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration3_logging.png b/doc/kdeprint/cupsserverconfiguration3_logging.png deleted file mode 100644 index 300c31943..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration3_logging.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration4_directories.png b/doc/kdeprint/cupsserverconfiguration4_directories.png deleted file mode 100644 index e55ab35fc..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration4_directories.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration5_HTTP.png b/doc/kdeprint/cupsserverconfiguration5_HTTP.png deleted file mode 100644 index 3e46eb17b..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration5_HTTP.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration6_encryption.png b/doc/kdeprint/cupsserverconfiguration6_encryption.png deleted file mode 100644 index aca75adf0..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration6_encryption.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration7_miscellanious.png b/doc/kdeprint/cupsserverconfiguration7_miscellanious.png deleted file mode 100644 index 6a30d103e..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration7_miscellanious.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration8_networkgeneral.png b/doc/kdeprint/cupsserverconfiguration8_networkgeneral.png deleted file mode 100644 index a0a40da20..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration8_networkgeneral.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration9_networkclients.png b/doc/kdeprint/cupsserverconfiguration9_networkclients.png deleted file mode 100644 index 89b30dfe9..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration9_networkclients.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration_resourceadminaccessmasks.png b/doc/kdeprint/cupsserverconfiguration_resourceadminaccessmasks.png deleted file mode 100644 index 147830184..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration_resourceadminaccessmasks.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters.png b/doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters.png deleted file mode 100644 index 295a0970a..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png b/doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png deleted file mode 100644 index 3b3b4eb04..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration_resourceadminauthorization.png b/doc/kdeprint/cupsserverconfiguration_resourceadminauthorization.png deleted file mode 100644 index 1b388a6cb..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration_resourceadminauthorization.png and /dev/null differ diff --git a/doc/kdeprint/cupsserverconfiguration_securityoverview.png b/doc/kdeprint/cupsserverconfiguration_securityoverview.png deleted file mode 100644 index bed1d3df6..000000000 Binary files a/doc/kdeprint/cupsserverconfiguration_securityoverview.png and /dev/null differ diff --git a/doc/kdeprint/extensions.docbook b/doc/kdeprint/extensions.docbook deleted file mode 100644 index c14691d51..000000000 --- a/doc/kdeprint/extensions.docbook +++ /dev/null @@ -1,57 +0,0 @@ - -&tdeprint; Extensions To All Print Subsystems - - -<quote>Virtual</quote> Printers - - -The <quote>Fax</quote> Printer - -To be written - - - - -The <quote>File</quote> Printer - -To be written - - - - -The <quote><acronym>PDF</acronym></quote> Printer - -To be written - - - - - - -<quote>External</quote> Filters - - -The <command>enscript</command> Filter for Text Files - -To be written - - - - -The <quote>n-up</quote> Filter for Any File - -To be written - - - - -Three different <quote>Make Pamphlet</quote> Filters for -&PostScript; Files - -To be written - - - - - - diff --git a/doc/kdeprint/external-command.docbook b/doc/kdeprint/external-command.docbook deleted file mode 100644 index 1a1135d7c..000000000 --- a/doc/kdeprint/external-command.docbook +++ /dev/null @@ -1,25 +0,0 @@ - -Module For External Print Command (&Netscape;-like) - -This module allows the print command to be specified completely -(&Netscape;-like). An edit line is added in the print dialog for that -purpose. Can be used in many cases, for example with a self-made print -program. - - -Overview of provided features - - - -Printer management: not supported - - -Job management: not supported. - - -Print options: basic control, depending on your knowledge of the -print command - - - - diff --git a/doc/kdeprint/final-word.docbook b/doc/kdeprint/final-word.docbook deleted file mode 100644 index 175afb2f1..000000000 --- a/doc/kdeprint/final-word.docbook +++ /dev/null @@ -1,117 +0,0 @@ - -Final word from the Author - - -Who am I, what is my business? - - -My employer is Danka Deutschland GmbH, a leading and -manufacturer-independent provider of professional and hi-speed digital -printing systems, black-and-white as well as color. Danka provides -hardware, software, service, maintenance, consumables and customized -solutions for the products in its portfolio. I work there as a -System Engineer. Amongst the brands Danka offers are Heidelberg -(formerly Kodak), Canon, &Hewlett-Packard;, Hitachi, Infotec and -EfI. - - -My acquaintance with &Linux; and the Free Software community is not -too old. When I started to play around with &Linux; at the beginning -of 1999, my deepest disappointment was the poor support for -printing. True, I made all our machines spit out simplex prints -- but -what about duplex? What about punching the output? How to make sorting -work? Or stapling, cover sheets and all the other beautiful finishing -options our engines offer to customers? No way -- at least for me as a -non-geek! - - -I began a search on the Internet for a solution. Fortunately not -much later, in May 1999, Mike Sweet, principal developer of &CUPS;, -announced the first Beta release of this superb piece of printing -software. After trying it briefly, I knew this was it! - - -Next thing I attempted: to make &Linux; distributions interested in -this new stuff. Believe me -- it was more than tenacious! They seemed -to think they already had the best thing they could get in -printing. One reason probably was that they (and many &Linux; -developers) never had to think about how to best support a printer -duplexer -- because one had never come near their own -desks... - - -Finally, my attempts to make some &Linux; print publications -interested in &CUPS; backfired on me - one editor -squeezed me into writing a series on the subject myself. And this is -how some people started to give me the nickname CUPS -Evangelist. I will not get rid of this nick anytime soon, now -that even the &kde; people wedged me into their timeframe of -releases. Oh, boy... - -Anyway, &CUPS; is now making its way around the world and it -might well become a triumphal one: I am a little bit proud to have -supported and contributed to this from near the beginning. - -It should encourage you: even if some more experienced &Linux; -users than you are skeptical about it, and even if your programming -skills are next to zero (like mine) - there are a lot of tasks and -jobs and ideas, and talent that you can contribute to the Free Software -community. Not least within the &kde; project... ;-) - - - - - -Credits - -I'd like to thank... - - -Mike Sweet for developing &CUPS; in the first place - - -Jean-Eric Cuendet for starting kups -and qtcups, the predecessors of -&tdeprint; - - -Michael Goffioul for doing all the hard work recently - - -Martin Konold for thinking twice - - -Sven Guckes for teaching me a few things about the art of survival -on the terminal (just in case &kde; is not there ;-) ) - - -...too numerous others to mention who also let me snatch bits -and bytes of knowledge -off them - - - and last, but not least: Tom Schwaller for encouraging me -to get into documentation -writing - - - - - - -Caveats - -&tdeprint; has been developed on a system using &CUPS; 1.1.6. -&tdeprint; has been tested on other versions of &CUPS; and so -far no incompatibilities are known. By the time of writing -this Handbook, &CUPS; 1.1.9 is out with a few new features -not yet supported by &tdeprint;. Of course you are able to -access these features, but you will need to bypass &tdeprint; -and use the &CUPS; command-line tools or edit configuration -files manually. &tdeprint;'s development will go on and this -Handbook strives to always be the best available user documentation -resource for it. - - - - diff --git a/doc/kdeprint/getting-started.docbook b/doc/kdeprint/getting-started.docbook deleted file mode 100644 index 9ef1500b7..000000000 --- a/doc/kdeprint/getting-started.docbook +++ /dev/null @@ -1,143 +0,0 @@ - -Getting Started - -This chapter of the &tdeprint; Handbook will walk you through most -of the configuration or selection options of &tdeprint;. It will mainly -deal with &CUPS; in this version, as the author is most familiar with -it, and also because &tdeprint; started off with supporting &CUPS; -best. Later versions of the &tdeprint; software and editions of this -handbook will support and explore other printing -systems more closely. - - -Selecting Your Print Subsystem - -You need to define your print subsystem, before you are able to -install any printer with the &tdeprint; framework. There are two areas -where you can define this: either in &kcontrol; (The Printing -Manager section), or directly and on the fly -from the print dialog. - -Navigate to K Menu -Preferences System -Printing Manager. At the bottom -you can see a button that lets you select which printing subsystem you -want to use. In &kde; 2.2 you can choose from the following -alternatives: - - - -&CUPS; (Common &UNIX; Printing System) - - -Print through an external program (generic) - - -LPR (Standard BSD Print -System) - - -Generic &UNIX; LPD print system (the -default) - - -RLPR environment (print to remote -LPD servers from the command line) - - - -Of course, the chosen system must be installed, and up and running on -your box prior to your selection, or before it takes effect. - - - -On it's first startup, &tdeprint; will try an autodetection. This -only works for: - - - -&CUPS;, as it is checking first for a running &CUPS; daemon - - -LPD, as it is checking for a running -LPD daemon, plus a printcap -file. - - - - - -The system you choose must be installed on your system prior to -your selection. The author's personal recommendation is -&CUPS;. - -Once autodetected, chosen, or changed, the active print -subsystem will take effect for all &kde; applications. Different -users may have different print subsystems in use, if those do exist on -the computer and are compliant with each other. Their settings are -stored in the tdeprintrc. This file is unique to -every user, and is normally installed in -$HOME/.kde/share/config/tdeprintrc. - - -This file is not intended to be directly editable, and all -available options can be set from the &tdeprint; &GUI;. - - -You may even select a different printer subsystem, on the fly, from -the &kprinter; dialog box. - - - - -Working with the Printing Manager - -Once you have chosen your preferred and installed print subsystem, -you are ready to investigate, configure administer and work with this -system through the &tdeprint; framework. - -Navigate to K Menu -Preferences System -Printing Manager. In the right -part of the window you will see at least 4 printers predefined. These -are the virtual or special purpose printers, explained in section . You will probably see a toolbar with 13 icons at the -top of the window, and at least 4 tabs in the lower half of the window, -labeled Information, Jobs, -Properties and -Instances. - - - - - - - - - - - - - - - - - - diff --git a/doc/kdeprint/highlights.docbook b/doc/kdeprint/highlights.docbook deleted file mode 100644 index 72982c10c..000000000 --- a/doc/kdeprint/highlights.docbook +++ /dev/null @@ -1,518 +0,0 @@ - -&tdeprint;'s Highlights - -The new &tdeprint; system includes more than one highlight. -Having worked in an environment in the past that is not exactly -sophisticated, as far as printing is concerned, take a look at some of -the benefits that come with &tdeprint; - - -The <quote>Add Printer</quote> Wizard - -&tdeprint; has an Add Printer Wizard. The Add -Printer Wizard helps you with adding and configuring a new printer. Of -course, you may do this manually as well. - -&tdeprint; helps you discover printers. It is able -to scan the environment for available devices and queues. This works for -network connections using TCP (AppSocket, -aka &HP; JetDirect, or IPP) or -SMB/Samba (shared &Windows;) printers -and partially for directly attached printers over parallel, serial, or -USB connections. - - -A screenshot of the new Add Printer -Wizard - - - - - -Here's a screenshot of the Add Printer Wizard -(this one is not very exciting yet; but...) - - - - -The wizard makes the installation and handling of the drivers -a snap. Selecting, configuring and testing should be easy -as never before on any &Linux;-like system. - - - - - - - -Full Print Job Control - -The Print Job Viewer is automatically started by &kprinter;. It -may be docked into the &kde; panel (in the system tray). The Print Job -Viewer allows full job management, if supported by the print -subsystem. - -You can: - - - -Hold and release jobs, - - -Move pending jobs to another printer, - - -Cancel pending or processing jobs. - - - -A screenshot of the &tdeprint; PrintJob Viewer shows the information -you get: Job-ID, target printer, job name, job owner, job status and job -size. In the next &tdeprint; release you will also see information about the -number of pages (as &CUPS; calculates it; see chapter on page accounting -for more information about its merits and limitations). - - -A screenshot of the &tdeprint; PrintJob Viewer - - - - - -Here's a screenshot of the &tdeprint; PrintJob Viewer. - -A screenshot of the &tdeprint; PrintJob -Viewer. - - - -An alternative way to looking at the same information (and having the -same amount of control is through the - - &kcontrolcenter; selecting -SystemPrinting -Manager. If you don't see the -Printer Information, -right click on the window -background and select View Printer -Information. Then go to the Jobs tab -to see this: - - - - - - - - -Here's a screenshot of the &tdeprint; PrintJob Viewer. - - - - - - - -Modules for different print subsystems - -&tdeprint; uses different modules to realize the interface to the -possible print subsystems. Not all the modules are yet developed fully, -but you will have basic printing functionality with: - - - -LPD (BSD style) - - -LPRng (&RedHat;, if you just use it's -BSD style subset), - - -RLPR (a command-line LPR -utility, which doesn't need a printcap file. - - -external print commands (&Netscape; like). - - - -Most importantly, full support for &CUPS; is already there. -Modules for other print subsystems, such as PLP, -PPR and PDQ may be available -later. - -&tdeprint; makes &kde; much more flexible. It gives freedom of -choice to &kde; 2.2 users. To use different available print subsystems, -these must, of course, be installed independently from &kde;. In -former versions, users were stuck with the old LPD -style print subsystems. Now they can even use &CUPS;. In the future, -there will be easy integration of new subsystems, as they -appear on the scene. - - - - -More &tdeprint; <quote>Goodies</quote> -Benefitting all Print SubSystems. - -Some specific features of &tdeprint; depend on the chosen print -subsystem. This dependency might exist because those features are only -implemented there; remember, &tdeprint; is an intermediate layer between -&kde; applications, and the print subsystem, but it's no replacement for -any print subsystem by itself. Such dependency may exist for another -reason: that &tdeprint; has not yet implemented an interface to all the -features of all the subsystems. - -Other features include benefits from &tdeprint; that are -independent of the chosen print subsystem, and are available with all of -them. At present there are special or -virtual printers, and some generic -pre-filters. - - - -Print Preview - -From the Print Dialog, you can select to look at a preview. For -this, the print file is passed through filters which make it suitable for -displaying on screen using &kghostview;. - - - - -Special Printers - -Amongst these additional &tdeprint; features are a few -special or virtual printers: - -These special printers may: - - - -Print to PDF - -Convert your document into a PDF file with the -help of an external program. - - - - -Print to email - -Send your document as an email attached PDF -file. - - - - -Print to PS file - -Save your document as a &PostScript; file. - - - - -Print to Fax - -Send it through an available backend, such as -Hylafax as a fax. - - - - - -These special printers appear in the user print -dialog just like normal printers. They are entirely -configurable on a per-user basis. - - - - - -Generic Pre-Filtering - -&tdeprint; provides you with a framework to define and configure -your own pre-filters. These pre-filters may take effect -before they are passed to your print subsystem for -further processing, but after the (&PostScript;, -plain text or other) print files have been generated by your -application. - -There are a few useful filters already predefined. These -are: - - - -The multiple pages per sheet filter, - - - -the enscript text filter, - - - -and three filters to help print pamphlets. - - - -You may create your own filters based on any third party program -that is able to process &PostScript;, plain text or image files, and output -any one of those formats. - -These filters are configured through XML files. -This makes an extension of the concept very easy for experienced developers, -but end-user configuration is also done through an intuitive graphical -user interface. So, fear not, you don't need to learn -XML because of &tdeprint;! - - - -Multiple Pages Per Sheet Filter - -This is a predefined filter that installs with &tdeprint;. It -allows you to create a modified &PostScript; output, from &PostScript; -input, that prints 1, 2, or 4 logical pages on a single sheet of -paper. - - - - -Enscript Text Filter - -This is a predefined filter that installs with &tdeprint;. It -allows you to create &PostScript; output from any text file input, that -includes syntax highlighting for program listings, pretty-printing, and -nice configurable page frames and headers. - - - - -Pamphlet Printing Filters - -If your printer is able to produce duplex output, using either -one-pass or two-pass technology, you may be able to use one, or a -combination, of the pamphlet filters. - -For duplexing printers, make sure you use the duplex option that -turns the output along the short paper edge. Folding the -printed paper along the middle turns your document into a nice pamphlet. - -If you are stuck with using a simplex-only device, you can do the -same, using two different filters and a few additional steps. - -Depending on your model, first use the filter for printing the -odd pages, then insert the paper in the correct order -back into the paper tray to get the even pages printed on the reverse -side. These can then be folded to make a pamphlet. - - - - - - - - - - -&CUPS; Support: the Most Important Module in &tdeprint; - -&tdeprint; contains a module for &CUPS;. &CUPS;, the -Common &UNIX; Printing System (http://www.cups.org/), is the most -advanced, powerful and flexible of all print subsystems on &UNIX; and -other &UNIX;-like operating systems. It is still quite new on the -horizon, but is based on IPP, the Internet Printing -Protocol, the newly emerging standard for the future of network -printing. &CUPS; is clearly the print system of choice for Michael -Goffioul, the principal &tdeprint; developer. - -Experienced &kde; users may already be familiar with Michael's -utilities qtcups and -kups (co-developed with Jean-Eric Cuendet). -These were, up until now, the graphical -&GUI; front ends for &CUPS; with a strong relation to &kde;. - - -<application>qtcups</application> and -<application>kups</application> — The Predecessors - -Both utilities are probably still widely used. For those -not familiar with them, -here are brief explanations. - -qtcups was a graphical front end for -the lp or lpr print commands as -installed by &CUPS;. Using qtcups opened a -dialog. This dialog let you comfortably select your printer and the -print job options. qtcups -worked from the command line, or from -within applications, when the application in question had a configurable -print command. - -kups was a graphical wrapper to do the -administration tasks for your &CUPS; server, and the &CUPS; daemon at -the heart of it. You could add, delete, modify, configure, start, and -stop printers. You could cancel, delete, move, stop and restart print -jobs, and you could change the settings of the daemon, start, stop, and -restart it. - - - - -&tdeprint; — The Heir - -The &CUPS; Module in &tdeprint; now contains all (and more) -functions that were provided by qtcups and -kups in former &kde; versions. - -Instead of qtcups you can now use the -kprinter command. And in place of -kups you will probably use -kcmshell printers from now on. - - -The &tdeprint; module for &CUPS; also lets you fully administer -the print subsystem, just like kups did -before. It can start, stop and configure your &CUPS; daemon. It can also -start, stop, add and delete printers (&ie; printer -queues) and printer instances. Printer instances are -printer queues that point to the same physical output device but with a -different default setting of print options. - - - - -&kprinter; — Graphical Print Command - -&tdeprint;'s &CUPS; module gives you access to a graphical -print command, like qtcups did -before. - -Use &kprinter; in any application, even a non-&kde; -application, that lets you configure your print command. Examples of -these are &Netscape; and StarOffice, but -not most pre-&kde; 2.2 programs. - -A screenshot how to use the new kprinter -print command instead of the old-fashioned lpr... -Of course you need to have kprinter in your -$PATH, or give the full path in the dialog; ⪚ -/opt/kde/bin/kprinter. -&Netscape; will remember this and with further print jobs you will get -the kprinter dialog to configure your printouts. - - -A screenshot of the kprinter print -command in action. - - - - - -Here's a screenshot showing how to use the new -kprinter print command -instead of the old-fashioned lp or -lpr in &Netscape;. - - - - -You can also use &kprinter; from the -command line and see the resulting dialog box pop up: - - -Screenshot of the kprinter command - - - - -Screenshot showing use of the kprinter command -from the command line. - - - -Just make sure you give at least the file to be printed -from the command line as well: kprinter -. -This will hand over the &CUPS; Software Administrator Manual to the -kprinter dialog, which will then pop up with the -default printer pre-selected. - -To pre-select a specific printer from the command line, use the - option, ⪚: -kprinter -. You -can still de-select the printer and -choose a different one. - - You cannot however call -kprinter -without a print file and hope to open a file selection -dialog box from the &kprinter; window. This is a feature that will be -implemented only in the next version. - - -Using kprinter you are able to ring -all the bells and blow all the whistles of your printer. You -will need a device-specific so-called &PPD; (&PostScript; Printer -Description) to enable &CUPS; to make this nice tandem team do this -for you. Read more about this in . - - - - - - -Plans for Future Development - -What you have now is the first, already very feature-rich -version of &tdeprint;. This version is, of course, fully usable for -printing. You might even think that it was never so -easy (not even back in the days when you had to use -&Microsoft; &Windows;). - - In the future, &tdeprint; will become even better. It will do a -better job of detecting your installed print subsystem -itself. Already &tdeprint; is doing quite well in automatically -sensing if you have &CUPS; on your system. But in many cases you will -have to tell &tdeprint; what you are using, if you want to keep a -legacy print system. - -The most important improvement in the near future will be a -completion of the LPRng plugin. This at -present is still very basic. It is restricted to the pure classical -LPD part of -LPRng. - -Also, you may be able to add printers directly from the print -dialog to your system just in time, without going to -&kcontrol; first. - -Some smaller improvements already planned are: - - -add a file selection dialog from the &kprinter; window -to allow combining of additional files to the present -printjob add a -history button to the -KJobViewer window and also a column to show -the number of pages &CUPS; calculates for the job. - - -Finally, there will be an IO slave that will give -you access to your print subsystem, via &konqueror; for example. With -this you will soon be able to browse your print subsystem from -&konqueror; through a &URL; like shortcut such as -print://printers/printername. A KPart will add -a virtual folder to the services section of the &konqueror; navigation -panel, giving a nice integrated way to browse and manage your print -system via the &URL; print:/manager. - -Please contact Michael Goffioul at tdeprint@swing.be -with any further user or developer suggestions. - - - diff --git a/doc/kdeprint/index.docbook b/doc/kdeprint/index.docbook deleted file mode 100644 index 977d9a6f4..000000000 --- a/doc/kdeprint/index.docbook +++ /dev/null @@ -1,200 +0,0 @@ - -CUPS"> - PPD"> - IPP"> - ghostscript"> - - - - - - - - - - - - - - - - - -]> - - - - -The &tdeprint; Handbook - - - -Kurt -Pfeifle - -
kpfeifle@danka.de
-
-
- - -Michael -Goffioul - -
tdeprint@swing.be
-
-Developer -
- - -Lauri -Watts - -
lauri@kde.org
-
-Reviewer -
- - - -
- - -2001 -Kurt Pfeifle - - -&FDLNotice; - -2001-08-09 -1.00.04 - - -This handbook describes &tdeprint;. &tdeprint; is not a standalone -program. It is the new printing framework for &kde; 2.2. &tdeprint; -is an intermediate layer between &kde; (or other) applications and the selected -(and installed) print subsystem of your OS (&OS;). - - - -KDE -kdebase -tdeprint -print -printing -CUPS -LPR - - -
- - -Introduction - -This handbook describes &tdeprint;. &tdeprint; is not a standalone -program. It is the new printing framework for &kde; 2.2. &tdeprint; -is an intermediate layer between &kde; (or other) applications and the selected -(and installed) print subsystem of your OS (&OS;). - -It should be noted that both the developer of this application, -and the author of this document are most familiar with &CUPS; as a -printing system. At the time of writing, &CUPS; is the best supported -printing subsystem, and it is the best documented. - -This handbook is a work in progress, and later versions of the -&tdeprint; software and editions of this handbook will support and -explore more closely other printing systems. - -In the meantime, even if your printing subsystem is not yet well -covered, you are encouraged to explore the Printing -Manager module in &kcontrol;, and you will find its -operation to hopefully be fairly self evident, no matter what printing -subsystem you use. - -Lauri Watts, &kde; documentation team - - - - -To configure your printing subsystem from &kcontrol; - -To configure your printing subsystem from &kcontrol;, go to -SystemPrinting -Manager and select your subsystem. Or you can -let &tdeprint; try to determine it... - - -&CUPS; Printing Manager dialog: overview via &kcontrol; - - - - -The dialog to configure the &CUPS; server: security -settings -Configuration of printing subsystem from -&kcontrol; - - - - - - -&tech-overview-doc; - -&highlights-doc; - -&theory-doc; - -&getting-started-doc; - -&cups-configuration-doc; - -&add-printer-wizard-2-doc; - -&cupsoptions-presently-outside-kcontrol-doc; - -&rlpr-doc; - -&lpd-doc; - -&lpr-bsd-doc; - -&lprng-doc; - -&external-command-doc; - -&extensions-doc; - -&final-word-doc; - - -Credits And Licenses - -&tdeprint; copyright 2001, Michael Goffioul -tdeprint@swing.be -&underGPL; - -Documentation copyright 2001, Kurt Pfeifle, -kpfeifle@danka.de -&underFDL; - - - - - -
- - diff --git a/doc/kdeprint/kcontrol-icon.png b/doc/kdeprint/kcontrol-icon.png deleted file mode 100644 index 8fbaacd79..000000000 Binary files a/doc/kdeprint/kcontrol-icon.png and /dev/null differ diff --git a/doc/kdeprint/kcontrolcenter-printmanager-jobcontrol-2.png b/doc/kdeprint/kcontrolcenter-printmanager-jobcontrol-2.png deleted file mode 100644 index d7132b1cd..000000000 Binary files a/doc/kdeprint/kcontrolcenter-printmanager-jobcontrol-2.png and /dev/null differ diff --git a/doc/kdeprint/kcron_to_be_printed.png b/doc/kdeprint/kcron_to_be_printed.png deleted file mode 100644 index 114b26b3c..000000000 Binary files a/doc/kdeprint/kcron_to_be_printed.png and /dev/null differ diff --git a/doc/kdeprint/kdeprint-jobviewer.png b/doc/kdeprint/kdeprint-jobviewer.png deleted file mode 100644 index 8182e4317..000000000 Binary files a/doc/kdeprint/kdeprint-jobviewer.png and /dev/null differ diff --git a/doc/kdeprint/kprinter-as-netscape-printcommand.png b/doc/kdeprint/kprinter-as-netscape-printcommand.png deleted file mode 100644 index 0780e2a80..000000000 Binary files a/doc/kdeprint/kprinter-as-netscape-printcommand.png and /dev/null differ diff --git a/doc/kdeprint/kprinter-kivio.png b/doc/kdeprint/kprinter-kivio.png deleted file mode 100644 index b36b49b89..000000000 Binary files a/doc/kdeprint/kprinter-kivio.png and /dev/null differ diff --git a/doc/kdeprint/kprinter.png b/doc/kdeprint/kprinter.png deleted file mode 100644 index f83cfcd4b..000000000 Binary files a/doc/kdeprint/kprinter.png and /dev/null differ diff --git a/doc/kdeprint/kprinter_called_from_run_command.png b/doc/kdeprint/kprinter_called_from_run_command.png deleted file mode 100644 index b02070c1d..000000000 Binary files a/doc/kdeprint/kprinter_called_from_run_command.png and /dev/null differ diff --git a/doc/kdeprint/kprinter_with_kcron_developer_special.png b/doc/kdeprint/kprinter_with_kcron_developer_special.png deleted file mode 100644 index dc9b785cf..000000000 Binary files a/doc/kdeprint/kprinter_with_kcron_developer_special.png and /dev/null differ diff --git a/doc/kdeprint/lpd.docbook b/doc/kdeprint/lpd.docbook deleted file mode 100644 index cc555e399..000000000 --- a/doc/kdeprint/lpd.docbook +++ /dev/null @@ -1,18 +0,0 @@ - -Generic <acronym>LPD</acronym> Module (&UNIX;) - - - -Overview of Provided Features - -Module used by default (on first start for example). - -Generic module that only allows sending of print jobs. No printer or -job management supported. It is made to work on a wide variety of &UNIX; -flavors: &Linux;/LPR, &HP-UX;, Solaris, &IRIX;. -It also supports some LPRng extensions (like -the absence of continuation character \ in -printcap files). - - - diff --git a/doc/kdeprint/lpr-bsd.docbook b/doc/kdeprint/lpr-bsd.docbook deleted file mode 100644 index 007fbc6e5..000000000 --- a/doc/kdeprint/lpr-bsd.docbook +++ /dev/null @@ -1,25 +0,0 @@ - -<acronym>LPR</acronym> (<acronym>BSD</acronym>) - -Plain (old?) LPR support. An -LPRng module is in development, and hopefully -available for 2.3 release. - - -Overview of Provided Features - - - -Printer management: basic support to add/remove/configure a -printer, compatible with &RedHat;-6.x systems -(printtool + rhs-printfilers packages). - - -Job management: not supported - - -Print options: basic control - - - - diff --git a/doc/kdeprint/lprng.docbook b/doc/kdeprint/lprng.docbook deleted file mode 100644 index 78db2615b..000000000 --- a/doc/kdeprint/lprng.docbook +++ /dev/null @@ -1,7 +0,0 @@ - -<application>LPRng</application> - -An LPRng module for &tdeprint; is in -development, and hopefully available for the &kde; 2.3 release. - - diff --git a/doc/kdeprint/ps-boxes.png b/doc/kdeprint/ps-boxes.png deleted file mode 100644 index a24f845a7..000000000 Binary files a/doc/kdeprint/ps-boxes.png and /dev/null differ diff --git a/doc/kdeprint/rlpr.docbook b/doc/kdeprint/rlpr.docbook deleted file mode 100644 index fab48d7bb..000000000 --- a/doc/kdeprint/rlpr.docbook +++ /dev/null @@ -1,18 +0,0 @@ - -Module Built Around <application>rlpr</application> -Utility - - -Overview of provided features - -Printer management: basic operations are supported -(add/remove/modify). - -Each user can predefine the printers he wants to use by specifying -the host and related printer queues. Printers are stored on a per -user basis. This module is built around the -rlpr utility rlpr - - - diff --git a/doc/kdeprint/steinbruch_scaled.png b/doc/kdeprint/steinbruch_scaled.png deleted file mode 100644 index 57e6fde76..000000000 Binary files a/doc/kdeprint/steinbruch_scaled.png and /dev/null differ diff --git a/doc/kdeprint/tech-overview.docbook b/doc/kdeprint/tech-overview.docbook deleted file mode 100644 index 7a81a48a2..000000000 --- a/doc/kdeprint/tech-overview.docbook +++ /dev/null @@ -1,280 +0,0 @@ - -Technical Overview - -This chapter aims to give a technical overview of &tdeprint; which -non-programmers can comprehend. - -&tdeprint; is a new and revolutionary tool to give easy access to -printing services for both &kde; users and &kde; developers. - - -A Brief Description of &tdeprint; - -You can access the functions of &tdeprint; in different ways: -through the Printing Manger in the &kcontrol;, through the -kprinter command or through the dialog that pops up -if you want to print. - - -What it is <emphasis>not</emphasis> - -&tdeprint; is not a replacement for the -printing subsystem itself. &tdeprint; does not -therefore give provision for spooling, and it does -not do the basic processing of &PostScript; or -other print data. - - - - -What it <emphasis>is</emphasis> -&tdeprint; is an intermediate layer between the spooling and the -data processing print subsystem (as installed), and the application that -seeks to print. &tdeprint; provides a common interface for &kde; -developers and &kde; users, to various supported print subsystems. At -the same time, it is customizable, and highly configurable. - -&tdeprint; is easy to use for both &kde; developers and end-users. -Developers can port their applications, with minimal changes, to use -&tdeprint; instead of the old &Qt; print system. Users -can easily choose and configure their print subsystem. - -For a reference to new &kde; users: &Qt; is the basic library and -graphical toolkit, which is used by all &kde; applications; &Qt; is -developed by TrollTech, a Norwegian software company. - - - - - - -&tdeprint; -- Different Usage for Different People - -&tdeprint; has different faces for different people. - - -What users and administrators can do with &tdeprint; - -&tdeprint; allows users and/or administrators, depending on their -rights, access to printing subsystems (&CUPS;, LPD, -RLPR, LPRng, -PDQ &etc;) through a &kde; graphical user -interface (&GUI;). Using &tdeprint;, they can print, administer jobs, -printers and the printing daemon, all in a comfortable manner. - -Experienced users will like the capability to plug any working -filter for the print data between the output of their application and -the input, into the chosen print subsystem. Some examples for this -already ship with plain vanilla &tdeprint;. Read -on. - - - - - -What &kde; developers can do with it... - -If a &kde; developer needs printing access for his application, he -does not code the printing functions from scratch. Before &kde; 2.2 this -service was provided by the QPrinter class, a -library function of the &Qt; Toolkit. The -QPrinter class relied on the out-moded -Line Printer Daemon (LPD). The -&tdeprint; library bases itself firmly on the more modern Common &UNIX; -Printing System (&CUPS;), while at the same time keeping backward -compatibility with LPD and other legacy, or less -elaborate, print systems. It also leaves the door open -for any new development that might occur. - -For &kde; developers to use the new &tdeprint; class in their -applications, they require only minimal changes to their code: for every -call of QPrinter, they just need to change this to -KPrinter. Replacing one (!) letter in a few -spots, and automatically they are done; their application can then use -all of the features of the new &tdeprint; library. - -More ambitious developers, or ones with special requirements, can -do more: despite &tdeprint;'s feature-rich framework, they are still able -to customize the print dialog of their application -by creating an additional Tab, where their -extensions to the standard &tdeprint; will feel right at home. - - -This last mentioned feature has not been used widely inside -&kde; so far, as developers are not yet fully aware of &tdeprint;'s -power. Expect more of this in the near future. One example I -discovered is the &kcron; application. It lets you edit the crontab -through a &GUI;. The developers have implemented a printing feature -that lets you (or root) -choose if you want to print the whole of crontab (for all users) or -just the part that is marked. You can see the effects on &tdeprint; -in the following screenshots. - -This shot shows a sample from the &kcron; utility. - -&kcron; utility: a small sample of a system's cronjobs as -shown through the &kde; GUI&GUI;. - - - - -The &kcron; developers let you choose to print the whole of the -cron table or just the marked part of it. - - - - -The dialog to configure &kcron;'s printing options: the -additional tab titled Cron Options is from inside -&kcron;, not &tdeprint;; it is a special extension added by the -&kcron; developers for printing purposes, not originating from, but -executed by &tdeprint;. Developers of other applications are free -to implement their own goodies, if they feel need for it. - - - -&kcron;'s addition to the &tdeprint; dialog. - - - - -&kcron;'s addition to the &tdeprint; dialog. - -&kcron;'s addition to the &tdeprint; dialog. - - - - - - - -What &tdeprint; offers to everybody... - -&tdeprint;'s easy-to-use interface for all supported print subsystems -of course does not eliminate basic traditional weaknesses of some of -those systems. But it smooths some rough edges. Different users may use -different printing systems on the same box. A user is free to even -switch on the fly, from the print dialog, the print -subsystem to be used for the next job. (This is possible if different -systems are installed in a way that they don't get in each -other's way.) - -Most &UNIX; users are used to -LPD printing. LPD provides only -basic printing functions, is very inflexible and does not utilize the -many options of more modern print systems like &CUPS;. While also -working remotely over any distance (like every TCP/IP based protocol), -LPD lacks bi-directional communication, -authentication, access control and encryption support. - -&tdeprint; can use &CUPS; to support: - - - -Querying the LAN for available printers, - - -Basic, Digest, and Certificate Authentication, - - -Access Control based on IP addresses, net -addresses, netmasks, host- and domain names, - - -and 128-Bit TLS or SSL3 encryption of print data, to prevent -eavesdropping, or at least make it much more difficult. - - - -This makes &tdeprint; a much more robust and reliable solution -than using the venerable LPD. - - - -How to access &tdeprint; - -You get access to &tdeprint;, or parts of it, in four different -ways: - - -through your applications: if you call the printing -dialog (either File -Print...) or the button with the -little printer icon on it; this opens the printing -dialog. - -through the typed command kprinter -in a terminal or a &konsole; window or from -the Run Command... mini-CLI -window: this also opens the printing dialog. - -from the - button, starting &kcontrol;, and then go to -SystemPrinting -Manager. This opens the &tdeprint; -administration which is part of the &kcontrolcenter; and also lets -you switch to other parts of the &kcontrol; - -from a command line (&konsole; or -mini-CLI) type -kcmshell . -This opens just the &tdeprint; part of &kcontrol; to change your settings - - - -&kprinter; dialog to be started from Run Command... window - - - - -Starting the &kprinter; dialog from -a Run Command... window. -Starting the &kprinter; dialog from a Run -Command... window. - - - - Here is a -&kivio; drawing of the &kprinter; dialog as it pops up after being -started... You can always add a new printer by clicking on the small -Wizard button (marked red/yellow in this -drawing). - - -&kprinter; dialog started (&kivio; draft drawing) - - - - - -&kprinter; dialog started (&kivio; draft drawing) -&kprinter; dialog started (&kivio; draft -drawing) - - - - - - - - - - diff --git a/doc/kdeprint/theory.docbook b/doc/kdeprint/theory.docbook deleted file mode 100644 index 7b137f1c3..000000000 --- a/doc/kdeprint/theory.docbook +++ /dev/null @@ -1,690 +0,0 @@ - -Some Theoretical Background: &CUPS;, <acronym>IPP</acronym>, -&PostScript; and <application>Ghostscript</application> - -This chapter aims to give a bit of theoretical background to -printing in general, and to &CUPS; especially. If you are not in need -of this, you might like to skip ahead to the next chapter. Chances are you will -come back to this chapter at some point anyway, because sometimes one -needs extra theory to solve a practical problem. - - -Basics About Printing - -Printing is one of the more complicated chapters in -IT technology. - - -Earlier on in history, every developer of a program that was -capable of producing printable output had to write his own printer -drivers too. That was quite complicated, because different programs -have different file formats. Even programs with the same purpose, for -example: word processors, often do not understand each other's formats. -There was therefore no common interface to all printers, hence the -programmers often supported only a few selected models. - -A new device appearing on the market required the program authors -to write a new driver if they wanted their program to support it. Also -for manufacturers, it was impossible to make sure their device was -supported by any program known to the world (although there were far -fewer than today). - -Having to support ten application programs and a dozen printers, -meant a system administrator had to deal with 120 drivers. So the -development of unified interfaces between programs and printers became -an urgent need. - -The appearance of Page Description Languages, -describing the graphical representation of ink and toner on sheets of -paper (or other output devices, like monitors, photo typesetters, &etc;) -in a common way, was a move that filled a big gap. - -One such development was &PostScript; by Adobe. It meant that an -application programmer could concentrate on making his program generate -a &PostScript; language description of his printable page, while -printing device developers could focus on making their devices -&PostScript; literate. - -Of course, over time, there came the development of other description -methods. The most important competitors to &PostScript; were -PCL (Print Control Language, from -&Hewlett-Packard;), ESC/P (from Epson) and -GDI (Graphical Device Interface from -&Microsoft;). - -The appearance of these page description languages made life easier, -and facilitated further development for everybody. Yet the fact that there -still remained different, incompatible, and competing page description -languages keeps life for users, administrators, developers and -manufacturers difficult enough. - - -&PostScript; in memory - Bitmaps on Paper - -&PostScript; is most heavily used in professional printing -environments such as PrePress and printing service industries. In the -&UNIX; and &Linux; domains, &PostScript; is the predominant standard -as a PDL. Here, nearly every program generates a -&PostScript; representation of its pages once you push the -Print button. Let us look at a simple example of -(hand-made) &PostScript; code. The following listing describes two -simple drawings: - - -&PostScript; Code -%!PS -100 100 moveto -0 50 rlineto -50 0 rlineto -0 -50 rlineto -closepath -.7 setgray fill -% first box over; next -160 100 moveto -0 60 rlineto -45 10 rlineto -0 -40 rlineto -closepath -.2 setgray fill - - -This tells the imaginary &PostScript; pen to draw -a path of a certain shape, and then fill it with different shades of -gray. The first part translates into more comprehensive English as -Go to coordinate (100,100), draw a line with length 50 upward; -then one from there to the right, then down again, and finally close -this part. Now fill the drawn shape with 70% darkness gray. - - -Rendered &PostScript; - - - - - - example rendered as an -image. - - - - -Of course, &PostScript; can be much more complicated than this -simplistic example. It is a fully fledged programming language with -many different operators and functions. You may even write -&PostScript; programs to compute the value of Pi, format a hard disk or -write to a file. The main value and strength of &PostScript; however -lies in the field to describe the layout of graphical objects on a -page: it also can scale, mirror, translate, transform, rotate and -distort everything you can imagine on a piece of paper -- such as -letters in different font representations, figures, shapes, shades, -colors, lines, dots, raster... - -A &PostScript; file is a representation of one or more pages -to be printed, in a relatively abstract way. Ideally, it is meant -to describe the pages in a device-independent way. &PostScript; is -not directly visible; it only lives on hard disks -and in RAM as a coded representation of -future printouts. - - - - -Raster Images on Paper Sheets - -What you see on a piece of paper is nearly always a -raster image. Even if your brain suggests to you that -your eyes see a line: take a good magnifying glass and you will -discover lots of small dots... (One example to the contrary are -lines that have been drawn by pen plotters). And that -is the only thing that the marking engines of today's -printers can put on paper: simple dots of different colors, size and -resolution, to make up a complete page image composed of -different bitmap patterns. - -Different printers need the raster image prepared in different -ways. Thinking about an inkjet device: depending on its resolution, -the number of inks used (the very good ones need 7 different inks, while -cheaper ones might only use 3), the number of available jets (some print -heads have more than 100!) dispensing ink simultaneously, the -dithering algorithm used, and many other things, the -final raster format and transfer order to the marking engine is heavily -dependent on the exact model used. - -Back in the early life of the Line Printer Daemon, -printers were machines that hammered rows of ASCII -text mechanically on to long media, folded as a zig-zag paper -snake, drawn from a cardboard box beneath the -table... What a difference from today! - - - - - -<acronym>RIP</acronym>: From &PostScript; to Raster - -Before the final raster images are put on paper cut-sheets, they -have to be calculated somehow out of their abstract &PostScript; -representation. This is a very computing-intensive process. It is called -the Raster Imaging Process, more commonly -RIP). - -With &PostScript; printers the RIP-ping is -taken care of by the device itself. You just send the &PostScript; -file to it. The Raster Imaging Processor (also called the -RIP) inside the printer is responsible (and -specialized) to fulfill quite well this task of interpreting the -&PostScript;-page descriptions and put the raster image on paper. - -Smaller &PostScript; devices have a -hardware-RIP built in; it is etched in silicon, on a -special chip. Big professional printers often have their -RIP implemented as a software-RIP -inside a dedicated fast &UNIX; run computer, often a Sun SPARC Solaris -or a &SGI; &IRIX; machine. - - - - -<application>Ghostscript</application> as a Software -<acronym>RIP</acronym> - -But what happens, if you are not lucky enough to have a -&PostScript; printer available? - -You need to do the RIP-ing before you send -the print data to the marking engine. You need to digest the &PostScript; -generated by your application on the host machine (the print client) -itself. You need to know how the exact raster format of the target -printer's marking engine must be composed. - -In other words, as you can't rely on the printer to understand -and interpret the &PostScript; itself, the issue becomes quite a bit -more complicated. You need software that tries to solve for you the -issues involved. - -This is exactly what the omnipresent &ghostscript; package is -doing for many &Linux;, *BSD and other &UNIX; boxes that need to print -to non-&PostScript; printers: &ghostscript; is a &PostScript; -interpreter, a software RIP capable of running many -different devices. - - - - -<quote>Drivers</quote> and <quote>Filters</quote> in General - -To produce rasterized bitmaps from &PostScript; input, the -concept of filters is used by &ghostscript;. There are -many different filters in &ghostscript;, some of them specialized for -a certain model of printer. &ghostscript; filterspecializedin devices -have often been developed without the consent or support of the -manufacturer concerned. Without access to the specifications and -documentation, it was a very painstaking process to reverse engineer -protocols and data formats. - -Not all &ghostscript; filters work equally well for their -printers. Yet, some of the newer ones, like the -stp Filter of the -Gimp Print project, produce excellent -results leading to photographic quality on a par or even superior to -their &Microsoft; &Windows; driver counterparts. - -&PostScript; is what most application programs produce for -printing in &UNIX; and &Linux;. Filters are the true workhorses of -any printing system there. Essentially they produce the right bitmaps -from any &PostScript; input for non-&PostScript; target -engines. - - - - -Drivers and Filters and Backends in CUPS - -&CUPS; uses its own filters, though the filtering system is -based on Ghostscript. Namely the pstoraster and the imagetoraster -filters are directly derived from Ghostscript code. &CUPS; has -reorganized and streamlined the whole mechanics of this legacy code -and organized it into a few clear and distinct modules. - -This next drawing (done with the help of &kivio;) gives an -overview of the filters and backends inside &CUPS; and how they fit -together. The flow is from top to bottom. Backends -are special filters: they don't convert date to a different format, -but they send the ready files to the printer. There are different -backends for different transfer protocols. - - -&kprinter; dialog started (&kivio; draft drawing) - - - - - -&kprinter; dialog started (&kivio; draft -drawing) - - - - - -Spoolers and Printing Daemons - -Besides the heavy part of the filtering task to generate a -print-ready bitmap, any printing software needs to use a SPOOLing -mechanism: this is to line up different jobs from different users for -different printers and different filters and send them accordingly to -the destinations. The printing daemon takes care of all this. - -This daemon is keeping the house in order: it is also -responsible for the job control: users should be allowed to cancel, -stop, restart, &etc; their jobs (but not other peoples's jobs) and so -on. - - - - - - - - -Excursion: How <quote>CUPS</quote> uses the power of -&PPD;s - -Now that you know how a &PostScript; language file (which -describes the page layout in a largely device independent way) is -transformed into a Raster Image, you might ask: -Well, there are different kinds of raster output devices: first -they differ in their resolution; then there are the different paper -sizes; it goes on with many finishing options (duplex prints, -pamphlets, punched and stapled output with different sheets of colored -paper being drawn from different trays, &etc;). How does this fit into -our model of device-independent &PostScript;? - -The answer comes with so called &PostScript; Printer Description -(&PPD; files. A &PPD; describes all the device dependent features -which can be utilized by a certain printer model. It also contains -the coded commands that must be used to call certain features of the -device. But &PPD;s are not a closed book, they are simple -ASCII text files. - -&PPD;s were invented by Adobe to make it easy for -manufacturers to implement their own features into &PostScript; -printers, and at the same time retain a standard way of doing so. -&PPD;s are well documented and described by Adobe. Their -specification is a de-facto open standard. - - -Device Dependent Print Options - -Remember, advanced &PostScript; printing was originally only -developed for use on &Microsoft; &Windows; and Apple &Mac; systems. -For a long time, all of the feature rich printing on modern devices -was simply unavailable for &Linux; and &UNIX;. &CUPS; changes this -decisively. &CUPS; is closely tied with &PPD;s, and therefore existing -&PPD;s can be utilized to the full by all systems powered by -&CUPS;. - -Using &PPD;s, printer manufacturers were able to insert -device-specific hardware features into their products, for features such -as duplexing, stapling, punching, finishing, &etc;. The printer drivers -load this &PPD; just like an additional configuration file. Thus the -printer driver learns about the available device options and how to -call them; the driver also presents them in a &GUI; to the user. Through -this mechanism you are still able to print -device-independent &PostScript; page description -language files and specify device-dependent finishing options on top, -which are added to the application-generated &PostScript;. - - - - -Where to get the &PPD;s for &PostScript; Printers - -&PPD;s originally were not used routinely in &UNIX; and &Linux; -systems. The vendors providing those &PPD;s never intended them for -anything other than the originally supported &OS;s: &Microsoft; &Windows; and -&MacOS;. Through its brilliant move to fully support and utilize -the existing &PPD; specification, &CUPS; now gives the power to use -all features of modern printers to users of &Linux; and &Linux;-like -systems. &tdeprint; makes its usage even more comfortable than the -&CUPS; developers ever dreamed of. - -&CUPS; can use original &Windows; &PPD;s, distributed by the -vendors in the case of &PostScript; printers. Those normally don't -cost any money, and they can be grabbed from any &Windows; computer -with an installed &PostScript; driver for the model concerned, or from -the disks provided with the printer. There are also several places on -the web to download them. - - - - -How Special &PPD;s are Now Useful Even For Non-&PostScript; -Printers. - -Now you know how &PostScript;-Printers can use &PPD;s. But what -about non-&PostScript; printers? &CUPS; has done a very good trick: by -using the same format and data structure as the &PostScript; Printer -Descriptions (&PPD;s) in the &PostScript; world, it can describe the -available print job options for non-&PostScript; printers just the -same. For its own special purposes &CUPS; just added a few special -options (namely the line which defines the filter to be used for -further processing of the &PostScript; file). - -So, the developers could use the same software engine to parse -the Printer Description Files for available options for all sorts of -printers. Of course the &CUPS; developers could not rely on the -non-&PostScript; hardware manufacturers to suddenly develop &PPD;s. -They had to do the difficult start themselves and write them from -scratch. More than 1000 of these are available through the commercial -version of &CUPS;, called ESP -PrintPro. - -Meanwhile there are a lot of &CUPS;-specific &PPD;s available. -Even now those are in most cases not originating from the printer -manufacturers, but from Free software developers. The &CUPS; folks -proofed it, and others followed suit: where &Linux; and &UNIX; -printing one or two years ago still was a kludge, it is now able to -support a big range of printers, including 7-color inkjets capable of -pushing them to Photo Quality output. - - - - -Different Ways to get &PPD;s for non-&PostScript; -Printers - -You can get &PPD;s to be used with &CUPS; and non-&PostScript; -printers from different areas in the Web: - - - - first, there is the repository at www.linuxprinting.org, -which lets you generate a CUPS-O-Matic-&PPD; online for -any printer that had been supported by traditional &ghostscript; -printing already. This helps you to switch over to &CUPS; with little -effort, if you wish so. If your printer was doing well with the -traditional way of &ghostscript; printing, take CUPS-O-Matic to plug -your driver into th e &CUPS; system and you'll have the best of both -worlds. - - - -second, there are &CUPS;-&PPD;s for the more than 120 printer -models, which are driven by the new universal -stp driver. stp -(stood originally for Stylus Photo) is now developed by the gimp-print -project; it was started by Mike Sweet, the leading &CUPS; developer -and is now available through gimp-print.sourceforge.net. -This driver prints real Photo quality on many modern inkjets and can -be configured to make 120 &CUPS;-&PPD;s along its own -compilation. &HP; Laser- and DeskJet, Epson Stylus and Photo Color models as -well as some Canon and -Lexmark are covered. - - - -third, there is the commercial extension to &CUPS; from the -&CUPS; developers themselves: it is called ESP -PrintPro and comes with more than 2.300 printer -drivers. There are even improved imagetoraster and pstoraster filters -included. - - - -&CUPS; makes it really easy for manufacturers to start -supporting &Linux; and &UNIX; printing for their models at reasonably -low cost. The modular framework of &CUPS; facilitates to plug in any -filter (=driver) with minimal effort and to access and utilize the -whole printing framework that &CUPS; is creating. - -Read more about the exciting &CUPS; features in the available -&CUPS; documentation at http://www.cups.org/documentation.html -and http://www.danka.de/printpro/faq.html. -Also at http://www.linuxprinting.org/ -is a universal repository for all issues related to &Linux; and &UNIX; -printing. - - - - - - -How &IPP; Support Makes &CUPS; the Best Choice Around - - -<quote><acronym>LPD</acronym> Must Die!</quote> - -For a long time many developers were deeply dissatisfied with good -old LPD. Quite a few new projects were started to -improve printing: LPRng is the best known -example. Others are PDQ, PPR, -PLP, GNUlpr and -RLPR. But none of the new programs were seen as a -big shot; most of them are just implementing the same old -LPD specification with a few (or many) new -extensions, which again make them incompatible with each other. - -Having seen the development of not just one, but different -viable alternatives to venerable BSD-style -LPD, Grant Taylor, author of the Linux -Printing HOWTO, finally rallied the call LPD -Must Die! in his Campaign To Abolish The Line -Printer Daemon. - - - - - - -How the &IPP; Came to Be - -Along with the above, on the industry side of things, there were -efforts to overcome the well-known weaknesses of -LPD. It started with proprietary extensions to -plain old LPD, and stretched as far as -&Hewlett-Packard;'s attempt to establish &HP; JetDirect as a new -standard for a network printing protocol. The result were even more -incompatibilities. - -In the end, an initiative to define a new common industry and -IETF standard took shape. The Printer -Working Group or PWG, a loose aggregation -of vendors in hardware, software, and operating systems, drafted the -new Internet Printing Protocol, &IPP;. &IPP; v1.1 has -now been approved by the IETF (Internet Engineering -Task Force) as a proposed standard, and now enjoys the unanimous -support throughout the industry in Europe, USA and Japan. Most -current network printer models have now built in &IPP; support on top -of traditional LPR/LPD or -JetDirect Printing. - - - - -Why &IPP; is Solving Many Problems - -&IPP; promises to solve a lot of problems network administrators -face. This trade normally deals with heterogeneous network -environments and spends more than half of its working hours dealing -with printing problems. - -By creating a unified set of query functions for &IPP; enabled -printers and servers, for transferring files and setting job-control -attributes &etc;, &IPP; is destined to work across all &OS; platforms. -It's rollout however, will not happen overnight, as many legacy print -devices will still be in use for many years to come. Therefore, in -&IPP; there is a provision made for backwards compatibility of all -&IPP; implementations. &CUPS; is proving the viability of &IPP; -printing in all environments. - -The most striking advantage will be it's integration into the -existing set of other robust IP protocols. Being -an extension of the proven and robust HTTP 1.1 -protocol, for the special task of handling print file and related -data, it is also very easy to plug in other standards as they are -being developed and deployed: - - - -Basic, Digest, and Certificate Authentication for users seeking -access to print services. - - -SSL3 and TLS encryption for transferring -data. - - -Bi directional communication of clients with print devices, using -the HTTP/&IPP; GET and -POST mechanism. - - -LDAP directory service integration to keep a consistent database -of available printers, their capabilities and page-costs, &etc;, as well -as user passwords, ACLs &etc;. - - -Pull (as opposed to the usual Push -model) printing, where a server or printer just needs to be told the -&URL; of a document, whereupon it is retrieved from the resource on the -internet and printed. - - - - - - - - -Printer <quote>Plug'n'Play</quote> for Clients - -Have you ever seen a demonstration about &CUPS; capabilities in -the network? You must have been quite impressed if you didn't know in -advance what to expect. - -Imagine you as the administrator of a LAN. For -testing purposes you fully installed one &kde;/&CUPS; box on your net, -complete with a dozen printers configured and functional: -&PostScript;, LaserJets, InkJets and BubbleJets, and so on. Your -&kde; users on that box are very happy, they can print like never -before, ringing all the bells and whistles of every -printer. It took you 2 hours to make everything run perfectly... and -now all the other 100 users on the network want the same. Two hours -again for every box? No way you could do that before next year, you -think? - -Wrong. Just change one setting in the original &CUPS; box to -make it a server. Install &CUPS; on five other boxes, -as clients. By the time you turn back to your first -client, you find the users happily playing with the settings for the -dozen printers you had defined earlier on the server. -Somehow magically the printers had appeared on all the -Print dialogs of the five new &CUPS; client -boxes. - -Your users print, but not a single driver had been installed on -the clients, nor a printer queue defined. - -So, how does this magic work? - - - - -<quote>Seeing</quote> Printers Not Installed Locally? - -The answer is not complicated at all. - -If a &CUPS; server is on the LAN, it -broadcasts the names of all available printers to the -LAN, using the UDP protocol and -port 631. Port 631 is reserved as a well-known port by -IANA (the Internet Assigning Numbers -Authority) for &IPP; purposes. All &CUPS; clients listen to -&CUPS; server info sent to their port 631. That's how they know about -available printers, and that's how they learn about the -path to the printers as well. - -Using &IPP;, which is really a clever extension to -HTTP v1.1, &CUPS; is able to address all objects -related to the printing system via Universal Resource -Locators or URLs. Print jobs to be deleted -or restarted, printers to be queried or modified, admin tasks to be -performed on the server, with &IPP; and &CUPS;, everything is -addressable by a certain URL. Many important -things can be done through the web interface to &CUPS;, accessible for -example with &konqueror;. - - - - -Printing Without Installing a Driver - -And more, the clients basically can administer -and use any printer they see, just as if it was a -locally installed one. Of course, you can set restrictions on it with -access control lists &etc;, so that not any -clients may use any printer as it likes. - -The clients even are able to print without the appropriate filter -(or driver) installed locally. - -So how does this work? If a client wants to know about and -select printer-specific options, it sends a request (called -CUPS-get-ppd) to the server. The server tells the -client all about all printer-specific options, as read from the server -side &PPD;. The user on the client side can see the options and -select the required ones. He then sends the print file, usually -unfiltered raw &PostScript;, spiced up with the -printer-options to the printer server, using &IPP; as the transport -protocol. All further processing, especially the filtering to -generate the final format for the target printer, is then done by the -server. The server has the necessary programs (drivers -or filters) to do this. - -This way a client prints without needing to install a driver -locally. - -Any change on the server, such as adding or modifying a printer, -is instantly known to the clients with no further -configuration. - - - - -<quote>Zero Administration</quote>, Load Balancing, and -<quote>Failover Switching</quote> - -Some other advanced features built into &CUPS; are the capacity to -do load balancing. - -If you define the same printer queues on two or more different -servers, the clients will send their jobs to the first responding or -available server. This implies an automatic load balancing amongst -servers. If you have to take one server off the network for -maintenance, the others will just take over its tasks without the users -even noticing the difference. - - - - - - diff --git a/doc/kdesu/CMakeLists.txt b/doc/kdesu/CMakeLists.txt deleted file mode 100644 index 9c562330f..000000000 --- a/doc/kdesu/CMakeLists.txt +++ /dev/null @@ -1,12 +0,0 @@ -################################################# -# -# (C) 2010-2011 Serghei Amelian -# serghei (DOT) amelian (AT) gmail.com -# -# Improvements and feedback are welcome -# -# This file is released under GPL >= 2 -# -################################################# - -tde_create_handbook( DESTINATION tdesu ) diff --git a/doc/kdesu/Makefile.am b/doc/kdesu/Makefile.am deleted file mode 100644 index bafa3f6c3..000000000 --- a/doc/kdesu/Makefile.am +++ /dev/null @@ -1,5 +0,0 @@ - -KDE_LANG = en -KDE_DOCS = AUTO -KDE_MANS = AUTO - diff --git a/doc/kdesu/index.docbook b/doc/kdesu/index.docbook deleted file mode 100644 index 81c71cf17..000000000 --- a/doc/kdesu/index.docbook +++ /dev/null @@ -1,320 +0,0 @@ - - - - - -]> - - - - -The &tdesu; handbook - - -&Geert.Jansen; &Geert.Jansen.mail; - - - - -2000 -&Geert.Jansen; - - -&FDLNotice; - -2005-06-07 -1.00.00 - - -&tdesu; is a graphical front end for the &UNIX; -su command. - - -KDE -su -password -root - - - - - -Introduction - -Welcome to &tdesu;! &tdesu; is a graphical front end for the -&UNIX; su command for the K Desktop Environment. -It allows you to run a program as different user by supplying the -password for that user. &tdesu; is an unprivileged program; it uses -the system's su. - -&tdesu; has one additional feature: it can remember passwords -for you. If you are using this feature, you only need to enter the -password once for each command. See for more information on this and a -security analysis. - -This program is meant to be started from the command line or -from .desktop files. Although it asks for the -root password using a &GUI; -dialog, I consider it to be more of a command line <-> &GUI; -glue instead of a pure &GUI; program. - - - - -Using &tdesu; - -Usage of &tdesu; is easy. The syntax is like this: - - -tdesu - - - - file - icon name - - priority - - - - -user - - -command arg1 - arg2 - - - -tdesu -&kde; Generic Options -Qt Generic Options - - -The command line options are explained below. - - - - -This specifies the program to run as root. It has to be passed -in one argument. So if, for example, you want to start a new file manager, you -would enter at the prompt: tdesu - - - -Show debug information. - - - -This option allow efficient use of &tdesu; in -.desktop files. It tells &tdesu; to examine the -file specified by file. If this file is -writable by the current user, &tdesu; will execute the command as the -current user. If it is not writable, the command is executed as user -user (defaults to root). -file is evaluated like this: if -FILE starts with a /, it is -taken as an absolute filename. Otherwise, it is taken as the name of a -global &kde; configuration file. For example: to configure the K display -manager, kdm, you could issue -tdesu - - - icon name -Specify icon to use in the password dialog. You may specify -just the name, without any extension. -For instance to run kfmclient and show the -&konqueror; icon in the password dialog: -tdesu kfmclient - - - - - -Do not keep the password. This disables the keep -password checkbox in the password dialog. - - - priority - -Set priority value. The priority is an arbitrary number between 0 and -100, where 100 means highest priority, and 0 means lowest. The default is -50. - - - - -Use realtime scheduling. - - - - - -Stop the tdesu daemon. See . - - - -Enable terminal output. This disables password keeping. This is -largely for debugging purposes; if you want to run a console mode app, use the -standard su instead. - - - user -While the most common use for &tdesu; is to run a command as -the superuser, you can supply any user name and the appropriate -password. - - - - - - - - -Internals - - -X authentication - -The program you execute will run under the root user id and will -generally have no authority to access your X display. &tdesu; gets -around this by adding an authentication cookie for your display to a -temporary .Xauthority file. After the command -exits, this file is removed. - -If you don't use X cookies, you are on your own. &tdesu; will -detect this and will not add a cookie but you will have to make sure -that root is allowed to access to your display. - - - - -Interface to <command>su</command> - -&tdesu; uses the sytem's su for acquiring -priviliges. In this section, I explain the details of how &tdesu; does -this. - -Because some su implementations (&ie; the one -from &RedHat;) don't want to read the password from -stdin, &tdesu; creates a pty/tty pair and executes -su with it's standard filedescriptors connected to -the tty. - -To execute the command the user selected, rather than an -interactive shell, &tdesu; uses the argument with -su. This argument is understood by every shell that -I know of so it should work portably. su passes -this argument to the target user's shell, and the -shell executes the program. Example command: su . - -Instead of executing the user command directly with -su, &tdesu; executes a little stub program called -tdesu_stub. This stub (running as the -target user), requests some information from &tdesu; over the pty/tty -channel (the stub's stdin and stdout) and then executes the user's -program. The information passed over is: the X display, an X -authentication cookie (if available), the PATH and the -command to run. The reason why a stub program is used is that the X -cookie is private information and therefore cannot be passed on the -command line. - - - - -Password Checking - -&tdesu; will check the password you entered and gives an error -message if it is not correct. The checking is done by executing a test -program: /bin/true. If this succeeds, the -password is assumed to be correct. - - - - -Password Keeping - -For your comfort, &tdesu; implements a keep -password feature. If you are interested in security, you -should read this paragraph. - -Allowing &tdesu; to remember passwords opens up a (small) -security hole in your system. Obviously, &tdesu; does not allow -anybody but your user id to use the passwords, but, if done without -caution, this would lowers root's security level to that of a -normal user (you). A hacker who breaks into your account, would get -root access. &tdesu; tries -to prevent this. The security scheme it uses is, in my opinion at -least, reasonably safe and is explained here. - -&tdesu; uses a daemon, called -tdesud. The daemon listens to a &UNIX; -socket in /tmp for commands. The mode of the -socket is 0600 so that only your user id can connect to it. If -password keeping is enabled, &tdesu; executes commands through this -daemon. It writes the command and root's password to the socket and the -daemon executes the command using su, as describe -before. After this, the command and the password are not thrown -away. Instead, they are kept for a specified amount of time. This is -the timeout value from in the control module. If another request for -the same command is coming within this time period, the client does -not have to supply the password. To keep hackers who broke into your -account from stealing passwords from the daemon (for example, by -attaching a debugger), the daemon is installed set-group-id -nogroup. This should prevent all normal users (including you) from -getting passwords from the tdesud -process. Also, the daemon sets the DISPLAY environment -variable to the value it had when it was started. The only thing a -hacker can do is execute an application on your display. - -One weak spot in this scheme is that the programs you execute -are probably not written with security in mind (like setuid -root programs). This means -that they might have buffer overruns or other problems and a hacker -could exploit those. - -The use of the password keeping feature is a tradeoff between -security and comfort. I encourage you to think it over and decide for -yourself if you want to use it or not. - - - - - -Author - -&tdesu; - -Copyright 2000 &Geert.Jansen; - -&tdesu; is written by &Geert.Jansen;. It is somewhat based on -Pietro Iglio's &tdesu;, version 0.3. Pietro and I agreed that I will -maintain this program in the future. - -The author can be reached through email at &Geert.Jansen.mail;. -Please report any bugs you find to me so that I can fix them. If you -have a suggestion, feel free to contact me. - -&underFDL; -&underArtisticLicense; - - - - - - diff --git a/doc/kdesu/man-kdesu.1.docbook b/doc/kdesu/man-kdesu.1.docbook deleted file mode 100644 index fd99812fd..000000000 --- a/doc/kdesu/man-kdesu.1.docbook +++ /dev/null @@ -1,179 +0,0 @@ - - -]> - - - -KDE User's Manual -&Lauri.Watts; &Lauri.Watts.mail; -Jun 7, 2005 -K Desktop Environment - - - -tdesu -1 - - - -tdesu -Runs a program with elevated privileges - - - - -tdesu - - - - file - icon name - - priority - - - - -user - - -command arg1 - arg2 - - - -tdesu -KDE Generic Options -Qt Generic Options - - - - -Description -&tdesu; is a graphical front end for the -&UNIX; su command for the K Desktop Environment. -It allows you to run a program as different user by supplying the -password for that user. &tdesu; is an unprivileged program; it uses -the system's su. - -&tdesu; has one additional feature: it can optionally remember passwords -for you. If you are using this feature, you only need to enter the -password once for each command. - -This program is meant to be started from the command line or -from .desktop files. - - - -Options - - - - -This specifies the program to run as root. It has to be passed -in one argument. So if, for example, you want to start a new file manager, you -would enter at the prompt: tdesu - - - -Show debug information. - - - -This option allow efficient use of &tdesu; in -.desktop files. It tells &tdesu; to examine the -file specified by file. If this file is -writable by the current user, &tdesu; will execute the command as the -current user. If it is not writable, the command is executed as user -user (defaults to root). -file is evaluated like this: if -file starts with a /, it is -taken as an absolute filename. Otherwise, it is taken as the name of a -global &kde; configuration file. For example: to configure the K display -manager, kdm, you could issue -tdesu - - - icon name -Specify icon to use in the password dialog. You may specify -just the name, without any extension. - - - - - -Do not keep the password. This disables the keep -password checkbox in the password dialog. - - - priority - -Set priority value. The priority is an arbitrary number between 0 and -100, where 100 means highest priority, and 0 means lowest. The default is -50. - - - - -Use realtime scheduling. - - - - - -Stop the tdesu daemon. This is the daemon that caches -successful passwords in the background. This feature may also be disabled with - when &tdesu; is initially run. - - - -Enable terminal output. This disables password keeping. This is -largely for debugging purposes; if you want to run a console mode app, use the -standard su instead. - - - user -While the most common use for &tdesu; is to run a command as -the superuser, you can supply any user name and the appropriate -password. - - - - - - - - -See Also -su(1) - -More detailed user documentation is available from help:/tdesu -(either enter this URL into &konqueror;, or run -khelpcenter -help:/tdesu). - - - - -Examples -Run kfmclient as user jim, and show the &konqueror; icon in the -password dialog: -tdesu kfmclient - - - - -Authors -&tdesu; was written by -GeertJansen jansen@kde.org -and PietroIglio -iglio@fub.it. - - - - diff --git a/doc/tdeprint/CMakeLists.txt b/doc/tdeprint/CMakeLists.txt new file mode 100644 index 000000000..3a1f95d9e --- /dev/null +++ b/doc/tdeprint/CMakeLists.txt @@ -0,0 +1,12 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +tde_create_handbook( DESTINATION tdeprint ) diff --git a/doc/tdeprint/Makefile.am b/doc/tdeprint/Makefile.am new file mode 100644 index 000000000..e786da562 --- /dev/null +++ b/doc/tdeprint/Makefile.am @@ -0,0 +1,3 @@ + +KDE_LANG = en +KDE_DOCS = AUTO diff --git a/doc/tdeprint/add-printer-wiz.docbook b/doc/tdeprint/add-printer-wiz.docbook new file mode 100644 index 000000000..28d5791d2 --- /dev/null +++ b/doc/tdeprint/add-printer-wiz.docbook @@ -0,0 +1,290 @@ + +The <quote>Add Printer Wizard</quote> for &CUPS; + +Clicking on the leftmost icon on the toolbar + + in the upper part of the window starts the +Add Printer Wizard. + +This wizard steps you through various screens to install a new +printer. At present this Wizard works for &CUPS; and the +RLPR environment module. The number of steps depend +on the actual print-subsystem which is active and available to you on +your box. + + +Starting + +The welcome screen informs you that you can go back any time to +change a setting. + + +The &tdeprint; wizard introduction screen + + + + +The introduction screen of the printer wizard + + + + + +Backend Selection + +Choose the backend protocol that &CUPS; is supposed to +use with your new printer. There are: + + + +local printer (serial, parallel, USB) + + +remote LPD queue + + +SMB shared printer (&Windows;) + + +Network Printer (TCP, &HP; JetDirect, +AppSocket) + + +Network printer with &IPP; (&IPP;/HTTP) + + +File printer + + +serial fax /modem printer + + +Class of Printers + + + +If some choices are grayed out, they are not available. For +example, you may have no FAX backend software or no modem installed to +use it. + + +Choosing your Printer system + + + + +Choosing your Printer System + + + + + + +Direct Network Setting + +The contents of your next screen is dependent on your choice in +the previous screen. If you know the details, just type them in to +configure your network settings directly. + +In other cases the wizard can scan the network for you, to help you +decide which setting could be useful. + + +&tdeprint; wizard network scan + + + + +In the &tdeprint; wizard, you can enter network details +directly, or you can scan the network +automatically. + + + + + +Information Retrieval by Scanning the Network + +If you use one of the network connections (remote +LPD, SMB, remote &CUPS;, network +printer with &IPP;), you have an option for scanning the network. Be careful +when applying this; in some environments network scanning is considered +to be hostile and harmful! + +In the case of SMB, &tdeprint; will use the +Samba utilities nmblookup and +smbclient (which need to be installed for this to +work) to retrieve the information it presents in a tree +structure. + +In the case of &IPP; (Port 631) and TCP +Network/AppSocket (Port 9100) &tdeprint; will try to open the port and, +if successful, send an ipp-get-printer-attribute +request to the printer. For newer &HP; printers the latter usually +works, because they support both AppSocket and &IPP;. + +Some printers or manufacturers use other port numbers for direct +TCP/IP printing. You may need to look up which one to use. The +Settings button in the dialog lets you configure +your scan, including IP addresses, ports and +timeout to use. + +Once again: be careful not to be mistaken for an intruder on +your network, if you use the scanning technique. + + +&tdeprint; wizard network configuration dialog + + + + +In the &tdeprint; wizard, you can enter parameters to have the +wizard scan parts of your network. + + + + + +Printer Model Selection + +The hardest part is probably the Printer Model +Selection. In former years the situation was difficult, because +there were hardly any drivers to find. The difficulty now is there are too +many; though some of them are very good, many are quite broken. + +If you have a current database of available drivers +on your system, select the manufacturer in the left part of the window +first, then the device model in the right part. This split window shows +all &PPD;s found by &CUPS; in its standard repository of installable +&PPD;s. This repository normally is /usr/share/cups/model/. If you want your +driver to be found automatically by &CUPS; and &tdeprint;, place it in +there. + + + + + + +Driver Selection + +On the next screen you will see a description of the driver +selected previously. This description is extracted from the actual &PPD; +used. + + +For a real &PostScript; printer never try to +install a Foomatic or Gimp-Print &PPD;, +even if it is offered. You won't be happy with it. Instead find the +original &PPD; from the manufacturer, preferably the one written for +&Windows; NT and use it. + + +Some &Linux; distributions have supplied for &CUPS; every +possible combination of Ghostscript filters +and foomatic &PPD; files they could find on the net. +Many of these are quite useless; they were generated a year ago, when +the people at www.linuxprinting.org began +their first experiments with supplying third party &PPD;s for +&CUPS;. Although dubbed Alpha at the time, these +started to take on a life of their own and can now be found at various +places on the net, doing &CUPS; no favors. + +If you are not sure which ones to use go to: + + + +http://www.linuxprinting.org + + + + + +http://www.cups.org + + + + +And ask for help. At a later stage, a document detailing the +differences between the different driver and &PPD; models will appear at +http://tdeprint.sourceforge.net/ +Watch out for this! + +Via the Other... button you are able to +retrieve any &PPD; located somewhere on your available file +system. + + + + + +Printer Test and Finding the Right Settings + +Specify your first driver settings now. The most important one is the +default paper size. In many cases this is set to +Letter. If you live in an A4 +country and don't want your first test page to jam: now is the time to +prevent this. + +You are ready to start a test print. Hit the +Test button. + + + + + + + + +Finally: Baptizing Your New Printer + +The last screen lets you insert a name for your new +printer. + +The name must start with a letter and may contain numbers and +underscores with a maximum size of 128 characters. Conform to this if you +want to avoid erratic behavior of your &CUPS; daemon. The printer +names in &CUPS; are not case sensitive! This is a +requirement of &IPP;. So the names DANKA_infotec, Danka_Infotec and danka_infotec all represent the same +printer. + + + + + + +The Final Confirmation Screen + + + + + + + + diff --git a/doc/tdeprint/cr32-action-wizard.png b/doc/tdeprint/cr32-action-wizard.png new file mode 100644 index 000000000..b00db2499 Binary files /dev/null and b/doc/tdeprint/cr32-action-wizard.png differ diff --git a/doc/tdeprint/cups-config.docbook b/doc/tdeprint/cups-config.docbook new file mode 100644 index 000000000..304fe9514 --- /dev/null +++ b/doc/tdeprint/cups-config.docbook @@ -0,0 +1,2072 @@ + +Print Server Configuration: CUPS + +Start the print server configuration (now that you have chosen +&CUPS;, this is equivalent to the configuration of the &CUPS; daemon) by +clicking on the appropriate button. You can find it by moving the mouse +slowly over the buttons and reading the tooltips. It should be the 11th +from the left , or third from the right; its icon is a +wrench. + +The &CUPS; Server Configuration window pops up. It gives you a +structured view of all the settings that apply to the &CUPS; daemon. The +configuration file for that daemon is normally located in +/etc/cups/cupsd.conf. This is a plain +ASCII file with a syntax similar to the configuration +file of the Apache web server. It is a good +idea to create a backup copy, just in case something goes wrong with the +configuration through &tdeprint;/&CUPS; Server Configuration +dialogs: + +cp /etc/cups/cupsd.conf /etc/cups/cupsd.conf.bak + +As this graphical user interface to edit the configuration file is +such a new feature, you should have the second chance of resorting to +the original file. So back it up, please. + + +Quick Help + +One very nice feature is the Quick Help +available. If you click on the little question mark (What's +this?) on your window title bar, you'll see the cursor +changing its form. Now click on a cupsd +configuration setting field to find out what it means and what your +options are. In most cases you should understand the meaning +immediately, otherwise turn to the excellent &CUPS; documentation. (If +your &CUPS; Daemon is running, you have it online on your own host at +http://localhost:631/documentation.html. +If &CUPS; is not running, but installed on your system you could +find it in your own host's file system. The exact location depends on +your &OS;, but on &Linux; the default is /usr/share/doc/cups/ or + +/usr/share/doc/cups/documentation.html. + + + +Longer Help + +For the best, most detailed and most recent information you should +always refer to the original &CUPS; documentation. &CUPS; is, much like +&kde; in a rapid development process. There are constantly new features +being added. New features might for times be only configurable by +directly editing the configuration files. The &tdeprint; &GUI; might not +have caught up with &CUPS; development. + +Just in case you want to look at the original configuration files +of your &CUPS; system -- they are here: + + +These paths are based on the default installation. Your &OS; +may have installed them to a different prefix, for example, /usr/local/, but the hierarchy should +still match that shown below. + + + + +/etc/cups/ + +The folder with the configuration files + + + + +/etc/cups/cupsd.conf + +The configuration file for the &CUPS; daemon + + + + +/etc/cups/printers.conf + +The configuration file that contains the information about your +locally installed printers. + + + + +/etc/cups/ppd/ + +The folder with &PPD; files of your installed +printers. + + + + +The following links only work if your &CUPS; daemon is up and +running. To access all the original &CUPS; documentation, go +to: + + + + +http://localhost:631/documentation.html + +A page with all the links to the other documents. + + + + + +http://localhost:631/sam.html + +Direct access to the &CUPS; Software Administrator Manual +in HTML format. + + + + + +http://localhost:631/sam.pdf + +Direct access to the &CUPS; Software Administrator Manual in +PDF format. + + + + + +http://www.cups.org/documentation.html + +The latest on line documentation from the &CUPS; web +site. + + + +The following links give you access to the same files (probably +icons and graphics will be missing) even if your CUPS daemon is not up +and running. You need, however, CUPS installed on your system. (Some +distributions might place the files somewhere else -- you're on your +own then to find out where...) To access all the original CUPS +documentation, go to: + +This documentation is available even when the &CUPS; daemon is +not installed, although you may find images and icons are missing when +you view the HTML files. + +As noted above, the hierarchy below should be intact, but your +&OS; may have installed &CUPS; to a different location. + + + +/usr/share/doc/cups/documentation.html + +A page with all the links to the other documents. + + + + +/usr/share/doc/cups/sam.html + +Direct access to the &CUPS; Software Administrator Manual in +HTML format. + + + + +/usr/share/doc/cups/sam.pdf + +Direct access to the &CUPS; Software Administrator Manual in +PDF format. + + + + +There are a few WebSites and Newsgroups discussing &CUPS; (and +&Linux; Printing in General) and giving help to newbies at: + + + + +http://www.cups.org/newsgroups.php + +The &CUPS; website. + + + + + +http://www.linuxprinting.org/newsportal/ + +LinuxPrinting.org, the home of the Linuxprinting HOWTO and the +&Linux; Printer Database + + + + +And finally, there will be a WebSite for &tdeprint; and related +documentation, at +http://tdeprint.sourceforge.net/ + +In the next section I will step you through most of the +configuration options of &tdeprint; with &CUPS;. + + + +Explaining different elements of the &GUI; + + +Upper Window: View on Printers, both Real and Virtual + +This section is not yet complete + + + +Tree view, icon view and list view + + +The icons of the task bar + + +Different fonts for different printers + + +Different printer icons mean different things + + + + + + +Lower Window: Tabbed View of Details + +This section is not yet complete. + + + +The icons of the task bar + + +The Tabs + + +Changing printer settings + + + + + + + + + +Welcome to the &CUPS; Server Configuration + +This is the Welcome Screen for your server configuration +dialogs. Clicking onto one of the items of the tree view on left +side of the screen opens the appropriate part of the configuration +settings. + +Every setting has a default value. The defaults let &CUPS; +normally work as a fully functional client. The clients listen on +TCP/IP Port 631 for infos broadcast by &CUPS; servers on the +LAN. This information let the clients print +immediately after receiving them, without installing any driver or +configuring any printer on the clients. + +To configure a &CUPS; server (which is broadcasting its service +to the LAN) you need to change settings from the +defaults. + +The dialog to configure the &CUPS; server: welcome screen. + +CUPS server configuration dialog: welcome screen + + + + +The dialog to configure the &CUPS; server: welcome +screen +The dialog to configure the &CUPS; server: welcome +screen + + + +To select the default setting of any item just enable the +checkbox on the right side of the screen. To set an item to a +different value, disable the checkbox and then go on to do the setting +you want on the left side of the screen. + +The complete server configuration includes: + + + +Server +General Configuration + + +Server +Logging Configuration + + +Server +Folders and Path Definitions + + +Server +HTTP Configuration + + +Server +Encryption and Certificate Support +Configuration + + +Server +Miscellaneous Configuration + + +Network General Configuration + + +Network +Clients Configuration + + +Browsing +General Configuration + + +Browsing +Connection Configuration + + +Browsing +Masks Configuration + + +Browsing +Timeouts Configuration + + +Browsing +Relay Configuration + + +Security +Configuration + + + +Each of these configuration items will be described in the +following sections of the manual. + + + + +Server General Configuration + +The server general configuration is done on this screen. It +includes: + + +Server name +Administrators email +Server user +Server group +Remote user name + + +The tab window to configure the &CUPS; server general settings +lets you the change the default values. Click on the little question +mark and then on one of the fields to get a Quick Help +about the meaning of the setting. + +If you are unsure, leave alone and turn to the original &CUPS; +documentation first. If your &CUPS; daemon is already running, it is +readable from the &konqueror; by pointing it to &URL; +http://localhost:631/documentation.html. + +There, first make friends with the Software +Administrator Manual. Otherwise, for example, if the &CUPS; daemon is +not running, try looking in your local file system, by default at +/usr/share/doc/cups/ or +/usr/share/doc/cups/documentation.html. + + +&CUPS; server general configuration dialog: ServerName, AdminMail, +ServerUser, ServerGroup, RemoteUserName + + + + +The dialog to configure the &CUPS; server general settings: +ServerName, AdminMail, ServerUser, ServerGroup, RemoteUserName + + + + + + +Server Name + +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 usd by clients, see the +client.conf file. + + +For example, enter myhost.domain.com + + +This is the hostname that is reported to clients. Should you +ever encounter strange problems in accessing the server, put here its +IP address for troubleshooting. This way you +eliminate any potential name resolution problems; and you can more +easily nail the real problem down. + + + + +Administrators email + +This is the email address to send all complaints or problems +to. By default &CUPS; will use root@hostname. + + +For example, enter +root@myhost.com. + + + +Contrary to what the quickhelp suggests, it is also legal to +send an email full of praise and enthusiasm about &CUPS; and +&tdeprint; to the server administrator. + + + + + +Server User + +The user the server runs under. Normally this must be +lp, however you can +configure things for another user if needed. + + +The server must be initially run as root to support the default +IPP port of 631. It changes users whenever an +external program is run. + + + +Enter for example lp. + + +This is the &UNIX; user account for filters and +CGI programs to run under. CGI +programs are responsible for showing you the nice web administration +interface accessible via http://localhost:631/). + + +There is no need to set the User directive +to root, so never do this, +as it only involves dangers. Should anyone discover security +vulnerabilities in one of the used file filters, printer drivers or +CGI programs, he could remotely execute arbitrary +commands on your system with root user privileges. Always use an +unprivileged account for the server directive +User. + + + + + +Server group + +The group the server runs under. Normally this must be +lpadmin, however you can +configure things for another group as needed. + + +Enter for example lpadmin. + + + + + +Remote user name + +The name of the user assigned to unauthenticated accesses from +remote systems. By default remroot. + +This name will appear in log files and in queries about the job +owner &etc;, for all resources and locations of the &CUPS; server that +are configured to allow access without +authentication. Authenticated entries will carry the authenticated +names. + + + + + + +Server Logging Configuration + +The server logging configuration is done on this screen. It +includes: + + +Access log file setting +Error log file setting +Page log file setting +Log level setting +Max log file size +setting + + +This is an important screen for you. Should you ever encounter +problems: here is the place to set the Log level to +debug, restart the &CUPS; daemon and then look at the +Error log file defined here for entries that might give you an insight +to the trouble. + + +&CUPS; server configuration dialog: Server +logging + + + + +The dialog to configure the &CUPS; server: Server +logging + + + + + +Access log file + +This is where accesses to the server are logged. If this does +not start with a leading /, then it is assumed to +be relative to the server root. + +You can also use the special name syslog +to send the output to the syslog file or daemon. + + +Enter a path, for example +/var/log/cups/acces_log. + + +The format of this file is stored in the so-called Common +Log Format. This way you can use programs such as +Webalyzer or any other Web access reporting +tool to generate reports on the &CUPS; server activities. + +To include the server name in the file name use a +%s in the name. Example: +/var/log/cups/access_log-%s. + +kurt@transmeta:~ >tail /var/log/cups/access_log + +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /printers/ HTTP/1.1" 200 109 +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /admin/ HTTP/1.1" 401 0 +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 210 +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "GET /ppd/DANKA_P450.ppd HTTP/1.1" 200 51021 +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST /jobs/ HTTP/1.1" 200 246 +10.160.16.45 - - [04/Aug/2001:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 0 +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 80 +127.0.0.1 - - [04/Aug/2001:20:11:39 +0100] "POST / HTTP/1.1" 200 139 +10.160.16.45 - - [04/Aug/2001:20:11:40 +0100] "GET /cups.css HTTP/1.0" 200 198 +127.0.0.1 - - [04/Aug/2001:20:11:40 +0100] "POST / HTTP/1.1" 200 139 +10.160.16.45 - - [04/Aug/2001:20:11:39 +0100] "GET /printers/DANKA_P450 HTTP/1.0" 200 7319 +10.160.16.45 - - [04/Aug/2001:20:11:40 +0100] "GET /images/title-logo.gif HTTP/1.0" 200 5729 + + +You see a separate line for each single access, showing the +IP address of the accessing client, date and time +of access, method of access (POST or +GET), the requested ressource, the &HTTP; version +used by the client, status code and the number of transferred +bytes. Status code 200 means +successful-OK the 401 in +the above example was an unauthorized access +which was denied. For a detailed explanation of the log format go to +the &CUPS; Software +Administrator Manual. + + + + +Error log file + +If this does not start with a leading /, then +it is assumed to be relative to the server root. The default setting +is /var/log/cups/error_log. + +You can also use the special name syslog +to send the output to the syslog file or daemon. + + +Enter the path, for example +/var/log/cups/error_log. + + +The error log excerpt below shows you the part logged for printing the test page +with the default setting of Log level to +info. For an explanation of the Log +Level setting see further below. + +kurt@transmeta:~ > tail /var/log/cups/error_log + +I [04/Aug/2001:23:15:10 +0100] Job 213 queued on 'DANKA_P450' by 'root' +I [04/Aug/2001:23:15:10 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18891) for job 213. +I [04/Aug/2001:23:15:10 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18892) for job 213. + + + + + +Page log file + +If this does not start with a leading / then +it is assumed to be relative to the server root. The default is +/var/log/cups/page_log + +You can also use the special name syslog +to send the output to the syslog file or daemon. + + +Enter the path, for example +/var/log/cups/page_log. + +The page log file has a line for every single page of every job +printed. + + Here is what some entries look like: + +kurt@transmeta:~ > tail /var/log/cups/page_log + +GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 4 1 +GIMP_print_stp_HP kdetest 201 [03/Aug/2001:03:18:03 +0100] 5 1 +GIMP_print_stp_HP kdetest 202 [03/Aug/2001:11:46:49 +0100] 1 1 +GIMP_print_stp_HP kdetest 203 [03/Aug/2001:11:46:54 +0100] 1 1 +DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 1 33 +DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 2 33 +DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 3 33 +DANKA_infotec_P450 kurt 204 [04/Aug/2001:03:29:00 +0100] 4 33 +DANKA_infotec_P450 root 205 [04/Aug/2001:19:12:34 +0100] 1 14 +DANKA_infotec_P450 root 206 [04/Aug/2001:19:15:20 +0100] 1 1 + + +In this excerpt of the file you find information on the name of +the printers (GIMP_print_stp_HP and DANKA_infotec_P450) used through this +server, the user names (kdetest, kurt and root), the job-IDs (201 +to 205), time of printing, page number inside the job +and the number of copies for the pages. For example, job-ID 204 had 4 +pages and 33 copies printed, job-ID 205 had 14 copies of just 1 page) +. + + +&CUPS; is dependent (for its calculation of the number of pages +in a job) on passing the &PostScript; through the +pstops filter. See the &kivio; Flowchart on the &CUPS; +filter architecture for an idea about were this filter fits into the +whole printing process). More, pstops depends for +the counting on a DSC conforming +(DSC is Document Structuring Conventions, a +standard defined by Adobe) to be sent by the client. In most cases +this is working. + +However, this page accounting does not work for any +raw printer queues (as those, by definition, don't use +any filtering on the &CUPS; host and are by-passing +pstops.) Every job going through a +raw queue is counted as a 1-page-job (with possibly +multiple copies). This is especially true for all Jobs send from +&Microsoft; &Windows; clients via Samba to +the &CUPS; server, as those jobs are already arriving in the correct +format for the printer, because the clients use the original printer +driver. + + + +I am still looking for someone who will write a nice &CUPS; page +log analysing tool. It should generate a report with a graphical +output similar to the Webalizer's access +log reports. This way you could have nice statistics to be used for +accounting about usage of printers, load dependent on daytime or +weekday, users &etc; Anyone? + + + + + +Log level + +This setting controls the number of messages logged to the error +log file. It can be one of the following: + + + +debug2 + +Log everything. + + + + +debug + +Log almost everything. + + + + +info + +Log all requests and state changes. + + + + +warn + +Log errors and warnings. + + + + +error + +Log only errors. + + + + +none + +Log nothing. + + + + + +If you need to troubleshoot (or if you want to study the inner +workings of &CUPS;), set the log level to debug or debug2. Then the +error_log will have a lot more entries (not just errors, but also +informational entries). + +You can use this to watch live what &CUPS; is +doing when you send a print job. In a &konsole; type: + +kurt@transmeta:~ >tail 100 /var/log/cups/error_log + +This will give you the last 100 lines ( +100) of the file onto the screen and a +realtime update ()of what is +happening. The following listing shows the printing of a test page +(some pieces have been cut off for space reasons... Try it yourself if +you need more info): + + +I [04/Aug/2001:23:15:12 +0100] Job 214 queued on 'DANKA_P450' by 'root' +D [04/Aug/2001:23:15:12 +0100] StartJob(214, 08426fe0) +D [04/Aug/2001:23:15:12 +0100] StartJob() id = 214, file = 0/1 +D [04/Aug/2001:23:15:12 +0100] job-sheets=none,none +D [04/Aug/2001:23:15:12 +0100] banner_page = 0 +D [04/Aug/2001:23:15:12 +0100] StartJob: argv = "DANKA_P450","214","root","KDE Print Test", +[....] +D [04/Aug/2001:23:15:12 +0100] StartJob: envp = "PATH=/usr/lib/cups/filter:/bin:/usr/bin", [....] +D [04/Aug/2001:23:15:12 +0100] StartJob: statusfds = 5, 6 +D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[1] = 7, -1 +D [04/Aug/2001:23:15:12 +0100] StartJob: filter = "/usr/lib/cups/filter/pstops" +D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[0] = 8, 9 +D [04/Aug/2001:23:15:12 +0100] start_process("/usr/lib/cups/filter/pstops", [....] +I [04/Aug/2001:23:15:12 +0100] Started filter /usr/lib/cups/filter/pstops (PID 18991) for job 214. +D [04/Aug/2001:23:15:12 +0100] StartJob: backend = "/usr/lib/cups/backend/lpd" +D [04/Aug/2001:23:15:12 +0100] StartJob: filterfds[1] = -1, 7 +D [04/Aug/2001:23:15:12 +0100] start_process("/usr/lib/cups/backend/lpd", [....] +I [04/Aug/2001:23:15:12 +0100] Started backend /usr/lib/cups/backend/lpd (PID 18992) for job 214. +D [04/Aug/2001:23:15:12 +0100] Page = 595x842; 15,16 to 580,833 [....] + +The lines tagged D at the beginning are debug +level entries, the ones tagged I are there in +info level. + + + + +Max log file size + + +Controls the maximum size of each log file before they are +rotated. Defaults to 1048576 (1 Mb). Set this to 0 to disable log +rotation. + + +Enter an size in bytes, for example 1048576 + + + + + + + + +Server Folders Configuration + +The dialog to configure the &CUPS; server. Different +folders are to be set here. Normally you don't need to change +anything in this section. In case you play around with fancy +(TrueType, &PostScript; or other) fonts on your system, this qis the +place to do the settings for using those fonts when printing. Server +folder settings include: + + + +Executables: where to find the server +executables + + +Configuration: where to find the server +configuration files + + +Data: where to find the server data +files + + +Temporary files: where to put the server +temporary print files + + +Temporary Requests: where to find the +server + + +Font Path: where to find the +server fonts + + + +&CUPS; server configuration dialog: &HTTP; configuration + + + + +The dialog to configure the &CUPS; server: &HTTP; configuration + + + + + +Executables + +The root folder for the scheduler executables. By default +this is /usr/lib/cups (or +/usr/lib32/cups on IRIX +6.5) + + + + +Configuration + +The root folder for the scheduler. By default, /etc/cups. +On the authors SuSE system, this is /usr/share/doc/cups. It contains all the +HTML or PDF documentation for +&CUPS; which is available through the Web interface at +http://localhost:631/documentation.html + + + + +Data + +The root folder for the &CUPS; data files. By default this +is /usr/share/cups +It contains such things as banners, charsets, data, drivers, +fonts, and pstoraster templates. + + + + +Temporary files + +The folder to put temporary files in. This folder must be +writable by the user defined on the previous screen. This defaults to +either /var/spool/cups/tmp or +the value of the TMPDIR environment variable. + + + + +Temporary Requests + +The folder where request files are stored. By default this +is /var/spool/cups + + + + +Font path + +The place to configure the &CUPS; server for handling your fancy +fonts (TrueType or &PostScript;). &CUPS; will look here for fonts to +embed in printfiles. This currently only affects the +pstoraster filter, and the default is /usr/share/cups/fonts. + +To specify more than one folder, list them with double colons as +separator. Do it like this: + + +/path/to/first/fontdir/:/path/to/second/fontdir/:/path/to/last/fontdir/ + + +For the Font path directive to work as intended, the application +that wants to print needs to: + + + +Either correctly reference its desired fonts in the header of the +generated &PostScript; + + +Or embed the font into the &PostScript; file. + + + +Referencing the font by name leaves it up +to the RIP and print device to respect and actually +use it. RIP or printer can +only use the desired font, if it is available on the system. + + In the case of a &PostScript; printer, this needs to be a +printer-resident font. If the printers doesn't have this font, it will +try and replace it by an adequately similar font. + +In the case of a non &PostScript; printer, this is done by +&CUPS; and its RIP-ing filtering system. &CUPS; +will use the font path directive to grab the correct font when +RIP-ing the &PostScript; in the +pstoraster filter. + +In the case of a &PostScript; output device, &CUPS; is just +spooling the file (actually, it is passing it through the +pstops filter for accounting or n-up purposes), not +working on it. Therefore, if you print to a +&PostScript; printer it is solely the printer's responsibility to use +the font asked for. It can't, if the font is neither loaded into the +printer nor embedded in the &PostScript;. + + + + + + + +Server <acronym>HTTP</acronym> +Configuration + +The dialog to configure the &CUPS; server &HTTP; settings +is shown here. +&CUPS; server &HTTP; settings are the following ones: + +the Document folder +the Default Language +the Default Charset + + + +Dialog to configure the &CUPS; server &HTTP; settings + + + + + +Dialog to configure the &CUPS; server &HTTP; settings + + + + + + +Document folder + +The root folder for &HTTP; documents that are served. By +default the compiled in folder, /usr/share/cups/doc-root + + + + +Default Language + +The default language, if not specified by the browser. If not +specified, the current locale is used. + +Use the two letter locale codes, for example +en or de. + + + + + + +Default charset + +The default character set to use. If not specified, this +defaults to UTF-8. This can also be overridden directly in the +HTML documents. + + + + + + +<guilabel>Server encryption support configuration</guilabel> + +This is the dialog to configure the &CUPS; server security +settings. The server encryption support settings are these: + + +Server certificate: the file to +read containing the server's certificate +Server key: the file to read containing the server's +key + + +&CUPS; server configuration dialog: security overview + + + + +The dialog to configure the &CUPS; server: security settings + + + + + +Server certificate + +The file to read containing the server's certificate. Defaults +to /etc/cups/ssl/server.crt. + + + + +Server key + +The file to read containing the server's key. Defaults to +/etc/cups/ssl/server.key + + + + + + + +Server Miscellaneous Configuration + +The dialog to configure the &CUPS; server miscellaneous settings +is shown here. The following server settings are done through this +screen: + + +Preserve job history: whether to +preserve a job history for later re-view +Preserve job files: whether to +preserve fully RIP-ed job files for later +re-print +Printcap file: setting the name +of and the path to a printcap file +RIP Cache: setting the size of +the RIP cache in memory +Filter Limit: defining a filter +limit + + + +Dialog to configure the &CUPS; server miscellaneous settings + + + + +Dialog to configure the &CUPS; server miscellaneous +settings + + + + + +Preserve job history (after completion) + +Whether or not to preserve the job history after a job is +completed, canceled, or stopped. The default is yes + + + + +Preserve job file (after completion) + +Whether or not to preserve the job files after a job is +completed, canceled, or stopped. The default is no. + + + + +Printcap file + +The name of the printcap file. The default is no filename. +Leave this blank, to disable printcap file generation. +The printcap setting is only needed to satisfy older +applications in need of such a file. + + + + +RIP cache + +The amount of memory that each RIP should use +to cache bitmaps. The value can be any real number, followed by +k for kilobytes, m for megabytes, +gfor gigabytes, or t for tiles, where +one tile is 256 x 256 pixels. The default value is 8m. + + + + +Filter limit + +Sets the maximum cost of all job filters that can be run at the +same time. A limit of 0 means no limit. A typical job may need a +filter limit of at least 200. Limits less than the minimum required +by a job force a single job to be printed at any time. The default +limit is 0 (unlimited). + + + + + + +Network General Configuration + +The dialog to configure the &CUPS; server network settings is +shown here. It includes: + + +Look for hostname on IP +addresses +Port +Max request size +Timeout + + + +Dialog to configure the &CUPS; server network settings + + + + +Dialog to configure the &CUPS; server network +settings + + + + +Look for hostname on IP addresses + +Whether or not to do lookups on IP addresses +to get a fully-qualified hostname. This defaults to off, for +performance reasons. + + + + +Port + +Enter here Ports and addresses that the server will listen to. +The default port 631 is reserved for the Internet Printing Protocol, +and is what we use here. +You can have multiple entries, to listen to more than one port +or address, or to restrict access. + +Unfortunately, most web browsers don't support +TLS or &HTTP; upgrades for encryption. If you want +to support web-based encryption, you'll probably need to listen on +port 443, the HTTPS port. + +Use the Add and +Remove buttons to add and remove entries from +the list. + +You can enter ports on their own, ⪚ +631, or hostnames with ports, ⪚ +myhost:80 or 1.2.3.4:631. + + + + + +Max request size + +Controls the maximum size of &HTTP; requests and print files. +The default setting is 0, which disables this feature. + + + + +Timeout + +The timeout (in seconds) before requests time out. The default +is 300 seconds. + + + + + + + +Network Clients Configuration + +The dialog to configure the &CUPS; network client settings is +shown here. It includes: + + +Accept "Keep Alive" +requests +KeepAliveTimeout: +MaxClients: + + +dialog to configure the &CUPS; network client settings + + + + +Dialog to configure the &CUPS; network client settings + + + + + +Accept "Keep Alive" requests + +Whether or not to support the Keep-Alive connection option. The +default is on. + + + + +Keep alive timeout + +The timeout (in seconds) before Keep-Alive connections are +automatically closed. The default is 60 seconds. + + + + +Max number of clients + +Controls the maximum number of simultaneous clients that will be +handled. Defaults to 100. + + + + + + + +Browsing General Configuration + +The dialog to configure the &CUPS; browsing general settings +is shown here. It includes: + + +Enable browsing +Use short names when +possible +Use implicit +classes + + + + +Dialog to configure the &CUPS; browsing general +settings + + + + +Dialog to configure the &CUPS; browsing general +settings + + + + + +Enable browsing + +Whether or not to broadcast printer information to other &CUPS; +servers. Enabled by default. + + + + +Use short names when possible + +Whether or not to use short names for remote +printers when possible (⪚ printer instead of printer@host). Enabled by +default. + + + + +Use implicit classes + +Whether or not to use implicit classes. +Printer classes can be specified explicitly, in the +classes.conf file, implicitly based upon the +printers available on the LAN, or both. +When Implicit classes are enabled, printers on the +LAN with the same name (⪚ Acme-LaserPrint-1000) will be put into +a class with the same name. This allows you to setup multiple +redundant queues on a LAN without a lot of +administrative difficulties. If a user sends a job to Acme-LaserPrint-1000, the job will go to +the first available queue. +This option is enabled by default. + + + + + + +Browsing Connection Configuration + +The dialog to configure the &CUPS; server browsing connection is +shown here. Browsing connection settings include: + + +Broadcast addresses: The +(UDP) broadcast address to transmit printer +information to +Broadcast Port: The port number +to use for broadcasting +Poll addresses: The address(es) +to poll for information about printers on servers that might not +broadcast (or whose broadcasts might not reach your +LAN due to routers in between). + + + +Dialog to configure the &CUPS; server browsing +connection + + + + +Dialog to configure the &CUPS; server browsing +connection + + + + + +Broadcast addresses + +After pressing the Add button, you will +see the following dialog to enter a new value for outgoing +broadcasting browse packets. It is the same kind of dialog as for +adding other &CUPS; server addresses to be polled for printer +information. + + +Dialog to enter a new value for broadcasting browse +packets to + + + + +Dialog to enter a new value for broadcasting browse packets +to + + + +This option specifies a broadcast address to be used. By +default, browsing information is broadcast to all active +interfaces. + + +&HP-UX; 10.20 and earlier do not properly handle broadcast +unless you have a Class A, B, C or D netmask (&ie;, there is no +CIDR support). + + + + + +Broadcast port + +The port used for UDP broadcasts. By default +this is the IPP port; if you change this, you need +to do it on all servers. Only one BrowsePort is recognized. + + + + +Poll addresses + +Poll the named server(s) for printers. + + + + + + +Browsing Masks Configuration + +The dialog to configure the &CUPS; server allowed and/or denied browse +packets from other servers is shown here. + + +Browse allow: +Browse deny: +Browse order: + + + +Dialog to configure the &CUPS; server allowed and/or +denied browse packets from other servers + + + + +Dialog to configure the &CUPS; server allowed and/or denied +browse packets from other servers + + + + + +Add Browse Address dialog + +The dialog to enter a new value for the address of another +&CUPS; server to accept browse packets from is shown here. It is opened +by clicking on the Add... button beside the +field named Browse Allow:. It is the same dialog +as for adding denied broadcast sending +addresses. + +The dialog to enter a new value for the address of another +&CUPS; server to accept browse packets from is shown here. + + +Dialog to enter a new value for the address of another +&CUPS; server to accept browse packets from + + + + +Dialog to enter a new value for the address of another &CUPS; +server to accept browse packets from + + + + + + +Browse allow and Browse +deny + +Browse allow specifies an address mask to +allow for incoming browser packets. The default is to allow packets +from all addresses. +Browse deny specifies an address mask to +deny for incoming browser packets. The default is to deny packets +from no addresses. +Both Browse allow and Browse +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/mmm + + +nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm + + + + +The hostname/domain name restrictions will only work if you have +turned hostname lookups on! + + + + +Browse order + +Specifies the order of the allow/deny comparisons. + + + + + + + +Browsing Timeouts Configuration + +The dialog to configure the &CUPS; server browse timeout settings +is shown here. Browse timeout settings include: + +Browse Interval +Browse Timeout + + +Dialog to configure the &CUPS; server browse timeout +settings + + + + +dialog to configure the &CUPS; server browse timeout +settings + + + + + +Browse interval + +The time between browsing updates in seconds. The default is 30 +seconds. +Note that browsing information is sent whenever a printer's +state changes as well, so this represents the maximum time between +updates. +Set this to 0 to disable outgoing broadcasts so your local +printers are not advertised, but you can still see printers on other +hosts. + + + + +Browse timeouts + +The timeout (in seconds) for network printers - if we don't get +an update within this time, the printer will be removed from the +printer list. +This number definitely should not be less than the browse +interval period, for obvious reasons. Defaults to 300 seconds. + + + + + + +Browsing Relay Configuration + +The dialog to configure the &CUPS; server as a browsing relay is +shown here. Browsing relay settings include: + + +Browser packets relay + + + +Dialog to configure the &CUPS; server as a browsing +relay + + + + +Dialog to configure the &CUPS; server as a browsing +relay + + + + + +Add Browse Relay dialog + +The dialog to enter a new value for an address pair to define +browsing relaying between a &CUPS; server and a network is shown +here. + + +The dialog to enter a new value for an address pair to +define browsing relaying between a &CUPS; server and a +network + + + + +The dialog to enter a new value for an address pair to define +browsing relaying between a &CUPS; server and a +network + + + + + + +Browser packets relay + +Relay browser packets from one address or network to +another. + + + + + + + +Security Configuration + +The dialog to configure the &CUPS; server security settings for +any of the defined server locations is shown here. It contains the +following settings, which may be defined separately for any valid +resource (or location) of the &CUPS; server: + + +System Group: +Access Permissions: +Auth Type: +Auth Class: +Auth Group Name: +Encryption: +Allow: +Deny: +Order: + + +Valid resources (or locations) of the &CUPS; server are: + + +Server Root Location: / +Server Administration Location: /admin +All printers on the server: /printers +Any individual printer on the server: +⪚ /printers/infotec_P320 +All printer classes on the server: /classes: +Any individual printer class on the server: +⪚ /classes/all_infotecs_P320_or_P450 + + + +Dialog to configure the &CUPS; server security settings +for any of the defined server locations + + + + +dialog to configure the &CUPS; server security settings for +any of the defined server locations + + + + + +For all locations that are not defined separately the setting of +the location above it is valid. + +For example, you have a printer named infotec_P450 with no set security +options. Then the security of the location /printers will take the responsibility +for this printer as it is a sub-location of/printers. If, in turn there is no +security set for /printers, +then the security for / (the +general security) of the server takes responsibility. Either you have +set this for your purpose or the compiled-in default value takes +over. + + + + +SystemGroup + +The group name for System or printer administration +access. The default varies depending on the operating system, but +will be lpadmin, system or root (checked for in that order). + + + + +Access Permissions + +Access permissions for each folder served by the scheduler. +Locations are relative to the document root. + + + + +Authorization Type + +The authorization to use: + + + +None + +Perform no authentication. + + + +Basic + +Perform authentication using the &HTTP; Basic method. + + + +Digest + +Perform authentication using the &HTTP; Digest method. + + + + + +Local certificate authentication can be substituted by the +client for Basic or Digest, when connecting to the localhost +interface. + + + + + +Authorization Class + +The authorization class. Currently only +Anonymous, User, System +(valid user belonging to the group set as system group), and +group (valid user belonging to the specified group) are +supported. + + + + +Authorization Group Name + +The group name for Group authorization + + + + +Encryption + +Whether or not to use encryption. This depends on having the +OpenSSL linked into the &CUPS; library and +scheduler. +Possible values are: + + +Always + +Always use encryption (SSL) + + + +Never + +Never use encryption. + + + +Required + +Use TLS encryption upgrade. + + + +IfRequested + +Use encryption if the server requests it. + + + + + + + +Allow + +Allows access from the specified hostname, domain, +IP address or network. Possible values are: + + + + +All + + +None + + +*.domain.com + + +.domain.com + + +host.domain.com + + +nnn.* + + +nnn.nnn.* + + +nnn.nnn.nnn.* + + +nnn.nnn.nnn.nnn + + +nnn.nnn.nnn.nnn/mmm + + +nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm + + + + +The host and domain address require that you enable hostname +lookups, as described earlier. + + + + +Deny + +Denies access from the specified hostname, domain, +IP address or network. Possible values are: + + + +All + + +None + + +*.domain.com + + +.domain.com + + +host.domain.com + + +nnn.* + + +nnn.nnn.* + + +nnn.nnn.nnn.* + + +nnn.nnn.nnn.nnn + + +nnn.nnn.nnn.nnn/mmm + + +nnn.nnn.nnn.nnn/mmm.mmm.mmm.mmm + + + +The host and domain address require that you enable hostname +lookups, as described earlier. + + + + +Order + +The order of the allow and deny processing. + + + + + + +Example: How To Define The Security For All Printers + +The dialog to configure the &CUPS; server security settings is +discussed here. We use the example to add security definitions other +than the default ones for the resource named all printers. For the &CUPS; web server, +this is the location you access through +http://localhost:631/printers/ or (remotely) through +http://cups.server.name:631/printers/ + +The first screenshot shows the general location for this +setting. Select Add or +Modify a resource for which you want to decide +about its security settings. + + +Dialog to configure the &CUPS; server security +settings + + + +Dialog to configure the &CUPS; server security +settings + + + +This dialog is to add a new resource. It looks similar if you +want to modify an already existing resource. Here are the general +options: + + +Dialog to add a new resource. + + + + +Dialog to add a new resource. + + + +.This is the second part or the dialog is to add a new +ressource. It looks similar if you want to modify an already existing +resource. Here you define the actual access masks for the resource in +question. + + +Dialog to add a new resource. + + + + +Dialog to add a new resource. + + + +Resource dialog + + + + +Resource dialog + + + + +Resource dialog + + + + +Resource dialog + + + + +Resource dialog + + + + +Resource dialog + + + + +Resource dialog + + + + +Resource dialog + + + + + + diff --git a/doc/tdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png b/doc/tdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png new file mode 100644 index 000000000..9f5a73d39 Binary files /dev/null and b/doc/tdeprint/cups-filterarchitecture-kivio-70Percent-scaled.png differ diff --git a/doc/tdeprint/cupsaddprinterwizard1.png b/doc/tdeprint/cupsaddprinterwizard1.png new file mode 100644 index 000000000..cf20e087c Binary files /dev/null and b/doc/tdeprint/cupsaddprinterwizard1.png differ diff --git a/doc/tdeprint/cupsaddprinterwizard2_backendselection.png b/doc/tdeprint/cupsaddprinterwizard2_backendselection.png new file mode 100644 index 000000000..3e4b2f126 Binary files /dev/null and b/doc/tdeprint/cupsaddprinterwizard2_backendselection.png differ diff --git a/doc/tdeprint/cupsaddprinterwizard3_networkscan.png b/doc/tdeprint/cupsaddprinterwizard3_networkscan.png new file mode 100644 index 000000000..160834ee9 Binary files /dev/null and b/doc/tdeprint/cupsaddprinterwizard3_networkscan.png differ diff --git a/doc/tdeprint/cupsaddprinterwizard3_networkscan_results.png b/doc/tdeprint/cupsaddprinterwizard3_networkscan_results.png new file mode 100644 index 000000000..aa6cd87f1 Binary files /dev/null and b/doc/tdeprint/cupsaddprinterwizard3_networkscan_results.png differ diff --git a/doc/tdeprint/cupsaddprinterwizard4_networkscan_config.png b/doc/tdeprint/cupsaddprinterwizard4_networkscan_config.png new file mode 100644 index 000000000..7fff7de52 Binary files /dev/null and b/doc/tdeprint/cupsaddprinterwizard4_networkscan_config.png differ diff --git a/doc/tdeprint/cupsoptions.docbook b/doc/tdeprint/cupsoptions.docbook new file mode 100644 index 000000000..bd0ba95a3 --- /dev/null +++ b/doc/tdeprint/cupsoptions.docbook @@ -0,0 +1,602 @@ + +&CUPS; options presently not available through &kcontrol; + +This chapter gives you some hints about further configuration +possibilities which may not be available through the &tdeprint; &GUI; +interface to &CUPS;. + + +Overview of provided features + +All of the most often used features and functions &CUPS; provides +are supported in &tdeprint;. + + + +Printer management is supported: add, remove, modify, configure, +test, disable, enable ... + + +Job management is supported: cancel, hold, release, move to +different printer + + +Print options: for full control as provided by &CUPS;. + + + + + + +Where to find help when using &CUPS; + +A lot of information about the inner workings of &CUPS; is +available through the web interface, which &CUPS; will always +support. It works with any browser (yes, even text-based ones). Just go +to http://localhost:631/ for +a start. There you find a link to locally available &CUPS; documentation +in HTML and PDF if you are new to +&CUPS;. + +&CUPS; is accessible through other means than &tdeprint;: +commandline and browser are two native &CUPS; interfaces. The many +commandline utilities add up to the most complete control you have on +&CUPS;. The web interface is only a subset of all available +configuration or control options. + +This is also true for &tdeprint;. Generally, as &CUPS; develops, +most new features will first be implemented through the commandline. Be +sure to check the latest versions of the man pages for &CUPS; to stay +up-to-date with new features after you install a new version. + + +Depending on your update method for &CUPS;, your active +configuration file might not have been re-placed by a new one; thus your +new, more capable &CUPS;-daemon might not have been told by the old +configuration file about the new features to use. + + +A complete list of available files and man pages should always be +in the &CUPS; Software Administrator Manual (http://localhost:631/sam.html#FILES. +In the &konqueror; &URL;/location field, type +man:/lpadmin and +man:/cupsd.conf to find out about the most +important command and configuration file. You knew already about +&konqueror;'s nice abilities to show you the traditional &UNIX; man +pages, didn't you? Read this. From there you find more interesting +hints and links to other man pages and documentation. + + +How to find &CUPS; related man pages + +Here is a way to find out which &CUPS; related man pages there +are on your system: + +kurt@transmeta:~ > apropos cups + +cups-calibrate (8)- ESP Printer Calibration Tool +lpstat (1) - print cups status information +cups-lpd (8) - receive print jobs + report printer status to lpd clients +classes.conf (5) - class configuration file for cups +backend (1) - cups backend transmission interfaces +filter (1) - cups file conversion filter interfaces +cups-polld (8) - cups printer polling daemon +mime.types (5) - mime type description file for cups +cupsd (8) - common unix printing system daemon +lpadmin (8) - configure cups printers and classes +cupsd.conf (5) - server configuration file for cups +mime.convs (5) - mime type conversion file for cups +printers.conf (5) - printer configuration file for cups +mime.convs (5) - mime type conversion file for cups +cups-polld (8) - cups printer polling daemon +lpstat (1) - print cups status information +backend (1) - cups backend transmission interfaces +mime.types (5) - mime type description file for cups +cupsd (8) - common unix printing system daemon +lpadmin (8) - configure cups printers and classes +printers.conf (5) - printer configuration file for cups +cupsd.conf (5) - server configuration file for cups +filter (1) - cups file conversion filter interfaces + + + + + +Outside &tdeprint;: Hints & Tips Tricks with &CUPS; on the +Commandline + +Here are a few examples of options that are presently only +available if you use the commandline. + + +Allowing or denying printer access for certain users + +When installing (or modifying) a printer through the command line, +you can either deny or allow the usage of that printer to certain +users: + +lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue allow:kurt,sylvi,hansjoerg /home/kurt/PPDs/DVHV.ppd + +will allow the usage of this (believe me: very nice and also very +professional) printer to only the three mentioned users and at the same +time deny it to all others. If another user wants to print on the +DigiMaster via this &CUPS; server, he will receive an error message +along the lines client-error-not-possible. + +lpadmin HeidelbergDigimaster9110 lpd:/10.160.16.99/mqueue deny:tackat,boss,waba /home/kurt/PPDs/DVHV.ppd + +will deny the usage of this same printer to the three mentioned +users and at the same time allow it to all others. If +denied user wants to print on the DigiMaster via this +&CUPS; server, he will receive an error message along the lines +client-error-not-possible. + + +Only one of the two options may be used at one time; at present +there is no support to have a similar option in a per-group based +way. This will be implemented in the future. + + + + +Imposing Quotas for certain printers + +Sometimes you want to impose quotas for certain printers. With +quotas you can set upper limits for the number of pages or the amount of +data to be printed over a certain period to a certain printer. + +Quotas can be set with the option when +installing a printer with the lpadmin command, or +afterwards for an already existing printer. Following are some +guidelines (which are missing at the time of writing in the, official +&CUPS; documentation): + + + +With &CUPS; you may have pagecount- and filesize-based quotas for +individual printers. + + + +Quotas are calculated for each user individually (so a single set +of limits applies to all users for the printer concerned). + + + +Quotas include banner pages (if those are used). + + + +This means: you can limit every user to 20 pages per day on an +expensive printer, but you cannot limit every user except Kurt or root. + + + +There are , +, and +options to give when setting up a printer. + + + + sets a time interval for quota +computing (intervals are determined in seconds; so a day is +60x60x24=86.400, a week is 60x60x24x7=604,800, and a month is +60x60x24x30=2.592.000 seconds.) + + + +For quotas to be enforced, the time-period +plus at least one job-limit must be set to +non-zero. + + + +The default value of 0 for specifies +that there is no limit. + + + +The default value of 0 for +specifies that there is no limit. + + + +The default value of 0 for +specifies that the limits apply to all jobs that have been printed by a +user that are still known to the system. + + + + +Working Examples: + +Working, as both, time-period plus one or +both job-limits are defined + +lpadmin danka_infotec_4850 job-quota-period=604800 job-k-limit=1024 + +This sets a limit of a file size of 1 MB (in total) for each user +of existing printer danka_infotec_4850 during one week. + +lpadmin danka_infotec_4105 job-quota-period=604800 job-page-limit=100 + +This sets a limit of 100 pages (in total) for each user of +existing printer danka_infotec_4105 during one week. + +lpadmin danka_infotec_P450 job-quota-period=604800 job-k-limit=1024 job-page-limit=100 + +This sets a combined limit of 1 MB (in total) and 100 pages (in +total) for each user of existing printer danka_infotec_P450 during one +week. Whichever limit is reached first will take effect. + + + + +Not working examples + +NOT working, as only +one, time-period or job-limit +is defined) + +lpadmin danka_infotec_P320 job-quota-period=604800 + +lpadmin danka_infotec_FullColor job-page-limit=100 + +lpadmin danka_infotec_HiSpeed job-k-limit=1024 + + + + +Related Error Messages + +Once a user reaches his quota limit, he'll get a +client-error-not-possible message, if he wants to +print. + + + + + + +Installing a <quote>raw</quote> printer + +There are different ways to define a raw +printer. One comfortable one is to use the lpadmin +command. Just don't define a &PPD; file to be used for that printer and +it will be a raw one: + +lpadmin Raw_Danka_infotec lpd://10.160.16.137/PORT1 + +Raw printer queues are those which don't touch the print file to +transform it to a different file format. You need this for example when +printing from &Windows; clients via Samba through a &CUPS; server to a +PCL printer: in this case the &Windows; side printer +driver would generate the finished print file format for the target +printer and filtering it through &CUPS; filters would only harm the +purpose. Under certain circumstances (if you want to make sure that the +file goes to the printer unfiltered by &CUPS;) the +lpadmin without a &PPD; comes in +handy. + + + + + +Troubleshooting &CUPS; in &tdeprint; + +This section of the &tdeprint; Handbook will live from the +readers' feedback. Here is just a small beginning. + + +Error Messages + + + + +What does the error +client-error-bad-request mean? + + +The user sent a file to the &CUPS; which the server could not +process. You get this also upon sending an empty +file. + + + + + +And client-error-not-possible? + + +User is either not allowed to print to a certain printer or has +achieved his quota (based on file size and/or page number) + + + + + +How about client-error-not-found? + + +The user tried to access a nonexistent resource on the &CUPS; +server, such as trying to print a nonexistent file, or one that you are +denied permission to read. + + + + + + + + +Questions and Answers + + + + +Why can't I re-start my jobs? + + +To be able to re-start your completed jobs from the +web interface, you need a setting in the +/etc/cups/cupsd.conf file: set +PreserveJobFiles True. + + + + + +How do I get rid of the long list of completed jobs in the web +interface? + + +TODO + + + + + +How does page accounting work? + + +&CUPS; does the print accounting by passing nearly +every job through the pstops filter. This one does, +amongst other things, the page counting. Output of this filter there may +be piped into other filters (like pstoraster --> rastertopcl) or sent to +the printer directly (if it is a &PostScript; printer). + +In any case, this works for network, parallel, serial or +USB printers the same. For pstops to work, it needs +DSC, Document Structuring Convention compliant +&PostScript; (or near-equivalent) as input. So it calculates the pages +during filtering on the print server and writes info about every single +page (what time, which user, which job-ID and -name, which printer, how +many copies of which pages of the document, how many kilo-bytes?) into +/var/log/cups/page_log. + +By the way: on my personal wishlist is a hack of +webalizer to read and analyze the page_log and give a +similar output. Anyone? + +However, it is not giving correct results in +the following cases: + + + +The printer jams and maybe therefor throw away the job (real live +experience; or maybe throwing away the job because of problems with the +data format) + + +Jobs printed as raw are always counted as size of 1 +page (and maybe multiple copies). + + + +Therefore the page accounting of &CUPS; is only +an approximation (in many cases an excellent or at least good one, in +others a quite poor one). The only reliable print count is the one +done by the internal printer counter. (Because this is the one you pay +for, if you are on a click price or similar.) Some, by +far not most, printers can be queried remotely for that information +via SNMP (Simple Network Management Protocol). That +means, in a bigger network with many different printers there +is just no completely reliable and accurate page +accounting tool! + + + + + +Why doesn't page-accounting work with &Windows; clients? + + +From &Windows; clients jobs nearly always need to be sent as +raw. Why? If &CUPS; works as a print server for &Windows; +clients using the original native &Windows; driver for the target print +device, this guarantees the correct formatting of the job on the clients +already; therefor the server should not touch it and print +raw; therefor no filtering is started (and this is not +even possible as the input from the clients is not &PostScript; as +pstops expects; hence no page-count other than the default +1. + + + + + +How do I get a list of available options for a given printer or a +&PPD; file? + + +See the man page for the lpoptions command. You +may investigate a &CUPS;-enabled box about any option of its available +printers. There is no need to have the printer installed locally. As +long as the printer is available locally (through the &CUPS; +printer browsing feature), it will also work +remote. + +To query for a printers' option typing +lpoptions +HitachiDDP70MicroPress + will give a long listing of all +available options as read from the &PPD; file for the given +Hitachi-Printer (in my case installed on remote server +transmeta). Remote server Transmeta and its &CUPS; daemon as well +as the localhost's &CUPS; daemon need to be up and running for this to +succeed. + + + + + +How do I read the listing retrieved by the +lpoptions command? + + + +You know that for &PostScript; printer manufacturers it is +legal to define their own internal names and procedures +even for standard &PostScript; options. As long as the driver is able to +retrieve the option from the &PPD; and show it to the user in a way that +he understands it everything is OK. But what do you +do, if you want to use some obscure printer options on the command line? +How do you find out its exact syntax? + +Let's take an example. Looking at Hitachi's DDP70 printer and how +it implements duplex printing is revealing somehow. How do you tell how +to print double sided? duplex or Duplex? Or another name altogether?. + +lpoptions transmeta Hitachi_DDP70_ClusterPrintingSystem | grep uplex + +This leads to the output + +TR-Duplex/Duplex: False *True + +This is to be interpreted like follows: + + + +The name of the investigated option is +; + + +Behind the slash you see the translation of the option, as it +should be shown in a &GUI; or Web interface +(Duplex); + + +The option may take one of the two values +False or True; + + +The present setting is True to be +recognized by the marking with a star *. + + + +To override the present default setting (duplex) and print a job +in simplex, you need to use the following command: + +lpr Hitachi_DDP70_ClusterPrintingSystem TR-Duplex=False /path/to/your/printjob + + + + + +How do I get a nicely formatted listing of available options for a +given printer or &PPD;? + + +Use the lphelp command which may be installed +on your system locally. There is not yet a man page for +lphelp. + +lphelp infotecP450 + +This lists the available options for the named printer. It is +nicely formatted and does explain every available option and how to use +it. You can query different printers' options at once: + +lphelp infotec7410color DANKA_fullcolor_D2000 HP_ColorLaserJet8550 + +It also works for &PPD; files. Just specify the path to the +&PPD;: + +lphelp /home/kurt/PPDs/HP-ColorLaserJet8550.ppd + + + + + + +Solving Problems + +No system is perfect. Here are some commonly seen traps people +have fallen into. + + + + +My printer named 3-lp-duplex shows erratic +behavior. What's wrong? + + +The printer names used in &CUPS; shall start with a letter and may +contain up to 128 letters, numbers or underscores. Using dashes may lead +to problems. Speaking about naming: printer names in &CUPS; are not case +sensitive. So a printer named Best_of_Danka will be the same as +best_of_danka or BEST_OF_DANKA. (This is a requirement of +&IPP;, which &CUPS; is fully compliant with). + + + + + +Why do I get Unable to connect to SAMBA host: +Success with my printer shares from &Windows; accessed via +Samba? + + +Are the rights on the remote &Windows; box set correctly for you? +Are you actually allowed to print on the &Windows; shared +printer? + + + + + +My files for printer lp +sometimes mysteriously disappear and two days later I am told they got +printed on a printer three floors below my office. What is going on? + + +Believe me, it is very unlikely that your printer is the only one +with the name lp. Maybe +&CUPS; is playing a trick on you. As you might have the setting +ImplicitClasses On activated, &CUPS; tries to stuff all +printers it sees on the network into a Class name lp. All +jobs destined to lp are sent to this class and the first available +member prints it. So if you had this nice fellow (who listened closely +when you raved about &CUPS; and &tdeprint;) install &CUPS; and poke +around the system...get the idea? + +Take my advice: choose a unique name for any network printer! +(Mind you, the one on your parallel port also turns out to be a network +printer for the rest of the world if you don't take care of your +settings). + + + + + + diff --git a/doc/tdeprint/cupsserverconfig_browse_relay_add_button.png b/doc/tdeprint/cupsserverconfig_browse_relay_add_button.png new file mode 100644 index 000000000..391cf06ee Binary files /dev/null and b/doc/tdeprint/cupsserverconfig_browse_relay_add_button.png differ diff --git a/doc/tdeprint/cupsserverconfig_browsingmasks_add_button.png b/doc/tdeprint/cupsserverconfig_browsingmasks_add_button.png new file mode 100644 index 000000000..f5767faad Binary files /dev/null and b/doc/tdeprint/cupsserverconfig_browsingmasks_add_button.png differ diff --git a/doc/tdeprint/cupsserverconfiguration10_browsinggeneral.png b/doc/tdeprint/cupsserverconfiguration10_browsinggeneral.png new file mode 100644 index 000000000..3775f4d2a Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration10_browsinggeneral.png differ diff --git a/doc/tdeprint/cupsserverconfiguration11_browsingconnections.png b/doc/tdeprint/cupsserverconfiguration11_browsingconnections.png new file mode 100644 index 000000000..d3ca6971f Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration11_browsingconnections.png differ diff --git a/doc/tdeprint/cupsserverconfiguration11_browsingmasks.png b/doc/tdeprint/cupsserverconfiguration11_browsingmasks.png new file mode 100644 index 000000000..a662dd117 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration11_browsingmasks.png differ diff --git a/doc/tdeprint/cupsserverconfiguration12_browsingtimeouts.png b/doc/tdeprint/cupsserverconfiguration12_browsingtimeouts.png new file mode 100644 index 000000000..d9e9528d6 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration12_browsingtimeouts.png differ diff --git a/doc/tdeprint/cupsserverconfiguration14_browsingrelay.png b/doc/tdeprint/cupsserverconfiguration14_browsingrelay.png new file mode 100644 index 000000000..0030b4d7c Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration14_browsingrelay.png differ diff --git a/doc/tdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png b/doc/tdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png new file mode 100644 index 000000000..fab7bc65b Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration15a_resourceallprinters_defineaccess.png differ diff --git a/doc/tdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png b/doc/tdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png new file mode 100644 index 000000000..2cc4bf8ae Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration15b_resourceallprinters_defineaccess.png differ diff --git a/doc/tdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png b/doc/tdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png new file mode 100644 index 000000000..cfd09e543 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration15c_resourceallprinters_defineaccess.png differ diff --git a/doc/tdeprint/cupsserverconfiguration1_welcome.png b/doc/tdeprint/cupsserverconfiguration1_welcome.png new file mode 100644 index 000000000..50bd9ba3a Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration1_welcome.png differ diff --git a/doc/tdeprint/cupsserverconfiguration2_general.png b/doc/tdeprint/cupsserverconfiguration2_general.png new file mode 100644 index 000000000..c8e8b01c0 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration2_general.png differ diff --git a/doc/tdeprint/cupsserverconfiguration3_logging.png b/doc/tdeprint/cupsserverconfiguration3_logging.png new file mode 100644 index 000000000..300c31943 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration3_logging.png differ diff --git a/doc/tdeprint/cupsserverconfiguration4_directories.png b/doc/tdeprint/cupsserverconfiguration4_directories.png new file mode 100644 index 000000000..e55ab35fc Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration4_directories.png differ diff --git a/doc/tdeprint/cupsserverconfiguration5_HTTP.png b/doc/tdeprint/cupsserverconfiguration5_HTTP.png new file mode 100644 index 000000000..3e46eb17b Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration5_HTTP.png differ diff --git a/doc/tdeprint/cupsserverconfiguration6_encryption.png b/doc/tdeprint/cupsserverconfiguration6_encryption.png new file mode 100644 index 000000000..aca75adf0 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration6_encryption.png differ diff --git a/doc/tdeprint/cupsserverconfiguration7_miscellanious.png b/doc/tdeprint/cupsserverconfiguration7_miscellanious.png new file mode 100644 index 000000000..6a30d103e Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration7_miscellanious.png differ diff --git a/doc/tdeprint/cupsserverconfiguration8_networkgeneral.png b/doc/tdeprint/cupsserverconfiguration8_networkgeneral.png new file mode 100644 index 000000000..a0a40da20 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration8_networkgeneral.png differ diff --git a/doc/tdeprint/cupsserverconfiguration9_networkclients.png b/doc/tdeprint/cupsserverconfiguration9_networkclients.png new file mode 100644 index 000000000..89b30dfe9 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration9_networkclients.png differ diff --git a/doc/tdeprint/cupsserverconfiguration_resourceadminaccessmasks.png b/doc/tdeprint/cupsserverconfiguration_resourceadminaccessmasks.png new file mode 100644 index 000000000..147830184 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration_resourceadminaccessmasks.png differ diff --git a/doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters.png b/doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters.png new file mode 100644 index 000000000..295a0970a Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters.png differ diff --git a/doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png b/doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png new file mode 100644 index 000000000..3b3b4eb04 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration_resourceadminaddprinters_defineaccess.png differ diff --git a/doc/tdeprint/cupsserverconfiguration_resourceadminauthorization.png b/doc/tdeprint/cupsserverconfiguration_resourceadminauthorization.png new file mode 100644 index 000000000..1b388a6cb Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration_resourceadminauthorization.png differ diff --git a/doc/tdeprint/cupsserverconfiguration_securityoverview.png b/doc/tdeprint/cupsserverconfiguration_securityoverview.png new file mode 100644 index 000000000..bed1d3df6 Binary files /dev/null and b/doc/tdeprint/cupsserverconfiguration_securityoverview.png differ diff --git a/doc/tdeprint/extensions.docbook b/doc/tdeprint/extensions.docbook new file mode 100644 index 000000000..c14691d51 --- /dev/null +++ b/doc/tdeprint/extensions.docbook @@ -0,0 +1,57 @@ + +&tdeprint; Extensions To All Print Subsystems + + +<quote>Virtual</quote> Printers + + +The <quote>Fax</quote> Printer + +To be written + + + + +The <quote>File</quote> Printer + +To be written + + + + +The <quote><acronym>PDF</acronym></quote> Printer + +To be written + + + + + + +<quote>External</quote> Filters + + +The <command>enscript</command> Filter for Text Files + +To be written + + + + +The <quote>n-up</quote> Filter for Any File + +To be written + + + + +Three different <quote>Make Pamphlet</quote> Filters for +&PostScript; Files + +To be written + + + + + + diff --git a/doc/tdeprint/external-command.docbook b/doc/tdeprint/external-command.docbook new file mode 100644 index 000000000..1a1135d7c --- /dev/null +++ b/doc/tdeprint/external-command.docbook @@ -0,0 +1,25 @@ + +Module For External Print Command (&Netscape;-like) + +This module allows the print command to be specified completely +(&Netscape;-like). An edit line is added in the print dialog for that +purpose. Can be used in many cases, for example with a self-made print +program. + + +Overview of provided features + + + +Printer management: not supported + + +Job management: not supported. + + +Print options: basic control, depending on your knowledge of the +print command + + + + diff --git a/doc/tdeprint/final-word.docbook b/doc/tdeprint/final-word.docbook new file mode 100644 index 000000000..175afb2f1 --- /dev/null +++ b/doc/tdeprint/final-word.docbook @@ -0,0 +1,117 @@ + +Final word from the Author + + +Who am I, what is my business? + + +My employer is Danka Deutschland GmbH, a leading and +manufacturer-independent provider of professional and hi-speed digital +printing systems, black-and-white as well as color. Danka provides +hardware, software, service, maintenance, consumables and customized +solutions for the products in its portfolio. I work there as a +System Engineer. Amongst the brands Danka offers are Heidelberg +(formerly Kodak), Canon, &Hewlett-Packard;, Hitachi, Infotec and +EfI. + + +My acquaintance with &Linux; and the Free Software community is not +too old. When I started to play around with &Linux; at the beginning +of 1999, my deepest disappointment was the poor support for +printing. True, I made all our machines spit out simplex prints -- but +what about duplex? What about punching the output? How to make sorting +work? Or stapling, cover sheets and all the other beautiful finishing +options our engines offer to customers? No way -- at least for me as a +non-geek! + + +I began a search on the Internet for a solution. Fortunately not +much later, in May 1999, Mike Sweet, principal developer of &CUPS;, +announced the first Beta release of this superb piece of printing +software. After trying it briefly, I knew this was it! + + +Next thing I attempted: to make &Linux; distributions interested in +this new stuff. Believe me -- it was more than tenacious! They seemed +to think they already had the best thing they could get in +printing. One reason probably was that they (and many &Linux; +developers) never had to think about how to best support a printer +duplexer -- because one had never come near their own +desks... + + +Finally, my attempts to make some &Linux; print publications +interested in &CUPS; backfired on me - one editor +squeezed me into writing a series on the subject myself. And this is +how some people started to give me the nickname CUPS +Evangelist. I will not get rid of this nick anytime soon, now +that even the &kde; people wedged me into their timeframe of +releases. Oh, boy... + +Anyway, &CUPS; is now making its way around the world and it +might well become a triumphal one: I am a little bit proud to have +supported and contributed to this from near the beginning. + +It should encourage you: even if some more experienced &Linux; +users than you are skeptical about it, and even if your programming +skills are next to zero (like mine) - there are a lot of tasks and +jobs and ideas, and talent that you can contribute to the Free Software +community. Not least within the &kde; project... ;-) + + + + + +Credits + +I'd like to thank... + + +Mike Sweet for developing &CUPS; in the first place + + +Jean-Eric Cuendet for starting kups +and qtcups, the predecessors of +&tdeprint; + + +Michael Goffioul for doing all the hard work recently + + +Martin Konold for thinking twice + + +Sven Guckes for teaching me a few things about the art of survival +on the terminal (just in case &kde; is not there ;-) ) + + +...too numerous others to mention who also let me snatch bits +and bytes of knowledge +off them + + + and last, but not least: Tom Schwaller for encouraging me +to get into documentation +writing + + + + + + +Caveats + +&tdeprint; has been developed on a system using &CUPS; 1.1.6. +&tdeprint; has been tested on other versions of &CUPS; and so +far no incompatibilities are known. By the time of writing +this Handbook, &CUPS; 1.1.9 is out with a few new features +not yet supported by &tdeprint;. Of course you are able to +access these features, but you will need to bypass &tdeprint; +and use the &CUPS; command-line tools or edit configuration +files manually. &tdeprint;'s development will go on and this +Handbook strives to always be the best available user documentation +resource for it. + + + + diff --git a/doc/tdeprint/getting-started.docbook b/doc/tdeprint/getting-started.docbook new file mode 100644 index 000000000..9ef1500b7 --- /dev/null +++ b/doc/tdeprint/getting-started.docbook @@ -0,0 +1,143 @@ + +Getting Started + +This chapter of the &tdeprint; Handbook will walk you through most +of the configuration or selection options of &tdeprint;. It will mainly +deal with &CUPS; in this version, as the author is most familiar with +it, and also because &tdeprint; started off with supporting &CUPS; +best. Later versions of the &tdeprint; software and editions of this +handbook will support and explore other printing +systems more closely. + + +Selecting Your Print Subsystem + +You need to define your print subsystem, before you are able to +install any printer with the &tdeprint; framework. There are two areas +where you can define this: either in &kcontrol; (The Printing +Manager section), or directly and on the fly +from the print dialog. + +Navigate to K Menu +Preferences System +Printing Manager. At the bottom +you can see a button that lets you select which printing subsystem you +want to use. In &kde; 2.2 you can choose from the following +alternatives: + + + +&CUPS; (Common &UNIX; Printing System) + + +Print through an external program (generic) + + +LPR (Standard BSD Print +System) + + +Generic &UNIX; LPD print system (the +default) + + +RLPR environment (print to remote +LPD servers from the command line) + + + +Of course, the chosen system must be installed, and up and running on +your box prior to your selection, or before it takes effect. + + + +On it's first startup, &tdeprint; will try an autodetection. This +only works for: + + + +&CUPS;, as it is checking first for a running &CUPS; daemon + + +LPD, as it is checking for a running +LPD daemon, plus a printcap +file. + + + + + +The system you choose must be installed on your system prior to +your selection. The author's personal recommendation is +&CUPS;. + +Once autodetected, chosen, or changed, the active print +subsystem will take effect for all &kde; applications. Different +users may have different print subsystems in use, if those do exist on +the computer and are compliant with each other. Their settings are +stored in the tdeprintrc. This file is unique to +every user, and is normally installed in +$HOME/.kde/share/config/tdeprintrc. + + +This file is not intended to be directly editable, and all +available options can be set from the &tdeprint; &GUI;. + + +You may even select a different printer subsystem, on the fly, from +the &kprinter; dialog box. + + + + +Working with the Printing Manager + +Once you have chosen your preferred and installed print subsystem, +you are ready to investigate, configure administer and work with this +system through the &tdeprint; framework. + +Navigate to K Menu +Preferences System +Printing Manager. In the right +part of the window you will see at least 4 printers predefined. These +are the virtual or special purpose printers, explained in section . You will probably see a toolbar with 13 icons at the +top of the window, and at least 4 tabs in the lower half of the window, +labeled Information, Jobs, +Properties and +Instances. + + + + + + + + + + + + + + + + + + diff --git a/doc/tdeprint/highlights.docbook b/doc/tdeprint/highlights.docbook new file mode 100644 index 000000000..72982c10c --- /dev/null +++ b/doc/tdeprint/highlights.docbook @@ -0,0 +1,518 @@ + +&tdeprint;'s Highlights + +The new &tdeprint; system includes more than one highlight. +Having worked in an environment in the past that is not exactly +sophisticated, as far as printing is concerned, take a look at some of +the benefits that come with &tdeprint; + + +The <quote>Add Printer</quote> Wizard + +&tdeprint; has an Add Printer Wizard. The Add +Printer Wizard helps you with adding and configuring a new printer. Of +course, you may do this manually as well. + +&tdeprint; helps you discover printers. It is able +to scan the environment for available devices and queues. This works for +network connections using TCP (AppSocket, +aka &HP; JetDirect, or IPP) or +SMB/Samba (shared &Windows;) printers +and partially for directly attached printers over parallel, serial, or +USB connections. + + +A screenshot of the new Add Printer +Wizard + + + + + +Here's a screenshot of the Add Printer Wizard +(this one is not very exciting yet; but...) + + + + +The wizard makes the installation and handling of the drivers +a snap. Selecting, configuring and testing should be easy +as never before on any &Linux;-like system. + + + + + + + +Full Print Job Control + +The Print Job Viewer is automatically started by &kprinter;. It +may be docked into the &kde; panel (in the system tray). The Print Job +Viewer allows full job management, if supported by the print +subsystem. + +You can: + + + +Hold and release jobs, + + +Move pending jobs to another printer, + + +Cancel pending or processing jobs. + + + +A screenshot of the &tdeprint; PrintJob Viewer shows the information +you get: Job-ID, target printer, job name, job owner, job status and job +size. In the next &tdeprint; release you will also see information about the +number of pages (as &CUPS; calculates it; see chapter on page accounting +for more information about its merits and limitations). + + +A screenshot of the &tdeprint; PrintJob Viewer + + + + + +Here's a screenshot of the &tdeprint; PrintJob Viewer. + +A screenshot of the &tdeprint; PrintJob +Viewer. + + + +An alternative way to looking at the same information (and having the +same amount of control is through the + + &kcontrolcenter; selecting +SystemPrinting +Manager. If you don't see the +Printer Information, +right click on the window +background and select View Printer +Information. Then go to the Jobs tab +to see this: + + + + + + + + +Here's a screenshot of the &tdeprint; PrintJob Viewer. + + + + + + + +Modules for different print subsystems + +&tdeprint; uses different modules to realize the interface to the +possible print subsystems. Not all the modules are yet developed fully, +but you will have basic printing functionality with: + + + +LPD (BSD style) + + +LPRng (&RedHat;, if you just use it's +BSD style subset), + + +RLPR (a command-line LPR +utility, which doesn't need a printcap file. + + +external print commands (&Netscape; like). + + + +Most importantly, full support for &CUPS; is already there. +Modules for other print subsystems, such as PLP, +PPR and PDQ may be available +later. + +&tdeprint; makes &kde; much more flexible. It gives freedom of +choice to &kde; 2.2 users. To use different available print subsystems, +these must, of course, be installed independently from &kde;. In +former versions, users were stuck with the old LPD +style print subsystems. Now they can even use &CUPS;. In the future, +there will be easy integration of new subsystems, as they +appear on the scene. + + + + +More &tdeprint; <quote>Goodies</quote> +Benefitting all Print SubSystems. + +Some specific features of &tdeprint; depend on the chosen print +subsystem. This dependency might exist because those features are only +implemented there; remember, &tdeprint; is an intermediate layer between +&kde; applications, and the print subsystem, but it's no replacement for +any print subsystem by itself. Such dependency may exist for another +reason: that &tdeprint; has not yet implemented an interface to all the +features of all the subsystems. + +Other features include benefits from &tdeprint; that are +independent of the chosen print subsystem, and are available with all of +them. At present there are special or +virtual printers, and some generic +pre-filters. + + + +Print Preview + +From the Print Dialog, you can select to look at a preview. For +this, the print file is passed through filters which make it suitable for +displaying on screen using &kghostview;. + + + + +Special Printers + +Amongst these additional &tdeprint; features are a few +special or virtual printers: + +These special printers may: + + + +Print to PDF + +Convert your document into a PDF file with the +help of an external program. + + + + +Print to email + +Send your document as an email attached PDF +file. + + + + +Print to PS file + +Save your document as a &PostScript; file. + + + + +Print to Fax + +Send it through an available backend, such as +Hylafax as a fax. + + + + + +These special printers appear in the user print +dialog just like normal printers. They are entirely +configurable on a per-user basis. + + + + + +Generic Pre-Filtering + +&tdeprint; provides you with a framework to define and configure +your own pre-filters. These pre-filters may take effect +before they are passed to your print subsystem for +further processing, but after the (&PostScript;, +plain text or other) print files have been generated by your +application. + +There are a few useful filters already predefined. These +are: + + + +The multiple pages per sheet filter, + + + +the enscript text filter, + + + +and three filters to help print pamphlets. + + + +You may create your own filters based on any third party program +that is able to process &PostScript;, plain text or image files, and output +any one of those formats. + +These filters are configured through XML files. +This makes an extension of the concept very easy for experienced developers, +but end-user configuration is also done through an intuitive graphical +user interface. So, fear not, you don't need to learn +XML because of &tdeprint;! + + + +Multiple Pages Per Sheet Filter + +This is a predefined filter that installs with &tdeprint;. It +allows you to create a modified &PostScript; output, from &PostScript; +input, that prints 1, 2, or 4 logical pages on a single sheet of +paper. + + + + +Enscript Text Filter + +This is a predefined filter that installs with &tdeprint;. It +allows you to create &PostScript; output from any text file input, that +includes syntax highlighting for program listings, pretty-printing, and +nice configurable page frames and headers. + + + + +Pamphlet Printing Filters + +If your printer is able to produce duplex output, using either +one-pass or two-pass technology, you may be able to use one, or a +combination, of the pamphlet filters. + +For duplexing printers, make sure you use the duplex option that +turns the output along the short paper edge. Folding the +printed paper along the middle turns your document into a nice pamphlet. + +If you are stuck with using a simplex-only device, you can do the +same, using two different filters and a few additional steps. + +Depending on your model, first use the filter for printing the +odd pages, then insert the paper in the correct order +back into the paper tray to get the even pages printed on the reverse +side. These can then be folded to make a pamphlet. + + + + + + + + + + +&CUPS; Support: the Most Important Module in &tdeprint; + +&tdeprint; contains a module for &CUPS;. &CUPS;, the +Common &UNIX; Printing System (http://www.cups.org/), is the most +advanced, powerful and flexible of all print subsystems on &UNIX; and +other &UNIX;-like operating systems. It is still quite new on the +horizon, but is based on IPP, the Internet Printing +Protocol, the newly emerging standard for the future of network +printing. &CUPS; is clearly the print system of choice for Michael +Goffioul, the principal &tdeprint; developer. + +Experienced &kde; users may already be familiar with Michael's +utilities qtcups and +kups (co-developed with Jean-Eric Cuendet). +These were, up until now, the graphical +&GUI; front ends for &CUPS; with a strong relation to &kde;. + + +<application>qtcups</application> and +<application>kups</application> — The Predecessors + +Both utilities are probably still widely used. For those +not familiar with them, +here are brief explanations. + +qtcups was a graphical front end for +the lp or lpr print commands as +installed by &CUPS;. Using qtcups opened a +dialog. This dialog let you comfortably select your printer and the +print job options. qtcups +worked from the command line, or from +within applications, when the application in question had a configurable +print command. + +kups was a graphical wrapper to do the +administration tasks for your &CUPS; server, and the &CUPS; daemon at +the heart of it. You could add, delete, modify, configure, start, and +stop printers. You could cancel, delete, move, stop and restart print +jobs, and you could change the settings of the daemon, start, stop, and +restart it. + + + + +&tdeprint; — The Heir + +The &CUPS; Module in &tdeprint; now contains all (and more) +functions that were provided by qtcups and +kups in former &kde; versions. + +Instead of qtcups you can now use the +kprinter command. And in place of +kups you will probably use +kcmshell printers from now on. + + +The &tdeprint; module for &CUPS; also lets you fully administer +the print subsystem, just like kups did +before. It can start, stop and configure your &CUPS; daemon. It can also +start, stop, add and delete printers (&ie; printer +queues) and printer instances. Printer instances are +printer queues that point to the same physical output device but with a +different default setting of print options. + + + + +&kprinter; — Graphical Print Command + +&tdeprint;'s &CUPS; module gives you access to a graphical +print command, like qtcups did +before. + +Use &kprinter; in any application, even a non-&kde; +application, that lets you configure your print command. Examples of +these are &Netscape; and StarOffice, but +not most pre-&kde; 2.2 programs. + +A screenshot how to use the new kprinter +print command instead of the old-fashioned lpr... +Of course you need to have kprinter in your +$PATH, or give the full path in the dialog; ⪚ +/opt/kde/bin/kprinter. +&Netscape; will remember this and with further print jobs you will get +the kprinter dialog to configure your printouts. + + +A screenshot of the kprinter print +command in action. + + + + + +Here's a screenshot showing how to use the new +kprinter print command +instead of the old-fashioned lp or +lpr in &Netscape;. + + + + +You can also use &kprinter; from the +command line and see the resulting dialog box pop up: + + +Screenshot of the kprinter command + + + + +Screenshot showing use of the kprinter command +from the command line. + + + +Just make sure you give at least the file to be printed +from the command line as well: kprinter +. +This will hand over the &CUPS; Software Administrator Manual to the +kprinter dialog, which will then pop up with the +default printer pre-selected. + +To pre-select a specific printer from the command line, use the + option, ⪚: +kprinter +. You +can still de-select the printer and +choose a different one. + + You cannot however call +kprinter +without a print file and hope to open a file selection +dialog box from the &kprinter; window. This is a feature that will be +implemented only in the next version. + + +Using kprinter you are able to ring +all the bells and blow all the whistles of your printer. You +will need a device-specific so-called &PPD; (&PostScript; Printer +Description) to enable &CUPS; to make this nice tandem team do this +for you. Read more about this in . + + + + + + +Plans for Future Development + +What you have now is the first, already very feature-rich +version of &tdeprint;. This version is, of course, fully usable for +printing. You might even think that it was never so +easy (not even back in the days when you had to use +&Microsoft; &Windows;). + + In the future, &tdeprint; will become even better. It will do a +better job of detecting your installed print subsystem +itself. Already &tdeprint; is doing quite well in automatically +sensing if you have &CUPS; on your system. But in many cases you will +have to tell &tdeprint; what you are using, if you want to keep a +legacy print system. + +The most important improvement in the near future will be a +completion of the LPRng plugin. This at +present is still very basic. It is restricted to the pure classical +LPD part of +LPRng. + +Also, you may be able to add printers directly from the print +dialog to your system just in time, without going to +&kcontrol; first. + +Some smaller improvements already planned are: + + +add a file selection dialog from the &kprinter; window +to allow combining of additional files to the present +printjob add a +history button to the +KJobViewer window and also a column to show +the number of pages &CUPS; calculates for the job. + + +Finally, there will be an IO slave that will give +you access to your print subsystem, via &konqueror; for example. With +this you will soon be able to browse your print subsystem from +&konqueror; through a &URL; like shortcut such as +print://printers/printername. A KPart will add +a virtual folder to the services section of the &konqueror; navigation +panel, giving a nice integrated way to browse and manage your print +system via the &URL; print:/manager. + +Please contact Michael Goffioul at tdeprint@swing.be +with any further user or developer suggestions. + + + diff --git a/doc/tdeprint/index.docbook b/doc/tdeprint/index.docbook new file mode 100644 index 000000000..977d9a6f4 --- /dev/null +++ b/doc/tdeprint/index.docbook @@ -0,0 +1,200 @@ + +CUPS"> + PPD"> + IPP"> + ghostscript"> + + + + + + + + + + + + + + + + + +]> + + + + +The &tdeprint; Handbook + + + +Kurt +Pfeifle + +
kpfeifle@danka.de
+
+
+ + +Michael +Goffioul + +
tdeprint@swing.be
+
+Developer +
+ + +Lauri +Watts + +
lauri@kde.org
+
+Reviewer +
+ + + +
+ + +2001 +Kurt Pfeifle + + +&FDLNotice; + +2001-08-09 +1.00.04 + + +This handbook describes &tdeprint;. &tdeprint; is not a standalone +program. It is the new printing framework for &kde; 2.2. &tdeprint; +is an intermediate layer between &kde; (or other) applications and the selected +(and installed) print subsystem of your OS (&OS;). + + + +KDE +kdebase +tdeprint +print +printing +CUPS +LPR + + +
+ + +Introduction + +This handbook describes &tdeprint;. &tdeprint; is not a standalone +program. It is the new printing framework for &kde; 2.2. &tdeprint; +is an intermediate layer between &kde; (or other) applications and the selected +(and installed) print subsystem of your OS (&OS;). + +It should be noted that both the developer of this application, +and the author of this document are most familiar with &CUPS; as a +printing system. At the time of writing, &CUPS; is the best supported +printing subsystem, and it is the best documented. + +This handbook is a work in progress, and later versions of the +&tdeprint; software and editions of this handbook will support and +explore more closely other printing systems. + +In the meantime, even if your printing subsystem is not yet well +covered, you are encouraged to explore the Printing +Manager module in &kcontrol;, and you will find its +operation to hopefully be fairly self evident, no matter what printing +subsystem you use. + +Lauri Watts, &kde; documentation team + + + + +To configure your printing subsystem from &kcontrol; + +To configure your printing subsystem from &kcontrol;, go to +SystemPrinting +Manager and select your subsystem. Or you can +let &tdeprint; try to determine it... + + +&CUPS; Printing Manager dialog: overview via &kcontrol; + + + + +The dialog to configure the &CUPS; server: security +settings +Configuration of printing subsystem from +&kcontrol; + + + + + + +&tech-overview-doc; + +&highlights-doc; + +&theory-doc; + +&getting-started-doc; + +&cups-configuration-doc; + +&add-printer-wizard-2-doc; + +&cupsoptions-presently-outside-kcontrol-doc; + +&rlpr-doc; + +&lpd-doc; + +&lpr-bsd-doc; + +&lprng-doc; + +&external-command-doc; + +&extensions-doc; + +&final-word-doc; + + +Credits And Licenses + +&tdeprint; copyright 2001, Michael Goffioul +tdeprint@swing.be +&underGPL; + +Documentation copyright 2001, Kurt Pfeifle, +kpfeifle@danka.de +&underFDL; + + + + + +
+ + diff --git a/doc/tdeprint/kcontrol-icon.png b/doc/tdeprint/kcontrol-icon.png new file mode 100644 index 000000000..8fbaacd79 Binary files /dev/null and b/doc/tdeprint/kcontrol-icon.png differ diff --git a/doc/tdeprint/kcontrolcenter-printmanager-jobcontrol-2.png b/doc/tdeprint/kcontrolcenter-printmanager-jobcontrol-2.png new file mode 100644 index 000000000..d7132b1cd Binary files /dev/null and b/doc/tdeprint/kcontrolcenter-printmanager-jobcontrol-2.png differ diff --git a/doc/tdeprint/kcron_to_be_printed.png b/doc/tdeprint/kcron_to_be_printed.png new file mode 100644 index 000000000..114b26b3c Binary files /dev/null and b/doc/tdeprint/kcron_to_be_printed.png differ diff --git a/doc/tdeprint/kprinter-as-netscape-printcommand.png b/doc/tdeprint/kprinter-as-netscape-printcommand.png new file mode 100644 index 000000000..0780e2a80 Binary files /dev/null and b/doc/tdeprint/kprinter-as-netscape-printcommand.png differ diff --git a/doc/tdeprint/kprinter-kivio.png b/doc/tdeprint/kprinter-kivio.png new file mode 100644 index 000000000..b36b49b89 Binary files /dev/null and b/doc/tdeprint/kprinter-kivio.png differ diff --git a/doc/tdeprint/kprinter.png b/doc/tdeprint/kprinter.png new file mode 100644 index 000000000..f83cfcd4b Binary files /dev/null and b/doc/tdeprint/kprinter.png differ diff --git a/doc/tdeprint/kprinter_called_from_run_command.png b/doc/tdeprint/kprinter_called_from_run_command.png new file mode 100644 index 000000000..b02070c1d Binary files /dev/null and b/doc/tdeprint/kprinter_called_from_run_command.png differ diff --git a/doc/tdeprint/kprinter_with_kcron_developer_special.png b/doc/tdeprint/kprinter_with_kcron_developer_special.png new file mode 100644 index 000000000..dc9b785cf Binary files /dev/null and b/doc/tdeprint/kprinter_with_kcron_developer_special.png differ diff --git a/doc/tdeprint/lpd.docbook b/doc/tdeprint/lpd.docbook new file mode 100644 index 000000000..cc555e399 --- /dev/null +++ b/doc/tdeprint/lpd.docbook @@ -0,0 +1,18 @@ + +Generic <acronym>LPD</acronym> Module (&UNIX;) + + + +Overview of Provided Features + +Module used by default (on first start for example). + +Generic module that only allows sending of print jobs. No printer or +job management supported. It is made to work on a wide variety of &UNIX; +flavors: &Linux;/LPR, &HP-UX;, Solaris, &IRIX;. +It also supports some LPRng extensions (like +the absence of continuation character \ in +printcap files). + + + diff --git a/doc/tdeprint/lpr-bsd.docbook b/doc/tdeprint/lpr-bsd.docbook new file mode 100644 index 000000000..007fbc6e5 --- /dev/null +++ b/doc/tdeprint/lpr-bsd.docbook @@ -0,0 +1,25 @@ + +<acronym>LPR</acronym> (<acronym>BSD</acronym>) + +Plain (old?) LPR support. An +LPRng module is in development, and hopefully +available for 2.3 release. + + +Overview of Provided Features + + + +Printer management: basic support to add/remove/configure a +printer, compatible with &RedHat;-6.x systems +(printtool + rhs-printfilers packages). + + +Job management: not supported + + +Print options: basic control + + + + diff --git a/doc/tdeprint/lprng.docbook b/doc/tdeprint/lprng.docbook new file mode 100644 index 000000000..78db2615b --- /dev/null +++ b/doc/tdeprint/lprng.docbook @@ -0,0 +1,7 @@ + +<application>LPRng</application> + +An LPRng module for &tdeprint; is in +development, and hopefully available for the &kde; 2.3 release. + + diff --git a/doc/tdeprint/ps-boxes.png b/doc/tdeprint/ps-boxes.png new file mode 100644 index 000000000..a24f845a7 Binary files /dev/null and b/doc/tdeprint/ps-boxes.png differ diff --git a/doc/tdeprint/rlpr.docbook b/doc/tdeprint/rlpr.docbook new file mode 100644 index 000000000..fab48d7bb --- /dev/null +++ b/doc/tdeprint/rlpr.docbook @@ -0,0 +1,18 @@ + +Module Built Around <application>rlpr</application> +Utility + + +Overview of provided features + +Printer management: basic operations are supported +(add/remove/modify). + +Each user can predefine the printers he wants to use by specifying +the host and related printer queues. Printers are stored on a per +user basis. This module is built around the +rlpr utility rlpr + + + diff --git a/doc/tdeprint/steinbruch_scaled.png b/doc/tdeprint/steinbruch_scaled.png new file mode 100644 index 000000000..57e6fde76 Binary files /dev/null and b/doc/tdeprint/steinbruch_scaled.png differ diff --git a/doc/tdeprint/tdeprint-jobviewer.png b/doc/tdeprint/tdeprint-jobviewer.png new file mode 100644 index 000000000..8182e4317 Binary files /dev/null and b/doc/tdeprint/tdeprint-jobviewer.png differ diff --git a/doc/tdeprint/tech-overview.docbook b/doc/tdeprint/tech-overview.docbook new file mode 100644 index 000000000..7a81a48a2 --- /dev/null +++ b/doc/tdeprint/tech-overview.docbook @@ -0,0 +1,280 @@ + +Technical Overview + +This chapter aims to give a technical overview of &tdeprint; which +non-programmers can comprehend. + +&tdeprint; is a new and revolutionary tool to give easy access to +printing services for both &kde; users and &kde; developers. + + +A Brief Description of &tdeprint; + +You can access the functions of &tdeprint; in different ways: +through the Printing Manger in the &kcontrol;, through the +kprinter command or through the dialog that pops up +if you want to print. + + +What it is <emphasis>not</emphasis> + +&tdeprint; is not a replacement for the +printing subsystem itself. &tdeprint; does not +therefore give provision for spooling, and it does +not do the basic processing of &PostScript; or +other print data. + + + + +What it <emphasis>is</emphasis> +&tdeprint; is an intermediate layer between the spooling and the +data processing print subsystem (as installed), and the application that +seeks to print. &tdeprint; provides a common interface for &kde; +developers and &kde; users, to various supported print subsystems. At +the same time, it is customizable, and highly configurable. + +&tdeprint; is easy to use for both &kde; developers and end-users. +Developers can port their applications, with minimal changes, to use +&tdeprint; instead of the old &Qt; print system. Users +can easily choose and configure their print subsystem. + +For a reference to new &kde; users: &Qt; is the basic library and +graphical toolkit, which is used by all &kde; applications; &Qt; is +developed by TrollTech, a Norwegian software company. + + + + + + +&tdeprint; -- Different Usage for Different People + +&tdeprint; has different faces for different people. + + +What users and administrators can do with &tdeprint; + +&tdeprint; allows users and/or administrators, depending on their +rights, access to printing subsystems (&CUPS;, LPD, +RLPR, LPRng, +PDQ &etc;) through a &kde; graphical user +interface (&GUI;). Using &tdeprint;, they can print, administer jobs, +printers and the printing daemon, all in a comfortable manner. + +Experienced users will like the capability to plug any working +filter for the print data between the output of their application and +the input, into the chosen print subsystem. Some examples for this +already ship with plain vanilla &tdeprint;. Read +on. + + + + + +What &kde; developers can do with it... + +If a &kde; developer needs printing access for his application, he +does not code the printing functions from scratch. Before &kde; 2.2 this +service was provided by the QPrinter class, a +library function of the &Qt; Toolkit. The +QPrinter class relied on the out-moded +Line Printer Daemon (LPD). The +&tdeprint; library bases itself firmly on the more modern Common &UNIX; +Printing System (&CUPS;), while at the same time keeping backward +compatibility with LPD and other legacy, or less +elaborate, print systems. It also leaves the door open +for any new development that might occur. + +For &kde; developers to use the new &tdeprint; class in their +applications, they require only minimal changes to their code: for every +call of QPrinter, they just need to change this to +KPrinter. Replacing one (!) letter in a few +spots, and automatically they are done; their application can then use +all of the features of the new &tdeprint; library. + +More ambitious developers, or ones with special requirements, can +do more: despite &tdeprint;'s feature-rich framework, they are still able +to customize the print dialog of their application +by creating an additional Tab, where their +extensions to the standard &tdeprint; will feel right at home. + + +This last mentioned feature has not been used widely inside +&kde; so far, as developers are not yet fully aware of &tdeprint;'s +power. Expect more of this in the near future. One example I +discovered is the &kcron; application. It lets you edit the crontab +through a &GUI;. The developers have implemented a printing feature +that lets you (or root) +choose if you want to print the whole of crontab (for all users) or +just the part that is marked. You can see the effects on &tdeprint; +in the following screenshots. + +This shot shows a sample from the &kcron; utility. + +&kcron; utility: a small sample of a system's cronjobs as +shown through the &kde; GUI&GUI;. + + + + +The &kcron; developers let you choose to print the whole of the +cron table or just the marked part of it. + + + + +The dialog to configure &kcron;'s printing options: the +additional tab titled Cron Options is from inside +&kcron;, not &tdeprint;; it is a special extension added by the +&kcron; developers for printing purposes, not originating from, but +executed by &tdeprint;. Developers of other applications are free +to implement their own goodies, if they feel need for it. + + + +&kcron;'s addition to the &tdeprint; dialog. + + + + +&kcron;'s addition to the &tdeprint; dialog. + +&kcron;'s addition to the &tdeprint; dialog. + + + + + + + +What &tdeprint; offers to everybody... + +&tdeprint;'s easy-to-use interface for all supported print subsystems +of course does not eliminate basic traditional weaknesses of some of +those systems. But it smooths some rough edges. Different users may use +different printing systems on the same box. A user is free to even +switch on the fly, from the print dialog, the print +subsystem to be used for the next job. (This is possible if different +systems are installed in a way that they don't get in each +other's way.) + +Most &UNIX; users are used to +LPD printing. LPD provides only +basic printing functions, is very inflexible and does not utilize the +many options of more modern print systems like &CUPS;. While also +working remotely over any distance (like every TCP/IP based protocol), +LPD lacks bi-directional communication, +authentication, access control and encryption support. + +&tdeprint; can use &CUPS; to support: + + + +Querying the LAN for available printers, + + +Basic, Digest, and Certificate Authentication, + + +Access Control based on IP addresses, net +addresses, netmasks, host- and domain names, + + +and 128-Bit TLS or SSL3 encryption of print data, to prevent +eavesdropping, or at least make it much more difficult. + + + +This makes &tdeprint; a much more robust and reliable solution +than using the venerable LPD. + + + +How to access &tdeprint; + +You get access to &tdeprint;, or parts of it, in four different +ways: + + +through your applications: if you call the printing +dialog (either File +Print...) or the button with the +little printer icon on it; this opens the printing +dialog. + +through the typed command kprinter +in a terminal or a &konsole; window or from +the Run Command... mini-CLI +window: this also opens the printing dialog. + +from the + button, starting &kcontrol;, and then go to +SystemPrinting +Manager. This opens the &tdeprint; +administration which is part of the &kcontrolcenter; and also lets +you switch to other parts of the &kcontrol; + +from a command line (&konsole; or +mini-CLI) type +kcmshell . +This opens just the &tdeprint; part of &kcontrol; to change your settings + + + +&kprinter; dialog to be started from Run Command... window + + + + +Starting the &kprinter; dialog from +a Run Command... window. +Starting the &kprinter; dialog from a Run +Command... window. + + + + Here is a +&kivio; drawing of the &kprinter; dialog as it pops up after being +started... You can always add a new printer by clicking on the small +Wizard button (marked red/yellow in this +drawing). + + +&kprinter; dialog started (&kivio; draft drawing) + + + + + +&kprinter; dialog started (&kivio; draft drawing) +&kprinter; dialog started (&kivio; draft +drawing) + + + + + + + + + + diff --git a/doc/tdeprint/theory.docbook b/doc/tdeprint/theory.docbook new file mode 100644 index 000000000..7b137f1c3 --- /dev/null +++ b/doc/tdeprint/theory.docbook @@ -0,0 +1,690 @@ + +Some Theoretical Background: &CUPS;, <acronym>IPP</acronym>, +&PostScript; and <application>Ghostscript</application> + +This chapter aims to give a bit of theoretical background to +printing in general, and to &CUPS; especially. If you are not in need +of this, you might like to skip ahead to the next chapter. Chances are you will +come back to this chapter at some point anyway, because sometimes one +needs extra theory to solve a practical problem. + + +Basics About Printing + +Printing is one of the more complicated chapters in +IT technology. + + +Earlier on in history, every developer of a program that was +capable of producing printable output had to write his own printer +drivers too. That was quite complicated, because different programs +have different file formats. Even programs with the same purpose, for +example: word processors, often do not understand each other's formats. +There was therefore no common interface to all printers, hence the +programmers often supported only a few selected models. + +A new device appearing on the market required the program authors +to write a new driver if they wanted their program to support it. Also +for manufacturers, it was impossible to make sure their device was +supported by any program known to the world (although there were far +fewer than today). + +Having to support ten application programs and a dozen printers, +meant a system administrator had to deal with 120 drivers. So the +development of unified interfaces between programs and printers became +an urgent need. + +The appearance of Page Description Languages, +describing the graphical representation of ink and toner on sheets of +paper (or other output devices, like monitors, photo typesetters, &etc;) +in a common way, was a move that filled a big gap. + +One such development was &PostScript; by Adobe. It meant that an +application programmer could concentrate on making his program generate +a &PostScript; language description of his printable page, while +printing device developers could focus on making their devices +&PostScript; literate. + +Of course, over time, there came the development of other description +methods. The most important competitors to &PostScript; were +PCL (Print Control Language, from +&Hewlett-Packard;), ESC/P (from Epson) and +GDI (Graphical Device Interface from +&Microsoft;). + +The appearance of these page description languages made life easier, +and facilitated further development for everybody. Yet the fact that there +still remained different, incompatible, and competing page description +languages keeps life for users, administrators, developers and +manufacturers difficult enough. + + +&PostScript; in memory - Bitmaps on Paper + +&PostScript; is most heavily used in professional printing +environments such as PrePress and printing service industries. In the +&UNIX; and &Linux; domains, &PostScript; is the predominant standard +as a PDL. Here, nearly every program generates a +&PostScript; representation of its pages once you push the +Print button. Let us look at a simple example of +(hand-made) &PostScript; code. The following listing describes two +simple drawings: + + +&PostScript; Code +%!PS +100 100 moveto +0 50 rlineto +50 0 rlineto +0 -50 rlineto +closepath +.7 setgray fill +% first box over; next +160 100 moveto +0 60 rlineto +45 10 rlineto +0 -40 rlineto +closepath +.2 setgray fill + + +This tells the imaginary &PostScript; pen to draw +a path of a certain shape, and then fill it with different shades of +gray. The first part translates into more comprehensive English as +Go to coordinate (100,100), draw a line with length 50 upward; +then one from there to the right, then down again, and finally close +this part. Now fill the drawn shape with 70% darkness gray. + + +Rendered &PostScript; + + + + + + example rendered as an +image. + + + + +Of course, &PostScript; can be much more complicated than this +simplistic example. It is a fully fledged programming language with +many different operators and functions. You may even write +&PostScript; programs to compute the value of Pi, format a hard disk or +write to a file. The main value and strength of &PostScript; however +lies in the field to describe the layout of graphical objects on a +page: it also can scale, mirror, translate, transform, rotate and +distort everything you can imagine on a piece of paper -- such as +letters in different font representations, figures, shapes, shades, +colors, lines, dots, raster... + +A &PostScript; file is a representation of one or more pages +to be printed, in a relatively abstract way. Ideally, it is meant +to describe the pages in a device-independent way. &PostScript; is +not directly visible; it only lives on hard disks +and in RAM as a coded representation of +future printouts. + + + + +Raster Images on Paper Sheets + +What you see on a piece of paper is nearly always a +raster image. Even if your brain suggests to you that +your eyes see a line: take a good magnifying glass and you will +discover lots of small dots... (One example to the contrary are +lines that have been drawn by pen plotters). And that +is the only thing that the marking engines of today's +printers can put on paper: simple dots of different colors, size and +resolution, to make up a complete page image composed of +different bitmap patterns. + +Different printers need the raster image prepared in different +ways. Thinking about an inkjet device: depending on its resolution, +the number of inks used (the very good ones need 7 different inks, while +cheaper ones might only use 3), the number of available jets (some print +heads have more than 100!) dispensing ink simultaneously, the +dithering algorithm used, and many other things, the +final raster format and transfer order to the marking engine is heavily +dependent on the exact model used. + +Back in the early life of the Line Printer Daemon, +printers were machines that hammered rows of ASCII +text mechanically on to long media, folded as a zig-zag paper +snake, drawn from a cardboard box beneath the +table... What a difference from today! + + + + + +<acronym>RIP</acronym>: From &PostScript; to Raster + +Before the final raster images are put on paper cut-sheets, they +have to be calculated somehow out of their abstract &PostScript; +representation. This is a very computing-intensive process. It is called +the Raster Imaging Process, more commonly +RIP). + +With &PostScript; printers the RIP-ping is +taken care of by the device itself. You just send the &PostScript; +file to it. The Raster Imaging Processor (also called the +RIP) inside the printer is responsible (and +specialized) to fulfill quite well this task of interpreting the +&PostScript;-page descriptions and put the raster image on paper. + +Smaller &PostScript; devices have a +hardware-RIP built in; it is etched in silicon, on a +special chip. Big professional printers often have their +RIP implemented as a software-RIP +inside a dedicated fast &UNIX; run computer, often a Sun SPARC Solaris +or a &SGI; &IRIX; machine. + + + + +<application>Ghostscript</application> as a Software +<acronym>RIP</acronym> + +But what happens, if you are not lucky enough to have a +&PostScript; printer available? + +You need to do the RIP-ing before you send +the print data to the marking engine. You need to digest the &PostScript; +generated by your application on the host machine (the print client) +itself. You need to know how the exact raster format of the target +printer's marking engine must be composed. + +In other words, as you can't rely on the printer to understand +and interpret the &PostScript; itself, the issue becomes quite a bit +more complicated. You need software that tries to solve for you the +issues involved. + +This is exactly what the omnipresent &ghostscript; package is +doing for many &Linux;, *BSD and other &UNIX; boxes that need to print +to non-&PostScript; printers: &ghostscript; is a &PostScript; +interpreter, a software RIP capable of running many +different devices. + + + + +<quote>Drivers</quote> and <quote>Filters</quote> in General + +To produce rasterized bitmaps from &PostScript; input, the +concept of filters is used by &ghostscript;. There are +many different filters in &ghostscript;, some of them specialized for +a certain model of printer. &ghostscript; filterspecializedin devices +have often been developed without the consent or support of the +manufacturer concerned. Without access to the specifications and +documentation, it was a very painstaking process to reverse engineer +protocols and data formats. + +Not all &ghostscript; filters work equally well for their +printers. Yet, some of the newer ones, like the +stp Filter of the +Gimp Print project, produce excellent +results leading to photographic quality on a par or even superior to +their &Microsoft; &Windows; driver counterparts. + +&PostScript; is what most application programs produce for +printing in &UNIX; and &Linux;. Filters are the true workhorses of +any printing system there. Essentially they produce the right bitmaps +from any &PostScript; input for non-&PostScript; target +engines. + + + + +Drivers and Filters and Backends in CUPS + +&CUPS; uses its own filters, though the filtering system is +based on Ghostscript. Namely the pstoraster and the imagetoraster +filters are directly derived from Ghostscript code. &CUPS; has +reorganized and streamlined the whole mechanics of this legacy code +and organized it into a few clear and distinct modules. + +This next drawing (done with the help of &kivio;) gives an +overview of the filters and backends inside &CUPS; and how they fit +together. The flow is from top to bottom. Backends +are special filters: they don't convert date to a different format, +but they send the ready files to the printer. There are different +backends for different transfer protocols. + + +&kprinter; dialog started (&kivio; draft drawing) + + + + + +&kprinter; dialog started (&kivio; draft +drawing) + + + + + +Spoolers and Printing Daemons + +Besides the heavy part of the filtering task to generate a +print-ready bitmap, any printing software needs to use a SPOOLing +mechanism: this is to line up different jobs from different users for +different printers and different filters and send them accordingly to +the destinations. The printing daemon takes care of all this. + +This daemon is keeping the house in order: it is also +responsible for the job control: users should be allowed to cancel, +stop, restart, &etc; their jobs (but not other peoples's jobs) and so +on. + + + + + + + + +Excursion: How <quote>CUPS</quote> uses the power of +&PPD;s + +Now that you know how a &PostScript; language file (which +describes the page layout in a largely device independent way) is +transformed into a Raster Image, you might ask: +Well, there are different kinds of raster output devices: first +they differ in their resolution; then there are the different paper +sizes; it goes on with many finishing options (duplex prints, +pamphlets, punched and stapled output with different sheets of colored +paper being drawn from different trays, &etc;). How does this fit into +our model of device-independent &PostScript;? + +The answer comes with so called &PostScript; Printer Description +(&PPD; files. A &PPD; describes all the device dependent features +which can be utilized by a certain printer model. It also contains +the coded commands that must be used to call certain features of the +device. But &PPD;s are not a closed book, they are simple +ASCII text files. + +&PPD;s were invented by Adobe to make it easy for +manufacturers to implement their own features into &PostScript; +printers, and at the same time retain a standard way of doing so. +&PPD;s are well documented and described by Adobe. Their +specification is a de-facto open standard. + + +Device Dependent Print Options + +Remember, advanced &PostScript; printing was originally only +developed for use on &Microsoft; &Windows; and Apple &Mac; systems. +For a long time, all of the feature rich printing on modern devices +was simply unavailable for &Linux; and &UNIX;. &CUPS; changes this +decisively. &CUPS; is closely tied with &PPD;s, and therefore existing +&PPD;s can be utilized to the full by all systems powered by +&CUPS;. + +Using &PPD;s, printer manufacturers were able to insert +device-specific hardware features into their products, for features such +as duplexing, stapling, punching, finishing, &etc;. The printer drivers +load this &PPD; just like an additional configuration file. Thus the +printer driver learns about the available device options and how to +call them; the driver also presents them in a &GUI; to the user. Through +this mechanism you are still able to print +device-independent &PostScript; page description +language files and specify device-dependent finishing options on top, +which are added to the application-generated &PostScript;. + + + + +Where to get the &PPD;s for &PostScript; Printers + +&PPD;s originally were not used routinely in &UNIX; and &Linux; +systems. The vendors providing those &PPD;s never intended them for +anything other than the originally supported &OS;s: &Microsoft; &Windows; and +&MacOS;. Through its brilliant move to fully support and utilize +the existing &PPD; specification, &CUPS; now gives the power to use +all features of modern printers to users of &Linux; and &Linux;-like +systems. &tdeprint; makes its usage even more comfortable than the +&CUPS; developers ever dreamed of. + +&CUPS; can use original &Windows; &PPD;s, distributed by the +vendors in the case of &PostScript; printers. Those normally don't +cost any money, and they can be grabbed from any &Windows; computer +with an installed &PostScript; driver for the model concerned, or from +the disks provided with the printer. There are also several places on +the web to download them. + + + + +How Special &PPD;s are Now Useful Even For Non-&PostScript; +Printers. + +Now you know how &PostScript;-Printers can use &PPD;s. But what +about non-&PostScript; printers? &CUPS; has done a very good trick: by +using the same format and data structure as the &PostScript; Printer +Descriptions (&PPD;s) in the &PostScript; world, it can describe the +available print job options for non-&PostScript; printers just the +same. For its own special purposes &CUPS; just added a few special +options (namely the line which defines the filter to be used for +further processing of the &PostScript; file). + +So, the developers could use the same software engine to parse +the Printer Description Files for available options for all sorts of +printers. Of course the &CUPS; developers could not rely on the +non-&PostScript; hardware manufacturers to suddenly develop &PPD;s. +They had to do the difficult start themselves and write them from +scratch. More than 1000 of these are available through the commercial +version of &CUPS;, called ESP +PrintPro. + +Meanwhile there are a lot of &CUPS;-specific &PPD;s available. +Even now those are in most cases not originating from the printer +manufacturers, but from Free software developers. The &CUPS; folks +proofed it, and others followed suit: where &Linux; and &UNIX; +printing one or two years ago still was a kludge, it is now able to +support a big range of printers, including 7-color inkjets capable of +pushing them to Photo Quality output. + + + + +Different Ways to get &PPD;s for non-&PostScript; +Printers + +You can get &PPD;s to be used with &CUPS; and non-&PostScript; +printers from different areas in the Web: + + + + first, there is the repository at www.linuxprinting.org, +which lets you generate a CUPS-O-Matic-&PPD; online for +any printer that had been supported by traditional &ghostscript; +printing already. This helps you to switch over to &CUPS; with little +effort, if you wish so. If your printer was doing well with the +traditional way of &ghostscript; printing, take CUPS-O-Matic to plug +your driver into th e &CUPS; system and you'll have the best of both +worlds. + + + +second, there are &CUPS;-&PPD;s for the more than 120 printer +models, which are driven by the new universal +stp driver. stp +(stood originally for Stylus Photo) is now developed by the gimp-print +project; it was started by Mike Sweet, the leading &CUPS; developer +and is now available through gimp-print.sourceforge.net. +This driver prints real Photo quality on many modern inkjets and can +be configured to make 120 &CUPS;-&PPD;s along its own +compilation. &HP; Laser- and DeskJet, Epson Stylus and Photo Color models as +well as some Canon and +Lexmark are covered. + + + +third, there is the commercial extension to &CUPS; from the +&CUPS; developers themselves: it is called ESP +PrintPro and comes with more than 2.300 printer +drivers. There are even improved imagetoraster and pstoraster filters +included. + + + +&CUPS; makes it really easy for manufacturers to start +supporting &Linux; and &UNIX; printing for their models at reasonably +low cost. The modular framework of &CUPS; facilitates to plug in any +filter (=driver) with minimal effort and to access and utilize the +whole printing framework that &CUPS; is creating. + +Read more about the exciting &CUPS; features in the available +&CUPS; documentation at http://www.cups.org/documentation.html +and http://www.danka.de/printpro/faq.html. +Also at http://www.linuxprinting.org/ +is a universal repository for all issues related to &Linux; and &UNIX; +printing. + + + + + + +How &IPP; Support Makes &CUPS; the Best Choice Around + + +<quote><acronym>LPD</acronym> Must Die!</quote> + +For a long time many developers were deeply dissatisfied with good +old LPD. Quite a few new projects were started to +improve printing: LPRng is the best known +example. Others are PDQ, PPR, +PLP, GNUlpr and +RLPR. But none of the new programs were seen as a +big shot; most of them are just implementing the same old +LPD specification with a few (or many) new +extensions, which again make them incompatible with each other. + +Having seen the development of not just one, but different +viable alternatives to venerable BSD-style +LPD, Grant Taylor, author of the Linux +Printing HOWTO, finally rallied the call LPD +Must Die! in his Campaign To Abolish The Line +Printer Daemon. + + + + + + +How the &IPP; Came to Be + +Along with the above, on the industry side of things, there were +efforts to overcome the well-known weaknesses of +LPD. It started with proprietary extensions to +plain old LPD, and stretched as far as +&Hewlett-Packard;'s attempt to establish &HP; JetDirect as a new +standard for a network printing protocol. The result were even more +incompatibilities. + +In the end, an initiative to define a new common industry and +IETF standard took shape. The Printer +Working Group or PWG, a loose aggregation +of vendors in hardware, software, and operating systems, drafted the +new Internet Printing Protocol, &IPP;. &IPP; v1.1 has +now been approved by the IETF (Internet Engineering +Task Force) as a proposed standard, and now enjoys the unanimous +support throughout the industry in Europe, USA and Japan. Most +current network printer models have now built in &IPP; support on top +of traditional LPR/LPD or +JetDirect Printing. + + + + +Why &IPP; is Solving Many Problems + +&IPP; promises to solve a lot of problems network administrators +face. This trade normally deals with heterogeneous network +environments and spends more than half of its working hours dealing +with printing problems. + +By creating a unified set of query functions for &IPP; enabled +printers and servers, for transferring files and setting job-control +attributes &etc;, &IPP; is destined to work across all &OS; platforms. +It's rollout however, will not happen overnight, as many legacy print +devices will still be in use for many years to come. Therefore, in +&IPP; there is a provision made for backwards compatibility of all +&IPP; implementations. &CUPS; is proving the viability of &IPP; +printing in all environments. + +The most striking advantage will be it's integration into the +existing set of other robust IP protocols. Being +an extension of the proven and robust HTTP 1.1 +protocol, for the special task of handling print file and related +data, it is also very easy to plug in other standards as they are +being developed and deployed: + + + +Basic, Digest, and Certificate Authentication for users seeking +access to print services. + + +SSL3 and TLS encryption for transferring +data. + + +Bi directional communication of clients with print devices, using +the HTTP/&IPP; GET and +POST mechanism. + + +LDAP directory service integration to keep a consistent database +of available printers, their capabilities and page-costs, &etc;, as well +as user passwords, ACLs &etc;. + + +Pull (as opposed to the usual Push +model) printing, where a server or printer just needs to be told the +&URL; of a document, whereupon it is retrieved from the resource on the +internet and printed. + + + + + + + + +Printer <quote>Plug'n'Play</quote> for Clients + +Have you ever seen a demonstration about &CUPS; capabilities in +the network? You must have been quite impressed if you didn't know in +advance what to expect. + +Imagine you as the administrator of a LAN. For +testing purposes you fully installed one &kde;/&CUPS; box on your net, +complete with a dozen printers configured and functional: +&PostScript;, LaserJets, InkJets and BubbleJets, and so on. Your +&kde; users on that box are very happy, they can print like never +before, ringing all the bells and whistles of every +printer. It took you 2 hours to make everything run perfectly... and +now all the other 100 users on the network want the same. Two hours +again for every box? No way you could do that before next year, you +think? + +Wrong. Just change one setting in the original &CUPS; box to +make it a server. Install &CUPS; on five other boxes, +as clients. By the time you turn back to your first +client, you find the users happily playing with the settings for the +dozen printers you had defined earlier on the server. +Somehow magically the printers had appeared on all the +Print dialogs of the five new &CUPS; client +boxes. + +Your users print, but not a single driver had been installed on +the clients, nor a printer queue defined. + +So, how does this magic work? + + + + +<quote>Seeing</quote> Printers Not Installed Locally? + +The answer is not complicated at all. + +If a &CUPS; server is on the LAN, it +broadcasts the names of all available printers to the +LAN, using the UDP protocol and +port 631. Port 631 is reserved as a well-known port by +IANA (the Internet Assigning Numbers +Authority) for &IPP; purposes. All &CUPS; clients listen to +&CUPS; server info sent to their port 631. That's how they know about +available printers, and that's how they learn about the +path to the printers as well. + +Using &IPP;, which is really a clever extension to +HTTP v1.1, &CUPS; is able to address all objects +related to the printing system via Universal Resource +Locators or URLs. Print jobs to be deleted +or restarted, printers to be queried or modified, admin tasks to be +performed on the server, with &IPP; and &CUPS;, everything is +addressable by a certain URL. Many important +things can be done through the web interface to &CUPS;, accessible for +example with &konqueror;. + + + + +Printing Without Installing a Driver + +And more, the clients basically can administer +and use any printer they see, just as if it was a +locally installed one. Of course, you can set restrictions on it with +access control lists &etc;, so that not any +clients may use any printer as it likes. + +The clients even are able to print without the appropriate filter +(or driver) installed locally. + +So how does this work? If a client wants to know about and +select printer-specific options, it sends a request (called +CUPS-get-ppd) to the server. The server tells the +client all about all printer-specific options, as read from the server +side &PPD;. The user on the client side can see the options and +select the required ones. He then sends the print file, usually +unfiltered raw &PostScript;, spiced up with the +printer-options to the printer server, using &IPP; as the transport +protocol. All further processing, especially the filtering to +generate the final format for the target printer, is then done by the +server. The server has the necessary programs (drivers +or filters) to do this. + +This way a client prints without needing to install a driver +locally. + +Any change on the server, such as adding or modifying a printer, +is instantly known to the clients with no further +configuration. + + + + +<quote>Zero Administration</quote>, Load Balancing, and +<quote>Failover Switching</quote> + +Some other advanced features built into &CUPS; are the capacity to +do load balancing. + +If you define the same printer queues on two or more different +servers, the clients will send their jobs to the first responding or +available server. This implies an automatic load balancing amongst +servers. If you have to take one server off the network for +maintenance, the others will just take over its tasks without the users +even noticing the difference. + + + + + + diff --git a/doc/tdesu/CMakeLists.txt b/doc/tdesu/CMakeLists.txt new file mode 100644 index 000000000..9c562330f --- /dev/null +++ b/doc/tdesu/CMakeLists.txt @@ -0,0 +1,12 @@ +################################################# +# +# (C) 2010-2011 Serghei Amelian +# serghei (DOT) amelian (AT) gmail.com +# +# Improvements and feedback are welcome +# +# This file is released under GPL >= 2 +# +################################################# + +tde_create_handbook( DESTINATION tdesu ) diff --git a/doc/tdesu/Makefile.am b/doc/tdesu/Makefile.am new file mode 100644 index 000000000..bafa3f6c3 --- /dev/null +++ b/doc/tdesu/Makefile.am @@ -0,0 +1,5 @@ + +KDE_LANG = en +KDE_DOCS = AUTO +KDE_MANS = AUTO + diff --git a/doc/tdesu/index.docbook b/doc/tdesu/index.docbook new file mode 100644 index 000000000..81c71cf17 --- /dev/null +++ b/doc/tdesu/index.docbook @@ -0,0 +1,320 @@ + + + + + +]> + + + + +The &tdesu; handbook + + +&Geert.Jansen; &Geert.Jansen.mail; + + + + +2000 +&Geert.Jansen; + + +&FDLNotice; + +2005-06-07 +1.00.00 + + +&tdesu; is a graphical front end for the &UNIX; +su command. + + +KDE +su +password +root + + + + + +Introduction + +Welcome to &tdesu;! &tdesu; is a graphical front end for the +&UNIX; su command for the K Desktop Environment. +It allows you to run a program as different user by supplying the +password for that user. &tdesu; is an unprivileged program; it uses +the system's su. + +&tdesu; has one additional feature: it can remember passwords +for you. If you are using this feature, you only need to enter the +password once for each command. See for more information on this and a +security analysis. + +This program is meant to be started from the command line or +from .desktop files. Although it asks for the +root password using a &GUI; +dialog, I consider it to be more of a command line <-> &GUI; +glue instead of a pure &GUI; program. + + + + +Using &tdesu; + +Usage of &tdesu; is easy. The syntax is like this: + + +tdesu + + + + file + icon name + + priority + + + + +user + + +command arg1 + arg2 + + + +tdesu +&kde; Generic Options +Qt Generic Options + + +The command line options are explained below. + + + + +This specifies the program to run as root. It has to be passed +in one argument. So if, for example, you want to start a new file manager, you +would enter at the prompt: tdesu + + + +Show debug information. + + + +This option allow efficient use of &tdesu; in +.desktop files. It tells &tdesu; to examine the +file specified by file. If this file is +writable by the current user, &tdesu; will execute the command as the +current user. If it is not writable, the command is executed as user +user (defaults to root). +file is evaluated like this: if +FILE starts with a /, it is +taken as an absolute filename. Otherwise, it is taken as the name of a +global &kde; configuration file. For example: to configure the K display +manager, kdm, you could issue +tdesu + + + icon name +Specify icon to use in the password dialog. You may specify +just the name, without any extension. +For instance to run kfmclient and show the +&konqueror; icon in the password dialog: +tdesu kfmclient + + + + + +Do not keep the password. This disables the keep +password checkbox in the password dialog. + + + priority + +Set priority value. The priority is an arbitrary number between 0 and +100, where 100 means highest priority, and 0 means lowest. The default is +50. + + + + +Use realtime scheduling. + + + + + +Stop the tdesu daemon. See . + + + +Enable terminal output. This disables password keeping. This is +largely for debugging purposes; if you want to run a console mode app, use the +standard su instead. + + + user +While the most common use for &tdesu; is to run a command as +the superuser, you can supply any user name and the appropriate +password. + + + + + + + + +Internals + + +X authentication + +The program you execute will run under the root user id and will +generally have no authority to access your X display. &tdesu; gets +around this by adding an authentication cookie for your display to a +temporary .Xauthority file. After the command +exits, this file is removed. + +If you don't use X cookies, you are on your own. &tdesu; will +detect this and will not add a cookie but you will have to make sure +that root is allowed to access to your display. + + + + +Interface to <command>su</command> + +&tdesu; uses the sytem's su for acquiring +priviliges. In this section, I explain the details of how &tdesu; does +this. + +Because some su implementations (&ie; the one +from &RedHat;) don't want to read the password from +stdin, &tdesu; creates a pty/tty pair and executes +su with it's standard filedescriptors connected to +the tty. + +To execute the command the user selected, rather than an +interactive shell, &tdesu; uses the argument with +su. This argument is understood by every shell that +I know of so it should work portably. su passes +this argument to the target user's shell, and the +shell executes the program. Example command: su . + +Instead of executing the user command directly with +su, &tdesu; executes a little stub program called +tdesu_stub. This stub (running as the +target user), requests some information from &tdesu; over the pty/tty +channel (the stub's stdin and stdout) and then executes the user's +program. The information passed over is: the X display, an X +authentication cookie (if available), the PATH and the +command to run. The reason why a stub program is used is that the X +cookie is private information and therefore cannot be passed on the +command line. + + + + +Password Checking + +&tdesu; will check the password you entered and gives an error +message if it is not correct. The checking is done by executing a test +program: /bin/true. If this succeeds, the +password is assumed to be correct. + + + + +Password Keeping + +For your comfort, &tdesu; implements a keep +password feature. If you are interested in security, you +should read this paragraph. + +Allowing &tdesu; to remember passwords opens up a (small) +security hole in your system. Obviously, &tdesu; does not allow +anybody but your user id to use the passwords, but, if done without +caution, this would lowers root's security level to that of a +normal user (you). A hacker who breaks into your account, would get +root access. &tdesu; tries +to prevent this. The security scheme it uses is, in my opinion at +least, reasonably safe and is explained here. + +&tdesu; uses a daemon, called +tdesud. The daemon listens to a &UNIX; +socket in /tmp for commands. The mode of the +socket is 0600 so that only your user id can connect to it. If +password keeping is enabled, &tdesu; executes commands through this +daemon. It writes the command and root's password to the socket and the +daemon executes the command using su, as describe +before. After this, the command and the password are not thrown +away. Instead, they are kept for a specified amount of time. This is +the timeout value from in the control module. If another request for +the same command is coming within this time period, the client does +not have to supply the password. To keep hackers who broke into your +account from stealing passwords from the daemon (for example, by +attaching a debugger), the daemon is installed set-group-id +nogroup. This should prevent all normal users (including you) from +getting passwords from the tdesud +process. Also, the daemon sets the DISPLAY environment +variable to the value it had when it was started. The only thing a +hacker can do is execute an application on your display. + +One weak spot in this scheme is that the programs you execute +are probably not written with security in mind (like setuid +root programs). This means +that they might have buffer overruns or other problems and a hacker +could exploit those. + +The use of the password keeping feature is a tradeoff between +security and comfort. I encourage you to think it over and decide for +yourself if you want to use it or not. + + + + + +Author + +&tdesu; + +Copyright 2000 &Geert.Jansen; + +&tdesu; is written by &Geert.Jansen;. It is somewhat based on +Pietro Iglio's &tdesu;, version 0.3. Pietro and I agreed that I will +maintain this program in the future. + +The author can be reached through email at &Geert.Jansen.mail;. +Please report any bugs you find to me so that I can fix them. If you +have a suggestion, feel free to contact me. + +&underFDL; +&underArtisticLicense; + + + + + + diff --git a/doc/tdesu/man-tdesu.1.docbook b/doc/tdesu/man-tdesu.1.docbook new file mode 100644 index 000000000..fd99812fd --- /dev/null +++ b/doc/tdesu/man-tdesu.1.docbook @@ -0,0 +1,179 @@ + + +]> + + + +KDE User's Manual +&Lauri.Watts; &Lauri.Watts.mail; +Jun 7, 2005 +K Desktop Environment + + + +tdesu +1 + + + +tdesu +Runs a program with elevated privileges + + + + +tdesu + + + + file + icon name + + priority + + + + +user + + +command arg1 + arg2 + + + +tdesu +KDE Generic Options +Qt Generic Options + + + + +Description +&tdesu; is a graphical front end for the +&UNIX; su command for the K Desktop Environment. +It allows you to run a program as different user by supplying the +password for that user. &tdesu; is an unprivileged program; it uses +the system's su. + +&tdesu; has one additional feature: it can optionally remember passwords +for you. If you are using this feature, you only need to enter the +password once for each command. + +This program is meant to be started from the command line or +from .desktop files. + + + +Options + + + + +This specifies the program to run as root. It has to be passed +in one argument. So if, for example, you want to start a new file manager, you +would enter at the prompt: tdesu + + + +Show debug information. + + + +This option allow efficient use of &tdesu; in +.desktop files. It tells &tdesu; to examine the +file specified by file. If this file is +writable by the current user, &tdesu; will execute the command as the +current user. If it is not writable, the command is executed as user +user (defaults to root). +file is evaluated like this: if +file starts with a /, it is +taken as an absolute filename. Otherwise, it is taken as the name of a +global &kde; configuration file. For example: to configure the K display +manager, kdm, you could issue +tdesu + + + icon name +Specify icon to use in the password dialog. You may specify +just the name, without any extension. + + + + + +Do not keep the password. This disables the keep +password checkbox in the password dialog. + + + priority + +Set priority value. The priority is an arbitrary number between 0 and +100, where 100 means highest priority, and 0 means lowest. The default is +50. + + + + +Use realtime scheduling. + + + + + +Stop the tdesu daemon. This is the daemon that caches +successful passwords in the background. This feature may also be disabled with + when &tdesu; is initially run. + + + +Enable terminal output. This disables password keeping. This is +largely for debugging purposes; if you want to run a console mode app, use the +standard su instead. + + + user +While the most common use for &tdesu; is to run a command as +the superuser, you can supply any user name and the appropriate +password. + + + + + + + + +See Also +su(1) + +More detailed user documentation is available from help:/tdesu +(either enter this URL into &konqueror;, or run +khelpcenter +help:/tdesu). + + + + +Examples +Run kfmclient as user jim, and show the &konqueror; icon in the +password dialog: +tdesu kfmclient + + + + +Authors +&tdesu; was written by +GeertJansen jansen@kde.org +and PietroIglio +iglio@fub.it. + + + + -- cgit v1.2.1