\chapter{\textbf{\textsl{lp0 on fire!}}} \label{chap:imprimer} %----------------------------------------------------------------- L'impression sour Linux semble avoir plusieurs personnalités. La chaine logicielle mise en œuvre est parfois étonnament complexe (il en existe même plusieurs) et ls système par défaut, \texttt{CUPS} (page \pageref{CUPS}), se contrôle avec une interface Web et/ou des outils en cli.. Les aspects matériels de la connexion seront vus dans un chapitre adéquat, en page \pageref{portparallele} pour le port \texttt{//}, et \pageref{rs232} pour le serial. L'omniprésente connectivité USB\index{USB} demande peut-être un chapitre à part entière. %----------------------------------------------------------------- \section{Historique} Line Printer Daemon Protocol LPR Ng Cf le bouquin de Bellanger. %----------------------------------------------------------------- % https://fr.wikipedia.org/wiki/Internet_Printing_Protocol \section{IPP : Internet Printing Protocole} \index{IPP} \label{IPP} \begin{quote} \textbf{wikipedia:} « IPP Everywhere » est une évolution du protocole, publiée en 2013. Il fournit une base de référence commune pour les imprimantes afin de prendre en charge l'impression dite "sans pilote" à partir de périphériques clients. Elle s'appuie sur IPP et précise des règles supplémentaires d'interopérabilité, telles qu'une liste des formats de documents que les imprimantes doivent prendre en charge. \end{quote} %----------------------------------------------------------------- % % https://www.evilsocket.net/2024/09/26/Attacking-UNIX-systems-via-CUPS-Part-I/ % \section{CUPS} \index{CUPS} \label{CUPS} \begin{quote} \textbf{wikipedia:} Common Unix Printing System (CUPS) est un système modulaire d'impression numérique pour les systèmes d'exploitation Unix et assimilés. Tout ordinateur qui utilise CUPS peut se comporter comme un serveur d'impression ; il peut accepter des documents envoyés par d'autres machines (ordinateurs clients), les traiter, et les envoyer à l'imprimante qui convient. \end{quote} %----------------------------------------------------------------- \section{Pretty printers}. \subsection{enscript} \index{enscript} \begin{verbatim} DESCRIPTION Enscript converts text files to PostScript or to other output languages. Enscript can spool the generated output directly to a specified printer or leave it to a file. If no input files are given, enscript processes the standard input stdin. Enscript can be extended to handle different output media and it has many options which can be used to customize the print‐ outs. \end{verbatim} \subsection{GNU a2ps} \index{a2ps} \begin{verbatim} DESCRIPTION Convert FILE(s) or standard input to PostScript. By default, the output is sent to the default printer. An output file may be specified with -o. Mandatory arguments to long options are mandatory for short options too. Long options marked with * require a yes/no ar‐ gument, corresponding short options stand for `yes'. \end{verbatim} \subsection{Les autres\dots} \begin{itemize} \item fmt\index{fmt} / pr\index{pr} \item lgrind \item src2tex \item trueprint \end{itemize} %-----------------------------------------------------------------