From owner-p4-projects@FreeBSD.ORG Sun May 4 19:07:15 2008 Return-Path: Delivered-To: p4-projects@freebsd.org Received: by hub.freebsd.org (Postfix, from userid 32767) id C97471065670; Sun, 4 May 2008 19:07:15 +0000 (UTC) Delivered-To: perforce@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 71E75106566B for ; Sun, 4 May 2008 19:07:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (repoman.freebsd.org [IPv6:2001:4f8:fff6::29]) by mx1.freebsd.org (Postfix) with ESMTP id 709358FC16 for ; Sun, 4 May 2008 19:07:15 +0000 (UTC) (envelope-from jb@freebsd.org) Received: from repoman.freebsd.org (localhost [127.0.0.1]) by repoman.freebsd.org (8.14.1/8.14.1) with ESMTP id m44J7FmF067568 for ; Sun, 4 May 2008 19:07:15 GMT (envelope-from jb@freebsd.org) Received: (from perforce@localhost) by repoman.freebsd.org (8.14.1/8.14.1/Submit) id m44J7FLO067566 for perforce@freebsd.org; Sun, 4 May 2008 19:07:15 GMT (envelope-from jb@freebsd.org) Date: Sun, 4 May 2008 19:07:15 GMT Message-Id: <200805041907.m44J7FLO067566@repoman.freebsd.org> X-Authentication-Warning: repoman.freebsd.org: perforce set sender to jb@freebsd.org using -f From: John Birrell To: Perforce Change Reviews Cc: Subject: PERFORCE change 141156 for review X-BeenThere: p4-projects@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: p4 projects tree changes List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 04 May 2008 19:07:16 -0000 http://perforce.freebsd.org/chv.cgi?CH=141156 Change 141156 by jb@freebsd3 on 2008/05/04 19:07:12 IFC Affected files ... .. //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/remote-install/article.sgml#5 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#16 integrate .. //depot/projects/dtrace/doc/en_US.ISO8859-1/slides/common/freebsd-dev-model.xml#5 integrate .. //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml#5 integrate .. //depot/projects/dtrace/doc/share/pgpkeys/brix.key#2 integrate .. //depot/projects/dtrace/ports/Mk/bsd.sites.mk#30 integrate .. //depot/projects/dtrace/ports/UPDATING#69 integrate .. //depot/projects/dtrace/src/etc/defaults/rc.conf#34 integrate .. //depot/projects/dtrace/src/gnu/lib/libstdc++/config.h#6 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/binutils/objdump/Makefile#4 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/kthr.c#11 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt.c#9 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_amd64.c#7 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_arm.c#6 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_i386.c#8 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_ia64.c#5 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_powerpc.c#5 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/gdb/kgdb/trgt_sparc64.c#5 integrate .. //depot/projects/dtrace/src/gnu/usr.bin/sort/config.h#4 integrate .. //depot/projects/dtrace/src/include/stdio.h#10 integrate .. //depot/projects/dtrace/src/lib/csu/mips/Makefile#1 branch .. //depot/projects/dtrace/src/lib/csu/mips/crt1.c#1 branch .. //depot/projects/dtrace/src/lib/csu/mips/crti.S#1 branch .. //depot/projects/dtrace/src/lib/csu/mips/crtn.S#1 branch .. //depot/projects/dtrace/src/lib/libc/Versions.def#5 integrate .. //depot/projects/dtrace/src/lib/libc/net/nsdispatch.c#8 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/Makefile.inc#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/Symbol.map#6 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/clrerr.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/feof.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/ferror.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/fileno.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/getc.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/getchar.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/local.h#7 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/putc.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/putchar.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/stdio.c#5 integrate .. //depot/projects/dtrace/src/lib/libc/stdio/unlocked.c#4 delete .. //depot/projects/dtrace/src/lib/libc/stdio/xprintf.c#6 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/malloc.c#23 integrate .. //depot/projects/dtrace/src/lib/libc/stdlib/rb.h#2 integrate .. //depot/projects/dtrace/src/lib/libftpio/ftpio.c#4 integrate .. //depot/projects/dtrace/src/lib/msun/mips/Symbol.map#2 integrate .. //depot/projects/dtrace/src/share/man/man4/auditpipe.4#6 integrate .. //depot/projects/dtrace/src/share/man/man4/wlan.4#7 integrate .. //depot/projects/dtrace/src/share/misc/bsd-family-tree#16 integrate .. //depot/projects/dtrace/src/sys/amd64/conf/GENERIC#38 integrate .. //depot/projects/dtrace/src/sys/conf/NOTES#48 integrate .. //depot/projects/dtrace/src/sys/conf/files.sun4v#15 integrate .. //depot/projects/dtrace/src/sys/dev/ath/if_ath.c#21 integrate .. //depot/projects/dtrace/src/sys/dev/ath/if_athvar.h#13 integrate .. //depot/projects/dtrace/src/sys/dev/bge/if_bge.c#29 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt.h#22 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_cam.c#28 integrate .. //depot/projects/dtrace/src/sys/dev/mpt/mpt_raid.c#13 integrate .. //depot/projects/dtrace/src/sys/dev/usb/usbdevs#33 integrate .. //depot/projects/dtrace/src/sys/i386/conf/GENERIC#35 integrate .. //depot/projects/dtrace/src/sys/i386/cpufreq/est.c#8 integrate .. //depot/projects/dtrace/src/sys/kern/vfs_subr.c#40 integrate .. //depot/projects/dtrace/src/sys/mips/include/am29lv081b.h#2 delete .. //depot/projects/dtrace/src/sys/mips/include/cp0.h#2 delete .. //depot/projects/dtrace/src/sys/mips/include/float.h#2 integrate .. //depot/projects/dtrace/src/sys/mips/mips/mips_subr.c#2 delete .. //depot/projects/dtrace/src/sys/modules/esp/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/modules/hfa/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/modules/hme/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/modules/isp/Makefile#5 integrate .. //depot/projects/dtrace/src/sys/modules/ispfw/Makefile#6 integrate .. //depot/projects/dtrace/src/sys/modules/le/Makefile#6 integrate .. //depot/projects/dtrace/src/sys/modules/scc/Makefile#4 integrate .. //depot/projects/dtrace/src/sys/modules/sound/driver/Makefile#6 integrate .. //depot/projects/dtrace/src/sys/modules/wlan/Makefile#7 integrate .. //depot/projects/dtrace/src/sys/net80211/ieee80211_node.c#10 integrate .. //depot/projects/dtrace/src/sys/netinet/libalias/alias.c#9 integrate .. //depot/projects/dtrace/src/sys/pc98/conf/GENERIC#18 integrate .. //depot/projects/dtrace/src/sys/sparc64/conf/GENERIC#22 integrate .. //depot/projects/dtrace/src/sys/sparc64/pci/ofw_pcibus.c#11 integrate .. //depot/projects/dtrace/src/sys/sun4v/include/bus_common.h#5 delete .. //depot/projects/dtrace/src/sys/sun4v/sun4v/nexus.c#8 integrate .. //depot/projects/dtrace/src/sys/sun4v/sun4v/vnex.c#9 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.1#10 integrate .. //depot/projects/dtrace/src/usr.bin/tar/bsdtar.c#9 integrate .. //depot/projects/dtrace/src/usr.bin/tar/test/Makefile#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/main.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test.h#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_0.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_basic.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_copy.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_getdate.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_help.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_option_T.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_stdio.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/test/test_version.c#1 branch .. //depot/projects/dtrace/src/usr.bin/tar/write.c#9 integrate .. //depot/projects/dtrace/src/usr.bin/tip/tip/cmds.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/tip/tip/tip.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/tip/tip/tip.h#5 integrate .. //depot/projects/dtrace/src/usr.bin/tip/tip/uucplock.c#5 integrate .. //depot/projects/dtrace/src/usr.bin/unifdef/unifdef.1#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/Makefile.inc#4 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/add/perform.c#7 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/delete/perform.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/lib/lib.h#9 integrate .. //depot/projects/dtrace/src/usr.sbin/pkg_install/lib/match.c#6 integrate .. //depot/projects/dtrace/src/usr.sbin/sade/Makefile#4 integrate .. //depot/projects/dtrace/www/en/cgi/man.cgi#12 integrate .. //depot/projects/dtrace/www/en/projects/ideas/ideas.xml#19 integrate .. //depot/projects/dtrace/www/es/docproj/sgml.sgml#5 integrate .. //depot/projects/dtrace/www/es/index.xsl#10 integrate .. //depot/projects/dtrace/www/es/internet.sgml#8 integrate .. //depot/projects/dtrace/www/es/platforms/i386.sgml#5 integrate .. //depot/projects/dtrace/www/es/platforms/index.sgml#7 integrate .. //depot/projects/dtrace/www/es/search/index-site.sgml#5 integrate .. //depot/projects/dtrace/www/es/search/search-mid.sgml#5 integrate .. //depot/projects/dtrace/www/es/search/searchhints.sgml#5 integrate .. //depot/projects/dtrace/www/es/send-pr.sgml#7 integrate .. //depot/projects/dtrace/www/es/share/sgml/navibar.l10n.ent#5 integrate .. //depot/projects/dtrace/www/hu/Makefile#4 integrate .. //depot/projects/dtrace/www/hu/community.sgml#3 delete .. //depot/projects/dtrace/www/hu/community.xsl#1 branch .. //depot/projects/dtrace/www/hu/docs/books.sgml#5 integrate .. //depot/projects/dtrace/www/hu/internet.sgml#3 integrate .. //depot/projects/dtrace/www/hu/projects/projects.sgml#5 integrate .. //depot/projects/dtrace/www/hu/search/index-site.sgml#2 integrate .. //depot/projects/dtrace/www/hu/search/search-mid.sgml#2 integrate .. //depot/projects/dtrace/www/hu/search/search.sgml#4 integrate .. //depot/projects/dtrace/www/hu/search/searchhints.sgml#2 integrate .. //depot/projects/dtrace/www/hu/send-pr.sgml#3 integrate Differences ... ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/articles/remote-install/article.sgml#5 (text+ko) ==== @@ -17,7 +17,7 @@ - $FreeBSD: doc/en_US.ISO8859-1/articles/remote-install/article.sgml,v 1.4 2008/04/19 23:40:22 brd Exp $ + $FreeBSD: doc/en_US.ISO8859-1/articles/remote-install/article.sgml,v 1.5 2008/05/03 08:26:12 loader Exp $ &tm-attrib.freebsd; @@ -392,6 +392,7 @@ Create a UFS2 file system on each mirrored partition. + ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/books/handbook/disks/chapter.sgml#16 (text+ko) ==== @@ -1,7 +1,7 @@ @@ -3433,7 +3433,7 @@ Now restart inetd: - &prompt.root; kill -HUP `cat /var/run/inetd.pid` + &prompt.root; /etc/rc.d/inetd restart ==== //depot/projects/dtrace/doc/en_US.ISO8859-1/slides/common/freebsd-dev-model.xml#5 (text+ko) ==== @@ -1,4 +1,4 @@ - + @@ -38,13 +38,13 @@ Only the committers have write access to the CVS repository. - 488 total committers in FreeBSD (includes source, + 353 total committers in FreeBSD (includes source, documentation, and ports committers). - 203 active committers to src/ (exlucind sys) in the last 12 + 181 active committers to src/ (excluding sys) in the last 12 months. - 144 active committers to src/sys in the last 12 + 147 active committers to src/sys in the last 12 months. ==== //depot/projects/dtrace/doc/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml#5 (text+ko) ==== @@ -2,7 +2,7 @@ The FreeBSD Documentation Project The FreeBSD French Documentation Project - $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml,v 1.5 2007/12/30 16:04:20 blackend Exp $ + $FreeBSD: doc/fr_FR.ISO8859-1/books/handbook/printing/chapter.sgml,v 1.6 2008/05/03 08:50:04 blackend Exp $ Original revision: 1.96 --> @@ -1712,52 +1712,2875 @@ - Advanced Printer Setup ** Traduction en Cours ** - + Configuration avancée de l'imprimante + + Cette section décrit les filtres à utiliser + pour imprimer des fichiers au formatage particulier, des pages + d'en-tête, pour imprimer en réseau, et pour + restreindre et comptabiliser l'utilisation de + l'imprimante. - Filters + Les filtres + + + imprimer + filtres + + + Bien que LPD gère les + protocoles réseaux, les files d'attente, le + contrôle d'accès et d'autres aspects de + l'impression, la plus grande partie du + véritable travail intervient dans + les filtres. Les filtres sont des + programmes qui communiquent avec l'imprimante et gèrent + ses dépendances matérielles ainsi que ses + besoins particuliers. Dans la configuration simple de + l'imprimante, nous avons installé un filtre texte + simple— un filtre particulièrement basique qui + devrait fonctionner avec la plupart des imprimantes (voir la + section Installer le + filtre texte). + + Toutefois, afin de profiter de la conversion de format, de + la comptabilisation de l'utilisation de l'imprimante, de + particularités matérielles, et ainsi de suite, + il vous faut comprendre le fonctionnement des filtres. En + dernier ressort, il incombera au filtre de gérer ces + aspects. Et la mauvaise nouvelle, c'est que la plupart du + temps, c'est vous qui devrez produire ces + filtres vous-même. La bonne nouvelle, c'est que + beaucoup existent déjà et que, sinon, ils sont + en général assez faciles à + écrire. + + Par ailleurs, il en est un livré avec &os;, + /usr/libexec/lpr/lpf, qui fonctionne avec + beaucoup d'imprimantes capables d'imprimer du texte brut. (Il + gère les retours arrière et les tabulations dans + le fichier, effectue une comptabilisation, mais c'est à + peu près tout). Vous trouverez également + d'autres filtres et composants de filtres dans le catalogue + des logiciels portés de &os;. + + Voici ce que vous trouverez dans cette section: + + + + La section + Fonctionnement + des filtres tâche de donner une vue + générale du rôle des filtres dans le + processus d'impression. Il vous faut lire cette section + pour comprendre ce qui se passe sous le + capot lorsque LPD + utilise des filtres. Cette connaissance vous permettra + d'anticiper et de résoudre les problèmes que + vous pourriez rencontrer quand vous installerez de plus en + plus de filtres pour chacune de vos imprimantes. + + + + LPD s'attend à ce + que toutes les imprimantes sachent imprimer du texte brut + par défaut. Cela pose un problème pour les + imprimantes &postscript; (ou les imprimantes basées + sur un autre langage) qui ne peut pas imprimer du texte + brut directement. La section Gérer les + travaux d'impression de texte brut sur des imprimantes + &postscript; vous indique la marche à suivre + pour résoudre ce problème. Vous devrez lire + cette section si vous avez une imprimante + &postscript;. + + + + &postscript; est un format de sortie courant pour + beaucoup d'applications. Certaines personnes + écrivent même du code &postscript; + directement. Malheureusement, les imprimantes + &postscript; sont onéreuses. La section Emuler du &postscript; sur + les imprimantes non-&postscript; vous indiquera + comment modifier un filtre texte pour qu'une imprimante + non-&postscript; accepte et imprime + du &postscript;. Vous devrez lire cette section si vous + ne disposez pas d'une imprimante &postscript;. + + + + La section + Filtres de + conversion vous apprendra à automatiser la + conversion de formats de fichiers spécifiques, + comme des graphiques ou des données de composition, + en formats compréhensibles par l'imprimante. + Après avoir lu cette section, vous serez en mesure + de configurer vos imprimantes de telle sorte que vos + utilisateurs pourront entrer la commande lpr + -t pour imprimer du troff, ou lpr + -d pour imprimer le format DVI produit par + &tex;, ou lpr -v pour imprimer des + images en mode point, etc. Nous recommandons la lecture + de cette section. + + + + La section Filtres de sortie + révèle tout d'une fonctionnalité peu + utilisée de LPD: les + filtres de sortie. A moins que vous n'imprimiez des pages + d'en-têtes (voir la section Pages + d'en-tête), vous pouvez probablement + complètement ignorer cette section. + + + + La section lpf: + un filtre texte détaille + lpf, un filtre texte destiné aux + imprimantes en ligne (et aux imprimantes laser se + comportant comme telles) plutôt complet + malgré sa simplicité, et livré avec + &os;. Si vous avez besoin de mettre rapidement en place + la comptabilisation de l'utilisation de l'imprimante pour + du texte brut, ou si vous avez une imprimante qui fume + lorsqu'elle voit passer des caractères de retour + arrière, vous devez vraiment penser à + lpf. + + + + + Une copie des différents scripts + présentés ci-dessous se trouve dans le + répertoire /usr/share/examples/printing. + + + - How Filters Work - + Fonctionnement des filtres + + Comme expliqué précédemment, un + filtre est un programme exécutable lancé par + LPD pour gérer la partie + de la communication avec l'imprimante qui est + dépendante du périphérique. + + Lorsque LPD veut imprimer un + fichier d'un travail d'impression, il lance un programme de + filtre. Il redirige l'entrée standard du filtre sur + le fichier à imprimer, sa sortie standard vers + l'imprimante, et l'erreur standard vers le fichier journal + des erreurs (spécifié dans le paramètre + lf du fichier + /etc/printcap, ou + /dev/console par défaut). + + + troff + + + Le filtre lancé par + LPD ainsi que les + paramètres qui lui sont donnés + dépendent de ce qui est placé dans le fichier + /etc/printcap et des paramètres + que l'utilisateur a passé sur la ligne de commande + &man.lpr.1; pour ce travail d'impression. Par exemple, si + l'utilisateur a entré lpr -t, + LPD aurait lancé le filtre + troff, précisé par la paramètre + tf pour l'imprimante de destination. Si + l'utilisateur veut imprimer du texte brut, il lancerait le + filtre if (c'est vrai la plupart du + temps: lisez la section Filtres de sortie pour + plus de détails). + + Il existe trois types de filtres que vous pouvez + spécifier dans + /etc/printcap: + + + + Le filtre texte, + confusément appelé filtre + d'entrée dans la documentation + LPD, gère l'impression + de texte classique. Considérez-le comme le + filtre par défaut. + LPD s'attend à ce que + toutes les imprimantes sachent imprimer du texte brut + par défaut, et c'est au filtre texte de s'assurer + que les retours arrière, tabulations et autres + caractères spéciaux ne trompent pas + l'imprimante. Si vous êtes dans un environnement + où il vous faut rendre compte de l'utilisation de + l'imprimante, le filtre texte doit également + comptabiliser les pages imprimées, + généralement en comptant le nombre de + lignes imprimées et en le comparant avec le + nombre de lignes par page supporté par + l'imprimante. Le filtre texte est exécuté + avec la liste de paramètres suivante: + + + nom_du_filtre + -c + -w + largeur + -l + hauteur + -i + indentation + -n + utilisateur + -h + machine + fichier_comptabilité + + + + + + + + + + apparaît si le travail d'impression est + lancé par la commande lpr + -l + + + + + largeur + + + est la valeur du paramètre + pw (page width, + pour largeur de page) + spécifié dans + /etc/printcap, et + possédant la valeur par défaut + 132. + + + + + hauteur + + + est la valeur du paramètre + pl (page length, + pour hauteur de page), par + défaut: 66. + + + + + indentation + + + est le nombre d'indentations + inséré par lpr + -i, par défaut: 0. + + + + + utilisateur + + + est le nom du compte de l'utilisateur + imprimant le fichier. + + + + + machine + + + est le nom de la machine depuis + laquelle le travail d'impression a + été soumis. + + + + + fichier_comptabilité + + + est le nom du fichier de comptabilisation + spécifié par le paramètre + af. + + + + + + + imprimer + filtres + + + + Un filtre de conversion + convertit un format de fichier spécifique en un + autre que l'imprimante saura imprimer sur papier. Par + exemple, des données de composition ditroff ne + peuvent être imprimées directement, mais il + vous est possible d'installer un filtre de conversion + ditroff afin de convertir ces données ditroff en + une forme que l'imprimante sait ingérer et + imprimer. La section Filtres de + conversion vous dira tout sur ce sujet. Les + filtres de conversion doivent également tenir des + statistiques, si vous avez besoin de comptabiliser les + impressions. Les filtres de conversion sont + lancés avec les paramètres + suivants: + + + nom-du-filtre + -x + largeur-en-pixels + -y + hauteur-en-pixels + -n + login + -h + hôte + fichier_comptabilité + + + où + largeur-en-pixels est la + valeur du paramètre px (0 par + défaut) et + hauteur-en-pixels est la + valeur du paramètre py (0 par + défaut). + + + + Le filtre de sortie n'est + utilisé que s'il n'y a pas de filtre texte, ou si + les pages d'en-tête ont été + activées. D'après notre + expérience, les filtres de sortie sont rarement + employés. La section Filtres de sortie + les détaillera. Un filtre de sortie ne prend que + deux paramètres: + + + nom-du-filtre + -w + largeur + -l + hauteur + + + qui sont identiques aux paramètres + et des filtres + textes. + + + + Les filtres doivent également + retourner avec le code de retour + suivant: + + + + exit 0 + + + Si le filtre a imprimé avec succès + le fichier. + + + + + exit 1 + + + Si le filtre n'a pu imprimer le fichier, mais + désire que LPD + essaie de l'imprimer à nouveau. + LPD relancera un filtre + s'il retourne avec ce code. + + + + + exit 2 + + + Si le filtre n'a pu imprimer le fichier et ne veut + pas que LPD retente + l'impression. LPD + rejettera le fichier. + + + + + Le filtre texte livré avec &os;, + /usr/libexec/lpr/lpf, tire parti des + paramètres de largeur et hauteur de page pour savoir + quand envoyer une instruction de saut de page et comment + comptabiliser l'utilisation de l'imprimante. Il utilise les + paramètres nom d'utilisateur, nom de machine, et + fichier de comptabilisation pour enregistrer les + entrées concernant la consommation. + + Si vous recherchez des filtres, prenez garde à ce + qu'ils soient compatibles avec LPD. Si c'est le cas, ils + doivent se conformer à la liste de paramètres + décrite ci-dessus. Si vous songez à + écrire des filtres à usage + général, alors faites en sorte qu'ils se + conforment à ces mêmes listes de + paramètres et de codes de retour. - Accommodating Plain Text Jobs on &postscript; Printers - + Gérer les travaux d'impression de texte brut sur + des imprimantes &postscript; + + travaux d'impression + + Si vous êtes l'unique utilisateur de votre + ordinateur et de votre imprimante &postscript; (ou + basée sur un autre langage), et que vous promettez de + ne jamais envoyer de texte brut à votre imprimante et + de ne jamais utiliser les fonctionnalités des divers + programmes qui voudraient lui en envoyer, alors vous pouvez + tout à fait passer cette section l'esprit + tranquille. + + Toutefois, si vous désirez envoyer du + &postscript; et du texte brut à l'imprimante, alors + vous êtes instamment priés de compléter + la configuration de votre imprimante. Pour ce faire, nous + chargerons le filtre texte de détecter si le travail + d'impression est du texte brut ou du &postscript;. Tous les + travaux d'impression &postscript; doivent débuter par + %! (en ce qui concerne les autres + langages, référez-vous à la + documentation de l'imprimante). Si ces deux + caractères sont les deux premiers du travail + d'impression, il s'agit de &postscript; et le reste du + travail d'impression peut être passé + directement à l'imprimante. Dans le cas contraire, + alors le filtre convertit le texte en &postscript; et + imprime le résultat. + + Comment procéder? + + + imprimantes + série + + + Si vous disposez d'une imprimante série, une + bonne façon de faire est d'installer + lprps. Il s'agit d'un filtre + d'impression &postscript; qui assure une communication en + duplex avec l'imprimante. Il met à jour le fichier + d'état de l'imprimante avec des informations + détaillées que cette dernière lui + fournit, de sorte que les utilisateurs et les + administrateurs puissent connaître + précisément l'état de l'imprimante (par + exemple niveau de toner bas ou + bourrage papier). Mais plus + important encore, il inclut un programme nommé + psif qui détecte si le travail + d'impression qui vient d'arriver est du texte brut et lance + textps (un autre programme fourni avec + lprps) pour le convertir en &postscript;. + Il utilise alors lprps pour envoyer le + travail d'impression à l'imprimante. + + lprps fait partie du catalogue des + logiciels portés &os; (lisez la section Le catalogue des logiciels + portés). Vous pouvez installer un des deux + logiciels portés print/lprps-a4 et print/lprps-letter en fonction du + format de papier utilisé. Après avoir + installé lprps, précisez + simplement le chemin vers le programme + psif qui fait partie de + lprps. Si vous avez installé + lprps en recourant au catalogue des + logiciels portés, placez les valeurs suivantes pour + l'entrée de l'imprimante série &postscript; + dans /etc/printcap: + + :if=/usr/local/libexec/psif: + + Vous devrez également renseigner le + paramètre rw qui indique à + LPD de requérir + l'imprimante en mode lecture/écriture. + + Si vous disposez d'une imprimante &postscript; + parallèle (et ne pouvez donc pas utiliser la + communication en duplex avec l'imprimante dont a besoin + lprps), vous pouvez recourir à la + procédure suivante en tant que filtre texte: + + #!/bin/sh +# +# psif - Imprime du PostScript ou du texte brut sur une imprimante PostScript +# Version script; CECI N'EST PAS la version fournie avec lprps +# Fichier /usr/local/libexec/psif +# + +IFS="" read -r first_line +first_two_chars=`expr "$first_line" : '\(..\)'` + +if [ "$first_two_chars" = "%!" ]; then + # + # Travail PostScript, l'imprimer. + # + echo "$first_line" && cat && printf "\004" && exit 0 + exit 2 +else + # + # Texte brut, le convertir, puis l'imprimer. + # + ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 + exit 2 +fi + + Dans la procédure ci-dessus, + textps est un programme que nous avons + installé séparément pour convertir du + texte en &postscript;. Vous pouvez recourir à + n'importe quel programme texte-vers-&postscript;, selon + votre désir. Le catalogue des logiciels + portés de &os; (voir la section Le catalogue des logiciels + portés) comprend un programme de conversion + texte-vers-&postscript; complet nommée + a2ps, qui pourrait vous + intéresser. - Simulating &postscript; on Non &postscript; Printers - + Emuler du &postscript; sur les imprimantes + non-&postscript; + + + PostScript + émulation + + + Ghostscript + + + &postscript; est le standard de + fait pour l'impression et la composition de haute + qualité. Cependant, &postscript; est un standard + onéreux. Heureusement, Aladdin + Enterprises propose un succédané gratuit de + &postscript; nommé + Ghostscript qui fonctionne sous + &os;. Ghostscript peut lire la + majorité des fichiers &postscript; et peut produire + leurs pages sur une diversité de + périphériques, incluant beaucoup de marques + d'imprimantes non-&postscript;. En installant + Ghostscript et en recourant + à un filtre texte spécial, vous pouvez obtenir + de votre imprimante non-&postscript; qu'elle se comporte + comme une véritable imprimante &postscript;. + + Ghostscript fait partie du + catalogue des logiciels portés, de nombreuses + versions sont disponibles, la version la plus couramment + utilisée est print/ghostscript-gpl. + + Pour émuler du &postscript;, il nous faut faire + en sorte que le filtre texte détecte s'il imprime un + fichier &postscript;. Si ce n'est pas le cas, alors le + filtre doit passer le fichier directement à + l'imprimante; sinon il recourra à + Ghostscript pour tout d'abord le + convertir dans un format que l'imprimante saura + interpréter. + + Voici un exemple: la procédure suivante est un + filtre texte pour les imprimantes Hewlett Packard Deskjet + 500. Pour d'autres modèles, changez le + paramètre de la commande + gs + (Ghostscript). (Entrez + gs -h pour obtenir une liste des + périphériques reconnus par l'installation + actuelle de Ghostscript). + + #!/bin/sh +# +# ifhp - Imprime du PostScript émulé par Ghostscript sur une DeskJet 500 +# Fichier /usr/local/libexec/ifhp + +# +# Traite LF comme CR+LF (pour éviter l'"effet d'escalier" sur les +# imprimantes HP/PCL): +# +printf "\033&k2G" || exit 2 + +# +# Lit les deux premiers caractères du fichier +# +IFS="" read -r first_line +first_two_chars=`expr "$first_line" : '\(..\)'` + +if [ "$first_two_chars" = "%!" ]; then + # + # Si c'est du PostScript; utiliser Ghostscript pour le convertir et l'imprimer + # + /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ + -sOutputFile=- - && exit 0 +else + # + # Texte brut ou HP/PCL, donc impression directe; effectuer un + # saut de page à la fin pour éjecter la dernière page. + # + echo "$first_line" && cat && printf "\033&l0H" && +exit 0 +fi + +exit 2 + + Pour finir, vous devez communiquer à + LPD le filtre utilisé en + positionnant le paramètre + if: + + :if=/usr/local/libexec/ifhp: + + Voilà. Vous pouvez entrer lpr + texte.simple et + lpr + peuimporte.ps, et + chacune des deux commandes devrait imprimer avec + succès. - Conversion Filters - + Filtres de conversion + + Après avoir mené à bien la + configuration basique décrite à la section + Configuration simple de + l'imprimante, la première chose que vous + souhaiterez probablement faire sera d'installer des filtres + de conversion pour vos formats de fichiers favoris (le + simple texte ASCII mis à part). + + + Pourquoi installer des filtres de conversion? + + &tex; + imprimer des fichiers DVI + + + Les filtres de conversion facilitent l'impression de + différentes sortes de fichiers. Par exemple, + supposons que nous travaillions énormément + avec le système de composition &tex;, et que nous + ayons une imprimante &postscript;. Chaque fois que nous + générerons un fichier DVI à partir de + &tex;, nous ne pouvons l'imprimer directement avant + d'avoir converti ce fichier DVI en &postscript;. La + séquence de commandes serait la suivante: + + &prompt.user; dvips seaweed-analysis.dvi +&prompt.user; lpr seaweed-analysis.ps + + En installant un filtre de conversion pour fichiers + DVI, nous pouvons à chaque fois nous passer de + l'étape de conversion manuelle en chargeant + LPD de le faire à notre + place. Maintenant, à chaque fois que nous avons un + fichier DVI, nous ne sommes plus qu'à un pas de + l'impression: + + &prompt.user; lpr -d seaweed-analysis.dvi + + Nous faisons en sorte que + LPD se charge de la conversion + du fichier DVI à notre place en positionnant + l'option . La section Options de + conversion et de formatage donne la liste des + options de conversion. + + Pour chacune des options de conversion que vous voulez + faire accepter par une imprimante, installez un + filtre de conversion et indiquez son + chemin d'accès dans + /etc/printcap. Un filtre de + conversion ressemble au filtre texte de notre + configuration de base (voir la section Installer le filtre + texte), à ceci près qu'au lieu + d'imprimer du texte brut, le filtre convertit le fichier + en un format compréhensible par + l'imprimante. + + + + Quels filtres de conversion dois-je + installer? + + Vous devez installer les filtres de conversion que + vous vous attendez à utiliser. Si vous imprimez + beaucoup de données DVI, alors un filtre de + conversion DVI est dans la logique des choses. Si vous + devez imprimer beaucoup de troff, alors vous aurez + sûrement besoin d'un filtre troff. + + Le tableau suivant récapitule les filtres avec + lesquels LPD fonctionne, leurs + paramètres /etc/printcap, et + comment les invoquer avec la + lpr: + + + + + + Type de fichier + paramètre /etc/printcap + + option lpr + + + + + + cifplot + cf + + >>> TRUNCATED FOR MAIL (1000 lines) <<<