<!-- Ôï Åã÷åéñßäéï ôïõ FreeBSD: Åêôõðþóåéò The FreeBSD Greek Documentation Project $FreeBSD$ %SOURCE% en_US.ISO8859-1/books/handbook/printing/chapter.sgml %SRCID% 1.120 --> <chapter id="printing"> <chapterinfo> <authorgroup> <author> <firstname>Sean</firstname> <surname>Kelly</surname> <contrib>ÓõíåéóöïñÜ áðü ôïí </contrib> </author> <!-- 30 Sept 1995 --> </authorgroup> <authorgroup> <author> <firstname>Jim</firstname> <surname>Mock</surname> <contrib>ÁíáäïìÞèçêå êáé áíáíåþèçêå áðü ôïí </contrib> <!-- Mar 2000 --> </author> </authorgroup> </chapterinfo> <title>Åêôõðþóåéò</title> <sect1 id="printing-synopsis"> <title>Óýíïøç</title> <indexterm><primary>LPD óýóôçìá spooling</primary></indexterm> <indexterm><primary>åêôõðþóåéò</primary></indexterm> <para>Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï &os; ãéá íá êÜíåôå åêôõðþóåéò óå äéÜöïñïõò ôýðïõò åêôõðùôþí, áðü ôïí ðáëáéüôåñï êñïõóôéêü ùò ôïí ðéï óýã÷ñïíï laser åêôõðùôÞ, êáèþò êáé ïðïéáóäÞðïôå Üëëçò ôå÷íïëïãßáò áíÜìåóá ôïõò, êáé íá äçìéïõñãÞóåôå åêôõðþóåéò õøçëÞò ðïéüôçôáò ìå ôéò åöáñìïãÝò ðïõ åêôåëåßôå.</para> <para>Ôï &os; ìðïñåß åðßóçò íá ñõèìéóôåß þóôå íá ëåéôïõñãåß ùò åîõðçñåôçôÞò åêôõðþóåùí äéêôýïõ. Ìå áõôÞ ôç äõíáôüôçôá ôï &os; ìðïñåß íá ëáìâÜíåé åñãáóßåò åêôýðùóçò áðü äéÜöïñïõò Üëëïõò õðïëïãéóôÝò, óõìðåñéëáìâáíïìÝíùí õðïëïãéóôþí &os;, &windows; êáé &macos;. Ôï &os; ìðïñåß íá åîáóöáëßæåé üôé ìüíï ìéá åñãáóßá èá ôõðþíåôáé êÜèå ÷ñïíéêÞ óôéãìÞ êáé ìðïñåß íá ôçñåß óôáôéóôéêÜ ãéá ôïõò ÷ñÞóôåò êáé ôá ìç÷áíÞìáôá ðïõ èá êÜíïõí ôéò ðåñéóóüôåñåò åêôõðþóåéò, íá ðáñÜãåé óåëßäåò <quote>banner</quote> ðïõ íá äåß÷íïõí óå ðïéüí áíÞêåé ç êÜèå åêôýðùóç, êáé ðïëëÜ Üëëá.</para> <para>Áöïý äéáâÜóåôå áõôü ôï êåöÜëáéï èá îÝñåôå:</para> <itemizedlist> <listitem> <para>Ðùò íá ñõèìßóåôå ôçí ïõñÜ åêôõðþóåùí (print spooler) ôïõ &os;.</para> </listitem> <listitem> <para>Ðùò íá åãêáèéóôÜôå ößëôñá åêôýðùóçò, íá ÷åéñßæåóôå åéäéêÝò åñãáóßåò åêôýðùóçò (ð.÷. ôç ìåôáôñïðÞ åéóåñ÷üìåíùí êåéìÝíùí óå ìïñöÝò åêôýðùóçò ðïõ åßíáé êáôáíïçôÝò áðü ôïõò åêôõðùôÝò óáò).</para> </listitem> <listitem> <para>Ðùò íá åíåñãïðïéÞóåôå óåëßäåò ôýðïõ êåöáëßäáò Þ banner óôéò åêôõðþóåéò óáò.</para> </listitem> <listitem> <para>Ðùò íá åêôõðþíåôå óå åêôõðùôÝò ðïõ åßíáé óõíäåäåìÝíïé óå Üëëïõò õðïëïãéóôÝò.</para> </listitem> <listitem> <para>Ðùò íá åêôõðþíåôå óå åêôõðùôÝò ðïõ åßíáé óõíäåäåìÝíïé áðåõèåßáò óôï äßêôõï.</para> </listitem> <listitem> <para>Ðùò íá åëÝã÷åôå ôïõò ðåñéïñéóìïýò åêôýðùóçò, óõìðåñéëáìâáíïìÝíùí ôùí ðåñéïñéóìþí ìåãÝèïõò ôùí åñãáóéþí åêôýðùóçò, êáé ðùò íá ðáñåìðïäßæåôå ôçí äõíáôüôçôá åêôýðùóçò óå óõãêåêñéìÝíïõò ÷ñÞóôåò.</para> </listitem> <listitem> <para>Ðùò íá êñáôÞóåôå óôáôéóôéêÜ ãéá ôïí åêôõðùôÞ, êáé êáôáãñáöÞ ãéá ôç ÷ñÞóç ôïõ åêôõðùôÞ áðü êÜèå ÷ñÞóôç.</para> </listitem> <listitem> <para>Ðùò íá áíôéìåôùðßóåôå ðñïâëÞìáôá óôéò åêôõðþóåéò.</para> </listitem> </itemizedlist> <para>Ðñéí äéáâÜóåôå áõôü ôï êåöÜëáéï, èá ðñÝðåé:</para> <itemizedlist> <listitem> <para>Íá ãíùñßæåôå ðùò íá ñõèìßóåôå êáé íá åãêáôáóôÞóåôå Ýíá íÝï ðõñÞíá (<xref linkend="kernelconfig">).</para> </listitem> </itemizedlist> </sect1> <sect1 id="printing-intro-spooler"> <title>ÅéóáãùãÞ</title> <para>Ãéá íá ÷ñçóéìïðïéÞóåôå åêôõðùôÝò óôï &os;, èá ÷ñåéáóôåß íá ñõèìßóåôå ôç ëåéôïõñãßá ôïõò ìå ôï óýóôçìá ðáñï÷Ýôåõóçò (spooling) åêôõðùôþí ãñáììÞò ôïõ Berkeley, ãíùóôü åðßóçò êáé ùò óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application>, Þ áðëÜ <application>LPD</application>. Áõôü åßíáé ôï ðñïêáèïñéóìÝíï óýóôçìá åëÝã÷ïõ åêôõðùôþí óôï &os;. Ôï êåöÜëáéï áõôü åßíáé ìéá åéóáãùãÞ óôï <application>LPD</application> êáé èá óáò êáèïäçãÞóåé óôéò ñõèìßóåéò ôïõ.</para> <para>ÅÜí óáò åßíáé ïéêåßï ôï <application>LPD</application> Þ êÜðïéï Üëëï óýóôçìá ðáñï÷Ýôåõóçò åêôõðùôþí, ôüôå ìðïñåßôå íá ìåôáðçäÞóåôå óôçí åíüôçôá <link linkend="printing-intro-setup">ÂáóéêÞ ÅãêáôÜóôáóç</link>.</para> <para>Ôï <application>LPD</application> ìðïñåß íá åëÝã÷åé åî' ïëïêëÞñïõ üëåò ôéò ëåéôïõñãßåò ôùí åêôõðùôþí åíüò õðïëïãéóôÞ. Åßíáé êõñßùò õðåýèõíï ãéá Ýíá ðëÞèïò ëåéôïõñãéþí:</para> <itemizedlist> <listitem> <para>ÅëÝã÷åé ôçí ðñüóâáóç óå áðåõèåßáò óõíäåìÝíïõò åêôõðùôÝò êáé åêôõðùôÝò ðñïóáñôçìÝíïõò óå Üëëïõò êüìâïõò óôï äßêôõï.</para> </listitem> <indexterm><primary>åñãáóßåò åêôýðùóçò</primary></indexterm> <listitem> <para>ÅðéôñÝðåé óå ÷ñÞóôåò íá óôÝëíïõí áñ÷åßá ðñïò åêôýðùóç. Ïé áðïóôïëÝò áõôÝò åßíáé ãíùóôÝò ùò <emphasis>åñãáóßåò (jobs)</emphasis>.</para> </listitem> <listitem> <para>Äéáôçñåß <emphasis>ïõñÜ áíáìïíÞò (queue)</emphasis> ãéá êÜèå åêôõðùôÞ, þóôå íá ðñïëáìâÜíåé ôçí ôáõôü÷ñïíç ðñüóâáóç áðü ðïëëïýò ÷ñÞóôåò.</para> </listitem> <listitem> <para>Ìðïñåß íá åêôõðþíåé <emphasis>óåëßäåò êåöáëßäáò</emphasis> (ãíùóôÝò åðßóçò ùò <emphasis>banner</emphasis> Þ <emphasis>óåëßäåò burst</emphasis>) þóôå ïé ÷ñÞóôåò íá ìðïñïýí åýêïëá íá îå÷ùñßóïõí ôéò åñãáóßåò ôïõò ìÝóá óôçí óôïßâá åêôõðþóåùí.</para> </listitem> <listitem> <para>Öñïíôßæåé ãéá ôçí ïñèüôçôá ôùí ðáñáìÝôñùí åðéêïéíùíßáò ôùí åêôõðùôþí ðïõ åßíáé óõíäåäåìÝíïé óå óåéñéáêÝò èýñåò.</para> </listitem> <listitem> <para>Ìðïñåß ìÝóù ôïõ äéêôýïõ íá óôåßëåé åñãáóßåò óå óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> äéáöïñåôéêïý õðïëïãéóôÞ.</para> </listitem> <listitem> <para>Ìðïñåß íá åêôåëÝóåé äéÜöïñá ößëôñá ãéá íá ðñïóáñìüóåé åñãáóßåò þóôå íá åßíáé äõíáôÞ ç åêôýðùóç ôïõò óå åêôõðùôÝò ðïõ ÷ñçóéìïðïéïýí äéáöïñåôéêÝò ãëþóóåò Þ Ý÷ïõí äéáöïñåôéêÝò äõíáôüôçôåò.</para> </listitem> <listitem> <para>Ìðïñåß íá êÜíåé êáôáìÝôñçóç ÷ñÞóçò ôïõ åêôõðùôÞ.</para> </listitem> </itemizedlist> <para>ÌÝóù ôïõ áñ÷åßïõ ñýèìéóçò (<filename>/etc/printcap</filename>), êáé ìå ôç âïÞèåéá åéäéêþí ðñïãñáììÜôùí ößëôñùí, ìðïñåßôå íá åíåñãïðïéÞóåôå ôï óýóôçìá <application>LPD</application> íá êÜíåé üëåò Þ êÜðïéåò áðü ôéò ðáñáðÜíù åñãáóßåò óå ìéá ìåãÜëç ãêÜìá óõóêåõþí åêôýðùóçò.</para> <sect2 id="printing-intro-why"> <title>Ãéáôß èá ðñÝðåé íá ÷ñçóéìïðïéåßôå ôïí Spooler</title> <para>Áí åßóôå ï ìïíáäéêüò ÷ñÞóôçò ôïõ óõóôÞìáôïò, èá áíáñùôéÝóôå ãéáôß èá Ýðñåðå íá åíäéáöåñèåßôå ãéá ôïí spooler áöïý äåí ÷ñåéÜæåóôå Ýëåã÷ï ðñüóâáóçò, óåëßäåò êåöáëßäáò, Þ áíáöïñÝò åêôýðùóçò. Áí êáé ìðïñåßôå íá åíåñãïðïéÞóåôå ôçí Üìåóç ðñüóâáóç óôïí åêôõðùôÞ, åßíáé êáëýôåñá íá ÷ñçóéìïðïéåßôå ôïí spooler ãéá ôïõò ðáñáêÜôù ëüãïõò:</para> <itemizedlist> <listitem> <para>ôï <application>LPD</application> åêôõðþíåé ôéò åñãáóßåò óôï ðáñáóêÞíéï, äåí ÷ñåéÜæåôáé íá ðåñéìÝíåôå íá áíôéãñáöïýí ôá äåäïìÝíá óôïí åêôõðùôÞ.</para> </listitem> <indexterm><primary>&tex;</primary></indexterm> <listitem> <para>Ôï <application>LPD</application> ìðïñåß Üíåôá íá åêôåëåß ìéá åñãáóßá åêôýðùóçò äéáìÝóïõ ößëôñùí êáé íá ðñïóèÝôåé êåöáëßäåò çìåñïìçíßáò/þñáò Þ íá ìåôáôñÝðåé êÜðïéï åéäéêü ôýðï áñ÷åßïõ (üðùò Ýíá áñ÷åßï &tex; DVI) óå Ýíá ôýðï êáôáíïçôü áðü ôïí åêôõðùôÞ óáò. ÁõôÝò ïé äéáäéêáóßåò äåí ÷ñåéÜæåôáé íá ãßíïíôáé ÷åéñïêßíçôá.</para> </listitem> <listitem> <para>ÐïëëÜ áðü ôá åëåýèåñá êáé åìðïñéêÜ äéáèÝóéìá ðñïãñÜììáôá ðïõ ðáñÝ÷ïõí äéåõêïëýíóåéò óôçí åêôýðùóç, óõíÞèùò åðéæçôïýí íá åðéêïéíùíÞóïõí ìå ôïí spooler ôïõ óõóôÞìáôïò óáò. Ñõèìßæïíôáò ôï óýóôçìá ðáñï÷Ýôåõóçò, èá ìðïñåßôå åõêïëüôåñá íá õðïóôçñßæåôå ëïãéóìéêü ôñßôùí, ðïõ ìðïñåß Þäç íá Ý÷åôå Þ ðïõ ðñüêåéôáé íá åãêáôáóôÞóåôå óôï ìÝëëïí.</para> </listitem> </itemizedlist> </sect2> </sect1> <sect1 id="printing-intro-setup"> <title>ÂáóéêÞ ÅãêáôÜóôáóç</title> <para>Ãéá íá ÷ñçóéìïðïéÞóåôå åêôõðùôÝò ìå ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application>, èá ðñÝðåé íá åãêáôáóôÞóåôå ôüóï ôï hardware ôïõ åêôõðùôÞ óáò üóï êáé ôï ëïãéóìéêü <application>LPD</application>. Áõôü ôï Ýããñáöï ðåñéãñÜöåé ôçí åãêáôÜóôáóç óå äýï óôÜäéá:</para> <itemizedlist> <listitem> <para>Äåßôå ôçí åíüôçôá <link linkend="printing-simple">ÂáóéêÝò Ñõèìßóåéò Åêôõðùôþí</link> ãéá íá ìÜèåôå ðùò ãßíåôáé ç óýíäåóç åêôõðùôþí, ìå ðïéï ôñüðï åðéêïéíùíåß ôï <application>LPD</application> ìå ôïõò åêôõðùôÝò, êáé ðùò íá åêôõðþíåôå áðëÜ áñ÷åßá êåéìÝíïõ.</para></listitem> <listitem> <para>Äåßôå ôçí åíüôçôá <link linkend="printing-advanced">Ñõèìßóåéò Åêôõðùôþí ãéá Ðñï÷ùñçìÝíïõò</link> ãéá íá ìÜèåôå ðùò íá åêôõðþíåôå áñ÷åßá åéäéêÞò ìïñöÞò äéáöüñùí ôýðùí, ðùò íá åêôõðþíåôå óåëßäåò êåöáëßäáò, ðùò íá åêôõðþíåôå óå Ýíá äßêôõï, ðùò íá åëÝã÷åôå ôçí ðñüóâáóç óôïõò åêôõðùôÝò, êáé ðùò íá ÷ñçóéìïðïéåßôå ôçí êáôáãñáöÞ åêôõðþóåùí.</para> </listitem> </itemizedlist> <sect2 id="printing-simple"> <title>ÂáóéêÝò Ñõèìßóåéò Åêôõðùôþí</title> <para>ÁõôÞ ç åíüôçôá ðåñéãñÜöåé ðùò íá ñõèìßóåôå ôï hardware ôïõ åêôõðùôÞ êáé ôï ëïãéóìéêü <application>LPD</application>. ÐáñÝ÷åé âáóéêÝò ãíþóåéò ãéá ôá åîÞò èÝìáôá:</para> <itemizedlist> <listitem> <para>Ç Åíüôçôá <link linkend="printing-hardware">Ñõèìßóåéò Hardware</link> õðïäåéêíýåé ðùò íá óõíäÝóåôå ôïí åêôõðùôÞ óå ìéá èýñá ôïõ õðïëïãéóôÞ óáò.</para> </listitem> <listitem> <para>Ç Åíüôçôá <link linkend="printing-software">Ñõèìßóåéò Ëïãéóìéêïý</link> õðïäåéêíýåé ðùò íá åãêáôáóôÞóåôå ôï áñ÷åßï ñýèìéóçò ôïõ óõóôÞìáôïò ðáñï÷Ýôåõóçò <application>LPD</application>: ôï áñ÷åßï <filename>/etc/printcap</filename>.</para> </listitem> </itemizedlist> <para>Áí ðñïóðáèåßôå íá åãêáôáóôÞóåôå Ýíáí åêôõðùôÞ ðïõ äÝ÷åôáé äåäïìÝíá ìÝóù ðñùôïêüëëïõ äéêôýïõ êáé ü÷é ìÝóù äéáóýíäåóçò ôïðéêÞò èýñáò, ôüôå äåßôå ôçí åíüôçôá <link linkend="printing-advanced-network-net-if">ÅêôõðùôÝò Ìå ÓõíäÝóåéò Äéêôýïõ</link>.</para> <para>Áí êáé áõôÞ ç åíüôçôá ïíïìÜæåôáé <quote>ÂáóéêÝò Ñõèìßóåéò Åêôõðùôþí</quote>, óôçí ðñáãìáôéêüôçôá åßíáé áñêåôÜ ðåñßðëïêç. Ôï äõóêïëüôåñï óôÜäéï óôçí åãêáôÜóôáóç åßíáé ç åðéôõ÷Þò ëåéôïõñãßá óôçí åðéêïéíùíßá ôïõ åêôõðùôÞ ìå ôïí õðïëïãéóôÞ óáò êáé ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application>. Ïé åðéëïãÝò ãéá ðñï÷ùñçìÝíïõò, üðùò ïé óåëßäåò êåöáëßäáò êáé áíáöïñÜò åßíáé ó÷åôéêÜ åýêïëåò íá åðéôåõ÷èïýí, ìåôÜ ôçí åðéôõ÷Þ ñýèìéóç ôçò âáóéêÞò ëåéôïõñãßáò åêôýðùóçò.</para> <sect3 id="printing-hardware"> <title>Ñõèìßóåéò Hardware</title> <para>ÁõôÞ ç åíüôçôá åîçãåß ôïõò äéÜöïñïõò ôñüðïõò óýíäåóçò ôïõ åêôõðùôÞ ìå ôïí õðïëïãéóôÞ óáò. ÐåñéãñÜöåé ôïõò äéÜöïñïõò ôýðïõò èõñþí êáé êáëùäßùí, êáé ôéò ñõèìßóåéò ðïõ ðñÝðåé íá êÜíåôå óôïí ðõñÞíá ãéá íá åíåñãïðïéÞóåôå ôçí åðéêïéíùíßá ìåôáîý &os; êáé åêôõðùôÞ.</para> <para>Áí Þäç Ý÷åôå êáôáöÝñåé íá óõíäÝóåôå ôïí åêôõðùôÞ óáò êáé Ý÷åôå åêôõðþóåé åðéôõ÷þò óå Üëëï ëåéôïõñãéêü óýóôçìá, ôüôå ìðïñåßôå íá ìåôáâåßôå êáôåõèåßáí óôçí åíüôçôá <link linkend="printing-software">Ñõèìßóåéò Ëïãéóìéêïý</link>.</para> <sect4 id="printing-ports"> <title>Èýñåò êáé Êáëþäéá</title> <para>Ïé åêôõðùôÝò ðïõ äéáôßèåíôáé óÞìåñá ãéá ÷ñÞóç ìå Ç/Õ ðáñÝ÷ïíôáé ìå ìßá Þ ðåñéóóüôåñåò åê ôùí áêïëïýèùí ôñéþí äéáóõíäÝóåùí:</para> <itemizedlist> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>óåéñéáêïß</secondary> </indexterm> <listitem> <para>Ïé <emphasis>ÓåéñéáêÝò</emphasis> äéáóõíäÝóåéò, ãíùóôÝò êáé ùò RS-232 Þ èýñåò COM, ÷ñçóéìïðïéïýí ôçí óåéñéáêÞ èýñá ôïõ õðïëïãéóôÞ óáò ãéá íá óôåßëïõí äåäïìÝíá óôïí åêôõðùôÞ. Ïé óåéñéáêÝò äéáóõíäÝóåéò åßíáé óõíÞèåéò óôçí âéïìç÷áíßá êáôáóêåõÞò Ç/Õ êáé ôá êáëþäéá åßíáé åêôåíþò äéáäåäïìÝíá êáé åðßóçò åýêïëá íá êáôáóêåõáóôïýí. Ïé óåéñéáêÝò äéáóõíäÝóåéò ìåñéêÝò öïñÝò ÷ñåéÜæïíôáé åéäéêÜ êáëþäéá êáé ìðïñåß íá óáò æçôçèïýí ðïëýðëïêåò åðéêïéíùíéáêÝò ñõèìßóåéò. Ïé ðåñéóóüôåñåò óåéñéáêÝò èýñåò ôùí Ç/Õ Ý÷ïõí ìÝãéóôç ôá÷ýôçôá ìåôÜäïóçò 115200 bps, êÜíïíôáò äýóêïëç ôçí åñãáóßá åêôýðùóçò ãñáöéêþí ìåãÜëùí äéáóôÜóåùí.</para> </listitem> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>ðáñÜëëçëïé</secondary> </indexterm> <listitem> <para>Ïé <emphasis>ÐáñÜëëçëåò</emphasis> äéáóõíäÝóåéò ÷ñçóéìïðïéïýí ôçí ðáñÜëëçëç èýñá ôïõ õðïëïãéóôÞ óáò ãéá íá óôÝëíïõí äåäïìÝíá óôïí åêôõðùôÞ. Ïé ðáñÜëëçëåò äéáóõíäÝóåéò åßíáé äéáäåäïìÝíåò óôï åìðüñéï êáé åßíáé ãñçãïñüôåñåò áðü ôéò óåéñéáêÝò RS-232. Ôá êáëþäéá äéáôßèåíôáé Ýôïéìá, áëëÜ åßíáé äõóêïëüôåñï íá êáôáóêåõáóôïýí ÷åéñùíáêôéêÜ. Ìå ôéò ðáñÜëëçëåò äéáóõíäÝóåéò äåí ðñïâëÝðïíôáé åðéëïãÝò ñýèìéóçò åðéêïéíùíßáò, êÜíïíôáò ôçí ñýèìéóç ôïõò åîáéñåôéêÜ áðëÞ.</para> <indexterm> <primary>centronics</primary> <see>ðáñÜëëçëïé åêôõðùôÝò</see> </indexterm> <para>Ïé ðáñÜëëçëåò äéáóõíäÝóåéò åßíáé ãíùóôÝò êáé ùò äéáóõíäÝóåéò <quote>Centronics</quote>, ïíïìáóßá ðñïåñ÷üìåíç áðü ôïí ôýðï ôïõ áêñïäÝêôç ôïõ åêôõðùôÞ.</para> </listitem> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>USB</secondary> </indexterm> <listitem> <para>Ïé äéáóõíäÝóåéò USB, óõíôïìïãñáößá áðü ôï Universal Serial Bus, äïõëåýïõí óå áêüìç ìåãáëýôåñåò ôá÷ýôçôåò áðü ôçí ðáñÜëëçëç êáé ôçí RS-232 óåéñéáêÞ äéáóýíäåóç. Ôá êáëþäéá ôïõò åßíáé áðëÜ êáé öôçíÜ. Ç USB åßíáé áíþôåñç áðü ôçí ÓåéñéáêÞ RS-232 êáé áðü ôçí ÐáñÜëëçëç óôçí åêôýðùóç, áëëÜ äõóôõ÷þò äåí õðïóôçñßæåôáé êáëÜ áðü ôá óõóôÞìáôá &unix;. ¸íáò ôñüðïò ãéá íá áðïöýãåôå áõôü ôï ðñüâëçìá åßíáé íá áãïñÜóåôå åêôõðùôÞ ðïõ öÝñåé äéáóýíäåóç USB êáé ÐáñÜëëçëç, üðùò óõìâáßíåé ìå ðïëëïýò åêôõðùôÝò.</para> </listitem> </itemizedlist> <para>ÃåíéêÜ, ïé ÐáñÜëëçëåò äéáóõíäÝóåéò ðñïóöÝñïõí óõíÞèùò ìßáò êáôåýèõíóçò åðéêïéíùíßá (áðü ôïí õðïëïãéóôÞ óôïí åêôõðùôÞ) åíþ ç óåéñéáêÞ êáé ç USB äßíïõí áìößäñïìç. Óôï &os; ïé ðéï ðñüóöáôåò ðáñÜëëçëåò èýñåò (EPP êáé ECP) êáôáöÝñíïõí áìößäñïìç åðéêïéíùíßá ìå ôïõò åêôõðùôÝò, üôáí ÷ñçóéìïðïéïýíôáé êáëþäéá ðïõ óõììïñöþíïíôáé ìå ôï ðñüôõðï IEEE-1284.</para> <indexterm><primary>PostScript</primary></indexterm> <para>Ç áìößäñïìç åðéêïéíùíßá ìå åêôõðùôÝò äéáìÝóïõ ðáñÜëëçëçò èýñáò ìðïñåß íá åðéôåõ÷èåß ãåíéêÜ ìå äýï ôñüðïõò. Ï ðñþôïò ôñüðïò ÷ñçóéìïðïéåß Ýíá ðñïóáñìïóìÝíï ðñüãñáììá ïäÞãçóçò åêôõðùôÞ, þóôå íá ìðïñåß ôï &os; íá óõíïìéëåß óôçí ãëþóóá ôïõ åêôõðùôÞ. Áõôü åßíáé óýíçèåò ìå åêôõðùôÝò inkjet êáé ìðïñåß åðßóçò íá ÷ñçóéìïðïéçèåß ãéá áíáöïñÝò äéáèÝóéìçò ðïóüôçôáò ìåëáíéïý êáé ãéá Üëëåò ðëçñïöïñßåò ëåéôïõñãßáò. Ç äåýôåñç ìÝèïäïò ÷ñçóéìïðïéåßôáé üôáí ï åêôõðùôÞò Ý÷åé äõíáôüôçôá õðïóôÞñéîçò &postscript;.</para> <para>Ïé åñãáóßåò &postscript; åßíáé óôçí ðñáãìáôéêüôçôá ðñïãñÜììáôá ðïõ áðïóôÝëëïíôáé óôïí åêôõðùôÞ, äåí åßíáé áðáñáßôçôï íá ðáñÜãïõí åêôõðþóåéò, åíþ ìðïñïýí íá åðéóôñÝøïõí ôï áðïôÝëåóìá ôïõò áðåõèåßáò óôïí õðïëïãéóôÞ. Ôï &postscript; ÷ñçóéìïðïéåß áìößäñïìç åðéêïéíùíßá ãéá íá åíçìåñþóåé ôïí õðïëïãéóôÞ ãéá ôõ÷üí ðñïâëÞìáôá, üðùò óöÜëìáôá óôï ðñüãñáììá &postscript; Þ ìðëïêÜñéóìá ôñïöïäïóßáò ÷áñôéïý. Ïé ÷ñÞóôåò óáò, èá óáò åßíáé åõãíþìïíåò ãéá áõôÝò ôéò ðëçñïöïñßåò. ÅðéðëÝïí, ï êáëýôåñïò ôñüðïò ãéá íá êÜíåôå óùóôÞ êáôáìÝôñçóç ìå Ýíá áìößäñïìï åêôõðùôÞ &postscript; åßíáé: íá ñùôÞóåôå ôïí åêôõðùôÞ ãéá ôçí óõíïëéêÞ êáôáìÝôñçóç ôùí óåëßäùí ôïõ (ðüóåò óåëßäåò åêôýðùóå óå üëç ôç äéÜñêåéá æùÞò ôïõ), ìåôÜ íá áðïóôåßëåôå ôçí åñãáóßá ôïõ ÷ñÞóôç, êáé Ýðåéôá íá îáíáñùôÞóåôå ãéá ôçí êáôáìÝôñçóç ôùí óåëßäùí ôïõ. ÁöáéñÝóôå ôéò äýï ôéìÝò êáé èá ãíùñßæåôå ðüóåò óåëßäåò íá ÷ñåþóåôå óôïí ÷ñÞóôç.</para> </sect4> <sect4 id="printing-parallel"> <title>ÐáñÜëëçëåò Èýñåò</title> <para>Ãéá íá óõíäÝóåôå Ýíáí åêôõðùôÞ óå ðáñÜëëçëç èýñá, óõíäÝóôå ôï êáëþäéï Centronics ìåôáîý åêôõðùôÞ êáé õðïëïãéóôÞ. Ïé ïäçãßåò ðïõ óõíïäåýïõí ôïí åêôõðùôÞ êáé ôïí õðïëïãéóôÞ èá óáò êáèïäçãÞóïõí íá ïëïêëçñþóåôå ôçí óýíäåóç.</para> <para>Èõìçèåßôå ðïéá ðáñÜëëçëç èýñá ÷ñçóéìïðïéåßôå óôïí õðïëïãéóôÞ. Ç ðñþôç ðáñÜëëçëç èýñá óôï &os; åßíáé ç <filename class="devicefile">ppc0</filename>, ç äåýôåñç åßíáé ç <filename class="devicefile">ppc1</filename>, êáé ïýôù êáèåîÞò. Ôï üíïìá óõóêåõÞò ôïõ åêôõðùôÞ ÷ñçóéìïðïéåß ôçí ßäéá áñßèìçóç: <filename class="devicefile">/dev/lpt0</filename> ãéá ôïí åêôõðùôÞ óôçí ðñþôç ðáñÜëëçëç èýñá ê.ô.ë.</para> </sect4> <sect4 id="printing-serial"> <title>ÓåéñéáêÝò Èýñåò</title> <para>Ãéá íá óõíäÝóåôå Ýíáí åêôõðùôÞ ÷ñçóéìïðïéþíôáò óåéñéáêÞ äéáóýíäåóç, óõíäÝóôå ôï êáôÜëëçëï óåéñéáêü êáëþäéï ìåôáîý åêôõðùôÞ êáé õðïëïãéóôÞ. Ïé ïäçãßåò ðïõ óõíïäåýïõí ôïí åêôõðùôÞ êáé ôïí õðïëïãéóôÞ óáò, èá óáò êáèïäçãÞóïõí íá ïëïêëçñþóåôå ôçí óýíäåóç.</para> <para>Áí äåí åßóôå óßãïõñïé ðïéï åßíáé ôï <quote>êáôÜëëçëï óåéñéáêü êáëþäéï</quote>, ìðïñåßôå íá äïêéìÜóåôå ìßá áðü ôéò áêüëïõèåò åíáëëáêôéêÝò:</para> <itemizedlist> <listitem> <para>¸íá êáëþäéï <emphasis>modem</emphasis> åíþíåé êÜèå pin ôïõ áêñïäÝêôç áðü ôç ìéá ðëåõñÜ ôïõ êáëùäßïõ êáôåõèåßáí ìå ôï áíôßóôïé÷ï pin ôïõ áêñïäÝêôç óôï Üëëï Üêñï. Áõôüò ï ôýðïò êáëùäßïõ åßíáé ãíùóôüò êáé ùò êáëþäéï <quote>DTE-to-DCE</quote>.</para> </listitem> <indexterm><primary>null-modem cable</primary></indexterm> <listitem> <para>¸íá êáëþäéï <emphasis>null-modem</emphasis> åíþíåé êáôåõèåßáí ìåñéêÜ pins, áíôáëëÜóóåé ìåñéêÜ Üëëá (ãéá ðáñÜäåéãìá, ôá pins áðïóôïëÞò êáé ëÞøçò), åíþ âñá÷õêõêëþíåé ìåñéêÜ Üëëá, åóùôåñéêÜ, óôï ðñïóôáôåõôéêü êÜëõììá êÜèå áêñïäÝêôç. Áõôüò ï ôýðïò êáëùäßïõ åßíáé ãíùóôüò êáé ùò êáëþäéï <quote>DTE-to-DTE</quote>.</para> </listitem> <listitem> <para>¸íá êáëþäéï <emphasis>óåéñéáêïý åêôõðùôÞ</emphasis>, ðïõ áðáéôåßôáé áðü êÜðïéïõò ëéãüôåñï óõíçèéóìÝíïõò åêôõðùôÝò, åßíáé óáí ôï êáëþäéï null-modem, áëëÜ óôÝëíåé éóïäýíáìá óÞìáôá êáé óôá äýï Üêñá áíôß íá ôá âñá÷õêõêëþíåé åóùôåñéêÜ.</para> </listitem> </itemizedlist> <indexterm><primary>ñõèìüò baud</primary></indexterm> <indexterm><primary>éóïäõíáìßá</primary></indexterm> <indexterm><primary>ðñùôüêïëëï åëÝã÷ïõ ñïÞò</primary></indexterm> <para>Èá ðñÝðåé åðßóçò íá ñõèìßóåôå ôéò ðáñáìÝôñïõò åðéêïéíùíßáò ôïõ åêôõðùôÞ, óõíÞèùò áðü ôïí ìðñïóôéíü ðßíáêá åëÝã÷ïõ Þ áðü ôïõò DIP äéáêüðôåò ôïõ. ÅðéëÝîôå ôçí ìÝãéóôç ôéìÞ <literal>bps</literal> (bits per second = bits áíÜ äåõôåñüëåðôï, áíáöÝñåôáé êáé ùò <emphasis>ñõèìüò baud</emphasis>) ðïõ õðïóôçñßæïõí ï õðïëïãéóôÞò êáé ï åêôõðùôÞò óáò. ÅðéëÝîôå 7 Þ 8 data bits, none, even, Þ odd parity, êáé 1 Þ 2 stop bits. Åðßóçò åðéëÝîôå Ýíá ðñùôüêïëëï åëÝã÷ïõ ñïÞò: åßôå none, Þ XON/XOFF (áíáöÝñåôáé êáé ùò Ýëåã÷ïò ñïÞò <quote>in-band</quote> Þ <quote>software</quote>). Íá èõìÜóôå áõôÝò ôéò ñõèìßóåéò, ãéá ôï óôÜäéï ñýèìéóçò ëïãéóìéêïý ðïõ áêïëïõèåß.</para> </sect4> </sect3> <sect3 id="printing-software"> <title>Ñõèìßóåéò Ëïãéóìéêïý</title> <para>ÁõôÞ ç åíüôçôá ðåñéãñÜöåé ôéò áíáãêáßåò ñõèìßóåéò ðïõ ðñÝðåé íá ãßíïõí óôï ëïãéóìéêü ãéá íá ìðïñåßôå íá åêôõðþíåôå ìå ôï óýóôçìá ðáñï÷Ýôåõóçò åêôõðùôþí <application>LPD</application> óôï &os;.</para> <para>Ìéá ãåíéêÞ Üðïøç ôùí åíåñãåéþí ðïõ ðñÝðåé íá áêïëïõèÞóåôå åßíáé:</para> <procedure> <step> <para>Ñõèìßóôå ôïí ðõñÞíá óáò, áí åßíáé áíáãêáßï, ãéá ôçí èýñá ðïõ ÷ñçóéìïðïéåßôå ãéá ôïí åêôõðùôÞ óáò. Ïé áðáñáßôçôåò ñõèìßóåéò ðåñéãñÜöïíôáé óôçí åíüôçôá <link linkend="printing-kernel">Ñõèìßóåéò ÐõñÞíá</link>.</para> </step> <step> <para>Ñõèìßóôå ôçí êáôÜóôáóç åðéêïéíùíßáò ãéá ôçí ðáñÜëëçëç èýñá, áí ðñüêåéôáé íá ôçí ÷ñçóéìïðïéÞóåôå. Ç åíüôçôá <link linkend="printing-parallel-port-mode">Ñõèìßóåéò ÊáôÜóôáóçò Åðéêïéíùíßáò ãéá ôçí ÐáñÜëëçëç Èýñá</link> ðåñéÝ÷åé ëåðôïìÝñåéåò.</para> </step> <step> <para>ÅëÝãîôå áí ôï ëåéôïõñãéêü óýóôçìá ìðïñåß íá óôåßëåé äåäïìÝíá óôïí åêôõðùôÞ. Ç åíüôçôá <link linkend="printing-testing">¸ëåã÷ïò Åðéêïéíùíßáò ôïõ ÅêôõðùôÞ</link> ðáñÝ÷åé ìåñéêÝò óõìâïõëÝò ãéá ôï ðùò èá ìðïñïýóå íá ãßíåé ï Ýëåã÷ïò.</para> </step> <step> <para>Ñõèìßóôå ôï <application>LPD</application> ãéá ôïí åêôõðùôÞ óáò, ôñïðïðïéþíôáò ôï áñ÷åßï <filename>/etc/printcap</filename>. Èá âñåßôå ïäçãßåò ãéá áõôÝò ôéò ñõèìßóåéò óå åðüìåíï ôìÞìá áõôïý ôïõ êåöáëáßïõ.</para> </step> </procedure> <sect4 id="printing-kernel"> <title>Ñõèìßóåéò ÐõñÞíá</title> <para>Ï ðõñÞíáò ôïõ ëåéôïõñãéêïý óõóôÞìáôïò Ý÷åé ìåôáãëùôôéóôåß Ýôóé þóôå íá äïõëåýåé ìå Ýíá óõãêåêñéìÝíï óýíïëï óõóêåõþí. Ç óåéñéáêÞ êáé ç ðáñÜëëçëç äéáóýíäåóç ôïõ åêôõðùôÞ åßíáé ìÝñïò áõôïý ôïõ óõíüëïõ. ÅðïìÝíùò, ßóùò íá åßíáé áíáãêáßï íá ðñïóèÝóåôå õðïóôÞñéîç ãéá êÜðïéá ðñüóèåôç óåéñéáêÞ Þ ðáñÜëëçëç èýñá, áí äåí åßíáé Þäç ñõèìéóìÝíç óôïí ðõñÞíá óáò.</para> <para>Ãéá íá åëÝãîåôå áí ï ðõñÞíáò óáò ìðïñåß íá õðïóôçñßîåé ìéá óåéñéáêÞ äéáóýíäåóç, ðëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>grep sio<replaceable>N</replaceable> <filename>/var/run/dmesg.boot</filename></command></userinput></screen> <para>¼ðïõ <replaceable>N</replaceable> åßíáé ï áñéèìüò ôçò óåéñéáêÞò èýñáò, îåêéíþíôáò áðü ôï ìçäÝí. Áí äåßôå óôçí Ýîïäï ôïõ ôåñìáôéêïý óáò êÜôé ðáñüìïéï ìå:</para> <screen>sio2 at port 0x3e8-0x3ef irq 5 on isa sio2: type 16550A</screen> <para>ôüôå ï ðõñÞíáò õðïóôçñßæåé áõôÞ ôç èýñá.</para> <para>Ãéá íá åëÝãîåôå áí ï ðõñÞíáò óáò õðïóôçñßæåé ðáñÜëëçëåò äéáóõíäÝóåéò, ðëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>grep ppc<replaceable>N</replaceable> <filename>/var/run/dmesg.boot</filename></command></userinput></screen> <para>¼ðïõ <replaceable>N</replaceable> åßíáé ï áñéèìüò ôçò ðáñÜëëçëçò èýñáò, îåêéíþíôáò áðü ôï ìçäÝí. Áí äåßôå óôçí Ýîïäï ôïõ ôåñìáôéêïý óáò êÜôé ðáñüìïéï ìå:</para> <screen>ppc0: <Parallel port> at port 0x378-0x37f irq 7 on isa0 ppc0: SMC-like chipset (ECP/EPP/PS2/NIBBLE) in COMPATIBLE mode ppc0: FIFO with 16/16/8 bytes threshold</screen> <para>ôüôå ï ðõñÞíáò õðïóôçñßæåé áõôÞ ôç èýñá.</para> <para>Ãéá íá ìðïñåß ôï ëåéôïõñãéêü óýóôçìá íá áíáãíùñßæåé êáé íá ÷ñçóéìïðïéåß ôçí èýñá (ðáñÜëëçëç Þ óåéñéáêÞ) ãéá ôïí åêôõðùôÞ óáò, ßóùò ÷ñåéáóôåß íá åðáíáðñïóáñìüóåôå ôïí ðõñÞíá óáò.</para> <para>Ãéá ôçí õðïóôÞñéîç óåéñéáêÞò èýñáò, äåßôå ôçí åíüôçôá óôéò ñõèìßóåéò ôïõ ðõñÞíá. Ãéá ôçí õðïóôÞñéîç ðáñÜëëçëçò èýñáò, äåßôå ôçí ßäéá åíüôçôá <emphasis>êáé</emphasis> ôçí åíüôçôá ðïõ áêïëïõèåß.</para> </sect4> </sect3> <sect3 id="printing-parallel-port-mode"> <title>Ñõèìßóåéò ÊáôÜóôáóçò Åðéêïéíùíßáò ãéá ôçí ÐáñÜëëçëç Èýñá</title> <para>¼ôáí ÷ñçóéìïðïéåßôå ôçí ðáñÜëëçëç äéáóýíäåóç, ìðïñåßôå íá åðéëÝîåôå áí ç åðéêïéíùíßá ôïõ &os; ìå ôïí åêôõðùôÞ èá åßíáé ôýðïõ interrupt-driven Þ polled. Ï ãåíéêüò ïäçãüò óõóêåõÞò ôïõ åêôõðùôÞ (&man.lpt.4;) óôï &os; ÷ñçóéìïðïéåß ôï óýóôçìá &man.ppbus.4;, ôï ïðïßï åëÝã÷åé ôçí èýñá ôïõ chipset ìå ôïí ïäçãü &man.ppc.4;.</para> <itemizedlist> <listitem> <para>Ç ìÝèïäïò <emphasis>interrupt-driven</emphasis> åßíáé ðñïåðéëåãìÝíç óôïí ðõñÞíá GENERIC. Ìå áõôÞ ôç ìÝèïäï, ôï ëåéôïõñãéêü óýóôçìá ÷ñçóéìïðïéåß Ýíá óÞìá IRQ ãéá íá ðñïóäéïñßóåé áí ï åêôõðùôÞò åßíáé Ýôïéìïò ãéá äåäïìÝíá.</para> </listitem> <listitem> <para>Ç ìÝèïäïò <emphasis>polled</emphasis> ïäçãåß ôï ëåéôïõñãéêü óýóôçìá íá æçôÜ êáôÜ åðáíÜëçøç áðü ôïí åêôõðùôÞ áí åßíáé Ýôïéìïò ãéá ðñüóèåôá äåäïìÝíá. ¼ôáí áðáíôÞóåé èåôéêÜ, ï ðõñÞíáò óôÝëíåé ðñüóèåôá äåäïìÝíá.</para> </listitem> </itemizedlist> <para>Ç ìÝèïäïò interrupt-driven åßíáé óõíÞèùò êÜðùò ãñçãïñüôåñç áëëÜ ÷ñçóéìïðïéåß ìéá ðïëýôéìç ãñáììÞ IRQ. ¸÷åé ðáñáôçñçèåß ðùò êÜðïéïé óýã÷ñïíïé åêôõðùôÝò HP äå äïõëåýïõí óùóôÜ óå êáôÜóôáóç interrupt, ðéèáíþò ëüãù êÜðïéùí (ü÷é áðüëõôá åîáêñéâùìÝíùí) ðñïâëçìÜôùí óõã÷ñïíéóìïý. Áõôïß ïé åêôõðùôÝò ÷ñåéÜæïíôáé ôçí ìÝèïäï polled. Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå ôçí áðïôåëåóìáôéêüôåñç êáôÜóôáóç ëåéôïõñãßáò. ÊÜðïéïé åêôõðùôÝò äïõëåýïõí êáé óôéò äõï êáôáóôÜóåéò, áëëÜ åßíáé ïäõíçñÜ áñãïß óôçí êáôÜóôáóç ëåéôïõñãßáò interrupt.</para> <para>Ìðïñåßôå íá ñõèìßóåôå ôçí êáôÜóôáóç åðéêïéíùíßáò ìå äýï ôñüðïõò: ñõèìßæïíôáò ôïí ðõñÞíá Þ ÷ñçóéìïðïéþíôáò ôï ðñüãñáììá &man.lptcontrol.8;.</para> <para><emphasis>Ãéá íá èÝóåôå ôçí êáôÜóôáóç åðéêïéíùíßáò ñõèìßæïíôáò ôïí ðõñÞíá:</emphasis></para> <procedure> <step> <para>Åðåîåñãáóôåßôå ôï áñ÷åßï ñýèìéóçò ôïõ ðõñÞíá. Äåßôå ôçí êáôá÷þñéóç <literal>ppc0</literal>. Áí åãêáèéóôÜôå ôçí äåýôåñç ðáñÜëëçëç èýñá, ôüôå ÷ñçóéìïðïéåßóôå <literal>ppc1</literal>. Ãéá ôçí ôñßôç èýñá <literal>ppc2</literal> êáé ïýôù êáèåîÞò.</para> <itemizedlist> <listitem> <para>Áí åðéèõìåßôå êáôÜóôáóç ëåéôïõñãßáò interrupt-driven, åðåîåñãáóôåßôå ôçí áêüëïõèç ãñáììÞ:</para> <programlisting>hint.ppc.0.irq="<replaceable>N</replaceable>"</programlisting> <para>óôï áñ÷åßï <filename>/boot/device.hints</filename> êáé áíôéêáôáóôÞóôå ôï <replaceable>N</replaceable> ìå ôïí óùóôü áñéèìü IRQ. Ôï áñ÷åßï ñýèìéóçò ôïõ ðõñÞíá ðñÝðåé åðßóçò íá ðåñéÝ÷åé ôïí ïäçãü &man.ppc.4;:</para> <screen>device ppc</screen> </listitem> <listitem> <para>Áí åðéèõìåßôå êáôÜóôáóç ëåéôïõñãßáò polled, äéáãñÜøôå áðü ôï áñ÷åßï <filename>/boot/device.hints</filename>, ôçí áêüëïõèç ãñáììÞ:</para> <programlisting>hint.ppc.0.irq="<replaceable>N</replaceable>"</programlisting> <para>Óå ìåñéêÝò ðåñéðôþóåéò, ôï ðáñáðÜíù äåí åßíáé áñêåôü ãéá íá èÝóåôå ôçí èýñá óå êáôÜóôáóç polled. Ôéò ðåñéóóüôåñåò öïñÝò ôï ðñüâëçìá ðñïÝñ÷åôáé áðü ôïí ïäçãü &man.acpi.4;, ï ïðïßïò Ý÷åé ôçí åõ÷Ýñåéá íá åîåôÜæåé êáé íá ðñïóáñôÜ óõóêåõÝò, êáé åðïìÝíùò, íá åëÝã÷åé ôïí ôñüðï ðñüóâáóçò óôçí èýñá ôïõ åêôõðùôÞ. Èá ðñÝðåé íá åëÝãîåôå ôéò ñõèìßóåéò ôïõ &man.acpi.4; ãéá íá äéïñèþóåôå áõôü ôï ðñüâëçìá.</para> </listitem> </itemizedlist> </step> <step> <para>Áðïèçêåýóôå ôï áñ÷åßï. Ñõèìßóôå, ìåôáãëùôôßóôå, êáé åãêáôáóôÞóôå ôïí ðõñÞíá, êáé Ýðåéôá êÜíôå åðáíåêêßíçóç. Ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò, äåßôå ôéò <link linkend="kernelconfig">ñõèìßóåéò ôïõ ðõñÞíá</link>.</para> </step> </procedure> <para><emphasis>Ãéá íá èÝóåôå ôçí êáôÜóôáóç åðéêïéíùíßáò ìå ôï</emphasis> &man.lptcontrol.8;:</para> <procedure> <step> <para>ÐëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>lptcontrol <option>-i</option> <option>-d</option> <filename class="devicefile">/dev/lpt<replaceable>N</replaceable></filename></command></userinput></screen> <para>ãéá íá èÝóåôå ôçí êáôÜóôáóç ëåéôïõñãßáò interrupt-driven ãéá ôï <literal>lpt<replaceable>N</replaceable></literal>.</para> </step> <step> <para>ÐëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>lptcontrol <option>-p</option> <option>-d</option> <filename class="devicefile">/dev/lpt<replaceable>N</replaceable></filename></command></userinput></screen> <para>ãéá íá èÝóåôå ôçí êáôÜóôáóç ëåéôïõñãßáò polled ãéá ôï <literal>lpt<replaceable>N</replaceable></literal>.</para> </step> </procedure> <para>Èá ìðïñïýóáôå íá êáôá÷ùñßóåôå áõôÝò ôéò åíôïëÝò óôï äéêü óáò áñ÷åßï <filename>/etc/rc.local</filename>. ¸ôóé èá åêôåëïýíôáé áõôüìáôá êáôÜ ôçí åêêßíçóç ôïõ óõóôÞìáôïò óáò. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò äåßôå ôï &man.lptcontrol.8;.</para> </sect3> <sect3 id="printing-testing"> <title>¸ëåã÷ïò Åðéêïéíùíßáò ôïõ ÅêôõðùôÞ</title> <para>Ðñéí óõíå÷ßóïõìå íá ñõèìßæïõìå ôï óýóôçìá ðáñï÷Ýôåõóçò, èá ðñÝðåé íá âåâáéùèåßôå üôé ôï ëåéôïõñãéêü óýóôçìá ìðïñåß íá óôåßëåé åðéôõ÷þò äåäïìÝíá óôïí åêôõðùôÞ óáò. Åßíáé åõêïëüôåñï íá êÜíïõìå îå÷ùñéóôÜ ôçí áðïóöáëìÜôùóç åðéêïéíùíßáò ôïõ åêôõðùôÞ êáé ôçí áðïóöáëìÜôùóç ôïõ óõóôÞìáôïò ðáñï÷Ýôåõóçò.</para> <para>Èá åëÝãîïõìå ôïí åêôõðùôÞ óôÝëíïíôáò ìåñéêÜ äåäïìÝíá êåéìÝíïõ. Ãéá åêåßíïõò ôïõò åêôõðùôÝò ðïõ ìðïñïýí íá åêôõðþíïõí Üìåóá ôïõò ÷áñáêôÞñåò ðïõ Ý÷ïõí áðïóôáëåß, ôï ðñüãñáììá &man.lptest.1; åßíáé ôÝëåéï: ÐáñÜãåé üëïõò ôïõò åêôõðþóéìïõò ÷áñáêôÞñåò (96) ASCII óå 96 ãñáììÝò.</para> <indexterm><primary>PostScript</primary></indexterm> <para>Ãéá åêôõðùôÝò &postscript; (Þ ðïõ âáóßæïíôáé óå Üëëç ãëþóóá), èá ÷ñåéáóôåß íá êÜíïõìå Ýíá ðéï ðïëýðëïêï ôåóô. ¸íá ìéêñü ðñüãñáììá &postscript;, üðùò áõôü ðïõ áêïëïõèåß, åðáñêåß:</para> <programlisting>%!PS 100 100 moveto 300 300 lineto stroke 310 310 moveto /Helvetica findfont 12 scalefont setfont (Is this thing working?) show showpage</programlisting> <para>Ï ðáñáðÜíù êþäéêáò &postscript; ìðïñåß íá ôïðïèåôçèåß óå Ýíá áñ÷åßï êáé íá ÷ñçóéìïðïéçèåß üðùò õðïäåéêíýïõí ôá ðáñáäåßãìáôá óôéò áêüëïõèåò åíüôçôåò.</para> <indexterm><primary>PCL</primary></indexterm> <note> <para>¼ôáí áõôü ôï Ýããñáöï áíáöÝñåôáé óå ìéá ãëþóóá åêôõðùôÞ, åííïåßôáé ìéá ãëþóóá üðùò ç &postscript;, áëëÜ ü÷é ç PCL ôçò Hewlett Packard — ç PCL åßíáé ìéá ãëþóóá åõñåßáò ëåéôïõñãéêüôçôáò ç ïðïßá åðéôñÝðåé ôçí áíÜìéîç áðëïý êåéìÝíïõ ìå áêïëïõèßåò äéáöõãÞò. Ç &postscript; äåí ìðïñåß íá åêôõðþóåé Üìåóá áðëü êåßìåíï, êáé áõôüò åßíáé áêñéâþò ï ôýðïò ôçò ãëþóóáò åêôõðùôÞ ðïõ èá ðñÝðåé íá äéåõèåôÞóïõìå êáôÜëëçëá.</para> </note> <sect4 id="printing-checking-parallel"> <title>¸ëåã÷ïò ÐáñÜëëçëïõ ÅêôõðùôÞ</title> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>ðáñÜëëçëç</secondary> </indexterm> <para>ÁõôÞ ç åíüôçôá õðïäåéêíýåé ðùò íá åëÝãîåôå áí ôï &os; ìðïñåß íá åðéêïéíùíÞóåé ìå Ýíáí åêôõðùôÞ óõíäåäåìÝíï óå ðáñÜëëçëç èýñá.</para> <para><emphasis>Ãéá íá åëÝãîåôå Ýíáí åêôõðùôÞ óå ðáñÜëëçëç èýñá:</emphasis></para> <procedure> <step> <para>Ãßíåôå <username>root</username> ìå &man.su.1;.</para> </step> <step> <para>Óôåßëôå äåäïìÝíá óôïí åêôõðùôÞ.</para> <itemizedlist> <listitem> <para>Áí ï åêôõðùôÞò ìðïñåß íá åêôõðþóåé áðëü êåßìåíï, ôüôå ÷ñçóéìïðïéÞóôå ôï &man.lptest.1;. ÐëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>lptest > <filename class="devicefile">/dev/lpt<replaceable>N</replaceable></filename></command></userinput></screen> <para>¼ðïõ <replaceable>N</replaceable> åßíáé ï áñéèìüò ôçò ðáñÜëëçëçò èýñáò, îåêéíþíôáò áðü ôï ìçäÝí.</para> </listitem> <listitem> <para>ÅÜí ï åêôõðùôÞò êáôáëáâáßíåé &postscript; Þ êÜðïéá Üëëç ãëþóóá åêôõðùôþí, ôüôå óôåßëôå Ýíá ìéêñü ðñüãñáììá óôïí åêôõðùôÞ. ÐëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>cat > <filename class="devicefile">/dev/lpt<replaceable>N</replaceable></filename></command></userinput></screen> <para>¸ðåéôá ðëçêôñïëïãÞóôå ôï ðñüãñáììá ìßá ðñïò ìßá ãñáììÞ, <emphasis>ðñïóåêôéêÜ</emphasis>, ãéáôß äåí ìðïñåßôå íá åðåîåñãáóôåßôå ìéá ãñáììÞ áöüôïõ Ý÷åôå ðéÝóåé ôï ðëÞêôñï <literal>RETURN</literal> Þ <literal>ENTER</literal>. Áöïý ôåëåéþóåôå ìå ôçí êáôá÷þñéóç ôïõ ðñïãñÜììáôïò, ðéÝóôå <literal>CONTROL+D</literal>, Þ Üëëï ðëÞêôñï ôåñìáôéóìïý áñ÷åßïõ.</para> <para>ÅíáëëáêôéêÜ, ìðïñåßôå íá ôïðïèåôÞóåôå ôï ðñüãñáììá óå Ýíá áñ÷åßï êáé íá ðëçêôñïëïãÞóåôå:</para> <screen>&prompt.root; <userinput><command>cat <filename><replaceable>file</replaceable></filename> > <filename class="devicefile">/dev/lpt<replaceable>N</replaceable></filename></command></userinput></screen> <para>¼ðïõ <replaceable>file</replaceable> åßíáé ôï üíïìá ôïõ áñ÷åßïõ ðïõ ðåñéÝ÷åé ôï ðñüãñáììá ðïõ èÝëåôå íá óôåßëåôå óôïí åêôõðùôÞ.</para> </listitem> </itemizedlist> </step> </procedure> <para>Èá äåßôå êÜôé íá åêôõðþíåôáé. Ìçí áíçóõ÷åßôå áí ôï êåßìåíï äåí öáßíåôáé óùóôü. Èá ôï äéïñèþóïõìå áñãüôåñá.</para> </sect4> <sect4 id="printing-checking-serial"> <title>¸ëåã÷ïò Óåéñéáêïý ÅêôõðùôÞ</title> <indexterm> <primary>printers</primary> <secondary>serial</secondary> </indexterm> <para>ÁõôÞ ç åíüôçôá õðïäåéêíýåé ðùò íá åëÝãîåôå áí ôï &os; ìðïñåß íá åðéêïéíùíÞóåé ìå Ýíáí åêôõðùôÞ óõíäåäåìÝíï óå óåéñéáêÞ èýñá.</para> <para><emphasis>Ãéá íá åëÝãîåôå Ýíáí åêôõðùôÞ óå óåéñéáêÞ èýñá:</emphasis></para> <procedure> <step> <para>Ãßíåôå <username>root</username> ìå &man.su.1;.</para> </step> <step> <para>Åðåîåñãáóôåßôå ôï áñ÷åßï <filename>/etc/remote</filename>. ÐñïóèÝóôå ôçí áêüëïõèç êáôá÷þñéóç:</para> <programlisting>printer:dv=<filename class="devicefile">/dev/<replaceable>port</replaceable></filename>:br#<replaceable>bps-rate</replaceable>:pa=<replaceable>parity</replaceable></programlisting> <indexterm><primary>bits-per-second</primary></indexterm> <indexterm><primary>serial port</primary></indexterm> <indexterm><primary>parity</primary></indexterm> <para>¼ðïõ <replaceable>port</replaceable> åßíáé ç êáôá÷þñéóç óõóêåõÞò ãéá ôçí óåéñéáêÞ ðüñôá (<literal>ttyd0</literal>, <literal>ttyd1</literal>, êôë.), <replaceable>bps-rate</replaceable> åßíáé ç ôá÷ýôçôá bits-per-second åðéêïéíùíßáò ìå ôïí åêôõðùôÞ, êáé <replaceable>parity</replaceable> ç éóïôéìßá ðïõ áðáéôåßôáé áðü ôïí åêôõðùôÞ (<literal>even</literal>, <literal>odd</literal>, <literal>none</literal>, Þ <literal>zero</literal>).</para> <para>ÐáñáêÜôù öáßíåôáé Ýíá õðüäåéãìá êáôá÷þñéóçò, ãéá Ýíáí åêôõðùôÞ óõíäåäåìÝíï ìÝóù óåéñéáêÞò ãñáììÞò óôçí ôñßôç óåéñéáêÞ èýñá ìå ôá÷ýôçôá 19200 bps êáé ÷ùñßò parity:</para> <programlisting>printer:dv=<filename class="devicefile">/dev/ttyd2</filename>:br#19200:pa=none</programlisting> </step> <step> <para>Óõíäåèåßôå óôïí åêôõðùôÞ ìå &man.tip.1;. ÐëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>tip</command> printer</userinput></screen> <para>Áí áõôü ôï óôÜäéï äåí äïõëåýåé, åðåîåñãáóôåßôå ðÜëé ôï áñ÷åßï <filename>/etc/remote</filename> êáé ðñïóðáèÞóôå ôï ÷ñçóéìïðïéþíôáò <filename class="devicefile">/dev/cuaa<replaceable>N</replaceable></filename> áíôß ãéá <filename class="devicefile">/dev/ttyd<replaceable>N</replaceable></filename>.</para> </step> <step> <para>Óôåßëôå äåäïìÝíá óôïí åêôõðùôÞ.</para> <itemizedlist> <listitem> <para>Áí ï åêôõðùôÞò ìðïñåß íá åêôõðþóåé áðëü êåßìåíï, ÷ñçóéìïðïéÞóôå &man.lptest.1;. ÃñÜøôå:</para> <screen>&prompt.user; <userinput>$lptest</userinput></screen> </listitem> <listitem> <para>ÅÜí ï åêôõðùôÞò êáôáëáâáßíåé &postscript; Þ êÜðïéá Üëëç ãëþóóá åêôõðùôþí, ôüôå óôåßëôå Ýíá ìéêñü ðñüãñáììá óôïí åêôõðùôÞ. ÐëçêôñïëïãÞóôå ôï ðñüãñáììá, ìßá ðñïò ìßá ãñáììÞ, <emphasis>ðïëý ðñïóåêôéêÜ</emphasis>, êáèþò ï åêôõðùôÞò ìðïñåß íá åñìçíåýåé äéáöïñåôéêÜ ôçí ÷ñÞóç ÷áñáêôÞñùí üðùò ôï backspace Þ Üëëùí ðïõ ðáñÜãïíôáé áðü äéÜöïñá ðëÞêôñá åðåîåñãáóßáò. Ìðïñåß åðßóçò íá ÷ñåéáóôåß íá ðëçêôñïëïãÞóåôå êÜðïéï åéäéêü ðëÞêôñï ôåñìáôéóìïý áñ÷åßïõ ãéá ôïí åêôõðùôÞ þóôå íá ãíùñßæåé ðüôå ïëïêëçñþíåôáé ôï ðñüãñáììá. Ãéá åêôõðùôÝò &postscript;, ðéÝóôå <literal>CONTROL+D</literal>.</para> <para>ÅíáëëáêôéêÜ, ìðïñåßôå íá ôïðïèåôÞóåôå ôï ðñüãñáììá óå Ýíá áñ÷åßï êáé íá ðëçêôñïëïãÞóåôå:</para> <screen>&prompt.user; <userinput>><replaceable>file</replaceable></userinput></screen> <para>¼ðïõ <replaceable>file</replaceable> åßíáé ôï üíïìá ôïõ áñ÷åßïõ ðïõ ðåñéÝ÷åé ôï ðñüãñáììá. Áöïý ôï &man.tip.1; óôåßëåé ôï áñ÷åßï, ðéÝóôå ôï êáôÜëëçëï ðëÞêôñï ôåñìáôéóìïý áñ÷åßïõ, áí áðáéôåßôáé.</para> </listitem> </itemizedlist> </step> </procedure> <para>Èá äåßôå êÜôé íá åêôõðþíåôáé. Ìçí áíçóõ÷åßôå áí ôï êåßìåíï äåí öáßíåôáé óùóôü. Èá ôï äéïñèþóïõìå áñãüôåñá.</para> </sect4> </sect3> <sect3 id="printing-printcap"> <title>Åíåñãïðïßçóç ôïõ Spooler: ôï Áñ÷åßï <filename>/etc/printcap</filename></title> <para>Óå áõôü ôï óçìåßï, ï åêôõðùôÞò óáò èá ðñÝðåé íá åßíáé óõíäåìÝíïò, ï ðõñÞíáò óáò ñõèìéóìÝíïò íá åðéêïéíùíåß ìáæß ôïõ (áí ÷ñåéÜæåôáé), êáé Ý÷åôå ðåôý÷åé íá óôåßëåôå êÜðïéá äïêéìáóôéêÜ äåäïìÝíá óôïí åêôõðùôÞ. Åßóôå ôþñá Ýôïéìïé íá ñõèìßóåôå ôï <application>LPD</application> ãéá íá åëÝã÷åôå ôçí ðñüóâáóç óôïí åêôõðùôÞ óáò.</para> <para>Ìðïñåßôå íá ñõèìßóåôå ôï <application>LPD</application> ìå åðåîåñãáóßá ôïõ áñ÷åßïõ <filename>/etc/printcap</filename>. Ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> äéáâÜæåé áõôü ôï áñ÷åßï êÜèå öïñÜ ðïõ ÷ñçóéìïðïéåßôáé ï spooler, åðïìÝíùò ðéèáíÝò áíáâáèìßóåéò ôïõ ìðáßíïõí Üìåóá óå åöáñìïãÞ.</para> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>éêáíüôçôåò</secondary> </indexterm> <para>Åßíáé åýêïëï íá êáôáíïÞóåôå ôçí ìïñöÞ ôïõ áñ÷åßïõ &man.printcap.5;. ×ñçóéìïðïéÞóôå ôïí êåéìåíïãñÜöï ðïõ ðñïôéìÜôå ãéá íá êÜíåôå áëëáãÝò óôï <filename>/etc/printcap</filename>. Ç ìïñöÞ ôïõ åßíáé ðáñüìïéá ìå Üëëá áñ÷åßá ðåñéãñáöÞò äõíáôïôÞôùí, üðùò ôá <filename>/usr/share/misc/termcap</filename> êáé <filename>/etc/remote</filename>. Äåßôå ôçí &man.cgetent.3; ãéá ëåðôïìåñåßò ðëçñïöïñßåò ó÷åôéêÜ ìå ôçí ìïñöÞ ôïõ áñ÷åßïõ.</para> <para>Ç ðéï áðëÞ ñýèìéóç ôïõ spooler áðïôåëåßôáé áðü ôá áêüëïõèá âÞìáôá:</para> <procedure> <step> <para>ÅðéëÝîôå Ýíá üíïìá (êáé ëßãá âïëéêÜ ðáñùíýìéá) ãéá ôïí åêôõðùôÞ, êáé ôïðïèåôÞóôå ôá óôï áñ÷åßï <filename>/etc/printcap</filename>. Äåßôå ôçí åíüôçôá <link linkend="printing-naming">Ïíïìáôïäüôçóç ÅêôõðùôÞ</link> ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôçí ïíïìáóßá ôùí åêôõðùôþí.</para> </step> <indexterm><primary>óåëßäåò êåöáëßäáò</primary></indexterm> <step> <para>ÁðåíåñãïðïéÞóôå ôéò óåëßäåò êåöáëßäáò (åßíáé åíåñãÝò áðü ðñïåðéëïãÞ) åéóÜãïíôáò ôçí éêáíüôçôá <literal>sh</literal>. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò äåßôå ôçí åíüôçôá <link linkend="printing-no-header-pages">Ðáñåìðüäéóç Óåëßäùí Êåöáëßäáò</link>.</para> </step> <step> <para>ÄçìéïõñãÞóôå Ýíá êáôÜëïãï ðáñï÷Ýôåõóçò, êáé êáèïñßóôå ôçí ôïðïèåóßá ôïõ ìå ôçí éêáíüôçôá <literal>sd</literal>. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò äåßôå ôçí åíüôçôá <link linkend="printing-spooldir">Äçìéïõñãßá Êáôáëüãïõ Ðáñï÷Ýôåõóçò</link>.</para> </step> <step> <para>Êáèïñßóôå ôçí êáôÜëëçëç êáôá÷þñéóç <filename class="devicefile">/dev</filename> ãéá ôïí åêôõðùôÞ, êáé óçìåéþóôå ôç óôï <filename>/etc/printcap</filename> ìå ôçí éêáíüôçôá <literal>lp</literal>. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò, äåßôå ôçí åíüôçôá <link linkend="printing-device">Áíáãíþñéóç ôçò ÓõóêåõÞò Åêôýðùóçò</link>. Åðßóçò, áí ï åêôõðùôÞò åßíáé óå óåéñéáêÞ èýñá, åãêáôáóôÞóôå ôéò ðáñáìÝôñïõò åðéêïéíùíßáò ìå ôçí éêáíüôçôá <literal>ms#</literal> ç ïðïßá áíáëýåôáé óôçí åíüôçôá <link linkend="printing-commparam">Ñõèìßóåéò ÐáñáìÝôñùí Åðéêïéíùíßáò ôïõ Spooler</link>.</para> </step> <step> <para>ÅãêáôáóôÞóôå ößëôñá åéóüäïõ áðëïý êåéìÝíïõ. Äåßôå ôçí åíüôçôá <link linkend="printing-textfilter">ÅãêáôÜóôáóç Ößëôñïõ ÊåéìÝíïõ</link> ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.</para> </step> <step> <para>ÅëÝãîôå ôçí åãêáôÜóôáóç åêôõðþíïíôáò ïôéäÞðïôå ìå ôçí åíôïëÞ &man.lpr.1;. Ðåñéóóüôåñåò ðëçñïöïñßåò åßíáé äéáèÝóéìåò óôéò åíüôçôåò <link linkend="printing-trying">ÄïêéìÞ ôïõ Spooler</link> êáé <link linkend="printing-troubleshooting">Åíôïðéóìüò Âëáâþí</link>.</para> </step> </procedure> <note> <para>ÅêôõðùôÝò ðïõ âáóßæïíôáé óå ãëþóóåò åêôýðùóçò, üðùò ïé åêôõðùôÝò &postscript;, äåí ìðïñïýí íá åêôõðþóïõí Üìåóá áðëü êåßìåíï. Ï áðëüò ôñüðïò ñýèìéóçò ðïõ äåßîáìå ðáñáðÜíù êáé ðïõ èá ðåñéãñÜøïõìå åêôåíÝóôåñá óôéò åðüìåíåò åíüôçôåò, ðñïûðïèÝôåé ðùò áí ñõèìßæåôå Ýíáí ôÝôïéï åêôõðùôÞ èá ìðïñåßôå íá åêôõðþóåôå ìüíïí áñ÷åßá ãñáììÝíá óôç ãëþóóá ôïõ.</para> </note> <para>Ïé ÷ñÞóôåò óõíÞèùò íïìßæïõí ðùò ìðïñïýí íá åêôõðþóïõí áðëü êåßìåíï óå üëïõò ôïõò åêôõðùôÝò ðïõ åßíáé åãêáôåóôçìÝíïé óôï óýóôçìá ôïõò. Ôá ðñïãñÜììáôá ðïõ ÷ñçóéìïðïéïýí ôï <application>LPD</application> ãéá íá åêôõðþóïõí, êÜíïõí áêñéâþò ôçí ßäéá õðüèåóç. Áí ðñïóðáèåßôå íá åãêáôáóôÞóåôå Ýíáí ôÝôïéï åêôõðùôÞ êáé èÝëåôå íá ìðïñåßôå íá ôõðþíåôå åñãáóßåò óôçí ãëþóóá ôïõ åêôõðùôÞ áëëÜ <emphasis>êáé</emphasis> óå áðëü êåßìåíï, óáò óõíéóôïýìå íá ðñïóèÝóåôå Ýíá åðéðëÝïí âÞìá óôçí äéáäéêáóßá åãêáôÜóôáóçò ðïõ ðåñéãñÜøáìå ðáñáðÜíù: ÅãêáôáóôÞóôå Ýíá ðñüãñáììá áõôüìáôçò ìåôáôñïðÞò áðü áðëü êåßìåíï óå PostScript (Þ óå Üëëç ãëþóóá åêôõðùôÞ). Ç åíüôçôá <link linkend="printing-advanced-if-conversion">Óõìâáôüôçôá Åñãáóéþí Áðëïý ÊåéìÝíïõ óå åêôõðùôÝò &postscript;</link> åîçãåß ðùò íá åíåñãÞóåôå.</para> <sect4 id="printing-naming"> <title>Ïíïìáôïäüôçóç ÅêôõðùôÞ</title> <para>Ôï ðñþôï (åýêïëï) âÞìá åßíáé íá åðéëÝîåôå üíïìá ãéá ôïí åêôõðùôÞ óáò. Äåí Ý÷åé óçìáóßá áí èá ðñïôéìÞóåôå Ýíá ëåéôïõñãéêü Þ êÜðïéï åîùôéêü üíïìá áöïý ìðïñåßôå åðßóçò íá ðñïóèÝóåôå êáé ìåñéêÜ ðáñùíýìéá (aliases) ãéá ôïí ßäéï åêôõðùôÞ.</para> <para>ÔïõëÜ÷éóôïí Ýíáò áðü ôïõò åêôõðùôÝò ðïõ áíáöÝñïíôáé óôï <filename>/etc/printcap</filename> èá ðñÝðåé íá Ý÷åé ôï ðáñùíýìéï <literal>lp</literal>. ÁõôÞ åßíáé ç ïíïìáóßá ôïõ ðñïåðéëåãìÝíïõ åêôõðùôÞ. ÅÜí ïé ÷ñÞóôåò äåí Ý÷ïõí ôçí ìåôáâëçôÞ ðåñéâÜëëïíôïò <envar>PRINTER</envar> êáé äåí áíáöÝñïõí êÜðïéï üíïìá åêôõðùôÞ óôçí ãñáììÞ åíôïëþí ìå ïðïéáäÞðïôå åíôïëÞ <application>LPD</application>, ôüôå ï <literal>lp</literal> èá åßíáé ï ðñïåðéëåãìÝíïò åêôõðùôÞò ãéá ôéò åêôõðþóåéò ôïõò.</para> <para>Åðßóçò, åßíáé êïéíÞ ðñáêôéêÞ ôï ôåëåõôáßï alias ôïõ åêôõðùôÞ íá åßíáé ìéá ðëÞñçò ðåñéãñáöÞ ôïõ åêôõðùôÞ, ðïõ íá ðåñéëáìâÜíåé ôïí êáôáóêåõáóôÞ êáé ôï ìïíôÝëï.</para> <para>Áöïý åðéëÝîåôå ìéá ïíïìáóßá êáé ìåñéêÜ óõíÞèç ðáñùíýìéá, êáôá÷ùñßóôå ôá óôï áñ÷åßï <filename>/etc/printcap</filename>. Ôï üíïìá ôïõ åêôõðùôÞ èá ðñÝðåé íá áíáöÝñåôáé ðñþôï óôï áñéóôåñü Üêñï. Äéá÷ùñßóôå êÜèå ðáñùíýìéï ìå ìéá êÜèåôç ìðÜñá êáé ôïðïèåôÞóôå ìéá Üíù-êÜôù ôåëåßá ìåôÜ ôï ôåëåõôáßï ðáñùíýìéï.</para> <para>Óôï áêüëïõèï ðáñÜäåéãìá, îåêéíÜìå ìå Ýíá åíôåëþò âáóéêü <filename>/etc/printcap</filename> ðïõ ïñßæåé äýï åêôõðùôÝò (Ýíáí åêôõðùôÞ ãñáììÞò Diablo 630 êáé Ýíáí åêôõðùôÞ &postscript; laser Panasonic KX-P4455):</para> <programlisting># # /etc/printcap for host rose # rattan|line|diablo|lp|Diablo 630 Line Printer: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:</programlisting> <para>Óå áõôü ôï ðáñÜäåéãìá, ï ðñþôïò åêôõðùôÞò ïíïìÜæåôáé <literal>rattan</literal> êáé Ý÷åé ùò ðáñùíýìéá ôá <literal>line</literal>, <literal>diablo</literal>, <literal>lp</literal>, êáé <literal>Diablo 630 Line Printer</literal>. Áðü ôç óôéãìÞ ðïõ Ý÷åé ôï ðáñùíýìéï <literal>lp</literal>, åßíáé êáé ï ðñïåðéëåãìÝíïò åêôõðùôÞò. Ï äåýôåñïò ïíïìÜæåôáé <literal>bamboo</literal>, êáé Ý÷åé ùò ðáñùíýìéá ôá <literal>ps</literal>, <literal>PS</literal>, <literal>S</literal>, <literal>panasonic</literal>, êáé <literal>Panasonic KX-P4455 PostScript v51.4</literal>.</para> </sect4> <sect4 id="printing-no-header-pages"> <title>Ðáñåìðüäéóç Óåëßäùí Êåöáëßäáò</title> <indexterm> <primary>printing</primary> <secondary>header pages</secondary> </indexterm> <para>Ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application>, áðü ðñïåðéëïãÞ, åêôõðþíåé ìéá <emphasis>óåëßäá êåöáëßäáò</emphasis> ãéá êÜèå åñãáóßá. Ç óåëßäá êåöáëßäáò ðåñéëáìâÜíåé ôï üíïìá ÷ñÞóôç ðïõ áéôÞèçêå ôçí åñãáóßá, ôïí õðïëïãéóôÞ áðü ôïí ïðïßïí ðñïÞëèå ç åñãáóßá, êáé ôï üíïìá ôçò åñãáóßáò, ìå ìåãÜëïõò üìïñöïõò ÷áñáêôÞñåò. Äõóôõ÷þò áõôü ôï ðñüóèåôï êåßìåíï áêïëïõèåß ôçí äéáäéêáóßá áðïóöáëìÜôùóçò ôçò åãêáôÜóôáóçò åíüò áðëïý åêôõðùôÞ, åðïìÝíùò èá ðáñåìðïäßóïõìå ôéò óåëßäåò êåöáëßäáò.</para> <para>Ãéá ôçí ðáñåìðüäéóç ôùí óåëßäùí êåöáëßäáò, ðñïóèÝóôå ôçí éêáíüôçôá <literal>sh</literal> óôçí êáôá÷þñéóç ãéá ôïí åêôõðùôÞ óôï áñ÷åßï <filename>/etc/printcap</filename>. Åäþ âëÝðåôå Ýíá ðáñÜäåéãìá ôïõ <filename>/etc/printcap</filename> ìå ðñïóèÞêç ôçò <literal>sh</literal>:</para> <programlisting># # /etc/printcap for host rose - no header pages anywhere # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:</programlisting> <para>ÐáñáôçñÞóôå ðùò ÷åéñéóôÞêáìå óùóôÜ ôç ìïñöÞ: ç ðñþôç ãñáììÞ îåêéíÜ óôçí áñéóôåñÞ óôÞëç, êáé ïé áêüëïõèåò ãñáììÝò åßíáé óôïé÷éóìÝíåò (indented). ÊÜèå ãñáììÞ êáôá÷þñéóçò (åêôüò áðü ôçí ôåëåõôáßá) ôåëåéþíåé ìå ìéá áñéóôåñüóôñïöç êÜèåôï.</para> </sect4> <sect4 id="printing-spooldir"> <title>Äçìéïõñãßá Êáôáëüãïõ Ðáñï÷Ýôåõóçò</title> <indexterm><primary>åêôõðùôÞò spool</primary></indexterm> <indexterm><primary>åêôýðùóç åñãáóßåò</primary></indexterm> <para>Ôï åðüìåíï âÞìá óôïí áðëü ôñüðï åãêáôÜóôáóçò åßíáé ç äçìéïõñãßá åíüò <emphasis>êáôáëüãïõ ðáñï÷Ýôåõóçò (spool)</emphasis>, üðïõ èá öéëïîåíïýíôáé ïé åñãáóßåò åêôýðùóçò Ýùò üôïõ íá åêôõðùèïýí êáé üðïõ åðßóçò öõëÜóóïíôáé êáé êÜðïéá Üëëá âïçèçôéêÜ áñ÷åßá ôïõ óõóôÞìáôïò åêôýðùóçò.</para> <para>Ëüãù ôçò ìåôáâáëëüìåíçò öýóçò ôùí êáôáëüãùí ðáñï÷Ýôåõóçò, óõíçèßæåôáé íá ôïðïèåôïýíôáé êÜôù áðü ôïí êáôÜëïãï <filename class="directory">/var/spool</filename>. Äåí åßíáé áíáãêáßï íá ðáßñíåôå áíôßãñáöá áóöáëåßáò ôùí êáôáëüãùí ðáñï÷Ýôåõóçò. Ç åðáíáäçìéïõñãßá ôïõò åßíáé ôüóï áðëÞ üóï íá ôñÝîïõìå ôçí åíôïëÞ &man.mkdir.1;.</para> <para>Åßíáé åðßóçò óõíçèéóìÝíï íá ïíïìÜæåôáé ï êáôÜëïãïò ìå ôï ßäéï üíïìá ìå ôïí åêôõðùôÞ, üðùò öáßíåôáé ðáñáêÜôù:</para> <screen>&prompt.root; <userinput><command>mkdir <filename class="directory">/var/spool/<replaceable>printer-name</replaceable></filename></command></userinput></screen> <para>Ùóôüóï, áí Ý÷åôå áñêåôïýò åêôõðùôÝò óôï äßêôõï, ßóùò åðéèõìåßôå íá ôïðïèåôÞóåôå ôïõò êáôáëüãïõò ðáñï÷Ýôåõóçò êÜôù áðü Ýíá ìïíáäéêü êáôÜëïãï ðïõ èá ÷ñçóéìïðïéåßôáé áðïêëåéóôéêÜ ãéá åêôõðþóåéò ìå ôï <application>LPD</application>. Èá êÜíïõìå áêñéâþò áõôü ãéá ôá ðáñáäåßãìáôá ìáò ìå ôïõò åêôõðùôÝò <literal>rattan</literal> êáé <literal>bamboo</literal>:</para> <screen>&prompt.root; <userinput><command>mkdir <filename class="directory">/var/spool/lpd</filename></command></userinput> &prompt.root; <userinput><command>mkdir <filename class="directory">/var/spool/lpd/rattan</filename></command></userinput> &prompt.root; <userinput><command>mkdir <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput></screen> <note> <para>ÅÜí ïé åñãáóßåò ôùí ÷ñçóôþí ðåñéÝ÷ïõí ðñïóùðéêÜ äåäïìÝíá, ìðïñåß íá èÝëåôå íá ðñïóôáôÝøåôå ôïí êáôÜëïãï ðáñï÷Ýôåõóçò ìå êÜðïéï ôñüðï, þóôå íá ìçí åßíáé äçìüóéá ðñïóâÜóéìïò. Ïé êáôÜëïãïé ðáñï÷Ýôåõóçò èá ðñÝðåé íá áíÞêïõí êáé íá åßíáé áíáãíþóéìïé, åããñÜøéìïé êáé ìå äõíáôüôçôá áíáæÞôçóçò áðü ôïí ÷ñÞóôç daemon êáé áðü ôçí ïìÜäá daemon, áðü êáíÝíáí Üëëï. Ãéá ôïõò åêôõðùôÝò ôïõ ðáñáäåßãìáôïò:</para> <screen>&prompt.root; <userinput><command>chown daemon:daemon <filename class="directory">/var/spool/lpd/rattan</filename></command></userinput> &prompt.root; <userinput><command>chown daemon:daemon <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput> &prompt.root; <userinput><command>chmod 770 <filename class="directory">/var/spool/lpd/rattan</filename></command></userinput> &prompt.root; <userinput><command>chmod 770 <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput></screen> </note> <para>ÔÝëïò, ðñÝðåé íá åíçìåñþóåôå ôï <application>LPD</application> ãéá áõôïýò ôïõò êáôáëüãïõò ÷ñçóéìïðïéþíôáò ôï áñ÷åßï <filename>/etc/printcap</filename>. Ðñïóäéïñßóôå ôçí äéáäñïìÞ ôïõ êáôáëüãïõ ðáñï÷Ýôåõóçò ìå ôçí éêáíüôçôá <literal>sd</literal>:</para> <programlisting># # /etc/printcap for host rose - added spooling directories # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:</programlisting> <para>Óçìåéþóôå ðùò ôï üíïìá ôïõ åêôõðùôÞ îåêéíÜ óôçí ðñþôç óôÞëç, åíþ üëåò ïé Üëëåò êáôá÷ùñßóåéò ðïõ ðåñéãñÜöïõí ôïí åêôõðùôÞ èá ðñÝðåé íá åßíáé óôïé÷éóìÝíåò êáé êÜèå ôÝëïò ãñáììÞò íá öÝñåé ÷áñáêôÞñá äéáöõãÞò ìå áñéóôåñüóôñïöç êÜèåôï.</para> <para>ÅÜí äåí ðñïóäéïñßóåôå ôïí êáôÜëïãï ðáñï÷Ýôåõóçò ìÝóù ôïõ <literal>sd</literal>, ôüôå ôï óýóôçìá ðáñï÷Ýôåõóçò èá ÷ñçóéìïðïéÞóåé ôïí ðñïåðéëåãìÝíï <filename class="directory">/var/spool/lpd</filename>.</para> </sect4> <sect4 id="printing-device"> <title>Áíáãíþñéóç ôçò ÓõóêåõÞò Åêôýðùóçò</title> <para>Óôçí åíüôçôá <link linkend="printing-hardware">Ñõèìßóåéò Hardware</link> áíáãíùñßóáìå ôç èýñá, êáé êáôÜ óõíÝðåéá ôçí êáôá÷þñéóç ôïõ êáôáëüãïõ <filename class="directory">/dev</filename> ðïõ èá ÷ñçóéìïðïéÞóåé ôï &os; ãéá íá åðéêïéíùíÞóåé ìå ôïí åêôõðùôÞ. Ôþñá, èá äþóïõìå óôï <application>LPD</application> áõôÞ ôçí ðëçñïöïñßá. ¼ôáí ôï óýóôçìá ðáñï÷Ýôåõóçò Ý÷åé ìéá åñãáóßá íá åêôõðþóåé, èá áíïßîåé áõôÞ ôçí åéäéêÞ óõóêåõÞ ãéá ëïãáñéáóìü ôïõ ðñïãñÜììáôïò ößëôñïõ (ðïõ åßíáé õðåýèõíï ãéá ôï ðÝñáóìá ôùí äåäïìÝíùí óôïí åêôõðùôÞ).</para> <para>Ðñïóäéïñßóôå ôçí äéáäñïìÞ ôçò êáôá÷þñéóçò <filename class="directory">/dev</filename> óôï áñ÷åßï <filename>/etc/printcap</filename> ÷ñçóéìïðïéþíôáò ôçí éêáíüôçôá <literal>lp</literal>.</para> <para>Óôï ôñÝ÷ïí ðáñÜäåéãìá ìáò, áò õðïèÝóïõìå üôé ï <literal>rattan</literal> åßíáé óôçí ðñþôç ðáñÜëëçëç èýñá, êáé ï <literal>bamboo</literal> åßíáé óôçí Ýêôç óåéñéáêÞ ðüñôá. Ïé íÝåò êáôá÷ùñßóåéò óôï <filename>/etc/printcap</filename> èá åßíáé:</para> <programlisting># # /etc/printcap for host rose - identified what devices to use # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:</programlisting> <para>Áí äåí êáèïñßóåôå óå êÜðïéïí åêôõðùôÞ ôçí éêáíüôçôá <literal>lp</literal> óôï áñ÷åßï <filename>/etc/printcap</filename>, ôï <application>LPD</application> ÷ñçóéìïðïéåß áðü ðñïåðéëïãÞ ôï <filename class="devicefile">/dev/lp</filename>. Ôï <filename class="devicefile">/dev/lp</filename> äåí õðÜñ÷åé ôçí äåäïìÝíç óôéãìÞ óôï &os;.</para> <para>ÅÜí ï åêôõðùôÞò ðïõ åãêáèéóôÜôå åßíáé óõíäåäåìÝíïò óå ðáñÜëëçëç èýñá, äéáâÜóôå áðåõèåßáò ôçí åíüôçôá ìå ôßôëï <link linkend="printing-textfilter">ÅãêáôÜóôáóç Ößëôñïõ ÊåéìÝíïõ</link>. ÄéáöïñåôéêÜ, áêïëïõèÞóôå ðñïóåêôéêÜ ôéò ïäçãßåò ðïõ áêïëïõèïýí óôçí åðüìåíç åíüôçôá.</para> </sect4> <sect4 id="printing-commparam"> <title>Ñõèìßóåéò ÐáñáìÝôñùí Åðéêïéíùíßáò ôïõ Spooler</title> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>óåéñéáêïß</secondary> </indexterm> <para>Ãéá åêôõðùôÝò óå óåéñéáêÞ ðüñôá, ôï <application>LPD</application> ìðïñåß íá ñõèìßóåé ôçí ôá÷ýôçôá óå bps, ôï parity, êáé Üëëåò ðáñáìÝôñïõò óåéñéáêÞò åðéêïéíùíßáò ãéá ëïãáñéáóìü ôïõ ðñïãñÜììáôïò ößëôñïõ ðïõ óôÝëíåé äåäïìÝíá óôïí åêôõðùôÞ. Áõôü åßíáé ðëåïíÝêôçìá ãéáôß:</para> <itemizedlist> <listitem> <para>Óáò åðéôñÝðåé íá äïêéìÜóåôå äéÜöïñåò ðáñáìÝôñïõò åðéêïéíùíßáò ðñïóèÝôïíôáò ôéò áðëÜ ìå åðåîåñãáóßá ôïõ áñ÷åßïõ <filename>/etc/printcap</filename>. Äåí ÷ñåéÜæåôáé íá åðáíáìåôáãëùôôßóåôå ôï ðñüãñáììá ößëôñïõ.</para> </listitem> <listitem> <para>ÅðéôñÝðåé óôï óýóôçìá ðáñï÷Ýôåõóçò íá ÷ñçóéìïðïéåß ôï ßäéï ðñüãñáììá ãéá ðïëëáðëïýò åêôõðùôÝò, ïé ïðïßïé ìðïñåß íá Ý÷ïõí äéáöïñåôéêÝò óåéñéáêÝò ñõèìßóåéò åðéêïéíùíßáò.</para> </listitem> </itemizedlist> <para>Ïé áêüëïõèåò éêáíüôçôåò ôïõ <filename>/etc/printcap</filename> åëÝã÷ïõí ôéò ðáñáìÝôñïõò óåéñéáêÞò åðéêïéíùíßáò ôùí óõóêåõþí ðïõ áíáöÝñïíôáé óôçí éêáíüôçôá <literal>lp</literal>:</para> <variablelist> <varlistentry> <term> <literal>br#<replaceable>bps-rate</replaceable></literal> </term> <listitem> <para>Ïñßæåé ôçí ôá÷ýôçôá åðéêïéíùíßáò ôçò óõóêåõÞò óå <replaceable>bps-rate</replaceable>, üðïõ ôï <replaceable>bps-rate</replaceable> ìðïñåß íá åßíáé 50, 75, 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, 57600, Þ 115200 bits-per-second.</para> </listitem> </varlistentry> <varlistentry> <term> <literal>ms#<replaceable>stty-mode</replaceable></literal> </term> <listitem> <para>Ïñßæåé ôéò åðéëïãÝò ôçò óõóêåõÞò ôåñìáôéêïý ìåôÜ ôï Üíïéãìá ôçò óõóêåõÞò. Ç &man.stty.1; åîçãåß ôéò äéáèÝóéìåò åðéëïãÝò.</para> </listitem> </varlistentry> </variablelist> <para>¼ôáí ôï <application>LPD</application> áíïßãåé ôçí óõóêåõÞ ðïõ ïñßæåôáé áðü ôçí éêáíüôçôá <literal>lp</literal>, õéïèåôåß ôá ÷áñáêôçñéóôéêÜ ôçò óõóêåõÞò ìå éêáíüôçôá <literal>ms#</literal>. ¸÷ïõí éäéáßôåñï åíäéáöÝñïí ïé êáôáóôÜóåéò ëåéôïõñãßáò <literal>parenb</literal>, <literal>parodd</literal>, <literal>cs5</literal>, <literal>cs6</literal>, <literal>cs7</literal>, <literal>cs8</literal>, <literal>cstopb</literal>, <literal>crtscts</literal>, êáé <literal>ixon</literal>, ðïõ åîçãïýíôáé óôçí óåëßäá âïçèåßáò &man.stty.1;.</para> <para>Áò ðñïóèÝóïõìå óôï ðáñÜäåéãìá ìáò Ýíáí åêôõðùôÞ óôçí Ýêôç óåéñéáêÞ èýñá. Èá èÝóïõìå ôçí ôá÷ýôçôá bps óå 38400. Ãéá ôçí êáôÜóôáóç ëåéôïõñãßáò èá èÝóïõìå , no parity ìå <literal>-parenb</literal>, ÷áñáêôÞñåò 8-bit ìå <literal>cs8</literal>, no modem control ìå <literal>clocal</literal> êáé Ýëåã÷ï ñïÞò ìÝóù hardware ìå <literal>crtscts</literal>:</para> <programlisting>bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:</programlisting> </sect4> <sect4 id="printing-textfilter"> <title>ÅãêáôÜóôáóç Ößëôñïõ ÊåéìÝíïõ</title> <indexterm> <primary>åêôýðùóç</primary> <secondary>ößëôñá</secondary> </indexterm> <para>Ôþñá åßìáóôå Ýôïéìïé íá ðïýìå óôï <application>LPD</application> ðïéï ößëôñï êåéìÝíïõ íá ÷ñçóéìïðïéÞóåé ãéá íá óôåßëåé åñãáóßåò óôïí åêôõðùôÞ. Ôï ößëôñï êåéìÝíïõ, ãíùóôü êáé ùò <emphasis>ößëôñï åéóüäïõ</emphasis>, åßíáé Ýíá ðñüãñáììá ðïõ åêôåëåß ôï <application>LPD</application> üôáí õðÜñ÷åé åñãáóßá ðñïò åêôýðùóç. ¼ôáí ôï <application>LPD</application> åêôåëåß ôï ößëôñï êåéìÝíïõ ãéá êÜðïéïí åêôõðùôÞ, èÝôåé ôçí standard input ôïõ ößëôñïõ óôçí åñãáóßá åêôýðùóçò, êáé ôçí standard output óôçí óõóêåõÞ ôïõ åêôõðùôÞ ðïõ ïñßæåôáé ìå ôçí éêáíüôçôá <literal>lp</literal>. Ôï ößëôñï áíáìÝíåôáé íá áíáãíþóåé ôçí åñãáóßá áðü ôçí standard input, íá åêôåëÝóåé üëåò ôéò áðáñáßôçôåò ìåôáãëùôôßóåéò ãéá ôïí åêôõðùôÞ, êáé íá ãñÜøåé ôï áðïôÝëåóìá óôçí standard output, ôï ïðïßï êáé èá åêôõðùèåß. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ãéá ôá ößëôñá êåéìÝíïõ, äåßôå ôçí åíüôçôá <link linkend="printing-advanced-filters">Ößëôñá</link>.</para> <para>Ãéá ôçí áðëÞ åãêáôÜóôáóç ôùí åêôõðùôþí ìáò, ôï ößëôñï êåéìÝíïõ ìðïñåß íá åßíáé Ýíá ìéêñü shell script ðïõ áðëÜ èá åêôåëåß ôçí åíôïëÞ <command>/bin/cat</command> ãéá íá óôÝëíåé åñãáóßåò óôïí åêôõðùôÞ. Ôï &os; Ýñ÷åôáé ìå Üëëï Ýíá ößëôñï, ôï <filename>lpf</filename> ðïõ ÷åéñßæåôáé äõíáôüôçôåò backspacing êáé õðïãñÜììéóçò ãéá åêôõðùôÝò ðïõ ßóùò íá ìçí ÷åéñßæïíôáé óùóôÜ áõôÝò ôéò ëåéôïõñãßåò. Êáé öõóéêÜ, ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ïðïéïäÞðïôå Üëëï ðñüãñáììá ößëôñïõ åðéèõìåßôå. Ôï ößëôñï <command>lpf</command> ðåñéãñÜöåôáé ëåðôïìåñþò óôçí åíüôçôá <link linkend="printing-advanced-lpf">lpf: Ýíá Ößëôñï ÊåéìÝíïõ</link>.</para> <para>Èá îåêéíÞóïõìå äçìéïõñãþíôáò ôï shell script <filename>/usr/local/libexec/if-simple</filename> óáí Ýíá áðëü ößëôñï êåéìÝíïõ. ÔïðïèåôÞóôå ôï áêüëïõèï êåßìåíï óôï áñ÷åßï ÷ñçóéìïðïéþíôáò ôïí êåéìåíïãñÜöï ðïõ ðñïôéìÜôå:</para> <programlisting>#!/bin/sh # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. /bin/cat && exit 0 exit 2</programlisting> <para>ÊÜíôå ôï áñ÷åßï åêôåëÝóéìï:</para> <screen>&prompt.root; <userinput><command>chmod 555 <filename>/usr/local/libexec/if-simple</filename></command></userinput></screen> <para>Êáé åíçìåñþóôå ôï LPD íá ôï ÷ñçóéìïðïéÞóåé, ïñßæïíôáò ôï ìå ôçí éêáíüôçôá <literal>if</literal> óôï áñ÷åßï <filename>/etc/printcap</filename>. Èá ôï ðñïóèÝóïõìå óôïõò äýï åêôõðùôÝò áðü ôï ðñïçãïýìåíï ðáñÜäåéãìá óôï <filename>/etc/printcap</filename>:</para> <programlisting># # /etc/printcap for host rose - added text filter # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:\ :if=<filename>/usr/local/libexec/if-simple</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:\ :if=<filename>/usr/local/libexec/if-simple</filename>:</programlisting> <note> <para>Ìðïñåßôå íá âñåßôå Ýíá áíôßãñáöï ôïõ script <filename>if-simple</filename> óôïí êáôÜëïãï <filename class="directory">/usr/share/examples/printing</filename>.</para> </note> </sect4> <sect4> <title>Åíåñãïðïßçóç ôïõ <application>LPD</application></title> <para>Ôï &man.lpd.8; åêôåëåßôáé áðü ôï <filename>/etc/rc</filename>, êáé åëÝã÷åôáé áðü ôçí ìåôáâëçôÞ <literal>lpd_enable</literal>. Ç ìåôáâëçôÞ áõôÞ Ý÷åé ðñïåðéëåãìÝíç ôéìÞ <literal>NO</literal>. Áí äåí ôï Ý÷åôå êÜíåé áêüìá, ðñïóèÝóôå ôçí áêüëïõèç ãñáììÞ:</para> <programlisting>lpd_enable="YES"</programlisting> <para>óôï áñ÷åßï <filename>/etc/rc.conf</filename>, êáé åðáíåêêéíÞóôå ôï óýóôçìá óáò, Þ áðëÜ åêôåëÝóôå ôï &man.lpd.8;.</para> <screen>&prompt.root; <userinput><command>lpd</command></userinput></screen> </sect4> <sect4 id="printing-trying"> <title>ÄïêéìÞ ôïõ Spooler</title> <para>ÖôÜóáôå óôï ôÝëïò ôçò áðëÞò åãêáôÜóôáóçò ôïõ <application>LPD</application>. Èá áöÞóïõìå ãéá áñãüôåñá ôá óõã÷áñçôÞñéá, áöïý áêüìç èá ðñÝðåé íá åëÝãîïõìå ôçí åãêáôÜóôáóç êáé íá äéïñèþóïõìå ïðïéïäÞðïôå ðñüâëçìá Ý÷åé ðñïêýøåé. Ãéá íá åëÝãîåôå ôçí åãêáôÜóôáóç ðñïóðáèÞóôå íá åêôõðþóåôå êÜôé. Ãéá íá åêôõðþóåôå ìå ôï óýóôçìá <application>LPD</application>, ÷ñçóéìïðïéÞóôå ôçí åíôïëÞ &man.lpr.1;, ç ïðïßá áðïóôÝëëåé ìßá åñãáóßá ðñïò åêôýðùóç.</para> <para>Ìðïñåßôå íá óõíäõÜóåôå ôçí &man.lpr.1; ìå ôï ðñüãñáììá &man.lptest.1;, ãéá ôï ïðïßï êÜíáìå ìéá åéóáãùãÞ óôçí åíüôçôá <link linkend="printing-testing">¸ëåã÷ïò Åðéêïéíùíßáò ôïõ ÅêôõðùôÞ</link>, ãéá ôïí Ýëåã÷ï êåéìÝíïõ.</para> <para><emphasis>Ãéá ôïí Ýëåã÷ï ìéáò áðëÞò åãêáôÜóôáóçò <application>LPD</application>:</emphasis></para> <para>ÐëçêôñïëïãÞóôå:</para> <screen>&prompt.root; <userinput><command>lptest 20 5 | lpr <option>-P</option><replaceable>printer-name</replaceable></command></userinput></screen> <para>¼ðïõ <replaceable>printer-name</replaceable> åßíáé ôï üíïìá åíüò åêôõðùôÞ (Þ ôï alias) ðïõ áíáöÝñåôáé óôï <filename>/etc/printcap</filename>. Ãéá íá åëÝãîåôå ôïí ðñïåðéëåãìÝíï åêôõðùôÞ, ðëçêôñïëïãÞóôå &man.lpr.1; ÷ùñßò ôï ðñüèåìá <option>-P</option>. Áí ï åêôõðùôÞò óáò ÷ñçóéìïðïéåß &postscript;, ðñÝðåé íá óôåßëåôå Ýíá ðñüãñáììá &postscript;, áíôß íá ÷ñçóéìïðïéÞóåôå ôï &man.lptest.1;. Ãéá íá ôá êáôáöÝñåôå, ôïðïèåôÞóôå ôï ðñüãñáììá óå Ýíá áñ÷åßï êáé ðëçêôñïëïãÞóôå <command>lpr <replaceable>file</replaceable></command>.</para> <para>Óå Ýíáí åêôõðùôÞ &postscript;, ç åêôýðùóç èá åßíáé ôï áðïôÝëåóìá ôïõ ðñïãñÜììáôïò ðïõ óôåßëáôå. Áí ÷ñçóéìïðïéåßôå ôï &man.lptest.1;, ôüôå ôï áðïôÝëåóìá èá ìïéÜæåé ìå ôï áêüëïõèï:</para> <screen>!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456 $%&'()*+,-./01234567 %&'()*+,-./012345678</screen> <para>Ãéá ðåñáéôÝñù Ýëåã÷ï ôïõ åêôõðùôÞ, äïêéìÜóôå íá êáôåâÜóåôå ìåãáëýôåñá ðñïãñÜììáôá (ãéá åêôõðùôÝò ðïõ ÷ñçóéìïðïéïýí ãëþóóá ðñïãñáììáôéóìïý) Þ ôñÝîôå ôï &man.lptest.1; ìå äéáöïñåôéêÜ ðñïèÝìáôá. Ãéá ðáñÜäåéãìá, ç åíôïëÞ <command>lptest 80 60</command> èá ðáñÜãåé 60 ãñáììÝò ôùí 80 ÷áñáêôÞñùí ç êáèåìßá.</para> <para>Áí ï åêôõðùôÞò äåí äïõëåýåé, äåßôå ôçí åíüôçôá <link linkend="printing-troubleshooting">Åíôïðéóìüò Âëáâþí</link>.</para> </sect4> </sect3> </sect2> </sect1> <sect1 id="printing-advanced"> <title>Ñõèìßóåéò Åêôõðùôþí ãéá Ðñï÷ùñçìÝíïõò</title> <para>ÁõôÞ ç åíüôçôá ðåñéãñÜöåé ößëôñá ãéá ôçí åêôýðùóç åéäéêÞò ìïñöÞò áñ÷åßùí, óåëßäùí êåöáëßäáò, ãéá åêôõðþóåéò ìÝóù äéêôýïõ, êáèþò êáé ãéá ôïí Ýëåã÷ï ðñüóâáóçò êáé ôçí êáôáìÝôñçóç ÷ñÞóçò ôùí åêôõðùôþí.</para> <sect2 id="printing-advanced-filter-intro"> <title>Ößëôñá</title> <indexterm> <primary>åêôýðùóç</primary> <secondary>ößëôñá</secondary> </indexterm> <para>Áí êáé ôï <application>LPD</application> ìðïñåß íá ÷åéñéóôåß ðñùôüêïëëá äéêôýùí, ëßóôåò áíáìïíÞò, Ýëåã÷ï ðñüóâáóçò, êáé Üëëåò ðáñáìÝôñïõò ôùí åêôõðþóåùí, ôï êýñéï ìÝñïò ôçò <emphasis>ðñáãìáôéêÞò</emphasis> åñãáóßáò ãßíåôáé ìå ôá <emphasis>ößëôñá</emphasis>. Ôá ößëôñá åßíáé ðñïãñÜììáôá ðïõ åðéêïéíùíïýí ìå ôïí åêôõðùôÞ êáé ÷åéñßæïíôáé ôéò åîáñôÞóåéò ôçò óõóêåõÞò êáé Üëëåò åéäéêÝò áðáéôÞóåéò ôçò. Óôçí áðëÞ åãêáôÜóôáóç åêôõðùôÞ, åãêáôáóôÞóáìå Ýíá ößëôñï áðëïý êåéìÝíïõ éäéáßôåñá áðëÞò ìïñöÞò, ðïõ èá ðñÝðåé íá äïõëåýåé ìå ôïõò ðåñéóóüôåñïõò åêôõðùôÝò (åíüôçôá <link linkend="printing-textfilter">ÅãêáôÜóôáóç Ößëôñïõ ÊåéìÝíïõ</link>).</para> <para>Ùóôüóï, ãéá íá ìðïñÝóåôå íá åêìåôáëëåõôåßôå ôéò äõíáôüôçôåò ìåôáôñïðþí ìïñöÞò, åëÝã÷ïõ ðñüóâáóçò êáé êáôáìÝôñçóçò, êáé ôõ÷üí åéäéêÝò äõíáôüôçôåò ôïõ åêôõðùôÞ óáò, èá ðñÝðåé íá êáôáëÜâåôå ðùò äïõëåýïõí ôá ößëôñá. Óå ôåëéêÞ áíÜëõóç, èá åßíáé åõèýíç ôùí ößëôñùí íá ÷åéñßæïíôáé üëåò áõôÝò ôéò ðáñáìÝôñïõò. Ôá êáêÜ íÝá åßíáé ðùò ôéò ðåñéóóüôåñåò öïñÝò èá ðñÝðåé íá ðáñÝ÷åôå <emphasis>åóåßò ïé ßäéïé </emphasis> ôá ößëôñá óáò. Ôá êáëÜ íÝá åßíáé ðùò ãåíéêþò õðÜñ÷ïõí áñêåôÜ äéáèÝóéìá, êáé áí äåí õðÜñ÷ïõí, åßíáé ó÷åôéêÜ åýêïëï íá ôá ãñÜøåôå.</para> <para>Åðßóçò, ôï &os; äéáôßèåôáé ìå Ýíá ößëôñï, ôï <filename>/usr/libexec/lpr/lpf</filename>, ðïõ äïõëåýåé ìå ðïëëïýò åêôõðùôÝò ðïõ ìðïñïýí íá åêôõðþóïõí áðëü êåßìåíï. (×åéñßæåôáé backspacing êáé tabs óôï áñ÷åßï, êáé êÜíåé êáôáìÝôñçóç, áëëÜ ôßðïôá ðåñéóóüôåñï.) ÕðÜñ÷ïõí, åðßóçò, äéÜöïñá Üëëá ößëôñá êáé óõóôáôéêÜ ôïõò óôçí ÓõëëïãÞ ôùí Ports ôïõ &os;.</para> <para>Óå áõôÞ ôçí åíüôçôá èá âñåßôå: :</para> <itemizedlist> <listitem> <para>Ç åíüôçôá <link linkend="printing-advanced-filters">Ðùò äïõëåýïõí ôá Ößëôñá</link>, ðñïóðáèåß íá äþóåé ìéá ãåíéêÞ Üðïøç ãéá ôéò áñìïäéüôçôåò ôùí ößëôñùí óôéò äéåñãáóßåò åêôýðùóçò. Èá ðñÝðåé íá äéáâÜóåôå áõôÞ ôçí åíüôçôá ãéá íá ìðïñåßôå íá êáôáëÜâåôå ôé <quote>ðñáãìáôéêÜ</quote> óõìâáßíåé üôáí ôï <application>LPD</application> ÷ñçóéìïðïéåß ößëôñá. ÁõôÝò ïé ãíþóåéò èá óáò âïçèÞóïõí íá ðñïëáìâÜíåôå êáé íá áðïóöáëìáôþíåôå ðñïâëÞìáôá ðïõ ìðïñïýí íá óõìâïýí êáèþò åãêáèéóôÜôå üëï êáé ðåñéóóüôåñá ößëôñá óå êÜèå åêôõðùôÞ óáò.</para> </listitem> <listitem> <para>Ôï <application>LPD</application> áíáìÝíåé ðùò êÜèå åêôõðùôÞò åßíáé éêáíüò, áðü ðñïåðéëïãÞ, íá åêôõðþóåé áðëü êåßìåíï. Áõôü üìùò åßíáé ðñüâëçìá ãéá åêôõðùôÝò &postscript; (Þ Üëëïõò ðïõ âáóßæïíôáé óå ãëþóóåò ðñïãñáììáôéóìïý) ïé ïðïßïé äåí ìðïñïýí íá åêôõðþóïõí Üìåóá áðëü êåßìåíï. Ç åíüôçôá <link linkend="printing-advanced-if-conversion">Óõìâáôüôçôá Åñãáóéþí Áðëïý ÊåéìÝíïõ óå åêôõðùôÝò &postscript;</link> óáò åîçãåß ôé èá ðñÝðåé íá êÜíåôå ãéá íá îåðåñÜóåôå áõôü ôï ðñüâëçìá. Èá ðñÝðåé íá äéáâÜóåôå áõôÞ ôçí åíüôçôá áí Ý÷åôå åêôõðùôÞ &postscript;.</para> </listitem> <listitem> <para>Ôï &postscript; åßíáé äçìïöéëÞò ìïñöÞ åîüäïõ ãéá ðïëëÜ ðñïãñÜììáôá. Ìåñéêïß Üíèñùðïé ðñïôéìïýí êáé íá ãñÜöïõí êáôåõèåßáí óå êþäéêá &postscript;. Äõóôõ÷þò, ïé åêôõðùôÝò &postscript; Ý÷ïõí ìåãÜëï êüóôïò. Ç åíüôçôá <link linkend="printing-advanced-ps">Ðñïóïìïßùóç &postscript; ãéá åêôõðùôÝò ðïõ äåí ôï õðïóôçñßæïõí</link> åîçãåß ëåðôïìåñþò ðùò íá ìåôáôñÝøåôå Ýíá ößëôñï êåéìÝíïõ ãéá åêôõðùôÝò þóôå íá ëáìâÜíåé êáé íá ôõðþíåé äåäïìÝíá &postscript; óå åêôõðùôÝò ðïõ <emphasis>äåí åßíáé &postscript;</emphasis>. Èá ðñÝðåé íá äéáâÜóåôå áõôÞí ôçí åíüôçôá áí åßóôå êÜôï÷ïò åêôõðùôÞ ðïõ äåí õðïóôçñßæåé &postscript;.</para> </listitem> <listitem> <para>Ç åíüôçôá <link linkend="printing-advanced-convfilters">Ößëôñá ÌåôáôñïðÞò</link> ðåñéãñÜöåé ìéá áõôïìáôïðïéçìÝíç äéáäéêáóßá ãéá ôçí ìåôáôñïðÞ áñ÷åßùí åéäéêÞò ìïñöÞò, üðùò äåäïìÝíá ãñáöéêþí Þ óôïé÷åéïèåóßáò, óå ìéá ìïñöÞ êáôáíïçôÞ áðü ôïí åêôõðùôÞ óáò. ÌåôÜ ôçí áíÜãíùóç áõôÞò ôçò åíüôçôáò, èá ðñÝðåé íá åßóôå óå èÝóç íá ñõèìßóåôå ôïõò åêôõðùôÝò óáò ìå ôÝôïéï ôñüðï þóôå ðëçêôñïëïãþíôáò <command>lpr <option>-t</option></command> ïé ÷ñÞóôåò óáò íá ìðïñïýí íá åêôõðþóïõí äåäïìÝíá troff, Þ ìå <command>lpr <option>-d</option></command> äåäïìÝíá &tex; DVI, Þ ìå <command>lpr <option>-v</option></command> íá åêôõðþíïõí åéêüíåò äåäïìÝíùí ñÜóôåñ, êáé ïýôù êáèåîÞò. Óáò óõìâïõëåýïõìå íá äéáâÜóåôå áõôÞ ôçí åíüôçôá.</para> </listitem> <listitem> <para>Ç åíüôçôá <link linkend="printing-advanced-of">Ößëôñá Åîüäïõ</link> ðåñéãñÜöåé Ýíá ÷áñáêôçñéóôéêü ôïõ <application>LPD</application> ðïõ äåí ÷ñçóéìïðïéåßôáé óõ÷íÜ: ôá ößëôñá åîüäïõ. Ìðïñåßôå íá ðñïóðåñÜóåôå áõôÞ ôçí åíüôçôá, åêôüò áí ôõðþíåôå óåëßäåò êåöáëßäáò (äåßôå ôéò <link linkend="printing-advanced-header-pages">Óåëßäåò Êåöáëßäáò</link>).</para> </listitem> <listitem> <para>Ç åíüôçôá <link linkend="printing-advanced-lpf">lpf: Ýíá Ößëôñï ÊåéìÝíïõ</link> ðåñéãñÜöåé ôï <command>lpf</command>, Ýíá ðñáãìáôéêÜ ðëÞñåò, áí êáé áðëü, ößëôñï êåéìÝíïõ ãéá åêôõðùôÝò ãñáììÞò (êáé åêôõðùôÝò laser ðïõ ìðïñïýí íá ëåéôïõñãÞóïõí êáé ùò åêôõðùôÝò ãñáììÞò) ðïõ ðåñéÝ÷åôáé óôï &os;. Áí ÷ñåéÜæåóôå Ýíá ãñÞãïñï ôñüðï ãéá íá êÜíåôå ôçí êáôáìÝôñçóç óåëßäùí íá äïõëåýåé óå áðëü êåßìåíï, Þ áí Ý÷åôå êÜðïéïí åêôõðùôÞ ðïõ âãÜæåé êáðíïýò üôáí âëÝðåé ÷áñáêôÞñåò backspace, èá ðñÝðåé ïðùóäÞðïôå íá åîåôÜóåôå ôçí ðåñßðôùóç ôïõ <command>lpf</command>.</para> </listitem> </itemizedlist> <note> <para>Ìðïñåßôå íá âñåßôå áíôßãñáöï ôùí äéÜöïñùí scripts ðïõ áíáöÝñïíôáé ðáñáêÜôù, óôïí êáôÜëïãï <filename class="directory">/usr/share/examples/printing</filename>.</para> </note> <sect3 id="printing-advanced-filters"> <title>Ðùò Äïõëåýïõí ôá Ößëôñá</title> <para>¼ðùò áíáöÝñáìå ðñïçãïõìÝíùò, ößëôñï åßíáé Ýíá åêôåëÝóéìï ðñüãñáììá ðïõ åíåñãïðïéåßôáé áðü ôï <application>LPD</application> ãéá íá ÷åéñßæåôáé ôï ôìÞìá ôçò åðéêïéíùíßáò ìå ôïí åêôõðùôÞ ðïõ åîáñôÜôáé áðü ôïí ôýðï ôçò ßäéáò ôçò óõóêåõÞò.</para> <para>¼ôáí ôï <application>LPD</application> èÝëåé íá åêôõðþóåé Ýíá áñ÷åßï ìéáò åñãáóßáò, îåêéíÜ ôï ðñüãñáììá ôïõ ößëôñïõ. ÈÝôåé ùò standard input ôïõ ößëôñïõ ôï áñ÷åßï ðïõ ðñÝðåé íá åêôõðùèåß, ùò standard output ôïí ßäéï ôïí åêôõðùôÞ êáé ùò standard error ôï áñ÷åßï áíáöïñÜò óöáëìÜôùí (áíáöÝñåôáé óôçí éêáíüôçôá <literal>lf</literal> ôïõ <filename>/etc/printcap</filename>, Þ áðü ðñïåðéëïãÞ ôï <filename class="devicefile">/dev/console</filename>).</para> <indexterm> <primary><command>troff</command></primary> </indexterm> <para>Ôï ößëôñï ðïõ èá îåêéíÞóåé ôï <application>LPD</application> êáèþò êáé ïé ðáñÜìåôñïé ôïõ ößëôñïõ, åîáñôþíôáé áðü ôï ôé Ý÷åôå äçëþóåé óôï áñ÷åßï <filename>/etc/printcap</filename> êáé áðü ôï ôé ðáñáìÝôñïõò Ý÷åé êáèïñßóåé ï ßäéïò ï ÷ñÞóôçò ãéá ôçí åñãáóßá ìå ôçí ãñáììÞ åíôïëÞò &man.lpr.1;. Ãéá ðáñÜäåéãìá, áí ï ÷ñÞóôçò ðëçêôñïëïãÞóåé <command>lpr <option>-t</option></command>, ôï <application>LPD</application> èá îåêéíÞóåé ôï ößëôñï troff, ðïõ õðïäçëþíåôáé ìå ôçí éêáíüôçôá <literal>tf</literal> ãéá ôïí åêôõðùôÞ ðñïïñéóìïý. Áí ï ÷ñÞóôçò åðéèõìåß íá åêôõðþóåé áðëü êåßìåíï, èá îåêéíÞóåé ôï ößëôñï <literal>if</literal> (áõôü ðñÜãìáôé éó÷ýåé ôéò ðåñéóóüôåñåò öïñÝò: äåßôå ôá <link linkend="printing-advanced-of">Ößëôñá Åîüäïõ</link> ãéá ëåðôïìÝñåéåò).</para> <para>ÕðÜñ÷ïõí ôñåéò ôýðïé ößëôñùí ðïõ ìðïñåßôå íá ðñïóäéïñßóåôå óôï <filename>/etc/printcap</filename>:</para> <itemizedlist> <listitem> <para>Ôï <emphasis>ößëôñï êåéìÝíïõ</emphasis>, åðïíïìáæüìåíï êáé ùò <emphasis>ößëôñï åéóüäïõ</emphasis> óôçí ôåêìçñßùóç ôïõ <application>LPD</application>, ÷åéñßæåôáé åêôõðþóåéò êáíïíéêïý êåéìÝíïõ. ÈåùñÞóôå ôï ùò ôï ðñïåðéëåãìÝíï ößëôñï. Ôï <application>LPD</application> áíáìÝíåé ðùò üëïé ïé åêôõðùôÝò, áðü ðñïåðéëïãÞ, åßíáé óå èÝóç íá åêôõðþóïõí áðëü êåßìåíï, êáé åßíáé äïõëåéÜ ôïõ ößëôñïõ êåéìÝíïõ íá âåâáéùèåß üôé ôá backspaces, ôá tabs, êáé üëïé ïé Üëëïé åéäéêïß ÷áñáêôÞñåò äåí ðñüêåéôáé íá ðñïâëçìáôßóïõí ôïí åêôõðùôÞ. ÅÜí âñßóêåóôå óå Ýíá ðåñéâÜëëïí üðïõ èá ðñÝðåé íá êáôáìåôñÞóåôå ôçí ÷ñÞóç ôùí åêôõðùôþí, ôï ößëôñï êåéìÝíïõ èá ðñÝðåé åðßóçò íá êáôáìåôñÞóåé ôéò åêôõðùìÝíåò óåëßäåò, óõíÞèùò ìåôñþíôáò ôïí áñéèìü ôùí åêôõðùìÝíùí ãñáììþí êáé óõãêñßíïíôáò ôïí ìå ôïí áñéèìü ôùí ãñáììþí ðïõ õðïóôçñßæåé ï åêôõðùôÞò áíÜ óåëßäá. Ôï ößëôñï êåéìÝíïõ îåêéíÜ ìå ôçí áêüëïõèç ëßóôá ðáñáìÝôñùí: <cmdsynopsis> <command>filter-name</command> <arg>-c</arg> <arg choice="plain">-w<replaceable>width</replaceable></arg> <arg choice="plain">-l<replaceable>length</replaceable></arg> <arg choice="plain">-i<replaceable>indent</replaceable></arg> <arg choice="plain">-n <replaceable>login</replaceable></arg> <arg choice="plain">-h <replaceable>host</replaceable></arg> <arg choice="plain"><replaceable>acct-file</replaceable></arg> </cmdsynopsis> üðïõ <variablelist> <varlistentry> <term><option>-c</option></term> <listitem> <para>åìöáíßæåôáé áí ç åñãáóßá Ý÷åé áðïóôáëåß ìå <command>lpr <option>-l</option></command></para> </listitem> </varlistentry> <varlistentry> <term><replaceable>width</replaceable></term> <listitem> <para>åßíáé ç ôéìÞ áðü ôçí éêáíüôçôá <literal>pw</literal> (ðëÜôïò óåëßäáò - page width) üðùò ðñïóäéïñßæåôáé óôï <filename>/etc/printcap</filename>, ìå ðñïåðéëåãìÝíç ôéìÞ ôï 132</para> </listitem> </varlistentry> <varlistentry> <term><replaceable>length</replaceable></term> <listitem> <para>åßíáé ç ôéìÞ áðü ôçí éêáíüôçôá <literal>pl</literal> (ìÞêïò óåëßäáò - page length), ìå ðñïåðéëåãìÝíç ôéìÞ ôï 66</para> </listitem> </varlistentry> <varlistentry> <term><replaceable>indent</replaceable></term> <listitem> <para>åßíáé ôï ìÝãåèïò ôçò åóï÷Þò (indentation) áðü ôï <command>lpr <option>-i</option></command>, ìå ðñïåðéëåãìÝíç ôéìÞ 0</para> </listitem> </varlistentry> <varlistentry> <term><replaceable>login</replaceable></term> <listitem> <para>åßíáé ôï êáôáãåãñáììÝíï üíïìá ÷ñÞóôç ðïõ åêôõðþíåé ôï áñ÷åßï</para> </listitem> </varlistentry> <varlistentry> <term><replaceable>host</replaceable></term> <listitem> <para>åßíáé ôï üíïìá ôïõ õðïëïãéóôÞ áðü ôïí ïðïßï óôÜëèçêå ç åñãáóßá</para> </listitem> </varlistentry> <varlistentry> <term><replaceable>acct-file</replaceable></term> <listitem> <para>åßíáé ôï üíïìá ôïõ áñ÷åßïõ êáôáìÝôñçóçò áðü ôçí éêáíüôçôá <literal>af</literal>.</para> </listitem> </varlistentry> </variablelist> </para> </listitem> <indexterm> <primary>åêôõðþóåéò</primary> <secondary>ößëôñá</secondary> </indexterm> <listitem> <para>¸íá <emphasis>ößëôñï ìåôáôñïðÞò</emphasis> ìåôáôñÝðåé Ýíá áñ÷åßï åéäéêÞò ìïñöÞò óå Ýíá ôýðï áñ÷åßïõ êáôÜëëçëï ãéá åêôýðùóç áðü ôïí óõãêåêñéìÝíï åêôõðùôÞ. Ãéá ðáñÜäåéãìá, ôá äåäïìÝíá óôïé÷åéïèåóßáò ditroff äåí ìðïñïýí íá åêôõðùèïýí êáôåõèåßáí, áëëÜ ìðïñåßôå íá åãêáôáóôÞóåôå Ýíá ößëôñï ìåôáôñïðÞò áñ÷åßùí ditroff, þóôå íá ìåôáôñÝøåôå ôá äåäïìÝíá ditroff óå ìéá ìïñöÞ ðïõ ï åêôõðùôÞò íá ìðïñåß íá áöïìïéþóåé êáé íá ôõðþóåé. Èá ìÜèåôå ðåñéóóüôåñá óôçí åíüôçôá <link linkend="printing-advanced-convfilters">Öúëôñá ÌåôáôñïðÞò</link>. Ôá ößëôñá ìåôáôñïðÞò åðßóçò ÷ñåéÜæïíôáé ãéá íá êÜíåôå áñßèìçóç/êáôáìÝôñçóç, áí ÷ñåéÜæåóôå êáôáìÝôñçóç ôùí åêôõðþóåùí óáò. Ôá ößëôñá ìåôáôñïðÞò îåêéíïýí ìå ôéò áêüëïõèåò ðáñáìÝôñïõò: <cmdsynopsis> <command>filter-name</command> <arg choice="plain">-x<replaceable>pixel-width</replaceable></arg> <arg choice="plain">-y<replaceable>pixel-height</replaceable></arg> <arg choice="plain">-n <replaceable>login</replaceable></arg> <arg choice="plain">-h <replaceable>host</replaceable></arg> <arg choice="plain"><replaceable>acct-file</replaceable></arg> </cmdsynopsis> üðïõ <replaceable>pixel-width</replaceable> åßíáé ç ôéìÞ áðü ôçí éêáíüôçôá <literal>px</literal> (ðñïåðéëåãìÝíç ôéìÞ 0) êáé <replaceable>pixel-height</replaceable> åßíáé ç ôéìÞ áðü ôçí éêáíüôçôá <literal>py</literal> (ðñïåðéëåãìÝíç ôéìÞ 0).</para> </listitem> <listitem> <para>Ôï <emphasis>ößëôñï åîüäïõ</emphasis> ÷ñçóéìïðïéåßôáé ìüíïí áí äåí õðÜñ÷åé ößëôñï êåéìÝíïõ, Þ áí åßíáé åíåñãïðïéçìÝíåò ïé óåëßäåò êåöáëßäáò. ÄéáâÜóôå ôç ó÷åôéêÞ åíüôçôá <link linkend="printing-advanced-of">Ößëôñá Åîüäïõ</link>, áí êáé áðü ôçí åìðåéñßá ìáò ìðïñïýìå íá óáò ðïýìå üôé ÷ñçóéìïðïéïýíôáé óðÜíéá. ÕðÜñ÷ïõí ìüíï äýï ðáñÜìåôñïé ãéá ôá ößëôñá åîüäïõ: <cmdsynopsis> <command>filter-name</command> <arg choice="plain">-w<replaceable>width</replaceable></arg> <arg choice="plain">-l<replaceable>length</replaceable></arg> </cmdsynopsis> ïé ïðïßåò åßíáé ðáíïìïéüôõðåò ìå ôéò ðáñáìÝôñïõò <option>-w</option> êáé <option>-l</option> ôùí ößëôñùí êåéìÝíïõ.</para> </listitem> </itemizedlist> <para>Ôá ößëôñá èá ðñÝðåé åðßóçò íá <emphasis>ôåñìáôßæïõí</emphasis> ìå êÜðïéá áðü ôéò áêüëïõèåò êáôáóôÜóåéò åîüäïõ:</para> <variablelist> <varlistentry> <term>exit 0</term> <listitem> <para>Áí ôï ößëôñï ôýðùóå åðéôõ÷þò ôï áñ÷åßï.</para> </listitem> </varlistentry> <varlistentry> <term>exit 1</term> <listitem> <para>Áí ôï ößëôñï áðÝôõ÷å íá ôõðþóåé ôï áñ÷åßï, áëëÜ èÝëåé ôï <application>LPD</application> íá ðñïóðáèÞóåé íá åêôõðþóåé ôï áñ÷åßï îáíÜ. Ôï <application>LPD</application> èá îåêéíÞóåé îáíÜ ôï ößëôñï áí ãßíåé Ýîïäïò ìå áõôÞ ôçí êáôÜóôáóç.</para> </listitem> </varlistentry> <varlistentry> <term>exit 2</term> <listitem> <para>Áí ôï ößëôñï áðÝôõ÷å íá åêôõðþóåé ôï áñ÷åßï êáé äåí èÝëåé ôï <application>LPD</application> íá ðñïóðáèÞóåé îáíÜ. Ôï <application>LPD</application> èá áðïññßøåé ôï áñ÷åßï.</para> </listitem> </varlistentry> </variablelist> <para>Ôï ößëôñï êåéìÝíïõ ðïõ Ýñ÷åôáé ìå ôçí êáíïíéêÞ Ýêäïóç ôïõ &os;, <filename>/usr/libexec/lpr/lpf</filename>, åêìåôáëëåýåôáé ôéò ðáñáìÝôñïõò ðëÜôïõò êáé ìÞêïõò óåëßäáò ãéá íá ðñïóäéïñßóåé ðüôå íá áðïóôåßëåé ôï form feed êáé ðùò íá êÜíåé êáôáìÝôñçóç. ×ñçóéìïðïéåß ôéò ðáñáìÝôñïõò ãéá login, host, êáé áñ÷åßïõ êáôáìÝôñçóçò ãéá íá äçìéïõñãÞóåé ôéò ó÷åôéêÝò åããñáöÝò êáôáìÝôñçóçò.</para> <para>Áí åßóôå óôç äéáäéêáóßá åðéëïãÞò ößëôñùí, åëÝãîôå áí åßíáé óõìâáôÜ ìå ôï <application>LPD</application>. Áí åßíáé óõìâáôÜ, ôüôå ðñÝðåé íá õðïóôçñßæïõí ôçí ëßóôá ðáñáìÝôñùí ðïõ ðåñéãñÜøáìå ðñïçãïõìÝíùò. Áí ó÷åäéÜæåôå íá ãñÜøáôå ôá äéêÜ óáò ößëôñá ãåíéêÞò ÷ñÞóçò, ôüôå ðñÝðåé íá ôá êÜíåôå íá õðïóôçñßæïõí ôçí ßäéá ëßóôá ðáñáìÝôñùí êáé êùäéêþí åîüäïõ.</para> </sect3> <sect3 id="printing-advanced-if-conversion"> <title>Óõìâáôüôçôá Åñãáóéþí Áðëïý ÊåéìÝíïõ óå ÅêôõðùôÝò &postscript;</title> <indexterm><primary>åêôýðùóç åñãáóéþí</primary></indexterm> <para>Áí åßóôå ï ìïíáäéêüò ÷ñÞóôçò ôïõ Ç/Õ óáò êáé ôïõ åêôõðùôÞ &postscript; (Þ Üëëçò ãëþóóáò åêôõðùôþí), êáé åßóôå óßãïõñïé ðùò äåí ðñüêåéôáé íá óôåßëåôå ðïôÝ åêôõðþóåéò áðëïý êåéìÝíïõ óôïí åêôõðùôÞ óáò êáé ðùò äåí èá ÷ñçóéìïðïéÞóåôå ôéò õðçñåóßåò ôùí äéáöüñùí ðñïãñáììÜôùí óáò ðïõ èá èåëÞóïõí íá óôåßëïõí áðëü êåßìåíï óôïí åêôõðùôÞ óáò, ôüôå äåí ÷ñåéÜæåôáé íá áó÷ïëçèåßôå êáèüëïõ ìå áõôÞ ôçí åíüôçôá.</para> <para>ÁëëÜ, áí åðéèõìåßôå íá óôåßëåôå ôüóï åñãáóßåò &postscript; üóï êáé áðëïý êåéìÝíïõ óôïí åêôõðùôÞ óáò, ôüôå óáò ðñïôñÝðïõìå íá ðñïóèÝóåôå êÜðïéåò ñõèìßóåéò óôçí åãêáôÜóôáóç óáò. Ãéá íá ãßíåé áõôü, èá ðñÝðåé ôï ößëôñï êåéìÝíïõ íá áíé÷íåýåé áí ç ôñÝ÷ïõóá åñãáóßá åßíáé áðëü êåßìåíï Þ &postscript;. ¼ëåò ïé åñãáóßåò &postscript; ðñÝðåé íá îåêéíïýí ìå <literal>%!</literal> (áí ï åêôõðùôÞò óáò ÷ñçóéìïðïéåß Üëëç ãëþóóá, óõìâïõëåõèåßôå ôçí ôåêìçñßùóç ôïõ). Áí åßíáé áõôïß ïé ðñþôïé äýï ÷áñáêôÞñåò, ôüôå Ý÷ïõìå &postscript;, êáé ç õðüëïéðç åñãáóßá ìðïñåß íá óôáëåß áðåõèåßáò óôïí åêôõðùôÞ. Áí äåí åßíáé áõôïß ïé ðñþôïé äýï ÷áñáêôÞñåò, ôüôå ôï ößëôñï èá ìåôáôñÝøåé ôï êåßìåíï óå &postscript; êáé èá ôõðþóåé ôï áðïôÝëåóìá.</para> <para>Ðùò ãßíåôáé áõôü;</para> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>óåéñéáêïß</secondary> </indexterm> <para>Áí åßóôå êÜôï÷ïò óåéñéáêïý åêôõðùôÞ, Ýíáò êáëüò ôñüðïò ãéá íá ãßíåé áõôü åöéêôü åßíáé íá åãêáôáóôÞóåôå ôï <command>lprps</command>. Ôï <command>lprps</command> åßíáé Ýíá ößëôñï åêôýðùóçò &postscript; ðïõ åðéêïéíùíåß áìößäñïìá ìå ôïí åêôõðùôÞ. Åíçìåñþíåé ôï áñ÷åßï êáôÜóôáóçò ôïõ åêôõðùôÞ ìå áíáëõôéêÝò ðëçñïöïñßåò, þóôå ïé ÷ñÞóôåò êáé ïé äéá÷åéñéóôÝò íá ìðïñïýí íá äïõí åðáêñéâþò ðïéá åßíáé ç êáôÜóôáóç ôïõ åêôõðùôÞ (üðùò <errorname>÷áìçëÞ óôÜèìç toner</errorname> Þ <errorname>ðñüâëçìá ÷áñôéïý</errorname>). Áêüìç ðéï óçìáíôéêü åßíáé ðùò ðåñéÝ÷åé ôï ðñüãñáììá <command>psif</command> ðïõ áíé÷íåýåé áí ç åéóåñ÷üìåíç åñãáóßá åßíáé áðëïý êåéìÝíïõ êáé êáëåß ôï <command>textps</command> (Ýíá Üëëï ðñüãñáììá ðïõ ðåñéÝ÷åôáé óôï <command>lprps</command>) íá ôï ìåôáôñÝøåé óå &postscript;. ÔÝëïò ÷ñçóéìïðïéåßôáé ôï <command>lprps</command> ãéá íá áðïóôåßëåé ôçí åñãáóßá óôïí åêôõðùôÞ.</para> <para>Ôï <command>lprps</command> åßíáé ìÝñïò ôçò ÓõëëïãÞò ôùí Ports ôïõ &os; (äåßôå <link linkend="ports">Ç ÓõëëïãÞ ôùí Ports</link>). ÖõóéêÜ, ìðïñåßôå íá ôï êáôåâÜóåôå, íá ôï ìåôáãëùôôßóåôå êáé íá ôï åãêáôáóôÞóåôå ìüíïé óáò. ÌåôÜ ôçí åãêáôÜóôáóç ôïõ <command>lprps</command>, áðëÜ ðñïóäéïñßóôå ôç äéáäñïìÞ ðñïò ôï ðñüãñáììá <command>psif</command> ðïõ åßíáé ìÝñïò ôïõ <command>lprps</command>. Áí åãêáôáóôÞóáôå ôï <command>lprps</command> áðü ôçí ÓõëëïãÞ ôùí Ports, ôüôå ãéá ôïí óåéñéáêü óáò åêôõðùôÞ &postscript; ÷ñçóéìïðïéÞóôå ôçí áêüëïõèç êáôá÷þñéóç óôï áñ÷åßï <filename>/etc/printcap</filename>:</para> <programlisting>:if=<filename>/usr/local/libexec/psif</filename>:</programlisting> <para>Èá ðñÝðåé åðßóçò íá êáèïñßóåôå ôçí éêáíüôçôá <literal>rw</literal> ç ïðïßá ïñßæåé üôé ôï <application>LPD</application> èá ÷åéñßæåôáé ôïí åêôõðùôÞ óå êáôÜóôáóç áíÜãíùóçò êáé åããñáöÞò.</para> <para>Áí Ý÷åôå ðáñÜëëçëï åêôõðùôÞ &postscript; (êáé ãéá ôï ëüãï áõôü äåí ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå áìößäñïìç åðéêïéíùíßá ìå ôïí åêôõðùôÞ, üðùò áðáéôåßôáé áðü ôï <command>lprps</command>), ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå ôï áêüëïõèï shell script ùò ößëôñï êåéìÝíïõ:</para> <programlisting>#!/bin/sh # # psif - Print PostScript or plain text on a PostScript printer # Script version; NOT the version that comes with lprps # Installed in /usr/local/libexec/psif # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # PostScript job, print it. # echo "$first_line" && cat && printf "\004" && exit 0 exit 2 else # # Plain text, convert it, then print it. # ( echo "$first_line"; cat ) | /usr/local/bin/textps && printf "\004" && exit 0 exit 2 fi</programlisting> <para>Óôï ðáñáðÜíù script, ôï <command>textps</command> åßíáé Ýíá ðñüãñáììá ðïõ åãêáôáóôÞóáìå îå÷ùñéóôÜ ãéá íá ìåôáôñÝðïõìå áðëü êåßìåíï óå &postscript;. Ìðïñåßôå íá ÷ñçóéìïðïéåßôå ïðïéïäÞðïôå ðñüãñáììá ìåôáôñïðÞò áðü êåßìåíï- óå-&postscript;. Ç ÓõëëïãÞ ôùí Ports (äåßôå <link linkend="ports">Ç ÓõëëïãÞ ôùí Ports</link>) ðåñéÝ÷åé åðßóçò Ýíá ðëÞñåò ðñüãñáììá ìåôáôñïðÞò áðü êåßìåíï óå &postscript;, ôï <literal>a2ps</literal> ðïõ ßóùò åðéèõìåßôå íá äéåñåõíÞóåôå.</para> </sect3> <sect3 id="printing-advanced-ps"> <title>Ðñïóïìïßùóç &postscript; ãéá ÅêôõðùôÝò ðïõ äåí ôï Õðïóôçñßæïõí</title> <indexterm> <primary>PostScript</primary> <secondary>ðñïóïìïßùóç</secondary> </indexterm> <indexterm><primary>Ghostscript</primary></indexterm> <para>Ôï &postscript; åßíáé ôï <emphasis>de facto</emphasis> ðñüôõðï ãéá óôïé÷åéïèåóßá êáé åêôýðùóç õøçëÞò ðïéüôçôáò. Ùóôüóï, ôï &postscript; åßíáé êÜðùò <emphasis>äáðáíçñü</emphasis> ðñüôõðï. Åõôõ÷þò, ç Aladdin Enterprises ðáñÝ÷åé Ýíá ðáñåìöåñÝò åëåýèåñï &postscript; ðïõ ïíïìÜæåôáé <application>Ghostscript</application> êáé äïõëåýåé Üøïãá óôï &os;. Ôï Ghostscript äéáâÜæåé ôá ðåñéóóüôåñá áñ÷åßá &postscript; êáé ìðïñåß íá áðïäþóåé ôéò óåëßäåò ôïõò óå ìåãÜëç ãêÜìá óõóêåõþí, óõìðåñéëáìâÜíïíôáò ðïëëïýò ôýðïõò åêôõðùôþí ðïõ äåí õðïóôçñßæïõí &postscript;. Åãêáèéóôþíôáò ôï <application>Ghostscript</application> êáé ÷ñçóéìïðïéþíôáò Ýíá åéäéêü ößëôñï êåéìÝíïõ ãéá ôïí åêôõðùôÞ óáò, ìðïñåßôå íá êÜíåôå ôïí êïéíü åêôõðùôÞ óáò íá ëåéôïõñãåß óáí Ýíáò ðñáãìáôéêüò åêôõðùôÞò &postscript;.</para> <para>Ôï <application>Ghostscript</application> âñßóêåôáé óôçí ÓõëëïãÞ ôùí Ports ôïõ &os;, êáé ìÜëéóôá óå ðïëëÝò åêäüóåéò. Ç ðéï äéáäåäïìÝíç åßíáé ôï <filename role="package">print/ghostscript-gpl</filename>.</para> <para>Ãéá íá êÜíåôå ðñïóïìïßùóç &postscript;, ðñÝðåé ôï ößëôñï êåéìÝíïõ íá áíé÷íåýóåé áí åêôõðþíåôå áñ÷åßï &postscript;. ÅÜí ü÷é, ôüôå ôï ößëôñï èá ðåñÜóåé ôï áñ÷åßï êáôåõèåßáí óôïí åêôõðùôÞ. ÄéáöïñåôéêÜ, èá ÷ñçóéìïðïéÞóåé ôï <application>Ghostscript</application> ãéá íá ìåôáôñÝøåé áñ÷éêÜ ôï áñ÷åßï óå Ýíá ôýðï ðïõ èá êáôáëáâáßíåé ï åêôõðùôÞò.</para> <para>Éäïý Ýíá ðáñÜäåéãìá: ôï áêüëïõèï script åßíáé Ýíá ößëôñï êåéìÝíïõ ãéá åêôõðùôÝò Hewlett Packard DeskJet 500. Ãéá Üëëïõò åêôõðùôÝò, áíôéêáôáóôÞóôå ôï üñéóìá <option>-sDEVICE</option> óôçí åíôïëÞ <command>gs</command> (<application>Ghostscript</application>). (ÐëçêôñïëïãÞóôå <command>gs <option>-h</option></command> ãéá íá äåßôå ôçí ëßóôá óõóêåõþí ðïõ õðïóôçñßæåé ç ôñÝ÷ïõóá åãêáôÜóôáóç ôïõ <application>Ghostscript.</application>)</para> <programlisting>#!/bin/sh # # ifhp - Print Ghostscript-simulated PostScript on a DeskJet 500 # Installed in /usr/local/libexec/ifhp # # Treat LF as CR+LF (to avoid the "staircase effect" on HP/PCL # printers): # printf "\033&k2G" || exit 2 # # Read first two characters of the file # IFS="" read -r first_line first_two_chars=`expr "$first_line" : '\(..\)'` if [ "$first_two_chars" = "%!" ]; then # # It is PostScript; use Ghostscript to scan-convert and print it. # /usr/local/bin/gs -dSAFER -dNOPAUSE -q -sDEVICE=djet500 \ -sOutputFile=- - && exit 0 else # # Plain text or HP/PCL, so just print it directly; print a form feed # at the end to eject the last page. # echo "$first_line" && cat && printf "\033&l0H" && exit 0 fi exit 2</programlisting> <para>ÔÝëïò, ÷ñåéÜæåôáé íá åíçìåñþóåôå ôï <application>LPD</application> ãéá ôï ößëôñï ìå ôçí éêáíüôçôá <literal>if</literal>:</para> <programlisting>:if=<filename>/usr/local/libexec/ifhp</filename>:</programlisting> <para>Áõôü åßíáé üëï. Ìðïñåßôå íá ðëçêôñïëïãÞóåôå <command>lpr <filename><replaceable>plain.text</replaceable></filename></command> êáé <command>lpr <filename><replaceable>whatever.ps</replaceable></filename></command> êáé ôá äýï èá åêôõðùèïýí åðéôõ÷þò.</para> </sect3> <sect3 id="printing-advanced-convfilters"> <title>Ößëôñá ÌåôáôñïðÞò</title> <para>Ôï åðüìåíï âÞìá ìåôÜ ôçí ïëïêëÞñùóç ôçò áðëÞò åãêáôÜóôáóçò ðïõ ðåñéãñÜøáìå óôéò <link linkend="printing-simple">ÂáóéêÝò Ñõèìßóåéò Åêôõðùôþí</link>, åßíáé óõíÞèùò ç åãêáôÜóôáóç ößëôñùí ìåôáôñïðÞò ãéá ôïõò ôýðïõò áñ÷åßùí ðïõ ðñïôéìÜôå (åêôüò áðü áðëü êåßìåíï ASCII).</para> <sect4> <title>Ãéáôß íá åãêáôáóôÞóåôå Ößëôñá ÌåôáôñïðÞò;</title> <indexterm> <primary>&tex;</primary> <secondary>åêôýðùóç áñ÷åßùí DVI</secondary> </indexterm> <para>Ôá ößëôñá ìåôáôñïðÞò êÜíïõí ôçí åêôýðùóç äéáöüñùí ôýðùí áñ÷åßùí åýêïëç õðüèåóç. Ãéá ðáñÜäåéãìá, áò õðïèÝóïõìå üôé Ý÷ïõìå íá êÜíïõìå áñêåôÞ åñãáóßá ìå ôï óýóôçìá óôïé÷åéïèåóßáò &tex;, êáé üôé Ý÷ïõìå åêôõðùôÞ &postscript;. ÊÜèå öïñÜ ðïõ äçìéïõñãïýìå Ýíá áñ÷åßï DVI ìå ôï &tex;, äåí ìðïñïýìå íá åêôõðþóïõìå êáôåõèåßáí Ýùò üôïõ íá ìåôáôñÝøïõìå ôï áñ÷åßï DVI óå &postscript;. Ç áêïëïõèßá åíôïëþí ðïõ ðñÝðåé íá áêïëïõèÞóïõìå åßíáé:</para> <screen>&prompt.user; <userinput><command>dvips <filename><replaceable>seaweed-analysis.dvi</replaceable></filename></command></userinput> &prompt.user; <userinput><command>lpr <filename><replaceable>seaweed-analysis.ps</replaceable></filename></command></userinput></screen> <para>Ìå ôçí ÷ñÞóç åíüò ößëôñïõ ìåôáôñïðÞò ãéá áñ÷åßá DVI, ìðïñïýìå íá áðïöýãïõìå ôçí ìåôáôñïðÞ ðïõ ðñÝðåé íá êÜíïõìå êÜèå öïñÜ ÷åéñïêßíçôá, êáëþíôáò ôï <application>LPD</application> íá êÜíåé ôç äïõëåéÜ ãéá ìáò. Ôþñá, êÜèå öïñÜ ðïõ Ý÷ïõìå Ýíá áñ÷åßï DVI, ãéá íá ôï ôõðþóïõìå ÷ñåéÜæåôáé ìüíï Ýíá âÞìá:</para> <screen>&prompt.user; <userinput><command>lpr <option>-d</option> <filename><replaceable>seaweed-analysis.dvi</replaceable></filename></command></userinput></screen> <para>¸÷ïõìå áíáèÝóåé óôï <application>LPD</application> íá êÜíåé ôç ìåôáôñïðÞ ôïõ áñ÷åßïõ DVI ðñïóèÝôïíôáò ôïõ ôçí åðéëïãÞ <option>-d</option>. Ç åíüôçôá <link linkend="printing-lpr-options-format">ÅðéëïãÝò Ìïñöïðïßçóçò êáé ÌåôáôñïðÞò</link> ðåñéÝ÷åé ôïõò ðßíáêåò åðéëïãÞò ìåôáôñïðþí.</para> <para>Ãéá êÜèå åðéëïãÞ ìåôáôñïðÞò ðïõ èÝëåôå íá õðïóôçñßæåôå áðü Ýíá åêôõðùôÞ, ðñÝðåé íá åãêáôáóôÞóåôå Ýíá <emphasis>ößëôñï ìåôáôñïðÞò</emphasis> êáé íá ïñßóåôå ôçí äéáäñïìÞ ôïõ óôï áñ÷åßï <filename>/etc/printcap</filename>. ¸íá ößëôñï ìåôáôñïðÞò åßíáé óáí ôï ößëôñï êåéìÝíïõ óôçí áðëÞ åãêáôÜóôáóç åêôõðùôÞ (äåßôå ôçí åíüôçôá <link linkend="printing-textfilter">ÅãêáôÜóôáóç Ößëôñïõ ÊåéìÝíïõ</link>) ìå ìüíç äéáöïñÜ ðùò áíôß ôï ößëôñï íá åêôõðþíåé áðëü êåßìåíï, ìåôáôñÝðåé ôï áñ÷åßï óå ìéá äéáöïñåôéêÞ ìïñöÞ þóôå íá åßíáé êáôáíïçôü áðü ôïí åêôõðùôÞ.</para> </sect4> <sect4> <title>Ðïéï Ößëôñï ÌåôáôñïðÞò èá ÐñÝðåé íá ÅãêáôáóôÞóù;</title> <para>Èá ðñÝðåé íá åãêáèéóôÜôå ôá ößëôñá ìåôáôñïðÞò ðïõ íïìßæåôå ðùò èá ÷ñçóéìïðïéÞóåôå. Áí åêôõðþíåôå áñêåôÜ äåäïìÝíá DVI, ôüôå åßíáé ëïãéêü íá óõìðåñéëÜâåôå Ýíá ößëôñï ìåôáôñïðÞò DVI. Áí åêôõðþíåôå óõ÷íÜ äåäïìÝíá troff, èá èÝëåôå íá åãêáôáóôÞóåôå Ýíá ößëôñï troff.</para> <para>Ï áêüëïõèïò ðßíáêáò óõíïøßæåé ôá ößëôñá ìå ôá ïðïßá óõíåñãÜæåôáé ôï <application>LPD</application>, ôéò êáôá÷ùñßóåéò ôçò áíôßóôïé÷çò éêáíüôçôáò óôï áñ÷åßï <filename>/etc/printcap</filename>, êáé ðùò íá ôéò êáëÝóåôå ìÝóù ôçò åíôïëÞò <command>lpr</command>:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="3"> <thead> <row> <entry>Ôýðïò áñ÷åßïõ</entry> <entry>Éêáíüôçôá <filename>/etc/printcap</filename></entry> <entry>ÐáñÜìåôñïò åíôïëÞò <command>lpr</command></entry> </row> </thead> <tbody> <row> <entry>cifplot</entry> <entry><literal>cf</literal></entry> <entry><option>-c</option></entry> </row> <row> <entry>DVI</entry> <entry><literal>df</literal></entry> <entry><option>-d</option></entry> </row> <row> <entry>plot</entry> <entry><literal>gf</literal></entry> <entry><option>-g</option></entry> </row> <row> <entry>ditroff</entry> <entry><literal>nf</literal></entry> <entry><option>-n</option></entry> </row> <row> <entry>FORTRAN text</entry> <entry><literal>rf</literal></entry> <entry><option>-f</option></entry> </row> <row> <entry>troff</entry> <entry><literal>tf</literal></entry> <entry><option>-f</option></entry> </row> <row> <entry>raster</entry> <entry><literal>vf</literal></entry> <entry><option>-v</option></entry> </row> <row> <entry>plain text</entry> <entry><literal>if</literal></entry> <entry>none, <option>-p</option>, or <option>-l</option></entry> </row> </tbody> </tgroup> </informaltable> <para>Óôï ðáñÜäåéãìá ìáò, áí ÷ñçóéìïðïéÞóïõìå <command>lpr <option>-d</option></command> óçìáßíåé üôé ï åêôõðùôÞò ÷ñåéÜæåôáé ôçí éêáíüôçôá <literal>df</literal> óôçí êáôá÷þñéóç ôïõ óôï <filename>/etc/printcap</filename>.</para> <indexterm><primary>FORTRAN</primary></indexterm> <para>Áí êáé êÜðïéïé ìðïñåß íá éó÷õñéóôïýí ôï áíôßèåôï, ìåñéêïß ôýðïé áñ÷åßùí üðùò åßíáé ôá êåßìåíá êáé ãñáöéêÜ FORTRAN åßíáé îåðåñáóìÝíá. Ìðïñåßôå íá äþóåôå íÝá ðíïÞ óå áñ÷åßá áõôïý ôïõ ôýðïõ (Þ êáé ïðïéáóäÞðïôå Üëëçò ìïñöÞò åîüäïõ), åãêáèéóôþíôáò ðñïóáñìïóìÝíá ößëôñá. Ãéá ðáñÜäåéãìá, áò õðïèÝóïõìå üôé èá èÝëáôå íá åêôõðþóåôå êáôåõèåßáí áñ÷åßá Printerleaf (áñ÷åßá ðñïåñ÷üìåíá áðü ôï ðñüãñáììá åðéôñáðÝæéáò ôõðïãñáößáò Interleaf), áëëÜ äåí èá åêôõðþóåôå ðïôÝ äéáãñÜììáôá (plots). Èá ìðïñïýóáôå íá åãêáôáóôÞóåôå Ýíá ößëôñï ìåôáôñïðÞò áñ÷åßùí Printerleaf õðü ôçí éêáíüôçôá <literal>gf</literal> êáé íá åêðáéäåýóåôå ôïõò ÷ñÞóôåò óáò üôé ç åíôïëÞ <command>lpr <option>-g</option></command> óçìáßíåé <quote>ôýðùóå áñ÷åßá Printerleaf.</quote></para> </sect4> <sect4> <title>ÅãêáôÜóôáóç Ößëôñùí Ìåôáôñïðþí</title> <para>Áðü ôç óôéãìÞ ðïõ ôá ößëôñá ìåôáôñïðÞò åßíáé ðñïãñÜììáôá ðïõ äåí áíÞêïõí óôï âáóéêü óýóôçìá åãêáôÜóôáóçò ôïõ &os;, åßíáé ðéï óùóôü íá åãêáôáóôáèïýí óôïí êáôÜëïãï <filename class="directory">/usr/local</filename>. ¸íáò óõíÞèçò ðñïïñéóìüò ôùí ðñïãñáììÜôùí áõôþí åßíáé ï êáôÜëïãïò <filename class="directory">/usr/local/libexec</filename>, ìéá ðïõ ðñüêåéôáé ãéá åîåéäéêåõìÝíá ðñïãñÜììáôá ðïõ åêôåëïýíôáé ìüíï áðü ôï <application>LPD</application>. Ïé áðëïß ÷ñÞóôåò äåí èá ÷ñåéáóôåß ðïôÝ íá ôá åêôåëÝóïõí.</para> <para>Ãéá íá åíåñãïðïéÞóåôå Ýíá ößëôñï ìåôáôñïðÞò, ðñïóäéïñßóôå ôç äéáäñïìÞ ôïõ óôï áñ÷åßï <filename>/etc/printcap</filename>, áëëÜæïíôáò ôçí êáôÜëëçëç éêáíüôçôá óôïí åêôõðùôÞ ðïõ åðéèõìåßôå íá ôï ÷ñçóéìïðïéÞóåôå.</para> <para>Óôï ðáñÜäåéãìá ìáò, èá ðñïóèÝóïõìå ôï ößëôñï ìåôáôñïðÞò DVI óôçí êáôá÷þñéóç ìáò ãéá ôïí åêôõðùôÞ ìå ôï üíïìá <literal>bamboo</literal>. Áêïëïõèåß, ëïéðüí, ôï ðáñÜäåéãìá ãéá ôï áñ÷åßï <filename>/etc/printcap</filename>, ìå ôçí íÝá éêáíüôçôá <literal>df</literal> ãéá ôïí åêôõðùôÞ <literal>bamboo</literal>:</para> <programlisting># # /etc/printcap for host rose - added df filter for bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:\ :if=<filename>/usr/local/libexec/if-simple</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:rw:\ :if=<filename>/usr/local/libexec/psif</filename>:\ :df=<filename>/usr/local/libexec/psdf</filename>:</programlisting> <para>Ôï ößëôñï DVI åßíáé Ýíá shell script ðïõ ïíïìÜæåôáé <filename>/usr/local/libexec/psdf</filename>, ôï ïðïßï êáé ðáñáèÝôïõìå ðáñáêÜôù:</para> <programlisting>#!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf # # Invoked by lpd when user runs lpr -d # exec /usr/local/bin/dvips -f | /usr/local/libexec/lprps "$@"</programlisting> <para>Áõôü ôï script ôñÝ÷åé ôï <command>dvips</command> óå êáôÜóôáóç ößëôñïõ (ìå ôçí ðáñÜìåôñï <option>-f</option>) óôçí standard input, áðü üðïõ êáé ëáìâÜíåé ôçí åñãáóßá ðñïò åêôýðùóç. Áõôü îåêéíÜ ôï ößëôñï åêôýðùóçò &postscript; <command>lprps</command> (äåßôå ôçí åíüôçôá <link linkend="printing-advanced-if-conversion">Óõìâáôüôçôá Åñãáóéþí Áðëïý ÊåéìÝíïõ óå åêôõðùôÝò &postscript;</link>) äßíïíôáò ôïõ êáé ôéò ðáñáìÝôñïõò ðïõ ðÝñáóå ôï <application>LPD</application> óôï ðáñáðÜíù script. Ôï <command>lprps</command> èá ÷ñçóéìïðïéÞóåé áõôÝò ôéò ðáñáìÝôñïõò ãéá ôçí êáôáìÝôñçóç ôùí åêôõðùìÝíùí óåëßäùí.</para> </sect4> <sect4> <title>Áêüìá ìåñéêÜ Ðáñáäåßãìáôá Ößëôñùí ÌåôáôñïðÞò</title> <para>Áðü ôç óôéãìÞ ðïõ äåí õðÜñ÷åé áõôïìáôïðïéçìÝíç ìÝèïäïò ãéá ôçí åãêáôÜóôáóç ôùí ößëôñùí ìåôáôñïðÞò, áò ìáò åðéôñáðåß íá ðáñÝ÷ïõìå ìåñéêÜ áêüìç ðáñáäåßãìáôá. Ìðïñåßôå íá ôá ÷ñçóéìïðïéÞóåôå óáí ïäçãü ãéá ôçí äçìéïõñãßá ôùí äéêþí óáò ößëôñùí. Áí íïìßæåôå ðùò åßíáé êáôÜëëçëá ãéá ôçí ðåñßðôùóç óáò ìðïñåßôå íá ôá ÷ñçóéìïðïéÞóåôå êáé êáôåõèåßáí.</para> <para>Áõôü ôï ðáñÜäåéãìá script åßíáé Ýíá ößëôñï ìåôáôñïðÞò ñÜóôåñ (áñ÷åßïõ GIF ãéá ôçí áêñßâåéá) ãéá Ýíáí åêôõðùôÞ Hewlett Packard LaserJet III-Si:</para> <programlisting>#!/bin/sh # # hpvf - Convert GIF files into HP/PCL, then print # Installed in /usr/local/libexec/hpvf PATH=/usr/X11R6/bin:$PATH; export PATH giftopnm | ppmtopgm | pgmtopbm | pbmtolj -resolution 300 \ && exit 0 \ || exit 2</programlisting> <para>Äïõëåýåé ùò åîÞò: ìåôáôñÝðåé ôï áñ÷åßï GIF óå Ýíá ãåíéêü öïñçôü ôýðï anymap, åí óõíå÷åßá ôï ìåôáôñÝðåé óå Ýíá öïñçôü ôýðï graymap, Ýðåéôá óå Ýíá öïñçôü ôýðï bitmap, êáé ôÝëïò ôï ìåôáôñÝðåé óå äåäïìÝíá óõìâáôÜ ìå PCL ãéá ôïí LaserJet.</para> <para>Åäþ åßíáé ôï áñ÷åßï <filename>/etc/printcap</filename> ìå ìéá êáôá÷þñéóç ãéá Ýíáí åêôõðùôÞ ðïõ ÷ñçóéìïðïéåß ôï ðáñáðÜíù ößëôñï:</para> <programlisting># # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:sh:sd=<filename class="directory">/var/spool/lpd/teak</filename>:mx#0:\ :if=<filename>/usr/local/libexec/hpif</filename>:\ :vf=<filename>/usr/local/libexec/hpvf</filename>:</programlisting> <para>Ôï áêüëïõèï script åßíáé Ýíá ößëôñï ìåôáôñïðÞò äåäïìÝíùí troff áðü ôï óýóôçìá óôïé÷åéïèåóßáò groff ãéá ôïí åêôõðùôÞ &postscript; ìå üíïìá <literal>bamboo</literal>:</para> <programlisting>#!/bin/sh # # pstf - Convert groff's troff data into PS, then print. # Installed in /usr/local/libexec/pstf # exec grops | /usr/local/libexec/lprps "$@"</programlisting> <para>Ôï ðáñáðÜíù script ÷ñçóéìïðïéåß ðÜëé ôï <command>lprps</command> ãéá íá ÷åéñéóôåß ôçí åðéêïéíùíßá ìå ôïí åêôõðùôÞ. Áí ï åêôõðùôÞò Þôáí óå ðáñÜëëçëç ðüñôá ôüôå èá åß÷áìå, áíôéèÝôùò, ÷ñçóéìïðïéÞóåé ôï áêüëïõèï script:</para> <programlisting>#!/bin/sh # # pstf - Convert groff's troff data into PS, then print. # Installed in /usr/local/libexec/pstf # exec grops</programlisting> <para>Åäþ åßíáé ç êáôá÷þñéóç ðïõ ÷ñåéÜæåôáé íá ðñïóèÝóïõìå óôï <filename>/etc/printcap</filename> ãéá íá åíåñãïðïéÞóïõìå ôï ößëôñï:</para> <programlisting>:tf=<filename>/usr/local/libexec/pstf</filename>:</programlisting> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá ðïõ ìáò åðéôñÝðåé íá åêôõðþóïõìå ðáëáéü êþäéêá ôçò FORTRAN. Åßíáé Ýíá ößëôñï êåéìÝíïõ ãéá FORTRAN ãéá ïðïéïíäÞðïôå åêôõðùôÞ ìðïñåß íá åêôõðþóåé êáôåõèåßáí áðëü êåßìåíï. Èá ôï åãêáôáóôÞóïõìå ãéá Ýíáí åêôõðùôÞ ðïõ ïíïìÜæåôáé <literal>teak</literal>:</para> <programlisting>#!/bin/sh # # hprf - FORTRAN text filter for LaserJet 3si: # Installed in /usr/local/libexec/hprf # printf "\033&k2G" && fpr && printf "\033&l0H" && exit 0 exit 2</programlisting> <para>Êáé èá ðñïóèÝóïõìå áõôÞ ôç ãñáììÞ óôï <filename>/etc/printcap</filename> ãéá íá åíåñãïðïéÞóïõìå ôï ößëôñï ãéá ôïí åêôõðùôÞ <literal>teak</literal>:</para> <programlisting>:rf=<filename>/usr/local/libexec/hprf</filename>:</programlisting> <para>Êáé Ýíá ôåëåõôáßï êÜðùò ðåñßðëïêï ðáñÜäåéãìá: Èá ðñïóèÝóïõìå Ýíá ößëôñï DVI óôïí åêôõðùôÞ LaserJet <literal>teak</literal> ðïõ áíáöÝñáìå ðñïçãïýìåíá. Êáôáñ÷Þí ôï åýêïëï ìÝñïò: áíáâáèìßæïõìå ôï <filename>/etc/printcap</filename> ìå ôçí ôïðïèåóßá üðïõ âñßóêåôáé ôï ößëôñï DVI:</para> <programlisting>:df=<filename>/usr/local/libexec/hpdf</filename>:</programlisting> <para>Ôþñá, ôï äýóêïëï ìÝñïò: ç êáôáóêåõÞ ôïõ ößëôñïõ. Èá ÷ñåéáóôïýìå Ýíá ðñüãñáììá ìåôáôñïðÞò áðü DVI-óå-LaserJet/PCL. Óôçí ÓõëëïãÞ ôùí Ports ôïõ &os; (äåßôå <link linkend="ports">ÓõëëïãÞ ôùí Ports</link>) õðÜñ÷åé Ýíá ôÝôïéï ðñüãñáììá: Ôï üíïìá ôïõ ðáêÝôïõ åßíáé <command>dvi2xx</command>. Ç åãêáôÜóôáóç ôïõ ðáêÝôïõ, ìáò ðáñÝ÷åé áêñéâþò ôï ðñüãñáììá ðïõ ÷ñåéáæüìáóôå, ôï <command>dvilj2p</command>, ôï ïðïßï ìåôáôñÝðåé ôïí êþäéêá DVI óå êþäéêá óõìâáôü ìå LaserJet IIp, LaserJet III, êáé LaserJet 2000.</para> <para>Ôï <command>dvilj2p</command> êÜíåé ôï ößëôñï <command>hpdf</command> áñêåôÜ ðåñßðëïêï áðü ôç óôéãìÞ ðïõ ôï <command>dvilj2p</command> äå ìðïñåß íá äéáâÜóåé áðü ôï standard input. ×ñåéÜæåôáé íá äïõëÝøåé ìå êÜðïéï üíïìá áñ÷åßïõ. Áêüìç ÷åéñüôåñá, ôï üíïìá ôïõ áñ÷åßïõ ðñÝðåé íá ôåëåéþíåé óå <filename>.dvi</filename> êé åðïìÝíùò ç ÷ñÞóç ôïõ <filename class="devicefile">/dev/fd/0</filename> ùò standard input åßíáé ðñïâëçìáôéêÞ. Èá ìðïñïýóáìå íá áíôéìåôùðßóïõìå ôï ðñüâëçìá äçìéïõñãþíôáò (óõìâïëéêïýò) äåóìïýò ìå êÜðïéï ðñïóùñéíü üíïìá áñ÷åßïõ (ðïõ íá ôåëåéþíåé óå <filename>.dvi</filename>) ãéá ôï <filename class="devicefile">/dev/fd/0</filename>, êáé ìå áõôü ôïí ôñüðï íá åîáíáãêÜóïõìå ôï <command>dvilj2p</command> íá äéáâÜæåé áðü ôï standard input.</para> <para>Áêüìç Ýíá ðñüâëçìá ðïõ ðñïêýðôåé åßíáé ôï ãåãïíüò ðùò äåí ìðïñïýìå íá ÷ñçóéìïðïéÞóïõìå ôï <filename class="directory">/tmp</filename> ãéá ôïí ðñïóùñéíü äåóìü. Ïé óõìâïëéêïß äåóìïß áíÞêïõí óôïí ÷ñÞóôç êáé óôçí ïìÜäá <username>bin</username>, åíþ ôï ößëôñï ôñÝ÷åé óáí ÷ñÞóôçò <username>daemon</username>. Åðßóçò óôïí êáôÜëïãï <filename class="directory">/tmp</filename> åßíáé åíåñãü ôï sticky bit. Ôï ößëôñï ìðïñåß íá äçìéïõñãÞóåé ôï äåóìü, áëëÜ äåí èá åßíáé éêáíü íá ôïí åîáëåßøåé êáé íá ôïí áöáéñÝóåé áðü ôç óôéãìÞ ðïõ áõôüò èá áíÞêåé óå äéáöïñåôéêü ÷ñÞóôç.</para> <para>Áíôßèåôá, ôï ößëôñï èá öôéÜîåé ôï óõìâïëéêü link óôïí ôñÝ÷ïíôá êáôÜëïãï, ðïõ åßíáé ï êáôÜëïãïò ðáñï÷Ýôåõóçò (spooling) (êáé ðïõ ðñïóäéïñßæåôáé áðü ôçí éêáíüôçôá <literal>sd</literal> óôï <filename>/etc/printcap</filename>). Áõôü åßíáé ôï ôÝëåéï ìÝñïò ãéá íá äïõëåýïõí ôá ößëôñá, åéäéêÜ ëüãù ôïõ üôé (ìåñéêÝò öïñÝò) õðÜñ÷åé ðåñéóóüôåñåò åëåýèåñïò ÷þñïò óôï äßóêï óôïí êáôÜëïãï ðáñï÷Ýôåõóçò (spool) áðü üôé óôï <filename class="directory">/tmp</filename>.</para> <para>Êáé ôåëéêÜ, éäïý ôï ößëôñï:</para> <programlisting>#!/bin/sh # # hpdf - Print DVI data on HP/PCL printer # Installed in /usr/local/libexec/hpdf PATH=/usr/local/bin:$PATH; export PATH # # Define a function to clean up our temporary files. These exist # in the current directory, which will be the spooling directory # for the printer. # cleanup() { rm -f hpdf$$.dvi } # # Define a function to handle fatal errors: print the given message # and exit 2. Exiting with 2 tells LPD to do not try to reprint the # job. # fatal() { echo "$@" 1>&2 cleanup exit 2 } # # If user removes the job, LPD will send SIGINT, so trap SIGINT # (and a few other signals) to clean up after ourselves. # trap cleanup 1 2 15 # # Make sure we are not colliding with any existing files. # cleanup # # Link the DVI input file to standard input (the file to print). # ln -s /dev/fd/0 hpdf$$.dvi || fatal "Cannot symlink /dev/fd/0" # # Make LF = CR+LF # printf "\033&k2G" || fatal "Cannot initialize printer" # # Convert and print. Return value from dvilj2p does not seem to be # reliable, so we ignore it. # dvilj2p -M1 -q -e- dfhp$$.dvi # # Clean up and exit # cleanup exit 0</programlisting> </sect4> <sect4 id="printing-advanced-autoconv"> <title>ÁõôïìáôïðïéçìÝíåò ÌåôáôñïðÝò: Ìßá ÅíáëëáêôéêÞ óôá Ößëôñá ÌåôáôñïðÞò</title> <para>¼ëá ôá ößëôñá ìåôáôñïðÞò ìðïñåß íá ðëçñïýí ôï ðåñéâÜëëïí åêôõðþóåùí óáò, áëëÜ õðï÷ñåþíïõí ôïí ÷ñÞóôç íá ðñïóäéïñßæåé (óôçí ãñáììÞ åíôïëþí ôïõ &man.lpr.1;) ðïéü áðü áõôÜ èá ÷ñçóéìïðïéçèåß. Áí ïé ÷ñÞóôåò óáò äåí åßíáé éäéáßôåñá åîïéêåéùìÝíïé ìå ôïõò Ç/Õ, ôï íá ðñÝðåé íá áíáöÝñïõí êÜèå öïñÜ Ýíá ößëôñï ðéèáíþò íá åßíáé åíï÷ëçôéêü. Åßíáé áêüìá ÷åéñüôåñï ùóôüóï íá ãßíåé ëáíèáóìÝíç åðéëïãÞ ößëôñïõ, ôï ïðïßï èá åêôåëåóôåß óå áêáôÜëëçëï ãéá áõôü ôýðï áñ÷åßïõ, êáé èá ðñïêáëÝóåé ôçí óðáôÜëç åêáôïíôÜäùí óåëßäùí ÷áñôéïý.</para> <para>Áíôß íá åãêáôáóôÞóåôå ïðïéïäÞðïôå ößëôñï ìåôáôñïðÞò, ìðïñåß íá èÝëåôå íá äïêéìÜóåôå íá Ý÷åôå Ýíá ößëôñï êåéìÝíïõ (áöïý åßíáé ôï ðñïåðéëåãìÝíï ößëôñï) ðïõ íá áíé÷íåýåé ôïí ôýðï ôïõ áñ÷åßïõ ðïõ Ý÷åé æçôçèåß íá åêôõðùèåß êáé íá åêôåëåß áõôüìáôá ôï êáôÜëëçëï ößëôñï ìåôáôñïðÞò. Åñãáëåßá óáí ôï <command>file</command> ìðïñïýí íá óáò âïçèÞóïõí. Ìðïñåß íá åßíáé äýóêïëï íá ðñïóäéïñéóôïýí ïé äéáöïñÝò ìåôáîý <emphasis>êÜðïéùí</emphasis> ôýðùí áñ÷åßùí—áëëÜ, öõóéêÜ, ìðïñåßôå ðÜíôá íá ðáñÝ÷åôå ößëôñá ìåôáôñïðÞò åéäéêÜ ãéá áõôÝò ôéò ðåñéðôþóåéò.</para> <indexterm><primary>apsfilter</primary></indexterm> <indexterm> <primary>printing</primary> <secondary>filters</secondary> <tertiary>apsfilter</tertiary> </indexterm> <para>Ç ÓõëëïãÞ ôùí Ports ôïõ &os; Ý÷åé Ýíá ößëôñï êåéìÝíïõ ðïõ åêôåëåß áõôüìáôåò ìåôáôñïðÝò êáé ïíïìÜæåôáé <command>apsfilter</command>. Ìðïñåß íá áíé÷íåýåé áðëü êåßìåíï, &postscript;, DVI êáé ó÷åäüí ïðïéïäÞðïôå ôýðï áñ÷åßïõ, íá åêôåëåß ôçí êáôÜëëçëç ìåôáôñïðÞ, êáé íá åêôõðþíåé.</para> </sect4> </sect3> <sect3 id="printing-advanced-of"> <title>Ößëôñá Åîüäïõ</title> <para>Ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> õðïóôçñßæåé Ýíáí áêüìç ôýðï ößëôñïõ ðïõ ßóùò íá ìçí Ý÷åôå åîåñåõíÞóåé áêüìá: ôï ößëôñï åîüäïõ. Ôï ößëôñï åîüäïõ ðñïïñßæåôáé ìüíï ãéá åêôýðùóç áðëïý êåéìÝíïõ, üðùò ôï ößëôñï êåéìÝíïõ, áëëÜ ìå ðïëëÝò áðëïðïéÞóåéò. ÅÜí ÷ñçóéìïðïéåßôå ößëôñï åîüäïõ áëëÜ ü÷é ößëôñï êåéìÝíïõ, ôüôå:</para> <itemizedlist> <listitem> <para>Ôï <application>LPD</application> îåêéíÜ Ýíá ößëôñï åîüäïõ ìüíï ìéá öïñÜ ãéá üëç ôçí åñãáóßá, áíôß Ýíá ÷ùñéóôü ãéá êÜèå áñ÷åßï ôçò åñãáóßáò.</para> </listitem> <listitem> <para>Ôï <application>LPD</application> äåí öñïíôßæåé íá áíáãíùñßóåé ôçí áñ÷Þ Þ ôï ôÝëïò ôùí áñ÷åßùí ìÝóá óôçí ßäéá ôçí åñãáóßá üôáí ÷ñçóéìïðïéåßôáé ôï ößëôñï åîüäïõ.</para> </listitem> <listitem> <para>Ôï <application>LPD</application> äåí ðåñíÜåé óôï ößëôñï ôá äåäïìÝíá åéóüäïõ ôïõ ÷ñÞóôç Þ ôï üíïìá ôïõ ìç÷áíÞìáôïò, åðïìÝíùò äåí ðñïïñßæåôáé ãéá êáôáìÝôñçóç åêôõðùìÝíùí óåëßäùí. Ôï ößëôñï åîüäïõ äÝ÷åôáé ìüíïò ôéò ðáñáìÝôñïõò:</para> <cmdsynopsis> <command>filter-name</command> <arg choice="plain">-w<replaceable>width</replaceable></arg> <arg choice="plain">-l<replaceable>length</replaceable></arg> </cmdsynopsis> <para>¼ðïõ ôï <replaceable>width</replaceable> åßíáé áðü ôçí éêáíüôçôá <literal>pw</literal> êáé ôï <replaceable>length</replaceable> åßíáé áðü ôçí éêáíüôçôá <literal>pl</literal> ãéá ôïí óõãêåêñéìÝíï åêôõðùôÞ.</para> </listitem> </itemizedlist> <para>Ìçí ðáñáóýñåóôå áðü ôçí áðëüôçôá ôïõ ößëôñïõ åîüäïõ. Áí åðéèõìåßôå êÜèå áñ÷åßï ìéáò åñãáóßáò íá îåêéíÜ óå ìéá íÝá óåëßäá, ôï ößëôñï åîüäïõ <emphasis>äåí êÜíåé ãéá óáò</emphasis>. ×ñçóéìïðïéÞóôå Ýíá ößëôñï êåéìÝíïõ (ãíùóôü êáé ùò ößëôñï åéóüäïõ). Äåßôå ôçí åíüôçôá <link linkend="printing-textfilter">ÅãêáôÜóôáóç Ößëôñïõ ÊåéìÝíïõ</link>. ÅðéðëÝïí, Ýíá ößëôñï åîüäïõ åßíáé óôçí ðñáãìáôéêüôçôá <emphasis>ðéï ðåñßðëïêï</emphasis> áöïý ðñÝðåé íá åîåôÜæåé ôçí ñïÞ ôùí byte ðïõ áðïóôÝëëåôáé ðñïò áõôü ãéá åéäéêïýò ÷áñáêôÞñåò flag êáé ðñÝðåé íá óôÝëíåé óÞìáôá óôïí åáõôü ôïõ ãéá ëïãáñéáóìü ôïõ <application>LPD</application>.</para> <para>Ùóôüóï, Ýíá ößëôñï åîüäïõ åßíáé <emphasis>áíáãêáßï</emphasis> áí èÝëåôå óåëßäåò êåöáëßäáò êáé ÷ñåéÜæåôáé íá óôÝëíåôå áêïëïõèßåò äéáöõãÞò Þ Üëëåò áêïëïõèßåò áñ÷éêïðïßçóçò ðñïêåéìÝíïõ íá ôéò åêôõðþóåôå. (ÁëëÜ åßíáé åðßóçò <emphasis>ìÜôáéï</emphasis> áí èÝëåôå íá ÷ñåþíåôå óåëßäåò êåöáëßäáò óôïí ëïãáñéáóìü ôïõ áíôßóôïé÷ïõ ÷ñÞóôç, áðü ôç óôéãìÞ ðïõ ôï <application>LPD</application> äåí óôÝëíåé êáìéÜ ðëçñïöïñßá ãéá ôïí ÷ñÞóôç Þ ôïí õðïëïãéóôÞ óôï ößëôñï åîüäïõ.)</para> <para>Ôï <application>LPD</application> åðéôñÝðåé ôçí óõíýðáñîç åíüò ößëôñïõ åîüäïõ êáé Üëëùí ößëôñùí (êåéìÝíïõ Þ äéáöïñåôéêïý ôýðïõ) óôïí ßäéï åêôõðùôÞ. Óå áõôÝò ôéò ðåñéðôþóåéò, ôï <application>LPD</application> èá îåêéíÜ ôï ößëôñï åîüäïõ ìüíï ãéá ôçí åêôýðùóç ôçò óåëßäáò êåöáëßäáò (äåßôå ôçí åíüôçôá <link linkend="printing-advanced-header-pages">Óåëßäåò Êåöáëßäáò</link>). Ôï <application>LPD</application> èá áíáìÝíåé ôï ößëôñï åîüäïõ íá <emphasis>óôáìáôÞóåé áðü ìüíï ôïõ</emphasis> üôáí ôïõ óôåßëåé äýï bytes: Ýíá ASCII 031 áêïëïõèïýìåíï áðü Ýíá ASCII 001. ¼ôáí Ýíá ößëôñï åîüäïõ âëÝðåé áõôÜ ôá äýï bytes (031, 001), èá ðñÝðåé íá óôáìáôÜ óôÝëíïíôáò óÞìá <literal>SIGSTOP</literal> óôïí åáõôü ôïõ. ¼ôáí ôï <application>LPD</application> ïëïêëçñþóåé ôçí åêôÝëåóç êáé ôùí õðïëïßðùí ößëôñùí, èá åðáíåêêéíÞóåé ôï ößëôñï åîüäïõ óôÝëíïíôáò ôïõ ôï óÞìá <literal>SIGCONT</literal>.</para> <para>Áí õðÜñ÷åé ößëôñï åîüäïõ, áëëÜ <emphasis>äåí õðÜñ÷åé</emphasis> ößëôñï êåéìÝíïõ êáé ôï <application>LPD</application> äïõëåýåé óå åñãáóßá áðëïý êåéìÝíïõ, ôï <application>LPD</application> ÷ñçóéìïðïéåß ôï ößëôñï åîüäïõ ãéá ôçí åêôÝëåóç ôçò åñãáóßáò. ¼ðùò áíáöÝñáìå êáé ðáñáðÜíù, ôï ößëôñï åîüäïõ èá åêôõðþóåé êÜèå áñ÷åßï åñãáóßáò óôç óåéñÜ, äß÷ùò äõíáôüôçôá ðáñåìâïëÞò êåíÞò óåëßäáò Þ Üëëùí ñõèìßóåùí óôçí ôñïöïäïóßá ÷áñôéïý, êáé ðéèáíþò áõôü íá <emphasis>ìçí</emphasis> åßíáé åðéèõìçôü. Ó÷åäüí óå üëåò ôéò ðåñéðôþóåéò, èá ÷ñåéáóôåßôå Ýíá ößëôñï êåéìÝíïõ.</para> <para>Ôï ðñüãñáììá <command>lpf</command>, ðïõ áíáöÝñáìå íùñßôåñá óáí ößëôñï êåéìÝíïõ, ìðïñåß íá ôñÝîåé êáé óáí ößëôñï åîüäïõ. Áí ÷ñåéÜæåóôå Ýíá ãñÞãïñï ößëôñï åîüäïõ áëëÜ äåí èÝëåôå íá ãñÜøåôå ôïí êþäéêá áíß÷íåõóçò ôùí byte êáé ôïí êþäéêá áðïóôïëÞò óçìÜôùí, äïêéìÜóôå ôï <command>lpf</command>. Ìðïñåßôå åðßóçò íá ÷ñçóéìïðïéÞóåôå ôï <command>lpf</command> ìÝóá áðü Ýíá shell script ôï ïðïßï èá ÷åéñßæåôáé ôïõò êùäéêïýò áñ÷éêïðïßçóçò ðïõ ßóùò íá ÷ñåéÜæåôáé ï åêôõðùôÞò.</para> </sect3> <sect3 id="printing-advanced-lpf"> <title><command>lpf</command>: Ýíá Ößëôñï ÊåéìÝíïõ</title> <para>Ôï ðñüãñáììá <filename>/usr/libexec/lpr/lpf</filename> ðïõ ðáñÝ÷åôáé ìå ôç äéáíïìÞ åêôåëÝóéìùí ôïõ &os; åßíáé Ýíá ößëôñï êåéìÝíïõ (ößëôñï åéóüäïõ) ðïõ ìðïñåß íá ðáñáãñáöïðïéåß ôçí Ýîïäï (åñãáóßåò ðïõ Ý÷ïõí óôáëåß ìå <command>lpr <option>-i</option></command>), íá åðéôñÝðåé ôçí äéÝëåõóç literal ÷áñáêôÞñùí (åñãáóßåò ðïõ Ý÷ïõí óôáëåß ìå <command>lpr <option>-l</option></command>), íá ñõèìßæåé ôçí èÝóç åêôýðùóçò ìå ôç ÷ñÞóç ÷áñáêôÞñùí backspace êáé tab óôçí åñãáóßá, êáé íá êÜíåé êáôáìÝôñçóç ôùí åêôõðùìÝíùí óåëßäùí. Åðßóçò ìðïñåß íá åíåñãåß êáé óáí ößëôñï åîüäïõ.</para> <para>Ôï <command>lpf</command> åßíáé êáôÜëëçëï ãéá äéÜöïñá ðåñéâÜëëïíôá åêôýðùóçò. Áí êáé äåí Ý÷åé äõíáôüôçôá áðïóôïëÞò áêïëïõèéþí áñ÷éêïðïßçóçò óôïí åêôõðùôÞ, åßíáé åýêïëï íá ãñÜøåôå Ýíá shell script ãéá íá êÜíåôå ôçí áðáñáßôçôç áñ÷éêïðïßçóç êáé íá åêôåëÝóåôå Ýðåéôá ôï <command>lpf</command>.</para> <indexterm><primary>êáôáìÝôñçóç óåëßäùí</primary></indexterm> <indexterm> <primary>êáôáìÝôñçóç</primary> <secondary>åêôõðùôÞò</secondary> </indexterm> <para>Ãéá íá êÜíåé óùóôÜ êáôáìÝôñçóç óåëßäùí, ôï <command>lpf</command> ÷ñåéÜæåôáé êáôÜëëçëåò ôéìÝò ãéá ôéò éêáíüôçôåò <literal>pw</literal> êáé <literal>pl</literal> óôï áñ÷åßï <filename>/etc/printcap</filename>. ×ñçóéìïðïéåß áõôÝò ôéò ôéìÝò ãéá íá ðñïóäéïñßóåé ðüóï êåßìåíï ìðïñåß íá ÷ùñÝóåé óå ìßá óåëßäá êáé áðü ðüóåò óåëßäåò áðïôåëåßôáé ç åñãáóßá ôïõ ÷ñÞóôç. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôçí êáôáìÝôñçóç óåëßäùí, óõìâïõëåõôåßôå ôçí <link linkend="printing-advanced-acct">ÊáôáìÝôñçóç ×ñÞóçò Åêôõðùôþí</link>.</para> </sect3> </sect2> <sect2 id="printing-advanced-header-pages"> <title>Óåëßäåò Êåöáëßäáò</title> <para>Áí Ý÷åôå <emphasis>áñêåôïýò</emphasis> ÷ñÞóôåò, êáé üëïé ôïõò ÷ñçóéìïðïéïýí äéÜöïñïõò åêôõðùôÝò, ôüôå ðéèáíþò íá èåùñåßôå ôéò <emphasis>óåëßäåò êåöáëßäáò</emphasis> ùò áíáãêáßï êáêü.</para> <indexterm> <primary>óåëßäåò banner</primary> <see>óåëßäåò êåöáëßäáò</see> </indexterm> <indexterm><primary>óåëßäåò êåöáëßäáò</primary></indexterm> <para>Ïé óåëßäåò êåöáëßäáò, ãíùóôÝò åðßóçò êáé ùò <emphasis>banner</emphasis> Þ <emphasis>óåëßäåò burst</emphasis> áíáãíùñßæïõí óå ðïéïí áíÞêïõí ïé åñãáóßåò ìåôÜ ôçí åêôýðùóç ôïõò. ÓõíÞèùò ôõðþíïíôáé ìå ìåãÜëá, Ýíôïíá ãñÜììáôá, êáé ßóùò ìå äéáêïóìçôéêÜ ðåñéãñÜììáôá, þóôå óå ìéá óôïßâá åêôõðþóåùí íá îå÷ùñßæïõí áðü ôá ðñáãìáôéêÜ Ýããñáöá åñãáóéþí ôùí ÷ñçóôþí. ÅðéôñÝðïõí Ýôóé óôïõò ÷ñÞóôåò íá âñßóêïõí ãñÞãïñá ôéò åñãáóßåò ôïõò. Ôï ðñïöáíÝò ìåéïíÝêôçìá óå ìéá óåëßäá êåöáëßäáò åßíáé ðùò ðñüêåéôáé íá åêôõðùèåß ìéá áêüìá óåëßäá ãéá êÜèå ìßá åñãáóßá. Ç åöÞìåñç ÷ñçóéìüôçôá ôïõò äéáñêåß ëßãá ëåðôÜ, êáé ï ðñïïñéóìüò ôïõò åßíáé ï êÜäïò á÷ñÞóôùí/áíáêýêëùóçò. (ÐáñáôçñÞóôå ðùò ïé óåëßäåò êåöáëßäáò åßíáé áíÜ åñãáóßá, êáé ü÷é áíÜ áñ÷åßï óå ìéá åñãáóßá, åðïìÝíùò ôï á÷ñçóôåõìÝíï ÷áñôß ßóùò íá ìçí åßíáé ôüóï ðïëý).</para> <para>Ôï óýóôçìá <application>LPD</application> ìðïñåß íá ðáñÝ÷åé áõôüìáôá óåëßäåò êåöáëßäáò ãéá ôéò åêôõðþóåéò óáò, <emphasis>áí</emphasis> ï åêôõðùôÞò óáò ìðïñåß íá åêôõðþóåé Üìåóá áðëü êåßìåíï. Áí Ý÷åôå åêôõðùôÞ &postscript;, èá ÷ñåéáóôåßôå Ýíá åîùôåñéêü ðñüãñáììá ãéá íá äçìéïõñãÞóåôå ôçí óåëßäá êåöáëßäáò. Äåßôå ôï <link linkend="printing-advanced-header-pages-ps">Óåëßäåò Êåöáëßäáò óå ÅêôõðùôÝò &postscript;</link>.</para> <sect3 id="printing-advanced-header-pages-enabling"> <title>Åíåñãïðïßçóç Óåëßäùí Êåöáëßäáò</title> <para>Óôçí åíüôçôá <link linkend="printing-simple">ÂáóéêÝò Ñõèìßóåéò Åêôõðùôþí</link>, áðåíåñãïðïéÞóáìå ôéò óåëßäåò êåöáëßäáò ìå ôçí êáôá÷þñéóç <literal>sh</literal> (óçìáßíåé <quote>suppress header</quote>) óôï áñ÷åßï <filename>/etc/printcap</filename>. Ãéá íá åíåñãïðïéÞóåôå ôéò óåëßäåò êåöáëßäáò ãéá êÜðïéïí åêôõðùôÞ, áðëÜ áöáéñÝóôå ôçí éêáíüôçôá <literal>sh</literal>.</para> <para>Áêïýãåôáé åýêïëï, äåí íïìßæåôå;</para> <para>¸ôóé åßíáé. <emphasis>ºóùò</emphasis> ÷ñåéáóôåß íá ðáñÝ÷åôå Ýíá ößëôñï åîüäïõ ãéá íá óôåßëåôå åíôïëÝò áñ÷éêïðïßçóçò óôïí åêôõðùôÞ. Åäþ åßíáé Ýíá ðáñÜäåéãìá ößëôñïõ åîüäïõ ãéá åêôõðùôÝò óõìâáôïýò ìå ôïí ôýðï PCL ôçò Hewlett Packard:</para> <programlisting>#!/bin/sh # # hpof - Output filter for Hewlett Packard PCL-compatible printers # Installed in /usr/local/libexec/hpof printf "\033&k2G" || exit 2 exec /usr/libexec/lpr/lpf</programlisting> <para>Ðñïóäéïñßóôå ôçí äéáäñïìÞ ðñïò ôï ößëôñï åîüäïõ óôçí éêáíüôçôá <literal>of</literal>. Äåßôå ôçí åíüôçôá <link linkend="printing-advanced-of">Ößëôñá Åîüäïõ</link> ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.</para> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá áñ÷åßïõ <filename>/etc/printcap</filename> ãéá ôïí åêôõðùôÞ <literal>teak</literal> áðü ôï ðñïçãïýìåíï ðáñÜäåéãìá. ÅíåñãïðïéÞóáìå ôéò óåëßäåò êåöáëßäáò êáé ðñïóèÝóáìå ôï ðáñáðÜíù ößëôñï åîüäïõ:</para> <programlisting># # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:sd=<filename class="directory">/var/spool/lpd/teak</filename>:mx#0:\ :if=<filename>/usr/local/libexec/hpif</filename>:\ :vf=<filename>/usr/local/libexec/hpvf</filename>:\ :of=<filename>/usr/local/libexec/hpof</filename>:</programlisting> <para>Ôþñá, üôáí ïé ÷ñÞóôåò åêôõðþíïõí åñãáóßåò óôïí <literal>teak</literal>, èá ðáßñíïõí êáé ìßá óåëßäá êåöáëßäáò áíÜ åñãáóßá. Áí ïé ÷ñÞóôåò èÝëïõí íá îïäåýïõí ÷ñüíï øÜ÷íïíôáò ãéá ôéò åêôõðþóåéò ôïõò, ìðïñïýí íá ðáñåìðïäßóïõí ôéò óåëßäåò êåöáëßäáò áðïóôÝëëïíôáò ôéò åñãáóßåò ôïõò ìå <command>lpr <option>-h</option></command>. Äåßôå ôçí åíüôçôá <link linkend="printing-lpr-options-misc">ÅðéëïãÝò Óåëßäùí Êåöáëßäáò</link> ãéá ðåñéóóüôåñåò åðéëïãÝò ôïõ &man.lpr.1;.</para> <note> <para>Ôï <application>LPD</application> óôÝëíåé ôï ÷áñáêôÞñá áëëáãÞò óåëßäáò (form feed) áìÝóùò ìåôÜ ôç óåëßäá êåöáëßäáò. Áí ï åêôõðùôÞò óáò ÷ñçóéìïðïéåß äéáöïñåôéêü ÷áñáêôÞñá Þ áêïëïõèßá ÷áñáêôÞñùí ãéá ôçí áëëáãÞ óåëßäáò, ðñïóäéïñßóôå ôá ìå ôçí éêáíüôçôá <literal>ff</literal> óôï áñ÷åßï <filename>/etc/printcap</filename>.</para> </note> </sect3> <sect3 id="printing-advanced-header-pages-controlling"> <title>¸ëåã÷ïò Óåëßäùí Êåöáëßäáò </title> <para>ÌåôÜ ôçí åíåñãïðïßçóç ôùí óåëßäùí êåöáëßäáò, ôï <application>LPD</application> èá ðáñÜãåé ìßá <emphasis>åðéìÞêç êåöáëßäá</emphasis>, ìßá ïëüêëçñç óåëßäá ìå ìåãÜëá ãñÜììáôá ðïõ ðñïóäéïñßæåé ôïí ÷ñÞóôç, ôïí õðïëïãéóôÞ (host), êáé ôçí åñãáóßá. Åäþ åßíáé Ýíá ðáñÜäåéãìá (ç <username>kelly</username> åêôýðùóå ôçí åñãáóßá ìå üíïìá <quote>outline</quote> áðü ôïí õðïëïãéóôÞ <hostid>rose</hostid>):</para> <screen> k ll ll k l l k l l k k eeee l l y y k k e e l l y y k k eeeeee l l y y kk k e l l y y k k e e l l y yy k k eeee lll lll yyy y y y y yyyy ll t l i t l oooo u u ttttt l ii n nnn eeee o o u u t l i nn n e e o o u u t l i n n eeeeee o o u u t l i n n e o o u uu t t l i n n e e oooo uuu u tt lll iii n n eeee r rrr oooo ssss eeee rr r o o s s e e r o o ss eeeeee r o o ss e r o o s s e e r oooo ssss eeee Job: outline Date: Sun Sep 17 11:04:58 1995</screen> <para>Ôï <application>LPD</application> ðñïóèÝôåé ìéá åíôïëÞ áëëáãÞò óåëßäáò (form feed) ìåôÜ áðü áõôü ôï êåßìåíï Ýôóé þóôå ç åñãáóßá íá îåêéíÞóåé óå íÝá óåëßäá (åêôüò áí Ý÷åôå ðñïóäéïñßóåé ôçí éêáíüôçôá <literal>sf</literal> (suppress form feeds) ãéá ôïí åêôõðùôÞ óôï áñ÷åßï <filename>/etc/printcap</filename>).</para> <para>Áí ðñïôéìÜôå, ôï <application>LPD</application> ìðïñåß íá öôéÜîåé ìéá <emphasis>ìéêñüôåñïõ ìÞêïõò êåöáëßäá</emphasis>. Ðñïóäéïñßóôå <literal>sb</literal> (short banner) óôï áñ÷åßï <filename>/etc/printcap</filename>. Ç óåëßäá êåöáëßäáò èá ìïéÜæåé óáí áõôÞ:</para> <screen>rose:kelly Job: outline Date: Sun Sep 17 11:07:51 1995</screen> <para>Ôï <application>LPD</application> ôõðþíåé (áðü ðñïåðéëïãÞ) ðñþôá ôçí óåëßäá êåöáëßäáò, êáé ìåôÜ ôçí åñãáóßá. Ãéá íá áíôéóôñÝøåôå ôçí óåéñÜ, ÷ñçóéìïðïéÞóôå ôçí éêáíüôçôá <literal>hl</literal> (header last) óôï áñ÷åßï <filename>/etc/printcap</filename>.</para> </sect3> <sect3 id="printing-advanced-header-pages-accounting"> <title>ÊáôáìÝôñçóç ìå Óåëßäåò Êåöáëßäáò</title> <para>Ç ÷ñÞóç ôùí ðñïåãêáôåóôçìÝíùí óåëßäùí êåöáëßäáò ôïõ <application>LPD</application> ïõóéáóôéêÜ õðï÷ñåþíïõí ôçí ôÞñçóç ôïõ ðáñáêÜôù êáíüíá üôáí êÜíïõìå êáôáìÝôñçóç ÷ñÞóçò ôïõ åêôõðùôÞ: Ïé óåëßäåò êåöáëßäáò ðñÝðåé íá äéáôßèåíôáé <emphasis>åëåýèåñá (äß÷ùò ÷ñÝùóç)</emphasis>.</para> <para>Ãéáôß;</para> <para>Äéüôé ôï ößëôñï åîüäïõ åßíáé ôï ìïíáäéêü åîùôåñéêü ðñüãñáììá ðïõ Ý÷åé ôïí Ýëåã÷ï óôçí åêôýðùóç ôçò êåöáëßäáò êáé èá ìðïñïýóå íá êÜíåé êáôáìÝôñçóç, áëëÜ ùóôüóï äåí ðáñÝ÷åé êáìßá ðëçñïöïñßá ãéá <emphasis>ôïí ÷ñÞóôç Þ ôïí õðïëïãéóôÞ</emphasis> Þ êÜðïéï Üëëï áñ÷åßï êáôáìÝôñçóçò, åðïìÝíùò äåí ãíùñßæåé óå ðïéüí íá áðïäþóåé ôçí ÷ñÞóç ôïõ åêôõðùôÞ. Äåí áñêåß áðëÜ íá <quote>ðñïóèÝóåôå ìßá áêüìç óåëßäá óôçí êáôáìÝôñçóç</quote> ôñïðïðïéþíôáò ôï ößëôñï êåéìÝíïõ Þ ïðïéïäÞðïôå Üëëï ößëôñï ìåôáôñïðÞò (ôï ïðïßï äéáèÝôåé ôéò ðëçñïöïñßåò ÷ñÞóôç êáé õðïëïãéóôÞ), áðü ôç óôéãìÞ ðïõ ïé ÷ñÞóôåò Ý÷ïõí ôçí äõíáôüôçôá íá ðáñåìðïäßóïõí ôéò óåëßäåò êåöáëßäáò ìå <command>lpr <option>-h</option></command>. Èá ìðïñïýóáí ðÜëé íá ÷ñåùèïýí ãéá óåëßäåò êåöáëßäáò ðïõ äåí åêôýðùóáí. ÂáóéêÜ, ç <command>lpr <option>-h</option></command> èá åßíáé ç ðñïôéìþìåíç åðéëïãÞ óå Ýíá ðåñéâÜëëïí ðïõ ïé ÷ñÞóôåò Ý÷ïõí ïéêïëïãéêÞ óõíåßäçóç, áëëÜ äåí ìðïñåßôå ðñáãìáôéêÜ íá ðáñïôñýíåôå ïðïéïíäÞðïôå íá ôç ÷ñçóéìïðïéÞóåé.</para> <para><emphasis>Äåí åßíáé áñêåôü</emphasis> áðëÜ êÜèå ößëôñï óáò íá äçìéïõñãåß ôç äéêéÜ ôïõ óåëßäá êåöáëßäáò (Ýôóé þóôå íá ìðïñåß íá ÷ñåþíåé ìå áõôü ôïí ôñüðï). Áí ïé ÷ñÞóôåò åðéèõìïýí ôçí åðéëïãÞ ðáñåìðüäéóçò ôùí óåëßäùí êåöáëßäáò ìå <command>lpr <option>-h</option></command>, èá óõíå÷ßóïõí íá ôéò ðáñáëáìâÜíïõí - êáé íá ÷ñåþíïíôáé ãéá áõôÝò - áöïý ôï <application>LPD</application> äåí Ý÷åé äõíáôüôçôá íá ðåñÜóåé óå ïðïéïäÞðïôå ößëôñï ôçí åðéëïãÞ <option>-h</option>.</para> <para>ÅðïìÝíùò, ðïéåò åðéëïãÝò Ý÷åôå;</para> <para>Ìðïñåßôå:</para> <itemizedlist> <listitem> <para>Íá áðïäå÷èåßôå ôçí õðüäåéîç ôïõ <application>LPD</application> êáé íá ðáñÝ÷åôå ôéò óåëßäåò êåöáëßäáò åëåýèåñá.</para> </listitem> <listitem> <para>Íá åãêáôáóôÞóåôå åíáëëáêôéêÝò ëýóåéò áíôß ôïõ <application>LPD</application>, üðùò ôï <application>LPRng</application>. Ç åíüôçôá <link linkend="printing-lpd-alternatives">ÅíáëëáêôéêÝò Ëýóåéò ãéá ôïí ÓôÜíôáñ Spooler</link> äßíåé ðåñéóóüôåñåò ðëçñïöïñßåò ãéá Üëëåò åöáñìïãÝò ðáñï÷Ýôåõóçò ðïõ ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå áíôß ãéá ôï <application>LPD</application>.</para> </listitem> <listitem> <para>Íá ãñÜøåôå Ýíá <emphasis>Ýîõðíï</emphasis> ößëôñï åîüäïõ. Õðü êáíïíéêÝò óõíèÞêåò, Ýíá "ößëôñï åîüäïõ" äåí êÜíåé ôßðïôå ðáñáðÜíù áðü ôçí áñ÷éêïðïßçóç åíüò åêôõðùôÞ Þ ìåñéêÝò áðëÝò ìåôáôñïðÝò ÷áñáêôÞñùí. Åßíáé êáôÜëëçëï ãéá óåëßäåò êåöáëßäáò êáé ãéá åñãáóßåò áðëïý êåéìÝíïõ (üôáí äåí õðÜñ÷åé ößëôñï (åéóüäïõ) êåéìÝíïõ). ÁëëÜ áí õðÜñ÷åé ößëôñï êåéìÝíïõ ãéá åñãáóßåò áðëïý êåéìÝíïõ, ôüôå ôï <application>LPD</application> èá åíåñãïðïéåß ôï ößëôñï åîüäïõ ìüíï ãéá ôéò óåëßäåò êåöáëßäáò. Êáé ôï ößëôñï åîüäïõ ìðïñåß íá áíáëýåé ôï êåßìåíï ôçò óåëßäáò êåöáëßäáò ðïõ äçìéïõñãåß ôï <application>LPD</application> ãéá íá ðñïóäéïñßæåé ôïí ÷ñÞóôç êáé ôïí õðïëïãéóôÞ, þóôå íá ÷ñåþíåé ôéò óåëßäåò êåöáëßäáò. Ôï ìüíï åðéðëÝïí ðñüâëçìá ìå áõôÞ ôç ìÝèïäï åßíáé ðùò ôï ößëôñï åîüäïõ åîáêïëïõèåß íá ìç ãíùñßæåé ðïéü áñ÷åßï êáôáìÝôñçóçò íá ÷ñçóéìïðïéÞóåé (äåí ôïõ Ý÷åé äïèåß ôï üíïìá ôïõ áñ÷åßïõ áðü ôçí éêáíüôçôá <literal>af</literal>), áëëÜ áí ôï üíïìá ôïõ áñ÷åßïõ óáò åßíáé ãíùóôü, ìðïñåßôå íá ôï åíóùìáôþóåôå áðåõèåßáò óôïí êþäéêá ôïõ ößëôñïõ åîüäïõ. Ãéá íá äéåõêïëýíåôå ôçí äéáäéêáóßá áíÜëõóçò, ÷ñçóéìïðïéÞóôå ôçí éêáíüôçôá <literal>sh</literal> (short header) óôï <filename>/etc/printcap</filename>. ºóùò ðÜëé üëá áõôÜ íá åßíáé õðåñâïëéêÜ êïðéáóôéêÜ, åíþ åßíáé óßãïõñï ðùò ïé ÷ñÞóôåò èá åêôéìÞóïõí ôïí ãåííáéüäùñï äéá÷åéñéóôÞ óõóôÞìáôïò ðïõ åðéôñÝðåé åëåýèåñá ôéò óåëßäåò êåöáëßäáò.</para> </listitem> </itemizedlist> </sect3> <sect3 id="printing-advanced-header-pages-ps"> <title>Óåëßäåò Êåöáëßäáò óå ÅêôõðùôÝò &postscript;</title> <para>¼ðùò ðåñéãñÜøáìå ðáñáðÜíù, ôï <application>LPD</application> ìðïñåß íá äçìéïõñãÞóåé ìßá óåëßäá êåöáëßäáò áðëïý êåéìÝíïõ, êáôÜëëçëç ãéá ðïëëïýò åêôõðùôÝò. Ïé åêôõðùôÝò &postscript;, öõóéêÜ, äåí ìðïñïýí íá ôõðþóïõí êáôåõèåßáí áðëü êåßìåíï, åðïìÝíùò áõôÞ ç äõíáôüôçôá ôïõ <application>LPD</application> ãéá ôéò óåëßäåò êåöáëßäáò åßíáé Ü÷ñçóôç óå áõôÞ ôçí ðåñßðôùóç.</para> <para>¸íáò ðñïöáíÞò ôñüðïò íá ðáñÝ÷ïíôáé óåëßäåò êåöáëßäáò åßíáé íá äçìéïõñãïýíôáé áðü êÜèå ößëôñï ìåôáôñïðÞò êáé ôï ößëôñï êåéìÝíïõ. Ôá ößëôñá èá ðñÝðåé íá äÝ÷ïíôáé ùò ðáñáìÝôñïõò ôï üíïìá ôïõ ÷ñÞóôç êáé ôïõ õðïëïãéóôÞ þóôå íá äçìéïõñãïýí ôçí êáôÜëëçëç óåëßäá êåöáëßäáò. Ôï ìåéïíÝêôçìá áõôÞò ôçò ìåèüäïõ åßíáé ðùò ïé ÷ñÞóôåò èá åêôõðþíïõí ðÜíôá óåëßäá êåöáëßäáò, áêüìç êé áí áðïóôÝëëïõí ôçí åñãáóßá ôïõò ìå <command>lpr <option>-h</option></command>.</para> <para>ÅðéôñÝøôå ìáò íá åîåñåõíÞóïõìå áõôÞ ôç ìÝèïäï. Ôï áêüëïõèï script äÝ÷åôáé ôñåéò ðáñáìÝôñïõò (ôï üíïìá ÷ñÞóôç - login name, ôï üíïìá ôïõ õðïëïãéóôÞ - host name, êáé ôï üíïìá åñãáóßáò) êáé äçìéïõñãåß ìßá áðëÞ óåëßäá êåöáëßäáò &postscript;:</para> <programlisting>#!/bin/sh # # make-ps-header - make a PostScript header page on stdout # Installed in /usr/local/libexec/make-ps-header # # # These are PostScript units (72 to the inch). Modify for A4 or # whatever size paper you are using: # page_width=612 page_height=792 border=72 # # Check arguments # if [ $# -ne 3 ]; then echo "Usage: `basename $0` <user> <host> <job>" 1>&2 exit 1 fi # # Save these, mostly for readability in the PostScript, below. # user=$1 host=$2 job=$3 date=`date` # # Send the PostScript code to stdout. # exec cat <<EOF %!PS % % Make sure we do not interfere with user's job that will follow % save % % Make a thick, unpleasant border around the edge of the paper. % $border $border moveto $page_width $border 2 mul sub 0 rlineto 0 $page_height $border 2 mul sub rlineto currentscreen 3 -1 roll pop 100 3 1 roll setscreen $border 2 mul $page_width sub 0 rlineto closepath 0.8 setgray 10 setlinewidth stroke 0 setgray % % Display user's login name, nice and large and prominent % /Helvetica-Bold findfont 64 scalefont setfont $page_width ($user) stringwidth pop sub 2 div $page_height 200 sub moveto ($user) show % % Now show the boring particulars % /Helvetica findfont 14 scalefont setfont /y 200 def [ (Job:) (Host:) (Date:) ] { 200 y moveto show /y y 18 sub def } forall /Helvetica-Bold findfont 14 scalefont setfont /y 200 def [ ($job) ($host) ($date) ] { 270 y moveto show /y y 18 sub def } forall % % That is it % restore showpage EOF</programlisting> <para>Ôþñá, êáèÝíá áðü ôá ößëôñá ìåôáôñïðÞò êáé ôï ößëôñï êåéìÝíïõ ìðïñïýí íá êáëÝóïõí ôï script, ðñþôá ãéá íá äçìéïõñãÞóïõí ôç óåëßäá êåöáëßäáò, êáé Ýðåéôá ãéá íá åêôõðþóïõí ôçí åñãáóßá ôïõ ÷ñÞóôç. Áêïëïõèåß ôï ößëôñï ìåôáôñïðÞò DVI ðïõ äåßîáìå íùñßôåñá, åéäéêÜ äéáìïñöùìÝíï ãéá íá öôéÜîïõìå ìéá óåëßäá êåöáëßäáò:</para> <programlisting>#!/bin/sh # # psdf - DVI to PostScript printer filter # Installed in /usr/local/libexec/psdf # # Invoked by lpd when user runs lpr -d # orig_args="$@" fail() { echo "$@" 1>&2 exit 2 } while getopts "x:y:n:h:" option; do case $option in x|y) ;; # Ignore n) login=$OPTARG ;; h) host=$OPTARG ;; *) echo "LPD started `basename $0` wrong." 1>&2 exit 2 ;; esac done [ "$login" ] || fail "No login name" [ "$host" ] || fail "No host name" ( /usr/local/libexec/make-ps-header $login $host "DVI File" /usr/local/bin/dvips -f ) | eval /usr/local/libexec/lprps $orig_args</programlisting> <para>ÐáñáôçñÞóôå ðùò ôï ößëôñï ðñÝðåé íá áíáëýóåé ôçí ëßóôá ðáñáìÝôñùí ãéá íá ðñïóäéïñßóåé ôï üíïìá ÷ñÞóôç êáé õðïëïãéóôÞ. Ç ìÝèïäïò áíÜëõóçò åßíáé ðáñüìïéá êáé ãéá ôá õðüëïéðá ößëôñá ìåôáôñïðÞò. Ôï ößëôñï êåéìÝíïõ ðáßñíåé Ýíá åëáöñþò äéáöïñåôéêü óåô ðáñáìÝôñùí, (äåßôå ôçí åíüôçôá <link linkend="printing-advanced-filters">Ðùò äïõëåýïõí ôá Ößëôñá</link>).</para> <para>¼ðùò áíáöÝñáìå ðñïçãïýìåíá, ï ðáñáðÜíù ó÷åäéáóìüò, áí êáé ðñáãìáôéêÜ áðëüò, áðåíåñãïðïéåß ôçí åðéëïãÞ <quote>ðáñåìðüäéóçò óåëßäùí êåöáëßäáò</quote> (ôçí åðéëïãÞ <option>-h</option>) ôïõ <command>lpr</command>. Áí ïé ÷ñÞóôåò åðéèõìïýí íá óþóïõí Ýíá äÝíôñï (Þ ëßãá ÷ñÞìáôá, áí ÷ñåþíåôå ôéò óåëßäåò êåöáëßäáò), äåí èá õðÜñ÷åé ôñüðïò ãéá íá ãßíåé áõôü, áðü ôç óôéãìÞ ðïõ êÜèå åêôýðùóç ìÝóù ôùí ößëôñùí èá óõíïäåýåôáé êáé áðü ìéá óåëßäá êåöáëßäáò ãéá êÜèå åñãáóßá.</para> <para>Ãéá íá åðéôñÝøåôå óôïõò ÷ñÞóôåò íá áðåíåñãïðïéïýí ôéò óåëßäåò êåöáëßäáò áíÜ åñãáóßá, èá ðñÝðåé íá ÷ñçóéìïðïéÞóåôå ôï ôÝ÷íáóìá ðïõ ðáñïõóéÜóáìå óôçí åíüôçôá <link linkend="printing-advanced-header-pages-accounting">ÊáôáìÝôñçóç ìå Óåëßäåò Êåöáëßäáò</link>: äçëáäÞ íá ãñÜøåôå Ýíá ößëôñï åîüäïõ ðïõ íá áíáëýåé ôçí óåëßäá êåöáëßäáò ðïõ äçìéïõñãåßôáé áðü ôï <application>LPD</application> êáé íá êáôáóêåõÜæåé ìéá &postscript; Ýêäïóç. Áí ï ÷ñÞóôçò óôåßëåé ìéá åñãáóßá ìå <command>lpr <option>-h</option></command>, ôüôå ïýôå ôï <application>LPD</application>, ïýôå ôï ößëôñï åîüäïõ èá öôéÜîïõí óåëßäá êåöáëßäáò. Óå üëåò ôéò Üëëåò ðåñéðôþóåéò, ôï ößëôñï åîüäïõ èá äéáâÜæåé ôï êåßìåíï áðü ôï <application>LPD</application> êáé èá óôÝëíåé ôïí êáôÜëëçëï êþäéêá &postscript; óôïí åêôõðùôÞ þóôå íá åêôõðþíåôáé ç óåëßäá êåöáëßäáò.</para> <para>Áí Ý÷åôå åêôõðùôÞ &postscript; ìå óåéñéáêÞ óýíäåóç, ìðïñåßôå íá êÜíåôå ÷ñÞóç ôçò <command>lprps</command>, ç ïðïßá óõíïäåýåôáé áðü Ýíá ößëôñï åîüäïõ, ôï <command>psof</command>, ôï ïðïßá êÜíåé ôá ðáñáðÜíù. Óçìåéþóôå ðùò ôï <command>psof</command> äåí ÷ñåþíåé ãéá ôéò óåëßäåò êåöáëßäáò.</para> </sect3> </sect2> <sect2 id="printing-advanced-network-printers"> <title>Åêôõðþóåéò ìÝóù Äéêôýïõ</title> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>äßêôõï</secondary> </indexterm> <indexterm><primary>åêôõðþóåéò ìÝóù äéêôýïõ</primary></indexterm> <para>Ôï &os; õðïóôçñßæåé ôéò åêôõðþóåéò ìÝóù äéêôýïõ: ìðïñåß íá óôåßëåé åñãáóßåò óå áðïìáêñõóìÝíïõò åêôõðùôÝò. Ç Ýííïéá ôçò äéêôõáêÞò åêôýðùóçò áíáöÝñåôáé ãåíéêÜ óå äýï äéáöïñåôéêÜ ðñÜãìáôá:</para> <itemizedlist> <listitem> <para>Ðñüóâáóç óå åêôõðùôÞ óõíäåäåìÝíï óå áðïìáêñõóìÝíï õðïëïãéóôÞ (host). ÅãêáèéóôÜôå Ýíáí åêôõðùôÞ ìå óõìâáôéêÞ óåéñéáêÞ Þ ðáñÜëëçëç óýíäåóç óå Ýíá õðïëïãéóôÞ. ¸ðåéôá, ñõèìßæåôå ôï <application>LPD</application> ãéá íá åíåñãïðïéçèåß ç ðñüóâáóç óôïí åêôõðùôÞ áðü Üëëïõò õðïëïãéóôÝò ôïõ äéêôýïõ. Ç åíüôçôá <link linkend="printing-advanced-network-rm">ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link> åîçãåß ôéò áðáñáßôçôåò åíÝñãåéåò.</para> </listitem> <listitem> <para>Ðñüóâáóç óå åêôõðùôÞ óõíäåäåìÝíï êáôåõèåßáí óôï äßêôõï. Åêôüò (Þ áíôß) ôçò óõìâáôéêÞò óåéñéáêÞò Þ ðáñÜëëçëçò èýñáò, ï åêôõðùôÞò ðñÝðåé íá Ý÷åé åðéðñüóèåôá ìéá äéêôõáêÞ äéáóýíäåóç. ¸íáò ôÝôïéïò åêôõðùôÞò äïõëåýåé ùò åîÞò:</para> <itemizedlist> <listitem> <para>Ìðïñåß íá êáôáëáâáßíåé ôï ðñùôüêïëëï <application>LPD</application> êáé íá äçìéïõñãåß ïõñÜ áíáìïíÞò ãéá ôéò åñãáóßåò ðïõ ðñïÝñ÷ïíôáé áðü áðïìáêñõóìÝíïõò õðïëïãéóôÝò. Óå áõôÞ ôçí ðåñßðôùóç, åíåñãåß óáí Ýíáò êáíïíéêüò õðïëïãéóôÞò ðïõ åêôåëåß ôï <application>LPD</application>. ÁêïëïõèÞóôå ôçí ßäéá äéáäéêáóßá ìå ôçí åíüôçôá <link linkend="printing-advanced-network-rm">ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link> ãéá íá åãêáôáóôÞóåôå áõôüí ôïí åêôõðùôÞ.</para> </listitem> <listitem> <para>Ìðïñåß íá õðïóôçñßæåé óýíäåóç äéêôõáêÞò ñïÞò äåäïìÝíùí (data stream). Óå áõôÞ ôçí ðåñßðôùóç, <quote>óõíäÝåôå</quote> ôïí åêôõðùôÞ óå Ýíáí õðïëïãéóôÞ óõíäåäåìÝíï óôï äßêôõï, ï ïðïßïò èá åßíáé õðåýèõíïò ãéá ôçí ðáñï÷Ýôåõóç ôùí åñãáóéþí êáé ôçí áðïóôïëÞ ôïõò óôïí åêôõðùôÞ. Ç åíüôçôá <link linkend="printing-advanced-network-net-if">ÅêôõðùôÝò Ìå ÓõíäÝóåéò Äéêôýïõ</link> äßíåé ìåñéêÝò óõìâïõëÝò ãéá ôçí åãêáôÜóôáóç åêôõðùôþí áõôïý ôïõ ôýðïõ.</para> </listitem> </itemizedlist> </listitem> </itemizedlist> <sect3 id="printing-advanced-network-rm"> <title>ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</title> <para>Ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> Ý÷åé åíóùìáôùìÝíç õðïóôÞñéîç ãéá ôçí áðïóôïëÞ åñãáóéþí óå Üëëïõò õðïëïãéóôÝò ðïõ åêôåëïýí ôï <application>LPD</application> (Þ ðïõ åßíáé óõìâáôïß ìå ôï <application>LPD</application>). Áõôü ôï ÷áñáêôçñéóôéêü óáò åðéôñÝðåé íá åãêáôáóôÞóåôå Ýíáí åêôõðùôÞ óå Ýíá õðïëïãéóôÞ êáé íá Ý÷åôå ðñüóâáóç óå áõôüí áðü Üëëïõò. Åðßóçò äïõëåýåé êáé ìå åêôõðùôÝò ðïõ Ý÷ïõí äéêôõáêÝò äéáóõíäÝóåéò ðïõ êáôáëáâáßíïõí ôï ðñùôüêïëëï <application>LPD</application>.</para> <para>Ãéá íá åíåñãïðïéÞóåôå áõôüí ôïí ôýðï áðïìáêñõóìÝíçò åêôýðùóçò, åãêáôáóôÞóôå ðñþôá Ýíáí åêôõðùôÞ óå Ýíá õðïëïãéóôÞ, ôïí <emphasis>õðïëïãéóôÞ åêôýðùóçò (printer host)</emphasis>, ÷ñçóéìïðïéþíôáò ôçí áðëÞ åãêáôÜóôáóç åêôõðùôÞ ðïõ ðåñéãñÜöåôáé óôçí åíüôçôá <link linkend="printing-simple">ÂáóéêÝò Ñõèìßóåéò Åêôõðùôþí</link>. ÊÜíôå üóåò ðñï÷ùñçìÝíåò ñõèìßóåéò ÷ñåéÜæåóôå üðùò áíáöÝñåôáé óôéò <link linkend="printing-advanced">Ñõèìßóåéò Åêôõðùôþí ãéá Ðñï÷ùñçìÝíïõò</link>. ÅëÝãîôå ôïí åêôõðùôÞ êáé äåßôå áí äïõëåýåé ìå ôá ÷áñáêôçñéóôéêÜ ôïõ <application>LPD</application> ðïõ Ý÷åôå åíåñãïðïéÞóåé. Åðßóçò âåâáéùèåßôå ðùò ï <emphasis>ôïðéêüò õðïëïãéóôÞò (local host)</emphasis> åßíáé åîïõóéïäïôçìÝíïò íá ÷ñçóéìïðïéåß ôéò õðçñåóßåò ôïõ <application>LPD</application> óôïí <emphasis>áðïìáêñõóìÝíï õðïëïãéóôÞ (remote host)</emphasis> (äåßôå <link linkend="printing-advanced-restricting-remote">Ðáñåìðüäéóç Åñãáóéþí áðü ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link>).</para> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>äßêôõï</secondary> </indexterm> <indexterm><primary>äéêôõáêÝò åêôõðþóåéò</primary></indexterm> <para>ÅÜí ÷ñçóéìïðïéåßôå åêôõðùôÞ ìå äéêôõáêÞ äéáóýíäåóç ðïõ åßíáé óõìâáôüò ìå ôï <application>LPD</application>, ôüôå ï <emphasis>ï õðïëïãéóôÞò åêôýðùóçò (printer host)</emphasis> åßíáé ï åí ëüãù åêôõðùôÞò, êáé ôï <emphasis>üíïìá ôïõ åêôõðùôÞ</emphasis> åßíáé ôï üíïìá ðïõ Ý÷åôå ïñßóåé ãéá ôïí åêôõðùôÞ. Äåßôå ôçí ôåêìçñßùóç ðïõ óõíïäåýåé ôïí åêôõðùôÞ óáò êáé/Þ ôçí êÜñôá äéêôýïõ ôïõ.</para> <tip> <para>Áí ÷ñçóéìïðïéåßôå Hewlett Packard Laserjet ìå üíïìá åêôõðùôÞ <literal>text</literal> èá ãßíïíôáé áõôüìáôá ïé ìåôáôñïðÝò áðü LF óå CRLF, åðïìÝíùò äåí ÷ñåéÜæåôáé íá ôñÝîåôå ôï script <filename>hpif</filename>.</para> </tip> <para>ÅðïìÝíùò, óôïõò õðüëïéðïõò õðïëïãéóôÝò üðïõ åðéèõìåßôå íá Ý÷åôå ðñüóâáóç óôïí åêôõðùôÞ, áðëÜ êÜíôå ìéá êáôá÷þñéóç óôï áñ÷åßï <filename>/etc/printcap</filename> ìå ôá áêüëïõèá óôïé÷åßá:</para> <orderedlist> <listitem> <para>ÏíïìÜóôå ôçí êáôá÷þñéóç üðùò åðéèõìåßôå: Ãéá äéêÞ óáò åõêïëßá ðéèáíþò íá èÝëåôå íá ÷ñçóéìïðïéÞóåôå ôï ßäéï üíïìá êáé ôá ßäéá ðáñùíýìéá ìå áõôÜ ôïõ õðïëïãéóôÞ åêôýðùóçò.</para> </listitem> <listitem> <para>ÁöÞóôå ôçí éêáíüôçôá <literal>lp</literal> êåíÞ, ãéá ôçí áêñßâåéá (<literal>:lp=:</literal>).</para> </listitem> <listitem> <para>ÄçìéïõñãÞóôå Ýíá êáôÜëïãï spooling êáé ðñïóäéïñßóôå ôçí ôïðïèåóßá ôïõ ìå ôçí éêáíüôçôá <literal>sd</literal>. Ôï <application>LPD</application> èá áðïèçêåýåé åäþ ôéò åñãáóßåò ðñéí ôçí áðïóôïëÞ ôïõò óôïí õðïëïãéóôÞ åêôýðùóçò.</para> </listitem> <listitem> <para>ÔïðïèåôÞóôå ôï üíïìá ôïõ õðïëïãéóôÞ åêôýðùóçò óôçí éêáíüôçôá <literal>rm</literal>.</para> </listitem> <listitem> <para>ÔïðïèåôÞóôå ôï üíïìá ôïõ åêôõðùôÞ óôçí éêáíüôçôá <literal>rp</literal>, óôïí <emphasis>õðïëïãéóôÞ åêôýðùóçò</emphasis>.</para> </listitem> </orderedlist> <para>Áõôü åßíáé üëï. Äåí ÷ñåéÜæåôáé íá äçìéïõñãÞóåôå ëßóôá ößëôñùí ìåôáôñïðÞò, äéáóôÜóåéò óåëßäáò, Þ ïôéäÞðïôå Üëëï óôï áñ÷åßï<filename>/etc/printcap</filename>.</para> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá. Ï õðïëïãéóôÞò <hostid>rose</hostid> Ý÷åé äýï åêôõðùôÝò, ôïí <literal>bamboo</literal> êáé ôïí <literal>rattan</literal>. ÈÝëïõìå íá åíåñãïðïéÞóïõìå ôéò åêôõðþóåéò óå áõôïýò ôïõò åêôõðùôÝò ãéá ôïõò ÷ñÞóôåò ôïõ áðïìáêñõóìÝíïõ õðïëïãéóôÞ <hostid>orchid</hostid>. Åäþ åßíáé ôï áñ÷åßï <filename>/etc/printcap</filename> ôïõ õðïëïãéóôÞ <hostid>orchid</hostid> (äåßôå ðéï ðßóù óôçí åíüôçôá <link linkend="printing-advanced-header-pages-enabling">Åíåñãïðïßçóç Óåëßäùí Êåöáëßäáò</link>). ¹äç Ý÷åé ìéá êáôá÷þñéóç ãéá ôïí åêôõðùôÞ <literal>teak</literal>. Åäþ ðñïóèÝóáìå ôéò áðáñáßôçôåò êáôá÷ùñßóåéò ãéá ôïõò äýï åêôõðùôÝò ôïõ õðïëïãéóôÞ <hostid>rose</hostid>:</para> <programlisting># # /etc/printcap for host orchid - added (remote) printers on rose # # # teak is local; it is connected directly to orchid: # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:sd=<filename class="directory">/var/spool/lpd/teak</filename>:mx#0:\ :if=<filename>/usr/local/libexec/ifhp</filename>:\ :vf=<filename>/usr/local/libexec/vfhp</filename>:\ :of=<filename>/usr/local/libexec/ofhp</filename>: # # rattan is connected to rose; send jobs for rattan to rose: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=<filename class="directory">/var/spool/lpd/rattan</filename>: # # bamboo is connected to rose as well: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :lp=:rm=rose:rp=bamboo:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:</programlisting> <para>Ôï ìüíï ðïõ áðïìÝíåé åßíáé íá äçìéïõñãÞóïõìå ôïõò êáôáëüãïõò spooling óôïí êüìâï <hostid>orchid</hostid>:</para> <screen>&prompt.root; <userinput><command>mkdir <option>-p</option> <filename class="directory">/var/spool/lpd/rattan</filename> <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput> &prompt.root; <userinput><command>chmod 770 <filename class="directory">/var/spool/lpd/rattan</filename> <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput> &prompt.root; <userinput><command>chown daemon:daemon <filename class="directory">/var/spool/lpd/rattan</filename> <filename class="directory">/var/spool/lpd/bamboo</filename></command></userinput></screen> <para>Ôþñá, ïé ÷ñÞóôåò ôïõ <hostid>orchid</hostid> ìðïñïýí íá åêôõðþíïõí óôïí <literal>rattan</literal> êáé óôïí <literal>bamboo</literal>. Áí, ãéá ðáñÜäåéãìá, Ýíáò ÷ñÞóôçò ôïõ <hostid>orchid</hostid> ðëçêôñïëïãÞóåé: <screen>&prompt.user; <userinput><command>lpr <option>-P</option> bamboo <option>-d</option> <filename><replaceable>sushi-review.dvi</replaceable></filename></command></userinput></screen> ôï óýóôçìá <application>LPD</application> óôïí <hostid>orchid</hostid> èá áíôéãñÜøåé ôçí åñãáóßá óôïí êáôÜëïãï spooling <filename class="directory">/var/spool/lpd/bamboo</filename> êáé èá óçìåéþóåé ðùò ðñüêåéôáé ãéá åñãáóßá DVI. Ìüëéò ï õðïëïãéóôÞò <hostid>rose</hostid> Ý÷åé äéáèÝóéìï ÷þñï óôïí êáôÜëïãï spooling ôïõ <literal>bamboo</literal>, ôá äýï <application>LPDs</application> èá ìåôáöÝñïõí ôï áñ÷åßï óôïí <hostid>rose</hostid>. Ôï áñ÷åßï èá ìðåé óå ïõñÜ áíáìïíÞò óôïí õðïëïãéóôÞ <hostid>rose</hostid> Ýùò üôïõ åêôõðùèåß. Èá ìåôáôñáðåß áðü DVI óå &postscript; (áöïý ï <literal>bamboo</literal> åßíáé åêôõðùôÞò &postscript;) óôïí õðïëïãéóôÞ <hostid>rose</hostid>.</para> </sect3> <sect3 id="printing-advanced-network-net-if"> <title>ÅêôõðùôÝò ìå ÓõíäÝóåéò Äéêôýïõ</title> <para>Óõ÷íÜ, üôáí áãïñÜæåôå êÜñôá äéêôýïõ ãéá åêôõðùôÞ, Ý÷åôå ôç äõíáôüôçôá åðéëïãÞò äýï åêäüóåùí: ç ìßá åßíáé ðñïóïìïßùóç ôïõ spooler (ç ðéï áêñéâÞ Ýêäïóç) åíþ ç Üëëç áðëÜ óáò åðéôñÝðåé íá óôÝëíåôå äåäïìÝíá ìÝóù áõôÞò óáí íá ÷ñçóéìïðïéïýóáôå ìéá óåéñéáêÞ Þ ðáñÜëëçëç èýñá (ç öôçíÞ Ýêäïóç). ÁõôÞ ç åíüôçôá ðåñéãñÜöåé ðùò íá ÷ñçóéìïðïéåßôå ôçí öôçíÞ Ýêäïóç. Ãéá ôçí ðéï áêñéâÞ Ýêäïóç ìðïñåßôå íá âñåßôå ðåñéóóüôåñåò ðëçñïöïñßåò óôçí ðñïçãïýìåíç åíüôçôá <link linkend="printing-advanced-network-rm">ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link>.</para> <para>Ç ìïñöÞ ôïõ áñ÷åßïõ <filename>/etc/printcap</filename> óáò åðéôñÝðåé íá ïñßóåôå ôç äéáóýíäåóç - óåéñéáêÞ Þ ðáñÜëëçëç - ðïõ èá ÷ñçóéìïðïéÞóåôå, êáé (áí ÷ñçóéìïðïéåßôå óåéñéáêÞ äéáóýíäåóç) ôïí ñõèìü baud, ðéèáíïýò åëÝã÷ïõò ñïÞò, êáèõóôåñÞóåéò ãéá tabs, ìåôáôñïðÝò ãéá ÷áñáêôÞñåò íÝáò ãñáììÞò, êáé Üëëá. ÁëëÜ äåí õðÜñ÷åé ôñüðïò íá ïñßóåôå ìéá óýíäåóç óå åêôõðùôÞ ðïõ áêïýåé óå èýñá TCP/IP Þ Üëëï ôýðï äéêôýïõ.</para> <para>Ãéá íá óôåßëåôå äåäïìÝíá óå Ýíá äéêôõáêü åêôõðùôÞ, ÷ñåéÜæåôáé íá áíáðôýîåôå ðñïãñÜììáôá åðéêïéíùíßáò ðïõ íá êáëïýíôáé áðü ößëôñá êåéìÝíïõ êáé ößëôñá ìåôáôñïðÞò. Åäþ Ý÷ïõìå Ýíá ôÝôïéï ðáñÜäåéãìá: ôï script <command>netprint</command> ðáßñíåé üëá ôá äåäïìÝíá áðü ôï standard input êáé ôá óôÝëíåé óå Ýíáí åêôõðùôÞ óõíäåäåìÝíï óôï äßêôõï. Ïñßæïõìå óôï <command>netprint</command> ôï üíïìá ôïõ åêôõðùôÞ ùò ðñþôç ðáñÜìåôñï, êáé ôïí áñéèìü èýñáò óôçí ïðïßá óõíäÝåôáé ùò äåýôåñç. Óçìåéþóôå ðùò áõôüò ï ôñüðïò õðïóôçñßæåé ìüíï åðéêïéíùíßá ìéáò êáôåýèõíóçò (áðü ôï &os; óôïí åêôõðùôÞ). Ðïëëïß äéêôõáêïß åêôõðùôÝò õðïóôçñßæïõí áìößäñïìç åðéêïéíùíßá, êáé åßíáé ðïëý ðéèáíü íá åðéèõìåßôå íá åêìåôáëëåõôåßôå ôá ðñïôåñÞìáôá ôïõò (ãéá íá åëÝã÷åôå ôçí êáôÜóôáóç ôïõ åêôõðùôÞ, ãéá êáôáìÝôñçóç åêôõðþóåùí, êëð.).</para> <programlisting>#!/usr/bin/perl # # netprint - Text filter for printer attached to network # Installed in /usr/local/libexec/netprint # $#ARGV eq 1 || die "Usage: $0 <printer-hostname> <port-number>"; $printer_host = $ARGV[0]; $printer_port = $ARGV[1]; require 'sys/socket.ph'; ($ignore, $ignore, $protocol) = getprotobyname('tcp'); ($ignore, $ignore, $ignore, $ignore, $address) = gethostbyname($printer_host); $sockaddr = pack('S n a4 x8', &AF_INET, $printer_port, $address); socket(PRINTER, &PF_INET, &SOCK_STREAM, $protocol) || die "Can't create TCP/IP stream socket: $!"; connect(PRINTER, $sockaddr) || die "Can't contact $printer_host: $!"; while (<STDIN>) { print PRINTER; } exit 0;</programlisting> <para>Ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå áõôü ôï script óå äéÜöïñá ößëôñá. Áò õðïèÝóïõìå ðùò Ý÷ïõìå Ýíáí åêôõðùôÞ ãñáììÞò Diablo 750-N óõíäåäåìÝíï óôï äßêôõï. Ï åêôõðùôÞò äÝ÷åôáé äåäïìÝíá ðñïò åêôýðùóç óôçí èýñá 5100. Ôï üíïìá ôïõ åêôõðùôÞ óôï äßêôõï åßíáé <hostid>scrivener</hostid>. Åäþ åßíáé ôï ößëôñï êåéìÝíïõ ãéá ôïí åêôõðùôÞ:</para> <programlisting>#!/bin/sh # # diablo-if-net - Text filter for Diablo printer `scrivener' listening # on port 5100. Installed in /usr/local/libexec/diablo-if-net # exec /usr/libexec/lpr/lpf "$@" | /usr/local/libexec/netprint scrivener 5100</programlisting> </sect3> </sect2> <sect2 id="printing-advanced-restricting"> <title>¸ëåã÷ïò Ðñüóâáóçò êáé Ðåñéïñéóìïß óôç ×ñÞóç ôùí Åêôõðùôþí</title> <indexterm> <primary>åêôõðùôÝò</primary> <secondary>Ýëåã÷ïò ðñüóâáóçò</secondary> </indexterm> <para>ÁõôÞ ç åíüôçôá äßíåé ðëçñïöïñßåò ãéá ôïí Ýëåã÷ï ðñüóâáóçò êáé ôïí ðåñéïñéóìü ÷ñÞóçò ôùí åêôõðùôþí. Ôï óýóôçìá <application>LPD</application> óáò åðéôñÝðåé íá åëÝã÷åôå ðïéüò ìðïñåß íá Ý÷åé ðñüóâáóç óå êÜèå åêôõðùôÞ, ôüóï ôïðéêÜ üóï êáé áðïìáêñõóìÝíá, êáé åðßóçò áí ìðïñïýí ïé ÷ñÞóôåò íá åêôõðþíïõí ðïëëáðëÜ áíôßãñáöá, ðüóï ìåãÜëåò ìðïñïýí íá åßíáé ïé åñãáóßåò ôïõò, êáé ðüóï ìåãÜëåò ìðïñïýí íá ãßíïõí ïé ïõñÝò áíáìïíÞò (print queues).</para> <sect3 id="printing-advanced-restricting-copies"> <title>Ðåñéïñéóìüò Åêôýðùóçò Ðïëëáðëþí ÁíôéãñÜöùí</title> <para>Ôï óýóôçìá <application>LPD</application> äéåõêïëýíåé ôïõò ÷ñÞóôåò íá åêôõðþóïõí ðïëëáðëÜ áíôßãñáöá åíüò áñ÷åßïõ. Ïé ÷ñÞóôåò ìðïñïýí íá åêôõðþíïõí åñãáóßåò ìå <command>lpr <option>-#5</option></command> (ãéá ðáñÜäåéãìá) êáé íá ðáßñíïõí ðÝíôå áíôßãñáöá êÜèå áñ÷åßïõ ôçò åñãáóßáò åêôýðùóçò. Ôï áí áõôü åßíáé êáëü, åîáñôÜôáé áðü åóÜò.</para> <para>Áí ðéóôåýåôå ðùò ôá ðïëëáðëÜ áíôßãñáöá äçìéïõñãïýí Üóêïðç êáôáðüíçóç ôùí åêôõðùôþí óáò, ìðïñåßôå íá áðåíåñãïðïéÞóåôå ôçí åðéëïãÞ <option>-#</option> óôï &man.lpr.1; ðñïóèÝôïíôáò ôçí éêáíüôçôá <literal>sc</literal> óôï áñ÷åßï <filename>/etc/printcap</filename>. ¼ôáí ïé ÷ñÞóôåò áðïóôÝëëïõí åñãáóßåò ìå ôçí åðéëïãÞ <option>-#</option>, èá âëÝðïõí:</para> <screen>lpr: multiple copies are not allowed</screen> <para>Óçìåéþóôå ðùò áí Ý÷åôå ñõèìßóåé ðñüóâáóç óå Ýíáí åêôõðùôÞ áðïìáêñõóìÝíá (äåßôå ôçí åíüôçôá <link linkend="printing-advanced-network-rm">ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link>), èá ÷ñåéáóôåß íá ðñïóèÝóåôå ôçí éêáíüôçôá <literal>sc</literal> óå üëá ôá áðïìáêñõóìÝíá áñ÷åßá <filename>/etc/printcap</filename>, äéáöïñåôéêÜ ïé ÷ñÞóôåò èá Ý÷ïõí áêüìç ôçí äõíáôüôçôá íá áðïóôÝëëïõí åñãáóßåò ðïëëáðëþí áíôéãñÜöùí ÷ñçóéìïðïéþíôáò äéáöïñåôéêü êüìâï.</para> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá. Áõôü åßíáé ôï áñ÷åßï <filename>/etc/printcap</filename> ãéá ôïí êüìâï <hostid>rose</hostid>. Ï åêôõðùôÞò <literal>rattan</literal> åßíáé äõíáôü ìç÷Üíçìá êáé åðéôñÝðåé ôçí åêôýðùóç ðïëëáðëþí áíôéãñÜöùí, áëëÜ ï åêôõðùôÞò laser <literal>bamboo</literal> åßíáé ðéï åõáßóèçôï, åðïìÝíùò èá áðåíåñãïðïéÞóïõìå ôç äõíáôüôçôá ðïëëáðëþí áíôéãñÜöùí ðñïóèÝôïíôáò ôçí éêáíüôçôá <literal>sc</literal>:</para> <programlisting># # /etc/printcap for host rose - restrict multiple copies on bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:\ :if=<filename>/usr/local/libexec/if-simple</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:rw:\ :if=<filename>/usr/local/libexec/psif</filename>:\ :df=<filename>/usr/local/libexec/psdf</filename>:</programlisting> <para>Ôþñá, èá ÷ñåéáóôåß íá ðñïóèÝóïõìå åðßóçò ôçí éêáíüôçôá <literal>sc</literal> óôï áñ÷åßï <filename>/etc/printcap</filename> ôïõ êüìâïõ <hostid>orchid</hostid> (êáé åíþ âñéóêüìáóôå óå áõôü, åðéôñÝøôå ìáò íá áðåíåñãïðïéÞóïõìå ôá ðïëëáðëÜ áíôßãñáöá ãéá ôïí åêôõðùôÞ <literal>teak</literal>):</para> <programlisting># # /etc/printcap for host orchid - no multiple copies for local # printer teak or remote printer bamboo teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:sd=<filename class="directory">/var/spool/lpd/teak</filename>:mx#0:sc:\ :if=<filename>/usr/local/libexec/ifhp</filename>:\ :vf=<filename>/usr/local/libexec/vfhp</filename>:\ :of=<filename>/usr/local/libexec/ofhp</filename>: rattan|line|diablo|lp|Diablo 630 Line Printer:\ :lp=:rm=rose:rp=rattan:sd=<filename class="directory">/var/spool/lpd/rattan</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :lp=:rm=rose:rp=bamboo:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:</programlisting> <para>×ñçóéìïðïéþíôáò ôçí éêáíüôçôá <literal>sc</literal>, ðñïëáìâÜíïõìå ôçí ÷ñÞóç ôùí åíôïëþí <command>lpr <option>-#</option></command>, áëëÜ äåí Ý÷ïõìå áêüìç ôçí äõíáôüôçôá íá ðáñåìðïäßóïõìå ôïõò ÷ñÞóôåò íá ôñÝîïõí ôçí åíôïëÞ &man.lpr.1; ðïëëÝò öïñÝò, Þ íá áðïóôåßëïõí ôï ßäéï áñ÷åßï ðïëëÝò öïñÝò óå ìßá ìïíáäéêÞ åñãáóßá, üðùò åäþ:</para> <screen>&prompt.user; <userinput><command>lpr <filename><replaceable>forsale.sign forsale.sign forsale.sign forsale.sign forsale.sign</replaceable></filename></command></userinput></screen> <para>ÕðÜñ÷ïõí ðïëëïß ôñüðïé ðñüëçøçò áõôþí ôùí åíåñãåéþí (óõìðåñéëáìâÜíïíôáò êáé ôçí ðåñßðôùóç íá ôï áãíïÞóåôå) ðïõ åßóôå åëåýèåñïé íá åîåñåõíÞóåôå.</para> </sect3> <sect3 id="printing-advanced-restricting-access"> <title>Ðåñéïñßæïíôáò ôçí Ðñüóâáóç óå ÅêôõðùôÝò</title> <para>Ìðïñåßôå íá åëÝã÷åôå ðïéüò ìðïñåß íá åêôõðþíåé óå ðïéüí åêôõðùôÞ ÷ñçóéìïðïéþíôáò ôïõò ìç÷áíéóìïýò ïìÜäùí (groups) ôïõ &unix; êáé ôçí éêáíüôçôá <literal>rg</literal> óôï <filename>/etc/printcap</filename>. ÁðëÜ ôïðïèåôÞóôå ôïõò ÷ñÞóôåò ðïõ èÝëåôå íá Ý÷ïõí ðñüóâáóç óå êÜðïéïí åêôõðùôÞ óå ìéá óõãêåêñéìÝíç ïìÜäá (÷ñçóôþí), êáé äçëþóôå áõôÞ ôçí ïìÜäá óôçí éêáíüôçôá <literal>rg</literal>.</para> <para>¼ëïé ïé ÷ñÞóôåò ðïõ äåí áíÞêïõí óôçí ïìÜäá (óõìðåñéëáìâáíïìÝíïõ êáé ôïõ <username>root</username>) èá äÝ÷ïíôáé ôï áêüëïõèï ìÞíõìá: <errorname>lpr: Not a member of the restricted group</errorname> üôáí ðñïóðáèïýí íá åêôõðþóïõí óôïí åëåã÷üìåíï åêôõðùôÞ.</para> <para>¼ðùò êáé ìå ôçí éêáíüôçôá <literal>sc</literal> (ðåñéïñéóìïý ðïëëáðëþí áíôéãñÜöùí), èá ÷ñåéáóôåß íá ðñïóäéïñßóåôå ôçí <literal>rg</literal> óôïõò áðïìáêñõóìÝíïõò êüìâïõò ðïõ èá Ý÷ïõí ðñüóâáóç óôïõò åêôõðùôÝò óáò, áí íïìßæåôå ðùò áõôü åßíáé óùóôü (äåßôå ôçí åíüôçôá <link linkend="printing-advanced-network-rm">ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link>).</para> <para>Ãéá ðáñÜäåéãìá, èá áöÞóïõìå ãéá üëïõò åëåýèåñç ôçí ðñüóâáóç óôïí åêôõðùôÞ <literal>rattan</literal>, áëëÜ ìüíï ïé ÷ñÞóôåò ôçò ïìÜäáò <literal>artists</literal> èá ìðïñïýí íá ÷ñçóéìïðïéÞóïõí ôïí <literal>bamboo</literal>. Åäþ åßíáé ôï ãíùóôü ìáò <filename>/etc/printcap</filename> ãéá ôïí êüìâï <hostid>rose</hostid>:</para> <programlisting># # /etc/printcap for host rose - restricted group for bamboo # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:\ :if=<filename>/usr/local/libexec/if-simple</filename>: bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:rg=artists:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:rw:\ :if=<filename>/usr/local/libexec/psif</filename>:\ :df=<filename>/usr/local/libexec/psdf</filename>:</programlisting> <para>ÅðéôñÝøôå ìáò íá ìçí áëëÜîïõìå ôï áñ÷åßï <filename>/etc/printcap</filename> áðü ôï Üëëï ðáñÜäåéãìá (ãéá ôïí õðïëïãéóôÞ <hostid>orchid</hostid>). ÖõóéêÜ, ïðïéïóäÞðïôå ÷ñÞóôçò ôïõ <hostid>orchid</hostid> ìðïñåß íá åêôõðþóåé óôïí <literal>bamboo</literal>. ºóùò üìùò íá åðéôñÝðïõìå ìüíïí óå óõãêåêñéìÝíïõò ÷ñÞóôåò ôçí ðñüóâáóç óôïí õðïëïãéóôÞ <hostid>orchid</hostid>, êáé èÝëïõìå áõôïß ïé ÷ñÞóôåò íá Ý÷ïõí ðñüóâáóç óôïí åêôõðùôÞ. ¹ ßóùò ðÜëé, êáé ü÷é.</para> <note> <para>ÅðéôñÝðåôáé ìüíï ìéá ðåñéïñéóìÝíç ïìÜäá áíÜ åêôõðùôÞ.</para> </note> </sect3> <sect3 id="printing-advanced-restricting-sizes"> <title>¸ëåã÷ïò ÌåãÝèïõò ôùí ÁðåóôáëìÝíùí Åñãáóéþí</title> <indexterm><primary>åñãáóßåò åêôýðùóçò</primary></indexterm> <para>Áí ðïëëïß ÷ñÞóôåò Ý÷ïõí ðñüóâáóç óôïõò åêôõðùôÝò óáò, ðéèáíþò íá ÷ñåéÜæåôáé íá èÝóåôå Ýíá áíþôáôï üñéï óôï åðéôñåðüìåíï ìÝãåèïò áñ÷åßùí ðïõ ìðïñïýí íá áðïóôåßëïõí ïé ÷ñÞóôåò ãéá åêôýðùóç. Áêüìá êáé áí õðÜñ÷åé áñêåôüò ÷þñïò óôï óýóôçìá áñ÷åßùí ðïõ öéëïîåíåß ôïõò êáôáëüãïõò spool, èá ðñÝðåé ùóôüóï íá âåâáéùèåßôå üôé åðáñêåß ãéá ôéò åñãáóßåò üëùí ôùí ÷ñçóôþí.</para> <indexterm> <primary>åñãáóßåò åêôýðùóçò</primary> <secondary>Ýëåã÷ïò</secondary> </indexterm> <para>Ôï <application>LPD</application> óáò åðéôñÝðåé íá ïñéïèåôÞóåôå ôï ìÝãéóôï áñéèìü bytes ðïõ ðåñéÝ÷åé ìéá åñãáóßá, ìå ôçí éêáíüôçôá <literal>mx</literal>. Ç ìïíÜäá ìÝôñçóçò åßíáé óå <literal>BUFSIZ</literal> blocks, ôá ïðïßá åßíáé 1024 bytes. Áí èÝóåôå ìçäÝí óå áõôÞ ôçí éêáíüôçôá, äåí èá õðÜñ÷ïõí üñéá óôï ìÝãåèïò ôùí áñ÷åßùí. Ùóôüóï, áí äåí Ý÷åé ïñéóôåß ç éêáíüôçôá <literal>mx</literal>, ôüôå èá ÷ñçóéìïðïéåßôáé ç ðñïåðéëåãìÝíç ôéìÞ ôùí 1000 blocks.</para> <note> <para>Ôï üñéï åöáñìüæåôáé óôá <emphasis>áñ÷åßá</emphasis> ìéáò åñãáóßáò, êáé <emphasis>ü÷é</emphasis> óôï óõíïëéêü ìÝãåèïò ôçò åñãáóßáò.</para> </note> <para>Ôï <application>LPD</application> äåí èá áðïññßøåé Ýíá áñ÷åßï ðïõ îåðåñíÜ ôï üñéï ìåãÝèïõò ðïõ Ý÷åôå èÝóåé. ÁíôéèÝôùò, èá ôï ôïðïèåôÞóåé óôçí ïõñÜ áíáìïíÞò ìå ìÝãåèïò ßóï ìå ôï ìÝãéóôï åðéôñåðôü, ôï ïðïßï êáé èá åêôõðþóåé ôåëéêÜ. Ôï õðüëïéðï áñ÷åßï áðïññßðôåôáé. Áí áõôüò åßíáé óùóôüò Þ ëáíèáóìÝíïò ôñüðïò áíôéìåôþðéóçò ãéá ôçí õðÝñâáóç ôïõ ïñßïõ, åßíáé èÝìá ðñïò óõæÞôçóç.</para> <para>Áò ïñéïèåôÞóïõìå óôï ðáñÜäåéãìá ìáò ôïõò åêôõðùôÝò <literal>rattan</literal> êáé <literal>bamboo</literal>. ÅðåéäÞ ôá áñ÷åßá &postscript; ôùí <groupname>artists</groupname> ôåßíïõí ðñïò ìåãÜëá ìåãÝèç, èá èÝóïõìå Ýíá üñéï ðÝíôå megabytes. Äåí èá èÝóïõìå üñéá ãéá ôïí åêôõðùôÞ ãñáììÞò áðëïý êåéìÝíïõ:</para> <programlisting># # /etc/printcap for host rose # # # No limit on job size: # rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:mx#0:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:\ :if=<filename>/usr/local/libexec/if-simple</filename>: # # Limit of five megabytes: # bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:rg=artists:mx#5000:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:rw:\ :if=<filename>/usr/local/libexec/psif</filename>:\ :df=<filename>/usr/local/libexec/psdf</filename>:</programlisting> <para>Êáé ðÜëé, ôá üñéá åöáñìüæïíôáé ìüíï ãéá ôïõò ôïðéêïýò ÷ñÞóôåò. Áí Ý÷åôå åíåñãïðïéÞóåé áðïìáêñõóìÝíç ðñüóâáóç ãéá ôïõò åêôõðùôÝò óáò, ôá üñéá áõôÜ äåí éó÷ýïõí ãéá ôïõò áðïìáêñõóìÝíïõò ÷ñÞóôåò. Èá ÷ñåéáóôåß íá ðñïóäéïñßóåôå ìå ôçí éêáíüôçôá <literal>mx</literal> êáé ôá áðïìáêñõóìÝíá áñ÷åßá <filename>/etc/printcap</filename>. Äåßôå ôçí åíüôçôá <link linkend="printing-advanced-network-rm">ÅêôõðùôÝò ÅãêáôåóôçìÝíïé óå ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link> ãéá ðåñéóóüôåñåò ðëçñïöïñßåò ó÷åôéêÜ ìå ôéò åêôõðþóåéò áðü áðïìáêñõóìÝíïõò õðïëïãéóôÝò.</para> <para>ÕðÜñ÷åé êáé Üëëïò åîåéäéêåõìÝíïò ôñüðïò ðåñéïñéóìïý ôïõ ìåãÝèïõò åñãáóéþí ãéá áðïìáêñõóìÝíïõò åêôõðùôÝò. Äåßôå ôçí åíüôçôá <link linkend="printing-advanced-restricting-remote">Ðåñéïñéóìüò Åñãáóéþí áðü ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</link>.</para> </sect3> <sect3 id="printing-advanced-restricting-remote"> <title>Ðåñéïñéóìüò Åñãáóéþí áðü ÁðïìáêñõóìÝíïõò ÕðïëïãéóôÝò</title> <para>Ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> ðáñÝ÷åé äéÜöïñïõò ôñüðïõò ðåñéïñéóìïý ôùí åñãáóéþí áðü áðïìáêñõóìÝíïõò õðïëïãéóôÝò:</para> <variablelist> <varlistentry> <term>Ðáñåìðüäéóç õðïëïãéóôþí</term> <listitem> <para>Ìðïñåßôå íá åëÝã÷åôå áðü ðïéïõò áðïìáêñõóìÝíïõò õðïëïãéóôÝò èá äÝ÷åôáé áéôÞóåéò åêôýðùóçò ôï ôïðéêü <application>LPD</application>, ÷ñçóéìïðïéþíôáò ôá áñ÷åßá <filename>/etc/hosts.equiv</filename> êáé <filename>/etc/hosts.lpd</filename>. Ôï <application>LPD</application> åëÝã÷åé íá äåé áí ç åéóåñ÷üìåíç áßôçóç ðñïÝñ÷åôáé áðü Ýíáí õðïëïãéóôÞ ðïõ áíáöÝñåôáé óå êÜðïéï áðü ôá äýï áñ÷åßá. Áí ü÷é, ôï <application>LPD</application> áðïññßðôåé ôçí áßôçóç.</para> <para>Ç ìïñöÞ áõôþí ôùí áñ÷åßùí åßíáé áðëÞ: Ýíá üíïìá õðïëïãéóôÞ áíÜ ãñáììÞ. ÐáñáôçñÞóôå ðùò ôï áñ÷åßï <filename>/etc/hosts.equiv</filename> ÷ñçóéìïðïéåßôáé êáé áðü ôï ðñùôüêïëëï &man.ruserok.3;, êáé åðçñåÜæåé ðñïãñÜììáôá üðùò ôï &man.rsh.1; êáé ôï &man.rcp.1;, åðïìÝíùò íá åßóôå ðñïóåêôéêïß.</para> <para>Ãéá ðáñÜäåéãìá, åäþ åßíáé ôï áñ÷åßï <filename>/etc/hosts.lpd</filename> óôïí õðïëïãéóôÞ <hostid>rose</hostid>:</para> <programlisting>orchid violet madrigal.fishbaum.de</programlisting> <para>Áõôü óçìáßíåé ðùò ï <hostid>rose</hostid> äÝ÷åôáé áéôÞóåéò áðü ôïõò õðïëïãéóôÝò <hostid>orchid</hostid>, <hostid>violet</hostid>, êáé <hostid role="fqdn">madrigal.fishbaum.de</hostid>. Áí êÜðïéïò Üëëïò õðïëïãéóôÞò ðñïóðáèÞóåé íá áðïêôÞóåé ðñüóâáóç óôï <application>LPD</application> ôïõ <hostid>rose</hostid>, ç åñãáóßá èá áðïññéöèåß.</para> </listitem> </varlistentry> <varlistentry> <term>Ðåñéïñéóìïß óôï ÌÝãåèïò</term> <listitem> <para>Ìðïñåßôå íá åëÝã÷åôå ðüóïò åëåýèåñïò ÷þñïò ðñÝðåé íá áðïìÝíåé óôï óýóôçìá áñ÷åßùí üðïõ âñßóêåôáé ï êáôÜëïãïò spool. ÄçìéïõñãÞóôå Ýíá áñ÷åßï ìå üíïìá <filename>minfree</filename> óôïí êáôÜëïãï spool ãéá ôïí ôïðéêü åêôõðùôÞ. ÅéóÜãåôå óå áõôü ôï áñ÷åßï Ýíáí áñéèìü ðïõ áíôéðñïóùðåýåé ðüóá blocks äßóêïõ (512 bytes) åëåýèåñïõ ÷þñïõ ðñÝðåé íá õðÜñ÷ïõí ãéá íá åßíáé äåêôÞ ìéá áðïìáêñõóìÝíç åñãáóßá.</para> <para>Áõôü óáò åðéôñÝðåé íá åßóôå âÝâáéïé ðùò ïé áðïìáêñõóìÝíïé ÷ñÞóôåò äåí èá ãåìßóïõí ôï óýóôçìá áñ÷åßùí óáò. Ìðïñåßôå åðßóçò íá ôï ÷ñçóéìïðïéÞóåôå ãéá íá äþóåôå ìåñéêÞ ðñïôåñáéüôçôá óôïõò ôïðéêïýò ÷ñÞóôåò: ïé ôïðéêïß ÷ñÞóôåò èá ìðïñïýí íá óôÝëíïõí åñãáóßåò óôçí ïõñÜ áíáìïíÞò áêüìç êáé üôáí ï åëåýèåñïò ÷þñïò ôïõ äßóêïõ Ý÷åé ðÝóåé êÜôù áðü ôïí áñéèìü ðïõ áíáöÝñåôáé óôï áñ÷åßï <filename>minfree</filename>.</para> <para>Ãéá ðáñÜäåéãìá, áò ðñïóèÝóïõìå Ýíá áñ÷åßï <filename>minfree</filename> ãéá ôïí åêôõðùôÞ <literal>bamboo</literal>. ÅîåôÜæïõìå ôï <filename>/etc/printcap</filename> ãéá íá âñïýìå ôïí êáôÜëïãï spool ãéá áõôüí ôïí åêôõðùôÞ. Åäþ åßíáé ç êáôá÷þñéóç ãéá ôïí <literal>bamboo</literal>:</para> <programlisting>bamboo|ps|PS|S|panasonic|Panasonic KX-P4455 PostScript v51.4:\ :sh:sd=<filename class="directory">/var/spool/lpd/bamboo</filename>:sc:rg=artists:mx#5000:\ :lp=<filename class="devicefile">/dev/ttyd5</filename>:ms#-parenb cs8 clocal crtscts:rw:mx#5000:\ :if=<filename>/usr/local/libexec/psif</filename>:\ :df=<filename>/usr/local/libexec/psdf</filename>:</programlisting> <para>Ï êáôÜëïãïò spool êáèïñßæåôáé óôçí éêáíüôçôá <literal>sd</literal>. Èá èÝóïõìå ôñßá megabytes (éóïäõíáìåß ìå 6144 disk blocks) ùò ôï ìÝãåèïò ôïõ åëåýèåñïõ ÷þñïõ ðïõ ðñÝðåé íá õðÜñ÷åé óôï óýóôçìá áñ÷åßùí, þóôå ôï <application>LPD</application> íá äÝ÷åôáé áðïìáêñõóìÝíåò åñãáóßåò:</para> <screen>&prompt.root; <userinput><command>echo 6144 > <filename>/var/spool/lpd/bamboo/minfree</filename></command></userinput></screen> </listitem> </varlistentry> <varlistentry> <term>Ðåñéïñéóìïß ÷ñçóôþí</term> <listitem> <para>Ìðïñåßôå íá åëÝã÷åôå ðïéüò áðïìáêñõóìÝíïò ÷ñÞóôçò ìðïñåß íá åêôõðþíåé óôïõò ôïðéêïýò åêôõðùôÝò ïñßæïíôáò ôçí éêáíüôçôá <literal>rs</literal> óôï <filename>/etc/printcap</filename>. ¼ôáí åìöáíßæåôáé ç <literal>rs</literal> óå ìéá êáôá÷þñéóç êÜðïéïõ ôïðéêÜ óõíäåäåìÝíïõ åêôõðùôÞ, ôï <application>LPD</application> èá äå÷èåß åñãáóßåò áðü áðïìáêñõóìÝíïõò õðïëïãéóôÝò <emphasis>áí</emphasis> ï ÷ñÞóôçò ðïõ áðïóôÝëëåé ôçí åñãáóßá Ý÷åé ëïãáñéáóìü óôïí ôïðéêü õðïëïãéóôÞ êáé ìå ôï ßäéï üíïìá ÷ñÞóôç. ÄéáöïñåôéêÜ, ôï <application>LPD</application> èá áðïññßøåé ôçí åñãáóßá.</para> <para>ÁõôÞ ç éêáíüôçôá åßíáé éäéáßôåñá ÷ñÞóéìç óå ðåñéâÜëëïíôá üðïõ õðÜñ÷ïõí (ãéá ðáñÜäåéãìá) äéáöïñåôéêÜ åðé÷åéñçóéáêÜ ôìÞìáôá ðïõ ìïéñÜæïíôáé ôï äßêôõï, êáé êÜðïéïé ÷ñÞóôåò ðñÝðåé íá õðåñâáßíïõí ôá óýíïñá ôïõ ôìÞìáôïò. Äçìéïõñãþíôáò ëïãáñéáóìïýò óôá óõóôÞìáôá óáò, èá ìðïñïýí íá ÷ñçóéìïðïéïýí ôïõò åêôõðùôÝò óáò áðü ôï äéêü ôïõò ôìÞìá ôçò åðé÷åßñçóçò. Áí åðéèõìåßôå íá ôïõò åðéôñÝðåôå íá ÷ñçóéìïðïéïýí <emphasis>ìüíï</emphasis> ôïõò åêôõðùôÝò êáé ü÷é ôá ìç÷áíÞìáôá óáò, ôüôå ìðïñåßôå íá äçìéïõñãÞóåôå ëïãáñéáóìïýò <quote>token</quote>, äß÷ùò ðñïóùðéêïýò êáôáëüãïõò êáé ìå êÝëõöïò ðïõ äåí ìðïñåß íá ÷ñçóéìïðïéçèåß, üðùò ôï <filename>/usr/bin/false</filename>.</para> </listitem> </varlistentry> </variablelist> </sect3> </sect2> <sect2 id="printing-advanced-acct"> <title>ÊáôáìÝôñçóç ×ñÞóçò Åêôõðùôþí</title> <indexterm> <primary>êáôáìÝôñçóç</primary> <secondary>åêôõðùôÞò</secondary> </indexterm> <para>Áðïöáóßóáôå üôé ÷ñåéÜæåôáé íá ÷ñåþíåôå ãéá ôéò åêôõðþóåéò óáò. Êáé ãéáôß ü÷é; Ôï ÷áñôß êáé ôï ìåëÜíé êïóôßæïõí ÷ñÞìáôá. Êáé åðéðëÝïí õðÜñ÷åé êüóôïò óõíôÞñçóçò — ïé åêôõðùôÝò áðïôåëïýíôáé áðü êéíçôÜ ìÝñç êáé Ý÷ïõí ôçí ôÜóç íá ÷áëÜíå. ¸÷åôå åîåôÜóåé ôïõò åêôõðùôÝò óáò, ôïí ôñüðï ðïõ ÷ñçóéìïðïéïýíôáé, êáé ôï êüóôïò óõíôÞñçóçò êáé Ý÷åôå õðïëïãßóåé ìéá ÷ñÝùóç áíÜ óåëßäá (Þ áíÜ ìÝôñï, áíÜ ðüäé, Þ Üëëç ìïíÜäá ìÝôñçóçò). Ôï èÝìá åßíáé ôþñá ðùò ìðïñåßôå ðñáãìáôéêÜ íá îåêéíÞóåôå íá êáôáìåôñÜôå ôéò åêôõðþóåéò óáò.</para> <para>Ôá Üó÷çìá íÝá åßíáé ðùò ôï óýóôçìá ðáñï÷Ýôåõóçò ôïõ <application>LPD</application> äåí ðáñÝ÷åé ðïëý âïÞèåéá óå áõôüí ôïí ôïìÝá. Ç êáôáìÝôñçóç åîáñôÜôáé óå ìåãÜëï âáèìü áðü ôïí ôýðï ôïõ åêôõðùôÞ ðïõ ÷ñçóéìïðïéåßôå, ôïõò ôýðïõò áñ÷åßùí ðïõ åêôõðþíåôå, êáé ôéò <emphasis>äéêÝò óáò</emphasis> áðáéôÞóåéò ãéá ôçí ÷ñÝùóç ôùí åêôõðþóåùí.</para> <para>Ãéá ôçí êáôáìÝôñçóç, èá ðñÝðåé íá ìåôáôñÝøåôå ôï ößëôñï êåéìÝíïõ (ãéá ôç ÷ñÝùóç åñãáóéþí áðëïý êåéìÝíïõ) ôïõ åêôõðùôÞ êáé ôá ößëôñá ìåôáôñïðÞò (ãéá ôç ÷ñÝùóç üëùí ôùí Üëëùí ôýðùí áñ÷åßùí) þóôå íá ìåôñïýí óåëßäåò Þ íá æçôïýí íá ìÜèïõí áðü ôïí åêôõðùôÞ ôïí áñéèìü ôùí åêôõðùìÝíùí óåëßäùí. Äåí èá óáò âïçèÞóåé éäéáßôåñá ç ÷ñÞóç ößëôñïõ åîüäïõ, áðü ôç óôéãìÞ ðïõ äåí ìðïñåß íá êÜíåé êáôáìÝôñçóç. Äåßôå ôçí åíüôçôá <link linkend="printing-advanced-filter-intro">Ößëôñá</link>.</para> <para>ÃåíéêÜ, õðÜñ÷ïõí äýï ôñüðïé ãéá íá êÜíåôå êáôáìÝôñçóç:</para> <itemizedlist> <listitem> <para>Ç <emphasis>ÐåñéïäéêÞ êáôáìÝôñçóç</emphasis> åßíáé ï ðéï óõíçèéóìÝíïò ôñüðïò, ðéèáíþò ãéáôß åßíáé ï åõêïëüôåñïò. ÊÜèå öïñÜ ðïõ êÜðïéïò åêôõðþíåé ìéá åñãáóßá, ôï ößëôñï äçìéïõñãåß Ýíá áñ÷åßï êáôáãñáöÞò üðïõ áíáöÝñåé ôïí ÷ñÞóôç, ôïí õðïëïãéóôÞ, êáé ôïí áñéèìü ôùí óåëßäùí. ÊÜèå ìÞíá, åîÜìçíï, ÷ñüíï, Þ Üëëç ÷ñïíéêÞ ðåñßïäï ôçò áñåóêåßáò óáò, óõëëÝãåôå ôá áñ÷åßá êáôáãñáöÞò ãéá ôïõò äéÜöïñïõò åêôõðùôÝò, ëïãáñéÜæåôå ôéò óåëßäåò ðïõ áíáëïãïýí óôïõò ÷ñÞóôåò, êáé ÷ñåþíåôå áíáëüãùò. ¸ðåéôá óâÞíåôå ôá óôïé÷åßá áðü ôá áñ÷åßá êáôáãñáöÞò, îåêéíþíôáò áðü êáèáñÞ êáôÜóôáóç ãéá ôçí åðüìåíç ðåñßïäï.</para> </listitem> <listitem> <para>Ç <emphasis>ÊáôáìÝôñçóç êáôÜ ôç ÷ñÞóç</emphasis> åßíáé ëéãüôåñï ãíùóôÞ, ßóùò åðåéäÞ åßíáé ðéï äýóêïëïò ôñüðïò. Óå áõôÞ ôç ìÝèïäï ôá ößëôñá ÷ñåþíïõí ôïõò ÷ñÞóôåò ãéá ôéò åêôõðþóåéò ôïõò áìÝóùò ìüëéò áõôÝò ðñáãìáôïðïéçèïýí. ¼ðùò êáé ìå ôçí êáôáãñáöÞ ÷ñÞóçò äßóêïõ (disk quotas), ç êáôáìÝôñçóç åßíáé Üìåóç. Ìðïñåßôå íá ðñïëáìâÜíåôå ôçí ÷ñÞóç åêôõðùôþí áðü ÷ñÞóôåò ðïõ Ý÷ïõí ÷ôõðÞóåé êüêêéíï, êáé ìðïñåßôå íá ðáñÝ÷åôå óôïõò ÷ñÞóôåò Ýíá ôñüðï ãéá íá åëÝã÷ïõí êáé íá ñõèìßæïõí ôïí <quote>üãêï åêôõðþóåùí (print quotas).</quote> ÁëëÜ áõôÞ ç ìÝèïäïò ðñïûðïèÝôåé ëßãï êþäéêá âÜóåùí äåäïìÝíùí ãéá ôçí êáôáãñáöÞ ÷ñçóôþí êáé ôùí åí ëüãù ìåãåèþí.</para> </listitem> </itemizedlist> <para>Ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> õðïóôçñßæåé åýêïëá êáé ôéò äýï ìåèüäïõò: áðü ôç óôéãìÞ ðïõ ðñÝðåé åóåßò íá ðáñÝ÷åôå ôá ößëôñá (ôéò ðåñéóóüôåñåò öïñÝò), èá ðñÝðåé åðßóçò íá ðáñÝ÷åôå êáé ôïí êþäéêá êáôáìÝôñçóçò. ÁëëÜ õðÜñ÷åé êáé Ýíá êáëü óå áõôÞ ôçí õðüèåóç: Ý÷åôå áðåñéüñéóôç åõåëéîßá óôéò ìåèüäïõò êáôáìÝôñçóçò. Ãéá ðáñÜäåéãìá, ìðïñåßôå íá åðéëÝîåôå ðåñéïäéêÞ Þ êáôÜ ôç ÷ñÞóç êáôáìÝôñçóç. Ìðïñåßôå íá åðéëÝîåôå ôéò ðëçñïöïñßåò ðïõ èá êáôáãñÜöïíôáé: ïíüìáôá ÷ñçóôþí, ïíüìáôá õðïëïãéóôþí, ôýðïõò åñãáóéþí, ôõðùìÝíåò óåëßäåò, ôåôñáãùíéêÜ ìÝôñá ÷áñôéïý ðïõ ÷ñçóéìïðïéÞèçêå, ðüóïò ÷ñüíïò ÷ñåéÜóôçêå ãéá íá ãßíåé ç åêôýðùóç, êáé ðïëëÜ áêüìá. Êáé üëá áõôÜ ãßíïíôáé ìåôáôñÝðïíôáò ôá ößëôñá ãéá íá áðïèçêåýïõí áõôÝò ôéò ðëçñïöïñßåò.</para> <sect3> <title>ÃñÞãïñç êáé Ðñü÷åéñç ÊáôáìÝôñçóç Åêôõðþóåùí</title> <para>Ôï &os; äéáôßèåôáé ìå äýï ðñïãñÜììáôá ðïõ ìðïñïýí íá ðáñÝ÷ïõí Üìåóá áðëÞ ðåñéïäéêÞ êáôáìÝôñçóç. Åßíáé ôï ößëôñï êåéìÝíïõ <command>lpf</command>, ðïõ ðåñéãñÜöåôáé óôçí åíüôçôá <link linkend="printing-advanced-lpf">lpf: Ýíá Ößëôñï ÊåéìÝíïõ</link>, êáé ôï &man.pac.8;, Ýíá ðñüãñáììá ðïõ óõëëÝãåé êáé áèñïßæåé êáôá÷ùñßóåéò áðü áñ÷åßá êáôáìåôñÞóåùí.</para> <para>¼ðùò áíáöÝñáìå óôçí åíüôçôá ôùí ößëôñùí (<link linkend="printing-advanced-filters">Ößëôñá</link>), ôï <application>LPD</application> îåêéíÜ ôá ößëôñá êåéìÝíïõ êáé ìåôáôñïðÞò ðåñíþíôáò óôçí ãñáììÞ åíôïëþí ôïõ ößëôñïõ êáé ôï üíïìá ôïõ áñ÷åßïõ êáôáãñáöÞò. Ôá ößëôñá ìðïñïýí íá ÷ñçóéìïðïéÞóïõí áõôÞ ôçí ðáñÜìåôñï ãéá íá îÝñïõí ðïõ íá ãñÜöïõí ôéò êáôá÷ùñßóåéò êáôáìÝôñçóçò. Ôï üíïìá ôïõ áñ÷åßïõ êáôáìÝôñçóçò öáßíåôáé óôçí éêáíüôçôá <literal>af</literal> óôï <filename>/etc/printcap</filename>, êáé áí äåí ïñßæåôáé ç ðëÞñçò äéáäñïìÞ ôïõ, ÷ñçóéìïðïéåßôáé ç ó÷åôéêÞ äéáäñïìÞ ùò ðñïò ôïí êáôÜëïãï spool.</para> <para>Ôï <application>LPD</application> îåêéíÜ ôï <command>lpf</command> ìå ðáñáìÝôñïõò ðëÜôïõò êáé ìÞêïõò óåëßäáò (áðü ôéò éêáíüôçôåò <literal>pw</literal> êáé <literal>pl</literal>). Ôï <command>lpf</command> ÷ñçóéìïðïéåß áõôÝò ôéò ðáñáìÝôñïõò ãéá íá ðñïóäéïñßóåé ôçí ðïóüôçôá ÷áñôéïý ðïõ ÷ñçóéìïðïéÞèçêå. ÌåôÜ ôçí áðïóôïëÞ ôïõ áñ÷åßïõ óôïí åêôõðùôÞ, ãñÜöåé ìéá êáôá÷þñéóç êáôáìÝôñçóçò óôï áñ÷åßï êáôáãñáöÞò. Ïé êáôá÷ùñßóåéò ìïéÜæïõí ìå ôéò ðáñáêÜôù:</para> <programlisting>2.00 rose:andy 3.00 rose:kelly 3.00 orchid:mary 5.00 orchid:mary 2.00 orchid:zhang</programlisting> <para>Èá ðñÝðåé íá ÷ñçóéìïðïéåßôå îå÷ùñéóôü áñ÷åßï êáôáãñáöÞò ãéá êÜèå åêôõðùôÞ, áöïý ôï <command>lpf</command> äåí Ý÷åé åíóùìáôùìÝíç äõíáôüôçôá êëåéäþìáôïò áñ÷åßïõ (file locking), êáé äýï <command>lpf</command> ìðïñïýí íá êáôáóôñÝøïõí ôï Ýíá ôçí êáôá÷þñéóç ôïõ Üëëïõ áí ðñüêåéôáé íá ãñÜøïõí ôáõôü÷ñïíá óôï ßäéï áñ÷åßï. ¸íáò åýêïëïò ôñüðïò ãéá íá âåâáéþóåôå ôçí ìïíáäéêüôçôá áñ÷åßïõ êáôáãñáöÞò áíÜ åêôõðùôÞ åßíáé íá ÷ñçóéìïðïéÞóåôå ôçí éêáíüôçôá <literal>af=acct</literal> óôï <filename>/etc/printcap</filename>. ¸ôóé, êÜèå áñ÷åßï êáôáãñáöÞò èá âñßóêåôáé óôïí êáôÜëïãï spool ôïõ áíôßóôïé÷ïõ åêôõðùôÞ, óå Ýíá áñ÷åßï ìå üíïìá <filename>acct</filename>.</para> <para>¼ôáí åßóôå Ýôïéìïé íá ÷ñåþóåôå ôïõò ÷ñÞóôåò ãéá ôéò åêôõðþóåéò, åêôåëÝóôå ôï ðñüãñáììá &man.pac.8;. ÁðëÜ ìåôáâåßôå óôïí êáôÜëïãï spool ãéá ôïí åêôõðùôÞ ðïõ êÜíåôå êáôáìÝôñçóç êáé ðëçêôñïëïãÞóôå <literal>pac</literal>. Èá åìöáíéóôåß Ýíáò áðïëïãéóìüò ìå ÷ñåþóåéò óå äïëÜñéá, üðùò âëÝðåôå óôç óõíÝ÷åéá:</para> <screen> Login pages/feet runs price orchid:kelly 5.00 1 $ 0.10 orchid:mary 31.00 3 $ 0.62 orchid:zhang 9.00 1 $ 0.18 rose:andy 2.00 1 $ 0.04 rose:kelly 177.00 104 $ 3.54 rose:mary 87.00 32 $ 1.74 rose:root 26.00 12 $ 0.52 total 337.00 154 $ 6.74</screen> <para>ÐáñáêÜôù åßíáé ïé ðáñÜìåôñïé ðïõ äÝ÷åôáé ôï &man.pac.8;:</para> <variablelist> <varlistentry> <term><option>-P<replaceable>printer</replaceable></option></term> <listitem> <para>Ãéá ðïéü <replaceable>printer</replaceable> íá êÜíåé áðïëïãéóìü. ÁõôÞ ç åðéëïãÞ äïõëåýåé ìüíï áí õðÜñ÷åé ç ðëÞñçò äéáäñïìÞ óôçí éêáíüôçôá <literal>af</literal> óôï <filename>/etc/printcap</filename>.</para> </listitem> </varlistentry> <varlistentry> <term><option>-c</option></term> <listitem> <para>Ôáîéíïìåß ôï áðïôÝëåóìá áíÜ êüóôïò áíôß ôçò áëöáâçôéêÞò ôáîéíüìçóçò ôùí ÷ñçóôþí.</para> </listitem> </varlistentry> <varlistentry> <term><option>-m</option></term> <listitem> <para>Áãíïåß ôï üíïìá ôïõ õðïëïãéóôÞ óôá áñ÷åßá êáôáãñáöÞò. Ìå áõôÞ ôçí åðéëïãÞ, ï ÷ñÞóôçò <username>smith</username> óôïí õðïëïãéóôÞ <hostid>alpha</hostid> åßíáé ï ßäéïò ÷ñÞóôçò ìå ôïí <username>smith</username> óôïí õðïëïãéóôÞ <hostid>gamma</hostid>. ×ùñßò ôçí åðéëïãÞ áõôÞ, åßíáé äéáöïñåôéêïß ÷ñÞóôåò.</para> </listitem> </varlistentry> <varlistentry> <term><option>-p<replaceable>price</replaceable></option></term> <listitem> <para>Õðïëïãßæåé ôéò ÷ñåþóåéò ìå <replaceable>price</replaceable> (ôéìÞ) óå äïëÜñéá áíÜ óåëßäá Þ áíÜ ðüäé áíôß ãéá ôçí ôéìÞ áðü ôçí éêáíüôçôá <literal>pc</literal> óôï <filename>/etc/printcap</filename>, Þ áëëéþò äýï óåíôò (áðü ðñïåðéëïãÞ). Ìðïñåßôå íá ïñßóåôå ùò <replaceable>price</replaceable> ìéá ôéìÞ ìå äåêáäéêÜ øçößá (floating point).</para> </listitem> </varlistentry> <varlistentry> <term><option>-r</option></term> <listitem> <para>ÁíôéóôñÝöåé ôçí óåéñÜ ôáîéíüìçóçò.</para> </listitem> </varlistentry> <varlistentry> <term><option>-s</option></term> <listitem> <para>Äçìéïõñãåß Ýíá áñ÷åßï áðïëïãéóìïý ôùí êáôáìåôñÞóåùí êáé êáèáñßæåé ôá ðåñéå÷üìåíá ôùí áñ÷åßùí êáôáãñáöÞò.</para> </listitem> </varlistentry> <varlistentry> <term><replaceable>name</replaceable> <replaceable>…</replaceable></term> <listitem> <para>Ôõðþíåé ðëçñïöïñßåò áíáöïñÜò ìüíï ãéá ôá óõãêåêñéìÝíá <replaceable>name</replaceable> (ïíüìáôá) ÷ñçóôþí.</para> </listitem> </varlistentry> </variablelist> <para>Óôïí ðñïåðéëåãìÝíï áðïëïãéóìü ðïõ ðáñÜãåé ôï &man.pac.8;, âëÝðåôå ôùí áñéèìü ôùí ôõðùìÝíùí óåëßäùí áíÜ ÷ñÞóôç áðü ôïõò äéÜöïñïõò õðïëïãéóôÝò. Áí, óôï ÷þñï óáò, ï õðïëïãéóôÞò äåí Ý÷åé óçìáóßá (ãéáôß ïé ÷ñÞóôåò ìðïñïýí íá ÷ñçóéìïðïéÞóïõí ïðïéïíäÞðïôå èÝëïõí), åêôåëÝóôå ôçí åíôïëÞ <command>pac <option>-m</option></command>, ãéá íá äçìéïõñãÞóåôå ôïí áêüëïõèï áðïëïãéóìü:</para> <screen> Login pages/feet runs price andy 2.00 1 $ 0.04 kelly 182.00 105 $ 3.64 mary 118.00 35 $ 2.36 root 26.00 12 $ 0.52 zhang 9.00 1 $ 0.18 total 337.00 154 $ 6.74</screen> <para>Ãéá ôïí ïñéóìü ðïóïóôïý ÷ñÝùóçò óå äïëÜñéá, ôï &man.pac.8; ÷ñçóéìïðïéåß ôçí éêáíüôçôá <literal>pc</literal> óôï áñ÷åßï <filename>/etc/printcap</filename> (ðñïåðéëåãìÝíç ôéìÞ 200, Þ 2 óåíôò áíÜ óåëßäá). Ðñïóäéïñßóôå óå áõôÞí ôçí éêáíüôçôá, óå åêáôïóôÜ ôïõ óåíô, ôçí ôéìÞ áíÜ óåëßäá Þ áíÜ ðüäé ðïõ èÝëåôå íá ÷ñåþíåôå ãéá ôéò åêôõðþóåéò. Ìðïñåßôå íá ðñïóðåñÜóåôå áõôÞ ôçí ôéìÞ üôáí ôñÝ÷åôå ôï &man.pac.8; ìå ôçí åðéëïãÞ <option>-p</option>. H ìïíÜäá ìÝôñçóçò ãéá ôçí åðéëïãÞ <option>-p</option> åßíáé óå äïëÜñéá, ü÷é óå åêáôïóôÜ ôïõ óåíô. Ãéá ðáñÜäåéãìá, <screen>&prompt.root; <userinput><command>pac <option>-p1.50</option></command></userinput></screen> ïñßæåé êüóôïò êÜèå óåëßäáò Ýíá äïëÜñéï êáé ðåíÞíôá óåíôò. Ìðïñåßôå ðñáãìáôéêÜ íá Ý÷åôå ðïëëÜ Ýóïäá ÷ñçóéìïðïéþíôáò áõôÝò ôéò ÷ñåþóåéò.</para> <para>ÔÝëïò, åêôåëþíôáò <command>pac <option>-s</option></command> èá áðïèçêåýóåôå ôéò ðëçñïöïñßåò ôïõ áðïëïãéóìïý óå Ýíá áñ÷åßï êáôáãñáöÞò áðïëïãéóìïý, ðïõ èá Ý÷åé ôï ßäéï üíïìá ìå ôï áñ÷åßï êáôáãñáöÞò ôïõ åêôõðùôÞ, áëëÜ ìå êáôÜëçîç <literal>_sum</literal>. ¸ðåéôá êáèáñßæåôáé ôï áñ÷åßï êáôáãñáöÞò. ¼ôáí åêôåëÝóåôå ðÜëé ôï &man.pac.8;, èá îáíáäéáâÜóåé ôï áñ÷åßï áðïëïãéóìïý, ãéá íá ðÜñåé ôá áñ÷éêÜ óýíïëá, êáé èá ðñïóèÝóåé ôéò ðëçñïöïñßåò áðü ôï êáíïíéêü áñ÷åßï êáôáãñáöÞò.</para> </sect3> <sect3> <title>Ðùò Ìðïñåßôå íá ÌåôñÞóåôå ôéò ÔõðùìÝíåò Óåëßäåò;</title> <para>Ãéá íá ìåôñÞóåôå ôéò ôõðùìÝíåò óåëßäåò ìå Ýóôù óôïé÷åéþäç ëåðôïìÝñåéá, èá ðñÝðåé íá ðñïóäéïñßóåôå ðüóï ÷áñôß ÷ñåéÜæåôáé ìéá åñãáóßá. Áõôü åßíáé ôï ïõóéáóôéêüôåñï ðñüâëçìá óôçí êáôáìÝôñçóç åêôõðþóåùí.</para> <para>Ãéá åñãáóßåò áðëïý êåéìÝíïõ, ôï ðñüâëçìá äåí åßíáé äýóêïëï íá ëõèåß: ÌåôñÜôå ðüóåò ãñáììÝò õðÜñ÷ïõí óå ìéá åñãáóßá êáé ôéò óõãêñßíåôå ìå ðüóåò ãñáììÝò ìðïñåß íá ôõðþóåé ï åêôõðùôÞò óáò óå ìéá óåëßäá. Ìçí îå÷Üóåôå íá óõìðåñéëÜâåôå ôá backspaces ðïõ ðñïêáëïýí õðåñôýðùóç, Þ åðéìÞêçò ëïãéêÝò ãñáììÝò ðïõ áíáäéðëþíïíôáé óå ðåñéóóüôåñåò áðü ìßá öõóéêÝò ãñáììÝò.</para> <para>Ôï ößëôñï êåéìÝíïõ <command>lpf</command> (ðïõ ðáñïõóéÜóáìå óôï <link linkend="printing-advanced-lpf">lpf: Ýíá Ößëôñï ÊåéìÝíïõ</link>) ëáìâÜíåé õðüøéí ôïõ áõôÜ ôá óôïé÷åßá üôáí êÜíåé êáôáìÝôñçóç. Áí ãñÜöåôå êÜðïéï ößëôñï êåéìÝíïõ ðïõ ÷ñåéÜæåôáé íá êÜíåé êáôáìÝôñçóç, ßóùò íá èÝëåôå íá åëÝãîåôå ôïí ðçãáßï êþäéêá ôïõ <command>lpf</command>.</para> <para>Ðùò ÷åéñßæåóôå üìùò ôïõò õðüëïéðïõò ôýðïõò áñ÷åßùí;</para> <para>Ãéá ôéò ìåôáôñïðÝò áðü DVI-óå-LaserJet Þ áðü DVI-óå-&postscript;, ìðïñåßôå íá êÜíåôå ôï ößëôñï óáò íá áíáëýåé ôçí Ýîïäï ôïõ <command>dvilj</command> Þ ôïõ <command>dvips</command> êáé íá åëÝã÷åé ðüóåò óåëßäåò äçìéïõñãÞèçêáí áðü ôç ìåôáôñïðÞ. ºóùò ìðïñÝóåôå íá êÜíåôå êÜôé ðáñüìïéï êáé ìå äéáöïñåôéêïýò ôýðïõò áñ÷åßùí êáé ðñïãñÜììáôá ìåôáôñïðÞò</para> <para>Ùóôüóï, üëåò áõôÝò ïé ìÝèïäïé Ý÷ïõí ôï ìåéïíÝêôçìá ðùò ï åêôõðùôÞò ðéèáíþò óôçí ðñáãìáôéêüôçôá íá ìçí åêôõðþóåé üëåò ôéò óåëßäåò. Ãéá ðáñÜäåéãìá, èá ìðïñïýóå íá ìðëïêáñéóôåß ôï ÷áñôß, Þ íá ôåëåéþóåé ôï ôüíåñ, Þ áêüìç íá óõìâåß êáé Ýêñçîç —åíþ ï ÷ñÞóôçò èá óõíå÷ßóåé íá ÷ñåþíåôáé.</para> <para>Ôé èá ìðïñïýóáôå íá êÜíåôå;</para> <para>ÕðÜñ÷åé ìüíï Ýíáò <emphasis>óßãïõñïò</emphasis> ôñüðïò ãéá íá êÜíåôå êáôáìÝôñçóç <emphasis>áêñéâåßáò</emphasis>. Íá ðÜñåôå Ýíáí åêôõðùôÞ ðïõ íá ìðïñåß íá óáò ðåé ðüóï ÷áñôß ÷ñçóéìïðïéåß, êáé íá ôïí óõíäÝóåôå ìÝóù óåéñéáêÞò èýñáò Þ ìÝóù äéêôýïõ. Ó÷åäüí üëïé ïé åêôõðùôÝò &postscript; õðïóôçñßæïõí áõôÞ ôçí äõíáôüôçôá. Èá âñåßôå êáé Üëëïõò ôýðïõò êáé êáôáóêåõáóôÝò ðïõ êÜíïõí åðßóçò ôï ßäéï (ãéá ðáñÜäåéãìá, ïé laser åêôõðùôÝò äéêôýïõ ôçò Imagen). ÌåôáôñÝøôå ôá ößëôñá ãéá áõôïýò ôïõò åêôõðùôÝò þóôå íá êáôáãñÜöïõí ôéò ôõðùìÝíåò óåëßäåò ìåôÜ ôçí ïëïêëÞñùóç ôçò åêÜóôïôå åñãáóßáò åêôýðùóçò, êáé ñõèìßóôå ôïõò íá êñáôïýí áñ÷åßá êáôáãñáöÞò ìå <emphasis>ìüíï</emphasis> áõôÞ ôçí ðëçñïöïñßá. Äåí ÷ñåéÜæåôáé êáôáìÝôñçóç ãñáììþí ïýôå áíáöïñÜ óöáëìÜôùí.</para> <para>ÖõóéêÜ, ðÜíôá Ý÷åôå ôç äõíáôüôçôá íá öáíåßôå ãåííáéüäùñïò êáé íá ðáñÝ÷åôå ôéò åêôõðþóåéò óáò äùñåÜí.</para> </sect3> </sect2> </sect1> <sect1 id="printing-using"> <title>×ñÞóç Åêôõðùôþí</title> <indexterm> <primary>printers</primary> <secondary>usage</secondary> </indexterm> <para>ÁõôÞ ç åíüôçôá ðåñéãñÜöåé ðùò íá ÷ñçóéìïðïéåßôå ôïõò åêôõðùôÝò ðïõ Ý÷åôå åãêáôáóôÞóåé óôï &os;. Ïé âáóéêÝò åíôïëÝò ãéá ôïí ôåëéêü ÷ñÞóôç åßíáé ïé áêüëïõèåò:</para> <variablelist> <varlistentry> <term>&man.lpr.1;</term> <listitem> <para>Åêôýðùóç åñãáóéþí</para> </listitem> </varlistentry> <varlistentry> <term>&man.lpq.1;</term> <listitem> <para>¸ëåã÷ïò ïõñÜò áíáìïíÞò (print queue) ôïõ åêôõðùôÞ</para> </listitem> </varlistentry> <varlistentry> <term>&man.lprm.1;</term> <listitem> <para>ÄéáãñáöÞ åñãáóéþí áðü ôçí ïõñÜ áíáìïíÞò</para> </listitem> </varlistentry> </variablelist> <para>ÕðÜñ÷åé åðßóçò ìéá åíôïëÞ ãéá ôïõò äéá÷åéñéóôÝò, ç &man.lpc.8;, ðïõ ðåñéãñÜöåôáé óôçí åíüôçôá <link linkend="printing-lpc">Äéá÷åßñéóç Åêôõðùôþí</link>, êáé ÷ñçóéìïðïéåßôáé ãéá íá åëÝã÷åé ôïõò åêôõðùôÝò êáé ôéò ïõñÝò áíáìïíÞò.</para> <para>Êáé ïé ôñåéò åíôïëÝò &man.lpr.1;, &man.lprm.1;, êáé &man.lpq.1; äÝ÷ïíôáé ôçí åðéëïãÞ <option>-P <replaceable>printer-name</replaceable></option> ìå ôçí ïðïßá êáèïñßæåôáé óå ðïéïí åêôõðùôÞ Þ ïõñÜ áíáìïíÞò èá åíåñãÞóïõí, üðùò áíáöÝñåôáé óôï áñ÷åßï <filename>/etc/printcap</filename>. Áõôü óáò åðéôñÝðåé íá áðïóôåßëåôå, íá äéáãñÜøåôå, êáé íá åëÝãîåôå åñãáóßåò óå äéÜöïñïõò åêôõðùôÝò. Áí äåí ÷ñçóéìïðïéåßôå ôçí åðéëïãÞ <option>-P</option>, ôüôå ïé åíôïëÝò ÷ñçóéìïðïéïýí ôïí åêôõðùôÞ ðïõ áíáöÝñåôáé óôç ìåôáâëçôÞ ðåñéâÜëëïíôïò <envar>PRINTER</envar>. ÔÝëïò, áí äåí Ý÷åôå èÝóåé ìéá ìåôáâëçôÞ ðåñéâÜëëïíôïò <envar>PRINTER</envar>, ïé åíôïëÝò åêôåëïýíôáé ìå ôïí ðñïåðéëåãìÝíï åêôõðùôÞ ðïõ ïíïìÜæåôáé <literal>lp</literal>.</para> <para>Áðü äù êáé óôï åîÞò, ìå ôçí ïñïëïãßá <emphasis>ðñïåðéëåãìÝíïò åêôõðùôÞò</emphasis> èá åííïïýìå ôïí åêôõðùôÞ ðïõ áíáöÝñåôáé óôçí ìåôáâëçôÞ ðåñéâÜëëïíôïò <envar>PRINTER</envar>, Þ áí äåí õðÜñ÷åé, ôïí åêôõðùôÞ ìå ôï üíïìá <literal>lp</literal>.</para> <sect2 id="printing-lpr"> <title>Åêôýðùóç Åñãáóéþí</title> <para>Ãéá íá åêôõðþóåôå áñ÷åßá, ðëçêôñïëïãÞóôå:</para> <screen>&prompt.user; <userinput><command>lpr <filename><replaceable>filename</replaceable></filename> <replaceable>...</replaceable></command></userinput></screen> <indexterm><primary>printing</primary></indexterm> <para>Èá åêôõðùèïýí üëá ôá áíáöåñüìåíá áñ÷åßá óôïí ðñïåðéëåãìÝíï åêôõðùôÞ. Áí äåí áíáöÝñåôå áñ÷åßá, ôï &man.lpr.1; äéáâÜæåé äåäïìÝíá áðü ôï standard input. Ãéá ðáñÜäåéãìá, áõôÞ ç åíôïëÞ èá åêôõðþóåé ìåñéêÜ óçìáíôéêÜ áñ÷åßá ôïõ óõóôÞìáôïò:</para> <screen>&prompt.user; <userinput><command>lpr <filename>/etc/host.conf</filename> <filename>/etc/hosts.equiv</filename></command></userinput></screen> <para>Ãéá íá åðéëÝîåôå Ýíá óõãêåêñéìÝíï åêôõðùôÞ, ðëçêôñïëïãÞóôå:</para> <screen>&prompt.user; <userinput><command>lpr <option>-P</option> <replaceable>printer-name</replaceable> <filename><replaceable>filename</replaceable></filename> <replaceable>...</replaceable></command></userinput></screen> <para>Óôï ðáñÜäåéãìá ìáò èá åêôõðùèåß ìéá ìåãÜëç ëßóôá áñ÷åßùí ôïõ ôñÝ÷ïíôïò êáôáëüãïõ óôïí åêôõðùôÞ ðïõ ïíïìÜæåôáé <literal>rattan</literal>:</para> <screen>&prompt.user; <userinput><command>ls <option>-l</option> | lpr <option>-P</option> rattan</command></userinput></screen> <para>Áöïý äåí áíáöÝñïíôáé ïíüìáôá áñ÷åßùí óôçí åíôïëÞ &man.lpr.1;, ôï <command>lpr</command> äéáâÜæåé ôá äåäïìÝíá ðïõ èá åêôõðþóåé áðü ôï standard input, ôá ïðïßá åßíáé ç Ýîïäïò ôçò åíôïëÞò <command>ls <option>-l</option></command>.</para> <para>Ç åíôïëÞ &man.lpr.1; ìðïñåß íá äå÷èåß Ýíá ìåãÜëï áñéèìü åðéëïãþí ãéá íá åëÝã÷åé ôçí ìïñöïðïßçóç, íá ìåôáôñÝðåé áñ÷åßá, íá äçìéïõñãåß ðïëëáðëÜ áíôßãñáöá, ê.ë.ð. Ãéá ðåñéóóüôåñåò ðëçñïöïñßåò, äåßôå ôçí åíüôçôá <link linkend="printing-lpr-options">ÅðéëïãÝò Åêôýðùóçò</link>.</para> </sect2> <sect2 id="printing-lpq"> <title>¸ëåã÷ïò Åñãáóéþí</title> <indexterm><primary>åêôýðùóç åñãáóéþí</primary></indexterm> <para>¼ôáí åêôõðþíåôå ìå ôï &man.lpr.1;, ôá äåäïìÝíá ðïõ èÝëåôå íá åêôõðþóåôå ôïðïèåôïýíôáé óå Ýíá ðáêÝôï (package) ðïõ ïíïìÜæåôáé <quote>åñãáóßá åêôýðùóçò (print job)</quote>, ç ïðïßá áðïóôÝëëåôáé óôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application>. ÊÜèå åêôõðùôÞò Ý÷åé ìéá ïõñÜ áíáìïíÞò åñãáóéþí, êáé ç åñãáóßá óáò áíáìÝíåé ìáæß ìå Üëëåò äéêÝò óáò êáé Üëëùí ÷ñçóôþí. Ï åêôõðùôÞò ôéò åêôõðþíåé ìå ôçí óåéñÜ Üöéîçò óôçí ïõñÜ áíáìïíÞò.</para> <para>Ãéá íá åìöáíßóåôå ôçí ïõñÜ áíáìïíÞò ãéá ôïí ðñïåðéëåãìÝíï åêôõðùôÞ, ðëçêôñïëïãÞóôå &man.lpq.1;. Ãéá êÜðïéïí óõãêåêñéìÝíï åêôõðùôÞ, ÷ñçóéìïðïéÞóôå ôçí åðéëïãÞ <option>-P</option>. Ãéá ðáñÜäåéãìá, ç åíôïëÞ: <screen>&prompt.user; <userinput><command>lpq <option>-P</option> bamboo</command></userinput></screen> åìöáíßæåé ôçí ïõñÜ áíáìïíÞò ãéá ôïí åêôõðùôÞ ìå ôï üíïìá <literal>bamboo</literal>. Áêïëïõèåß Ýíá ðáñÜäåéãìá åîüäïõ ôçò åíôïëÞò <command>lpq</command>:</para> <screen>bamboo is ready and printing Rank Owner Job Files Total Size active kelly 9 /etc/host.conf, /etc/hosts.equiv 88 bytes 2nd kelly 10 (standard input) 1635 bytes 3rd mary 11 ... 78519 bytes</screen> <para>Åìöáíßæïíôáé ôñåéò åñãáóßåò óôç ëßóôá áíáìïíÞò ãéá ôïí <literal>bamboo</literal>. Óôçí ðñþôç åñãáóßá, ðïõ Ý÷åé óôáëåß áðü ôïí ÷ñÞóôç kelly, Ý÷åé áðïäïèåß ï <quote>áñéèìüò åñãáóßáò (job number)</quote> 9. ÊÜèå åñãáóßá åíüò åêôõðùôÞ ÷áñáêôçñßæåôáé áðü Ýíá ìïíáäéêü ôÝôïéï áñéèìü. Ôéò ðåñéóóüôåñåò öïñÝò ìðïñåßôå íá ôïí áãíïÞóåôå, áëëÜ èá ôïí ÷ñåéáóôåßôå áí èÝëåôå íá äéáãñÜøåôå êÜðïéá åñãáóßá. Äåßôå ôçí åíüôçôá <link linkend="printing-lprm">ÄéáãñáöÞ Åñãáóéþí</link> ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.</para> <para>Ç åñãáóßá ìå ôï íïýìåñï åííÝá áðïôåëåßôáé áðü äýï áñ÷åßá. Ôá ðïëëáðëÜ áñ÷åßá ðïõ äüèçêáí óôç ãñáììÞ åíôïëþí ôïõ &man.lpr.1; èåùñïýíôáé ìÝñïò ìßáò ìüíï åñãáóßáò. ÁõôÞ åßíáé êáé ç ôñÝ÷ïõóá åíåñãÞ åñãáóßá (ðáñáôçñÞóôå ôç ëÝîç <literal>active</literal> ôçò óôÞëçò <quote>Rank</quote>), ðïõ óçìáßíåé ðùò ç åñãáóßá åêôõðþíåôáé áõôÞ ôç óôéãìÞ. Ç äåýôåñç åñãáóßá áðïôåëåßôáé áðü äåäïìÝíá ðïõ Ý÷ïõí ðåñÜóåé óôçí standard input ôçò åíôïëÞò &man.lpr.1;. Ç ôñßôç åñãáóßá ðñïÝñ÷åôáé áðü ôïí ÷ñÞóôç <username>mary</username>, êáé ðñüêåéôáé ãéá ìéá ðïëý ïãêþäç åñãáóßá. Ôï üíïìá äéáäñïìÞò ôïõ áñ÷åßïõ ðïõ ðñüêåéôáé íá åêôõðùèåß åßíáé ðïëý ìåãÜëï ãéá íá ÷ùñÝóåé óôç óôÞëç, êáé ãéá áõôü ç åíôïëÞ &man.lpq.1; áðëÜ ôï óõìâïëßæåé ìå ôñåéò ôåëåßåò.</para> <para>Ç ðñþôç ãñáììÞ ôçò åîüäïõ áðü ôçí &man.lpq.1; åßíáé åðßóçò ðïëý ÷ñÞóéìç: ìáò åíçìåñþíåé ãéá ôï ôé êÜíåé ôçí ðáñïýóá óôéãìÞ ï åêôõðùôÞò (Þ ôïõëÜ÷éóôïí ãéá ôï ôé ðéóôåýåé ôï <application>LPD</application> ðùò êÜíåé ï åêôõðùôÞò áõôÞ ôç óôéãìÞ).</para> <para>Ç åíôïëÞ &man.lpq.1; åðßóçò õðïóôçñßæåé ôçí åðéëïãÞ <option>-l</option> ãéá íá äçìéïõñãÞóåé ìéá ìåãÜëç, ëåðôïìåñÞ ëßóôá. Áêïëïõèåß Ýíá ðáñÜäåéãìá ôïõ <command>lpq <option>-l</option></command>:</para> <screen>waiting for bamboo to become ready (offline ?) kelly: 1st [job 009rose] /etc/host.conf 73 bytes /etc/hosts.equiv 15 bytes kelly: 2nd [job 010rose] (standard input) 1635 bytes mary: 3rd [job 011rose] /home/orchid/mary/research/venus/alpha-regio/mapping 78519 bytes</screen> </sect2> <sect2 id="printing-lprm"> <title>Áöáßñåóç Åñãáóéþí</title> <para>Áí áëëÜîåôå ãíþìç ãéá ìéá åñãáóßá ðïõ åß÷áôå áðïóôåßëåé ðñïò åêôýðùóç, ìðïñåßôå íá ôçí áöáéñÝóåôå áðü ôçí ëßóôá áíáìïíÞò ìå ôçí åíôïëÞ &man.lprm.1;. Ìðïñåßôå áêüìç íá ÷ñçóéìïðïéÞóåôå ôçí &man.lprm.1; ãéá íá áöáéñÝóåôå ìéá åíåñãÞ åñãáóßá, áëëÜ ðéèáíüí êÜðïéï ìÝñïò ôçò íá åêôõðùèåß Ýôóé êáé áëëéþò.</para> <para>Ãéá íá áöáéñÝóåôå ìéá åñãáóßá áðü ôïí ðñïåðéëåãìÝíï åêôõðùôÞ, ÷ñçóéìïðïéÞóôå ðñþôá ôçí &man.lpq.1; ãéá íá âñåßôå ôïí áñéèìü ôçò. ¸ðåéôá ðëçêôñïëïãÞóôå:</para> <screen>&prompt.user; <userinput><command>lprm <replaceable>job-number</replaceable></command></userinput></screen> <para>Ãéá íá áöáéñÝóåôå ìéá åñãáóßá áðü êÜðïéïí óõãêåêñéìÝíï åêôõðùôÞ, ðñïóèÝóôå ôçí åðéëïãÞ <option>-P</option>. Ç áêüëïõèç åíôïëÞ áöáéñåß ôçí åñãáóßá ìå áñéèìü 10 áðü ôçí ïõñÜ áíáìïíÞò ãéá ôïí åêôõðùôÞ <literal>bamboo</literal>:</para> <screen>&prompt.user; <userinput><command>lprm <option>-P</option> bamboo 10</command></userinput></screen> <para>Ç åíôïëÞ &man.lprm.1; Ý÷åé ìåñéêÝò óõíôïìåýóåéò:</para> <variablelist> <varlistentry> <term>lprm -</term> <listitem> <para>Áöáéñåß üëåò ôéò åñãáóßåò (ãéá ôïí ðñïåðéëåãìÝíï åêôõðùôÞ) ðïõ áíÞêïõí óå åóÜò.</para> </listitem> </varlistentry> <varlistentry> <term>lprm <replaceable>user</replaceable></term> <listitem> <para>Áöáéñåß üëåò ôéò åñãáóßåò (ãéá ôïí ðñïåðéëåãìÝíï åêôõðùôÞ) ðïõ áíÞêïõí óôïí <replaceable>÷ñÞóôç (user)</replaceable>. Ï õðåñ÷ñÞóôçò (superuser) ìðïñåß íá áöáéñÝóåé åñãáóßåò Üëëùí ÷ñçóôþí, åóåßò ìðïñåßôå íá áöáéñÝóåôå ìüíï ôéò äéêÝò óáò.</para> </listitem> </varlistentry> <varlistentry> <term>lprm</term> <listitem> <para>Ç åíôïëÞ &man.lprm.1; ÷ùñßò áñéèìü åñãáóßáò, üíïìá ÷ñÞóôç, Þ <option>-</option> ðïõ åìöáíßæåôáé óôçí ãñáììÞ åíôïëþí, áöáéñåß ôçí ôñÝ÷ïõóá åíåñãÞ åñãáóßá óôïí ðñïåðéëåãìÝíï åêôõðùôÞ, áí áíÞêåé óå óÜò. Ï õðåñ÷ñÞóôçò (superuser) ìðïñåß íá áöáéñÝóåé ïðïéáäÞðïôå åíåñãÞ åñãáóßá.</para> </listitem> </varlistentry> </variablelist> <para>Ãéá íá äïõëÝøåôå óå êÜðïéïí óõãêåêñéìÝíï åêôõðùôÞ áíôß ôïõ ðñïåðéëåãìÝíïõ, áðëÜ ÷ñçóéìïðïéÞóôå ôçí åðéëïãÞ <option>-P</option> ìå ôéò ðáñáðÜíù óõíôïìåýóåéò. Ãéá ðáñÜäåéãìá, ç áêüëïõèç åíôïëÞ áöáéñåß üëåò ôéò åñãáóßåò ôïõ ôñÝ÷ïíôïò ÷ñÞóôç áðü ôçí ïõñÜ áíáìïíÞò ôïõ åêôõðùôÞ <literal>rattan</literal>:</para> <screen>&prompt.user; <userinput><command>lprm <option>-P</option> rattan -</command></userinput></screen> <note> <para>Áí åñãÜæåóôå óå ðåñéâÜëëïí äéêôýïõ, ç &man.lprm.1; èá óáò åðéôñÝøåé íá áöáéñÝóåôå åñãáóßåò ìüíï áðü ôïí õðïëïãéóôÞ ðïõ ôéò Ý÷åôå óôåßëåé, áíåîÜñôçôá áí ï åêôõðùôÞò åßíáé ðñïóâÜóéìïò êáé áðü Üëëïõò õðïëïãéóôÝò. Ç áêüëïõèç åíôïëÞ åðéäåéêíýåé áêñéâþò áõôü ôï ÷áñáêôçñéóôéêü:</para> <screen>&prompt.user; <userinput><command>lpr <option>-P</option> rattan <filename><replaceable>myfile</replaceable></filename></command></userinput> &prompt.user; <userinput><command>rlogin orchid</command></userinput> &prompt.user; <userinput><command>lpq <option>-P</option> rattan</command></userinput> Rank Owner Job Files Total Size active seeyan 12 ... 49123 bytes 2nd kelly 13 myfile 12 bytes &prompt.user; <userinput><command>lprm <option>-P</option> rattan 13</command></userinput> rose: Permission denied &prompt.user; <userinput><command>logout</command></userinput> &prompt.user; <userinput><command>lprm <option>-P</option> rattan 13</command></userinput> dfA013rose dequeued cfA013rose dequeued </screen> </note> </sect2> <sect2 id="printing-lpr-options"> <title>ÐÝñá áðü ôï Áðëü Êåßìåíï: Ðåñéóóüôåñåò ÅðéëïãÝò Åêôýðùóçò</title> <para>Ç åíôïëÞ &man.lpr.1; õðïóôçñßæåé ìéá ãêÜìá åðéëïãþí ãéá ôïí Ýëåã÷ï ìïñöïðïßçóçò êåéìÝíïõ, ìåôáôñïðÞò ãñáöéêþí êáé Üëëùí ìïñöþí áñ÷åßùí, ðáñáãùãÞò ðïëëáðëþí áíôéãñÜöùí, ÷åéñéóìïý åñãáóéþí, êáé Üëëá. Ïé åðéëïãÝò áõôÝò ðåñéãñÜöïíôáé óôçí ðáñïýóá åíüôçôá.</para> <sect3 id="printing-lpr-options-format"> <title>ÅðéëïãÝò Ìïñöïðïßçóçò êáé ÌåôáôñïðÞò</title> <para>Ïé áêüëïõèåò åðéëïãÝò ôçò &man.lpr.1; åëÝã÷ïõí ôçí ìïñöïðïßçóç ôùí áñ÷åßùí ôçò åñãáóßáò åêôýðùóçò. ×ñçóéìïðïéÞóôå ôéò áí ç åñãáóßá óáò äåí ðåñéÝ÷åé áðëü êåßìåíï Þ áí åðéèõìåßôå íá ìïñöïðïéÞóåôå áðëü êåßìåíï äéáìÝóïõ ôïõ åñãáëåßïõ &man.pr.1;.</para> <indexterm><primary>&tex;</primary></indexterm> <para>Ãéá ðáñÜäåéãìá, ç áêüëïõèç åíôïëÞ ôõðþíåé Ýíá áñ÷åßï DVI (áðü ôï óýóôçìá óôïé÷åéïèåóßáò &tex;) ìå üíïìá <filename><replaceable>fish-report.dvi</replaceable></filename> óôïí åêôõðùôÞ ìå üíïìá <literal>bamboo</literal>:</para> <screen>&prompt.user; <userinput><command>lpr <option>-P</option> bamboo <option>-d</option> <filename><replaceable>fish-report.dvi</replaceable></filename></command></userinput></screen> <para>ÁõôÝò ïé åðéëïãÝò åöáñìüæïíôáé óå êÜèå áñ÷åßï ôçò åñãáóßáò, êáé Ýôóé äåí ìðïñåßôå íá áíáìßîåôå (áò ðïýìå) áñ÷åßá DVI êáé ditroff ìáæß óôçí ßäéá åñãáóßá. Áðëþò óôåßëôå ôá áñ÷åßá óáí äéáöïñåôéêÝò åñãáóßåò, ÷ñçóéìïðïéþíôáò äéáöïñåôéêÝò åðéëïãÝò ìåôáôñïðÞò ãéá êÜèå åñãáóßá.</para> <note> <para>¼ëåò áõôÝò ïé åðéëïãÝò åêôüò ôçò <option>-p</option> êáé ôçò <option>-T</option> áðáéôïýí åãêáôåóôçìÝíá ößëôñá ìåôáôñïðÞò ãéá ôïí åêôõðùôÞ ðñïïñéóìïý. Ãéá ðáñÜäåéãìá, ç åðéëïãÞ <option>-d</option> áðáéôåß ôï ößëôñï ìåôáôñïðÞò DVI. Ç åíüôçôá <link linkend="printing-advanced-convfilters">Ößëôñá ÌåôáôñïðÞò</link> äßíåé ðåñéóóüôåñåò ëåðôïìÝñåéåò.</para> </note> <variablelist> <varlistentry> <term><option>-c</option></term> <listitem> <para>Åêôõðþíåé áñ÷åßá cifplot.</para> </listitem> </varlistentry> <varlistentry> <term><option>-d</option></term> <listitem> <para>Åêôõðþíåé áñ÷åßá DVI.</para> </listitem> </varlistentry> <varlistentry> <term><option>-f</option></term> <listitem> <para>Åêôõðþíåé áñ÷åßá êåéìÝíïõ FORTRAN.</para> </listitem> </varlistentry> <varlistentry> <term><option>-g</option></term> <listitem> <para>Åêôõðþíåé äåäïìÝíá ó÷åäßáóçò (plot).</para> </listitem> </varlistentry> <varlistentry> <term><option>-i <replaceable>number</replaceable></option> </term> <listitem> <para>Åêôõðþíåé ôçí Ýîïäï ìå åóï÷Þ <replaceable>number</replaceable> óôçëþí. Áí ðáñáëåßøåôå ôï <replaceable>number</replaceable>, ç åóï÷Þ èá åßíáé 8 óôÞëåò. ÁõôÞ ç åðéëïãÞ äïõëåýåé ìüíï ìå ïñéóìÝíá ößëôñá ìåôáôñïðÞò.</para> <note> <para>Ìçí ôïðïèåôåßôå êåíü äéÜóôçìá ìåôáîý ôïõ <option>-i</option> êáé ôïõ áñéèìïý.</para> </note> </listitem> </varlistentry> <varlistentry> <term><option>-l</option></term> <listitem> <para>Åêôõðþíåé äåäïìÝíá êåéìÝíïõ êáôÜ ãñÜììá (literal), óõìðåñéëáìâÜíïíôáò êáé ôïõò ÷áñáêôÞñåò åëÝã÷ïõ.</para> </listitem> </varlistentry> <varlistentry> <term><option>-n</option></term> <listitem> <para>Åêôõðþíåé äåäïìÝíá ditroff (äåäïìÝíá troff áíåîÜñôçôá áðü ôç óõóêåõÞ).</para> </listitem> </varlistentry> <varlistentry> <term>-p</term> <listitem> <para>Ìïñöïðïéåß ôï áðëü êåßìåíï ìå ôçí &man.pr.1; ðñéí íá ôï åêôõðþóåé. Äåßôå ôçí &man.pr.1; ãéá ðåñéóóüôåñåò ðëçñïöïñßåò.</para> </listitem> </varlistentry> <varlistentry> <term><option>-T <replaceable>title</replaceable></option></term> <listitem> <para>×ñçóéìïðïéåß ôï <replaceable>title</replaceable> óôçí êåöáëßäá ôïõ &man.pr.1; áíôß ãéá ôï üíïìá áñ÷åßïõ. ÁõôÞ ç åðéëïãÞ åðéäñÜ ìüíï üôáí ÷ñçóéìïðïéåßôáé ìå ôçí åðéëïãÞ <option>-p</option></para></listitem> </varlistentry> <varlistentry> <term><option>-t</option></term> <listitem> <para>Åêôõðþíåé äåäïìÝíá troff.</para> </listitem> </varlistentry> <varlistentry> <term><option>-v</option></term> <listitem> <para>Åêôõðþíåé äåäïìÝíá ñÜóôåñ.</para> </listitem> </varlistentry> </variablelist> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá: áõôÞ ç åíôïëÞ åêôõðþíåé ìéá êïìøÜ ìïñöïðïéçìÝíç Ýêäïóç ôçò óåëßäáò âïçèåßáò &man.ls.1; óôïí ðñïåðéëåãìÝíï åêôõðùôÞ:</para> <screen>&prompt.user; <userinput><command>zcat <filename>/usr/share/man/man1/ls.1.gz</filename> | troff <option>-t</option> -man | lpr <option>-t</option></command></userinput></screen> <para>Ç åíôïëÞ &man.zcat.1; áðïóõìðéÝæåé ôïí ðçãáßï êþäéêá ôçò óåëßäáò âïçèåßáò &man.ls.1; êáé ôïí ðåñíÜåé óôçí åíôïëÞ &man.troff.1;, ç ïðïßá ôïí ìïñöïðïéåß êáé äçìéïõñãåß óôçí Ýîïäï ôçò äåäïìÝíá GNU troff, ôá áðïóôÝëëåé óôçí &man.lpr.1;, ç ïðïßá ìå ôç óåéñÜ ôçò áðïóôÝëëåé ôçí åñãáóßá óôï <application>LPD</application>. ÅðåéäÞ ÷ñçóéìïðïéÞóáìå ôçí åðéëïãÞ <option>-t</option> óôï &man.lpr.1;, ï spooler, êáôÜ ôç äéÜñêåéá ôçò åêôýðùóçò, èá ìåôáôñÝøåé ôçí Ýîïäï GNU troff óå Ýíá ôýðï äåäïìÝíùí êáôáíïçôü áðü ôïí ðñïåðéëåãìÝíï åêôõðùôÞ.</para> </sect3> <sect3 id="printing-lpr-options-job-handling"> <title>ÅðéëïãÝò ×åéñéóìïý Åñãáóéþí</title> <para>Ïé áêüëïõèåò åðéëïãÝò ôïõ &man.lpr.1; ïäçãïýí ôï <application>LPD</application> íá ÷åéñéóôåß ôéò åñãáóßåò ìå åéäéêü ôñüðï:</para> <variablelist> <varlistentry> <term>-# <replaceable>copies</replaceable></term> <listitem> <para>Äçìéïõñãåß Ýíáí áñéèìü <replaceable>copies</replaceable> (áíôéãñÜöùí) ãéá êÜèå áñ÷åßï ôçò åñãáóßáò áíôß ãéá Ýíá ìüíï áíôßãñáöï. Ï äéá÷åéñéóôÞò ìðïñåß íá áðåíåñãïðïéÞóåé áõôÞ ôçí åðéëïãÞ ãéá íá ìåéþóåé ôçí êáôáðüíçóç ôùí åêôõðùôþí êáé íá åíèáññýíåé ôçí ÷ñÞóç öùôïôõðéêþí ìç÷áíçìÜôùí. Äåßôå ôçí åíüôçôá <link linkend="printing-advanced-restricting-copies">Ðåñéïñéóìüò Åêôýðùóçò Ðïëëáðëþí ÁíôéãñÜöùí</link>.</para> <para>Óå áõôü ôï ðáñÜäåéãìá, åêôõðþíïõìå óôïí ðñïåðéëåãìÝíï åêôõðùôÞ ôñßá áíôßãñáöá ôïõ <filename><replaceable>parser.c</replaceable></filename> êáé ôñßá áíôßãñáöá ôïõ <filename><replaceable>parser.h</replaceable></filename>:</para> <screen>&prompt.user; <userinput><command>lpr <option>-#3</option> <filename><replaceable>parser.c parser.h</replaceable></filename></command></userinput></screen> </listitem> </varlistentry> <varlistentry> <term>-m</term> <listitem> <para>ÁðïóôïëÞ mail ìåôÜ ôçí ïëïêëÞñùóç åêôýðùóçò ôçò åñãáóßáò. Ìå áõôÞ ôçí åðéëïãÞ, ôï óýóôçìá <application>LPD</application> óôÝëíåé mail óôï ëïãáñéáóìü óáò ìüëéò ïëïêëçñùèåß ï ÷åéñéóìüò åêôýðùóçò ôçò åñãáóßáò óáò. Óôï ìÞíõìá ôïõ, èá óáò åíçìåñþóåé áí ç åñãáóßá ïëïêëçñþèçêå åðéôõ÷þò Þ áí ðáñïõóéÜóôçêå óöÜëìá êáé (óõ÷íÜ) ðïéü Þôáí ôï óöÜëìá.</para> </listitem> </varlistentry> <varlistentry> <term>-s</term> <listitem> <para>Äåí áíôéãñÜöåé ôá áñ÷åßá óôïí êáôÜëïãï spool, áëëÜ áíôß ãéá áõôü, äçìéïõñãåß óõìâïëéêÝò óõíôïìåýóåéò (symbolic links) ðñïò áõôÜ.</para> <para>Áí åêôõðþíåôå ìéá ìåãÜëç åñãáóßá, ßóùò èÝëåôå íá ÷ñçóéìïðïéÞóåôå áõôÞ ôçí åðéëïãÞ. Èá óáò ãëõôþóåé ÷þñï óôïí êáôÜëïãï spool (ßóùò ç åñãáóßá óáò íá õðåñâáßíåé ôïí åëåýèåñï ÷þñï ôïõ óõóôÞìáôïò áñ÷åßùí ðïõ ðåñéÝ÷åé ôïí êáôÜëïãï spool). Åðßóçò èá êåñäßóåôå ÷ñüíï áöïý ôï <application>LPD</application> äåí èá ÷ñåéáóôåß íá áíôéãñÜøåé üëç ôçí åñãáóßá óáò óôïí êáôÜëïãï spool.</para> <para>Áõôü, ùóôüóï, Ý÷åé êáé Ýíá ìåéïíÝêôçìá: áðü ôç óôéãìÞ ðïõ ôï <application>LPD</application> èá êÜíåé áíáöïñÜ êáôåõèåßáí óôï ðñùôüôõðï áñ÷åßï, äåí èá Ý÷åôå äõíáôüôçôá íá ìåôáôñÝøåôå Þ íá äéáãñÜøåôå ôï áñ÷åßï Ýùò üôïõ åêôõðùèåß.</para> <note> <para>Áí åêôõðþíåôå óå Ýíá áðïìáêñõóìÝíï åêôõðùôÞ, ôï <application>LPD</application> ðéèáíþò èá ÷ñåéáóôåß ôåëéêÜ íá áíôéãñÜøåé ôá áñ÷åßá áðü ôïí ôïðéêü õðïëïãéóôÞ óôïí áðïìáêñõóìÝíï, åðïìÝíùò ç åðéëïãÞ <option>-s</option> óå áõôÞ ôçí ðåñßðôùóç åîïéêïíïìåß ÷þñï óôïí ôïðéêü êáôÜëïãï spool, áëëÜ ü÷é óôïí áðïìáêñõóìÝíï. Åîáêïëïõèåß ùóôüóï íá åßíáé éäéáßôåñá ÷ñÞóéìç.</para> </note> </listitem> </varlistentry> <varlistentry> <term>-r</term> <listitem> <para>Áðïìáêñýíåé ôá áñ÷åßá ôçò åñãáóßáò ìåôÜ ôçí áíôéãñáöÞ ôïõò óôïí êáôÜëïãï spool, Þ ìåôÜ ôçí åêôýðùóç ôïõò ìå ôçí åðéëïãÞ <option>-s</option>. Íá åßóôå ðñïóåêôéêïß ìå áõôÞ ôçí åðéëïãÞ!</para> </listitem> </varlistentry> </variablelist> </sect3> <sect3 id="printing-lpr-options-misc"> <title>ÅðéëïãÝò Óåëßäùí Êåöáëßäáò</title> <para>ÁõôÝò ïé åðéëïãÝò ôïõ &man.lpr.1; ñõèìßæïõí ôï êåßìåíï ðïõ êáíïíéêÜ åìöáíßæåôáé óôçí óåëßäá êåöáëßäáò ôçò åñãáóßáò. Áí ïé óåëßäåò êåöáëßäáò ðáñåìðïäßæïíôáé ãéá ôïí óõãêåêñéìÝíï åêôõðùôÞ, áõôÝò ïé åðéëïãÝò äåí Ý÷ïõí êáìßá åðßäñáóç. Äåßôå ôçí åíüôçôá <link linkend="printing-advanced-header-pages">Óåëßäåò Êåöáëßäáò</link> ãéá ðëçñïöïñßåò ó÷åôéêÜ ìå ôéò ñõèìßóåéò ôùí óåëßäùí êåöáëßäáò.</para> <variablelist> <varlistentry> <term>-C <replaceable>text</replaceable></term> <listitem> <para>ÁíôéêáèéóôÜ ôï üíïìá õðïëïãéóôÞ óôç óåëßäá êåöáëßäáò ìå <replaceable>text</replaceable>. Ôï üíïìá õðïëïãéóôÞ ðïõ åìöáíßæåôáé åßíáé, áðü ðñïåðéëïãÞ, ôï üíïìá ôïõ õðïëïãéóôÞ áðü ôïí ïðïßï Ýãéíå ç áðïóôïëÞ ôçò åñãáóßáò.</para> </listitem> </varlistentry> <varlistentry> <term>-J <replaceable>text</replaceable></term> <listitem> <para>ÁíôéêáèéóôÜ ôï üíïìá åñãáóßáò óôç óåëßäá êåöáëßäáò ìå <replaceable>text</replaceable>. Ôï üíïìá åñãáóßáò ðïõ åìöáíßæåôáé áðü ðñïåðéëïãÞ, åßíáé ôï üíïìá ôïõ ðñþôïõ áñ÷åßïõ ôçò åñãáóßáò, Þ <filename>stdin</filename> áí ç åêôýðùóç ãßíåôáé áðü ôï standard input.</para> </listitem> </varlistentry> <varlistentry> <term>-h</term> <listitem> <para>Äåí åêôõðþíåé óåëßäá êåöáëßäáò.</para> <note> <para>ÁíÜëïãá ìå ôéò ñõèìßóåéò, áõôÞ ç åðéëïãÞ ßóùò íá ìçí Ý÷åé åðßäñáóç ëüãù ôïõ ôñüðïõ ìå ôïí ïðïßï äçìéïõñãïýíôáé ïé óåëßäåò êåöáëßäáò. Ãéá ðåñéóóüôåñåò ëåðôïìÝñåéåò, äåßôå ôçí åíüôçôá <link linkend="printing-advanced-header-pages">Óåëßäåò Êåöáëßäáò</link>.</para> </note> </listitem> </varlistentry> </variablelist> </sect3> </sect2> <sect2 id="printing-lpc"> <title>Äéá÷åßñéóç Åêôõðùôþí</title> <para>Ùò äéá÷åéñéóôÞò, ÷ñåéÜóôçêå íá åãêáôáóôÞóåôå, íá ñõèìßóåôå êáé íá äïêéìÜóåôå ôïõò åêôõðùôÝò óáò. ×ñçóéìïðïéþíôáò ôçí åíôïëÞ &man.lpc.8;, ìðïñåßôå íá åðéêïéíùíÞóåôå ìå ôïõò åêôõðùôÝò óáò ìå áêüìç ðåñéóóüôåñïõò ôñüðïõò. Ìå ôçí &man.lpc.8;, ìðïñåßôå:</para> <itemizedlist> <listitem> <para>Íá åêêéíåßôå êáé íá óôáìáôÜôå ôïõò åêôõðùôÝò</para> </listitem> <listitem> <para>Íá åíåñãïðïéåßôå êáé íá áðåíåñãïðïéåßôå ôéò ïõñÝò áíáìïíÞò</para> </listitem> <listitem> <para>Íá áíáêáôáôÜóóåôå ôçí óåéñÜ åñãáóéþí óå êÜèå ïõñÜ áíáìïíÞò.</para> </listitem> </itemizedlist> <para>Êáôáñ÷Þí, ìßá óçìåßùóç ó÷åôéêÜ ìå ôçí ïñïëïãßá: áí Ýíáò åêôõðùôÞò åßíáé <emphasis>óôáìáôçìÝíïò (stopped)</emphasis>, äåí èá åêôõðþóåé ôßðïôå áðü ôçí ïõñÜ áíáìïíÞò åñãáóéþí. Ïé ÷ñÞóôåò ìðïñïýí áêüìç íá óôÝëíïõí åñãáóßåò, ïé ïðïßåò ìðáßíïõí óôçí ïõñÜ áíáìïíÞò Ýùò üôïõ ï åêôõðùôÞò <emphasis>îåêéíÞóåé</emphasis> Þ êáèáñéóôåß ç ïõñÜ áíáìïíÞò.</para> <para>Áí Ý÷åé <emphasis>áðåíåñãïðïéçèåß</emphasis> ç ïõñÜ áíáìïíÞò, êáíåßò ÷ñÞóôçò (åêôüò ôïõ <username>root</username>) äåí ìðïñåß íá áðïóôåßëåé åñãáóßåò óôïí åêôõðùôÞ. Ìéá <emphasis>åíåñãÞ</emphasis> ïõñÜ áíáìïíÞò åðéôñÝðåé íá áðïóôáëïýí åñãáóßåò óôïí åêôõðùôÞ. ¸íáò åêôõðùôÞò ìðïñåß íá <emphasis>îåêéíÞóåé</emphasis> ìå ïõñÜ áíáìïíÞò áðåíåñãïðïéçìÝíç, êáé óå áõôÞ ôçí ðåñßðôùóç èá óõíå÷ßóåé íá åêôõðþíåé ôéò åñãáóßåò ôçò ïõñÜò Ýùò üôïõ áõôÞ áäåéÜóåé.</para> <para>ÃåíéêÜ, ðñÝðåé íá Ý÷åôå ðñïíüìéá <username>root</username> ãéá íá ÷ñçóéìïðïéÞóåôå ôçí åíôïëÞ &man.lpc.8;. Ïé êáíïíéêïß ÷ñÞóôåò ìðïñïýí íá ÷ñçóéìïðïéïýí ôçí åíôïëÞ &man.lpc.8; ìüíï ãéá íá âëÝðïõí ôçí êáôÜóôáóç ôïõ åêôõðùôÞ êáé íá åðáíåêêéíïýí ôïí åêôõðùôÞ óå ðåñßðôùóç ìðëïêáñßóìáôïò.</para> <para>ÐáñáêÜôù èá âñåßôå ìéá ëßóôá åíôïëþí ôïõ &man.lpc.8;. Ïé ðåñéóóüôåñåò áðü ôéò åíôïëÝò ðáßñíïõí ùò ðáñÜìåôñï ôï <replaceable>printer-name</replaceable> ãéá ôç ñýèìéóç ôïõ óõãêåêñéìÝíïõ åêôõðùôÞ. Ìðïñåßôå íá ÷ñçóéìïðïéåßôå <literal>all</literal> óôç èÝóç ôïõ <replaceable>printer-name</replaceable> ãéá íá áíáöåñèåßôå óå üëïõò ôïõò åêôõðùôÝò ðïõ åßíáé êáôá÷ùñéóìÝíïé óôï <filename>/etc/printcap</filename>.</para> <variablelist> <varlistentry> <term><command>abort <replaceable>printer-name</replaceable></command></term> <listitem> <para>ÄéáãñÜöåé ôçí ôñÝ÷ïõóá åñãáóßá êáé óôáìáôÜåé ôïí åêôõðùôÞ. Ïé ÷ñÞóôåò ìðïñïýí áêüìç íá áðïóôåßëïõí åñãáóßåò áí ç ïõñÜ áíáìïíÞò åßíáé áêüìç åíåñãÞ.</para> </listitem> </varlistentry> <varlistentry> <term><command>clean <replaceable>printer-name</replaceable></command></term> <listitem> <para>ÄéáãñÜöåé ôá ðáëéÜ áñ÷åßá áðü ôïí êáôÜëïãï spool ôïõ åêôõðùôÞ. Óå êÜðïéåò ðåñéðôþóåéò, ôá áñ÷åßá áðü ôá ïðïßá áðïôåëåßôáé êÜðïéá åñãáóßá äåí áöáéñïýíôáé êáíïíéêÜ áðü ôï <application>LPD</application>, åéäéêÜ áí õðÞñîáí óöÜëìáôá êáôÜ ôçí åêôýðùóç Þ êÜðïéåò åíÝñãåéåò áðü ôïí äéá÷åéñéóôÞ. ÁõôÞ ç åíôïëÞ âñßóêåé áñ÷åßá ðïõ äåí áíÞêïõí óôïí êáôÜëïãï spool êáé ôá áöáéñåß.</para> </listitem> </varlistentry> <varlistentry> <term><command>disable <replaceable>printer-name</replaceable></command></term> <listitem> <para>Áðåíåñãïðïéåß ôçí ïõñÜ áíáìïíÞò ãéá íÝåò åñãáóßåò. Áí ï åêôõðùôÞò äïõëåýåé, èá óõíå÷ßóåé íá åêôõðþíåé ôéò åíáðïìåßíáíôåò åñãáóßåò óôçí ïõñÜ áíáìïíÞò. Ï superuser (<username>root</username>) ìðïñåß ðÜíôá íá óôÝëíåé åñãáóßåò, áêüìç êáé óå áðåíåñãïðïéçìÝíç óåéñÜ áíáìïíÞò.</para> <para>ÁõôÞ ç åíôïëÞ åßíáé ÷ñÞóéìç, üôáí åëÝã÷åôå Ýíá íÝï åêôõðùôÞ Þ üôáí åãêáèéóôÜôå Ýíá ößëôñï: áðåíåñãïðïéÞóôå ôçí ïõñÜ áíáìïíÞò êáé óôåßëôå åñãáóßåò óáí <username>root</username>. Ïé õðüëïéðïé ÷ñÞóôåò äåí èá Ý÷ïõí äõíáôüôçôá íá áðïóôåßëïõí åñãáóßåò Ýùò üôïõ ïëïêëçñþóåôå ôïõò åëÝã÷ïõò óáò êáé åðáíåíåñãïðïéÞóåôå ôçí ïõñÜ áíáìïíÞò ìå ôçí åíôïëÞ <command>enable</command>.</para> </listitem> </varlistentry> <varlistentry> <term><command>down <replaceable>printer-name</replaceable> <replaceable>message</replaceable></command></term> <listitem> <para>Ïäçãåß ôïí åêôõðùôÞ óå "êáôÝâáóìá" (down). Åßíáé éóïäýíáìï ìå ôï <command>disable</command> áêïëïõèïýìåíï áðü Ýíá <command>stop</command>. Ôï <replaceable>message</replaceable> (ìÞíõìá) åìöáíßæåôáé üôáí êÜðïéïò ÷ñÞóôçò åëÝã÷åé ôçí óåéñÜ áíáìïíÞò ìå &man.lpq.1; Þ ôçí êáôÜóôáóç ôïõ åêôõðùôÞ ìå <command>lpc status</command>.</para> </listitem> </varlistentry> <varlistentry> <term><command>enable <replaceable>printer-name</replaceable></command></term> <listitem> <para>Åíåñãïðïßçóç ôçò ïõñÜò áíáìïíÞò ôïõ åêôõðùôÞ. Ïé ÷ñÞóôåò ìðïñïýí íá áðïóôåßëïõí åñãáóßåò áëëÜ ï åêôõðùôÞò äåí èá ôõðþóåé Ýùò üôïõ îåêéíÞóåé.</para> </listitem> </varlistentry> <varlistentry> <term><command>help <replaceable>command-name</replaceable></command></term> <listitem> <para>Ôõðþíåé óåëßäåò âïçèåßáò ãéá ôçí åíôïëÞ <replaceable>command-name</replaceable>. Äß÷ùò ôï <replaceable>command-name</replaceable>, åêôõðþíåé ìéá ðåñßëçøç üëùí ôùí äéáèÝóéìùí åíôïëþí.</para> </listitem> </varlistentry> <varlistentry> <term><command>restart <replaceable>printer-name</replaceable></command></term> <listitem> <para>ÎåêéíÜ ôïí åêôõðùôÞ. Ïé êáíïíéêïß ÷ñÞóôåò ìðïñïýí íá ÷ñçóéìïðïéÞóïõí áõôÞ ôçí åíôïëÞ ìüíï óå êÜðïéá åéäéêÞ ðåñßðôùóç ðïõ ôï <application>LPD</application> äåí áðïêñßíåôáé, áëëÜ äåí ìðïñïýí íá îåêéíÞóïõí Ýíá åêôõðùôÞ ðïõ Ý÷åé óôáìáôÞóåé åîáéôßáò ôùí åíôïëþí <command>stop</command> Þ <command>down</command>. Ç åíôïëÞ <command>restart</command> åßíáé éóïäýíáìç ìå ôçí <command>abort</command> áêïëïõèïýìåíç áðü ôç <command>start</command>.</para> </listitem> </varlistentry> <varlistentry> <term><command>start <replaceable>printer-name</replaceable></command></term> <listitem> <para>ÎåêéíÜ ôïí åêôõðùôÞ. Ï åêôõðùôÞò èá ôõðþóåé åñãáóßåò áðü ôçí ïõñÜ áíáìïíÞò ôïõ.</para> </listitem> </varlistentry> <varlistentry> <term><command>stop <replaceable>printer-name</replaceable></command></term> <listitem> <para>ÓôáìáôÜåé ôïí åêôõðùôÞ. Ï åêôõðùôÞò èá ïëïêëçñþóåé ôçí ôñÝ÷ïõóá åñãáóßá ôïõ êáé äåí èá ôõðþóåé êáìßá Üëëç åñãáóßá áðü ôçí ïõñÜ áíáìïíÞò ôïõ. Áêüìç êáé áí ï åêôõðùôÞò åßíáé óôáìáôçìÝíïò, ïé ÷ñÞóôåò ìðïñïýí áêüìç íá óôÝëíïõí åñãáóßåò áí åßíáé åíåñãïðïéçìÝíç ç ïõñÜ áíáìïíÞò.</para> </listitem> </varlistentry> <varlistentry> <term><command>topq <replaceable>printer-name</replaceable> <replaceable>job-or-username</replaceable></command></term> <listitem> <para>ÁíáêáôÜôáîç ôçò ïõñÜò áíáìïíÞò ãéá ôïí <replaceable>printer-name</replaceable>. Ôïðïèåôïýíôáé ðñþôåò ïé åñãáóßåò ìå áñéèìü áíáöïñÜò <replaceable>job</replaceable> Þ áõôÝò ðïõ áíÞêïõí óôï ÷ñÞóôç <replaceable>username</replaceable>. Ãéá áõôÞ ôçí åíôïëÞ, äåí ìðïñåßôå íá ÷ñçóéìïðïéÞóåôå <literal>all</literal> óôçí èÝóç ôïõ <replaceable>printer-name</replaceable>.</para> </listitem> </varlistentry> <varlistentry> <term><command>up <replaceable>printer-name</replaceable></command></term> <listitem> <para>Ïäçãåß ôïí åêôõðùôÞ óå "áíÝâáóìá" (up). Ôï áíôßèåôï ôçò åíôïëÞò <command>down</command>. Éóïäõíáìåß ìå ôçí <command>start</command> áêïëïõèïýìåíç áðü ôçí åíôïëÞ <command>enable</command>.</para> </listitem> </varlistentry> </variablelist> <para>Ôï &man.lpc.8; äÝ÷åôáé ôéò ðáñáðÜíù åíôïëÝò óôçí ãñáììÞ åíôïëþí. Áí äåí åéóÜãåôå êáìßá åíôïëÞ, ôï &man.lpc.8; ìðáßíåé óå êáôÜóôáóç áëëçëåðßäñáóçò (interactive), üðïõ ìðïñåßôå íá ðëçêôñïëïãåßôå åíôïëÝò ìÝ÷ñé íá äþóåôå <command>exit</command>, <command>quit</command>, Þ end-of-file.</para> </sect2> </sect1> <sect1 id="printing-lpd-alternatives"> <title>ÅíáëëáêôéêÝò Ëýóåéò ãéá ôïí ÓôÜíôáñ Spooler</title> <para>Áí Ý÷åôå ìåëåôÞóåé ðéóôÜ üëï ôï êåöÜëáéï ìÝ÷ñé åäþ, èá Ý÷åôå ìÜèåé ó÷åäüí ôá ðÜíôá ó÷åôéêÜ ìå ôï óýóôçìá ðáñï÷Ýôåõóçò <application>LPD</application> ðïõ äéáôßèåôáé ìå ôï &os;. Èá Ý÷åôå êáôáíïÞóåé êáé ðïëëÝò áðü ôéò åëëåßøåéò ôïõ, ðïõ öõóéêÜ ãåííïýí ôï åñþôçìá: <quote>Ðïéá Üëëá óõóôÞìáôá ðáñï÷Ýôåõóçò (ðïõ íá ëåéôïõñãïýí óôï &os;) õðÜñ÷ïõí äéáèÝóéìá;</quote></para> <variablelist> <varlistentry> <term>LPRng</term> <indexterm><primary>LPRng</primary></indexterm> <listitem> <para>Ôï <application>LPRng</application>, ôï ïðïßï óêüðéìá óçìáßíåé <quote>LPR: the Next Generation (ç Åðüìåíç ÃåíéÜ)</quote> åßíáé ìéá áðü ôçí áñ÷Þ õëïðïßçóç ôïõ PLP. Ï Patrick Powell êáé ï Justin Mason (êýñéïò óõíôçñçôÞò ôïõ PLP) óõíåñãÜóôçêáí ãéá íá öôéÜîïõí ôï <application>LPRng</application>. Ç êýñéá ôïðïèåóßá ôïõ <application>LPRng</application> åßíáé ç <ulink url="http://www.lprng.org/"></ulink>.</para> </listitem> </varlistentry> <varlistentry> <term>CUPS</term> <indexterm><primary>CUPS</primary></indexterm> <listitem> <para>Ôï <application>CUPS</application>, Þ áëëéþò Common UNIX Printing System, ðáñÝ÷åé ìéá öïñçôÞ ðëáôöüñìá åêôõðþóåùí ãéá ëåéôïõñãéêÜ óõóôÞìáôá âáóéóìÝíá óôï &unix;. Áíáðôý÷èçêå áðü ôçí Easy Software Products ãéá íá ðñïùèÞóåé ìéá óôÜíôáñ ëýóç åêôõðþóåùí ãéá üëïõò ôïõò ÷ñÞóôåò êáé êáôáóêåõáóôÝò &unix;.</para> <para>Ôï <application>CUPS</application> ÷ñçóéìïðïéåß ôï ðñùôüêïëëï Internet Printing Protocol (<acronym>IPP</acronym>) ùò âÜóç ôïõ ãéá ôç äéá÷åßñéóç åñãáóéþí åêôýðùóçò êáé ïõñþí áíáìïíÞò. Õðïóôçñßæïíôáé åðßóçò, áëëÜ ìå ìåéùìÝíç ëåéôïõñãéêüôçôá, ôá ðñùôüêïëëá Line Printer Daemon (<acronym>LPD</acronym>), Server Message Block (<acronym>SMB</acronym>), êáé AppSocket (ãíùóôü ùò JetDirect). Ôï CUPS ðñïóèÝôåé äõíáôüôçôåò áíß÷íåõóçò äéêôõáêþí åêôõðùôþí, åíþ ìÝóù ôùí åðéëïãþí PostScript Printer Description (<acronym>PPD</acronym>) ãßíåôáé åöéêôÞ ç õðïóôÞñéîç óýã÷ñïíùí åêôõðùôþí óôïí êüóìï ôïõ &unix;.</para> <para>Ç êýñéá ôïðïèåóßá ôïõ <application>CUPS</application> åßíáé ç <ulink url="http://www.cups.org/"></ulink>.</para> </listitem> </varlistentry> </variablelist> </sect1> <sect1 id="printing-troubleshooting"> <title>Åíôïðéóìüò Âëáâþí</title> <para>ÌåôÜ ôçí åêôÝëåóç ôïõ áðëïý ôåóô ìå ôï &man.lptest.1;, áíôß ôçò êáíïíéêÞò åêôýðùóçò, ìðïñåß íá Ý÷åôå ëÜâåé ùò áðïôÝëåóìá ìßá áðü ôéò áêüëïõèåò êáôáóôÜóåéò:</para> <variablelist> <varlistentry> <term>Ï åêôõðùôÞò êáèõóôÝñçóå íá îåêéíÞóåé Þ äåí åêôýðùóå ïëüêëçñç ôç óåëßäá.</term> <listitem> <para>Ï åêôõðùôÞò ôýðùóå ôï ôåóô, áëëÜ äåí îåêßíçóå áìÝóùò. ºóùò ÷ñåéÜóôçêå íá ðéÝóåôå ôï ðëÞêôñï PRINT REMAINING Þ ôï FORM FEED ôïõ åêôõðùôÞ óáò ãéá íá åìöáíéóôåß ôï åðéèõìçôü áðïôÝëåóìá.</para> <para>ÅÜí åßíáé üíôùò áõôÞ ç ðåñßðôùóç óáò, ï åêôõðùôÞò ðéèáíþò íá Þôáí óå áíáìïíÞ ãéá íá åîáêñéâþóåé áí õðÞñ÷áí ðñüóèåôá äåäïìÝíá óôçí åñãáóßá åêôýðùóçò ðñéí îåêéíÞóåé íá åêôõðþíåé ïôéäÞðïôå. Ãéá íá äéïñèþóåôå ôï ðñüâëçìá, ìðïñåßôå íá èÝóåôå ôï ößëôñï êåéìÝíïõ íá óôÝëíåé Ýíá ÷áñáêôÞñá FORM FEED (Þ Üëëï êáôÜëëçëï) óôïí åêôõðùôÞ. Áõôü óõíÞèùò åßíáé áñêåôü ãéá íá ìðïñåßôå íá åêôõðþíåôå êáôåõèåßáí ïðïéïäÞðïôå êåßìåíï áðïìÝíåé óå áíáìïíÞ óôçí åóùôåñéêÞ ìíÞìç (buffer) ôïõ åêôõðùôÞ. Åßíáé åðßóçò ÷ñÞóéìï íá ñõèìßæåôå ôéò åêôõðþóåéò óáò þóôå íá ôåëåéþíïõí ìå ãåìÜôç ôçí ôåëåõôáßá óåëßäá, þóôå ç åðüìåíç åñãáóßá íá ìçí áñ÷ßæåé áðü ôá ìéóÜ ôïõ ðñïçãïýìåíïõ öýëëïõ.</para> <para>Ç áêüëïõèç ôñïðïðïßçóç óôï shell script <filename>/usr/local/libexec/if-simple</filename> åêôõðþíåé Ýíá form feed ìåôÜ ôçí áðïóôïëÞ ôçò åñãáóßáò óôïí åêôõðùôÞ:</para> <programlisting>#!/bin/sh # # if-simple - Simple text input filter for lpd # Installed in /usr/local/libexec/if-simple # # Simply copies stdin to stdout. Ignores all filter arguments. # Writes a form feed character (\f) after printing job. /bin/cat && printf "\f" && exit 0 exit 2</programlisting> </listitem> </varlistentry> <varlistentry> <term>Ç åêôýðùóç ðáñïõóéÜæåé <quote>öáéíüìåíï óêÜëáò (staircase effect).</quote></term> <listitem> <para>Óôçí åêôýðùóç óáò öáßíåôáé ôï áêüëïõèï:</para> <screen>!"#$%&'()*+,-./01234 "#$%&'()*+,-./012345 #$%&'()*+,-./0123456</screen> <indexterm><primary>MS-DOS</primary></indexterm> <indexterm><primary>OS/2</primary></indexterm> <indexterm><primary>ASCII</primary></indexterm> <para>Ãßíáôå Ýíá áêüìá èýìá ôïõ <emphasis>öáéíïìÝíïõ óêÜëáò</emphasis>, ðïõ ðñïêëÞèçêå áðü áíôéöáôéêÝò åñìçíåßåò ôùí ÷áñáêôÞñùí ìå ôïõò ïðïßïõò äçëþíåôáé ç ôñïöïäïóßá íÝáò ãñáììÞò. Ôá ëåéôïõñãéêÜ óõóôÞìáôá ôýðïõ &unix; ÷ñçóéìïðïéïýí Ýíáí ìüíï ÷áñáêôÞñá ASCII ìå êùäéêü 10, ôïí line feed (ôñïöïäïóßá ãñáììÞò, LF). Ôï &ms-dos;, ôï &os2;, êáé äéÜöïñá Üëëá, ÷ñçóéìïðïéïýí Ýíá æåýãïò ÷áñáêôÞñùí ASCII êùäéêïý 10 <emphasis>êáé</emphasis> ASCII êùäéêïý 13 (ôïí carriage return Þ áëëéþò CR). Ðïëëïß åêôõðùôÝò ÷ñçóéìïðïéïýí ôçí óýìâáóç ôïõ &ms-dos; ãéá ôçí áëëáãÞ ãñáììÞò.</para> <para>¼ôáí åêôõðþíåôå ìå ôï &os;, ôï êåßìåíï óáò áðëÜ ÷ñçóéìïðïéåß ôïí ÷áñáêôÞñá ôñïöïäïóßáò ãñáììÞò (line feed). Ï åêôõðùôÞò, ìüëéò áíôéëçöèåß ôïí ÷áñáêôÞñá line feed, ðñïùèåß ôï ÷áñôß êáôÜ ìßá ãñáììÞ, áëëÜ êñáôÜåé ôçí ßäéá èÝóç ïñéæüíôéá êáèþò êáëåßôáé íá åêôõðþóåé ôïí åðüìåíï ÷áñáêôÞñá. Óå áõôü ôï óçìåßï ÷ñçóéìïðïéåßôáé ôï CR (carriage return): ìåôáêéíåß äçëáäÞ ôçí èÝóç åñãáóßáò ãéá ôïí åðüìåíï ÷áñáêôÞñá ðïõ ðñüêåéôáé íá åêôõðùèåß óôï áñéóôåñü Üêñï ôïõ ÷áñôéïý.</para> <para>Ôï &os; åðéèõìåß ï åêôõðùôÞò íá ìðïñåß íá åíåñãåß ùò åîÞò:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <tbody> <row> <entry>¼ôáí ï åêôõðùôÞò ëáìâÜíåé CR</entry> <entry>Íá åêôõðþíåé CR</entry> </row> <row> <entry>¼ôáí ï åêôõðùôÞò ëáìâÜíåé LF</entry> <entry>Íá åêôõðþíåé CR + LF</entry> </row> </tbody> </tgroup> </informaltable> <para>ÕðÜñ÷ïõí äéÜöïñïé ôñüðïé ãéá íá åðéôåõ÷èåß áõôü:</para> <itemizedlist> <listitem> <para>×ñçóéìïðïéÞóôå ôá ðëÞêôñá ñýèìéóçò ôïõ åêôõðùôÞ Þ ôïí ðßíáêá åëÝã÷ïõ ãéá íá áëëÜîåôå ôïí ôñüðï ìå ôïí ïðïßï åñìçíåýåé áõôïýò ôïõò ÷áñáêôÞñåò ï åêôõðùôÞò óáò. Óõìâïõëåõôåßôå ôï åã÷åéñßäéï ÷ñÞóçò ôïõ ãéá íá äåßôå ðùò ìðïñåß íá ãßíåé áõôü.</para> <note> <para>Áí Ý÷åôå êáé Üëëá ëåéôïõñãéêÜ óôï óýóôçìá óáò åêôüò áðü ôï &os;, ðéèáíüí íá ÷ñåéáóôåß, üôáí ôá ÷ñçóéìïðïéåßôå, íá <emphasis>åðáíáñõèìßóåôå</emphasis> ôïí åêôõðùôÞ óáò þóôå íá åñìçíåýåé äéáöïñåôéêÜ ôïõò ÷áñáêôÞñåò CR êáé LF. Óôçí ðåñßðôùóç áõôÞ, ßóùò åßíáé êáëýôåñï íá ðñïôéìÞóåôå êÜðïéá áðü ôéò ëýóåéò ðïõ áêïëïõèïýí.</para> </note> </listitem> <listitem> <para>Ï ïäçãüò (driver) ôçò óåéñéáêÞò ãñáììÞò ôïõ &os; ìðïñåß íá ìåôáôñÝðåé áõôüìáôá áðü LF óå CR+LF. ÖõóéêÜ, áõôü äïõëåýåé <emphasis>ìüíï</emphasis> óå óåéñéáêÝò èýñåò. Ãéá íá åíåñãïðïéÞóåôå áõôÞ ôçí ëåéôïõñãßá, ÷ñçóéìïðïéÞóôå ôçí éêáíüôçôá <literal>ms#</literal> êáé ïñßóôå ôçí êáôÜóôáóç ëåéôïõñãßáò <literal>onlcr</literal> óôï áñ÷åßï <filename>/etc/printcap</filename> ãéá ôïí åêôõðùôÞ.</para> </listitem> <listitem> <para>Óôåßëôå Ýíá <emphasis>êùäéêü äéáöõãÞò (escape code)</emphasis> óôïí åêôõðùôÞ þóôå íá ÷åéñßæåôáé ðñïóùñéíÜ ôïõò ÷áñáêôÞñåò LF ìå äéáöïñåôéêü ôñüðï. Óõìâïõëåõôåßôå ôï åã÷åéñßäéï ÷ñÞóçò ôïõ åêôõðùôÞ óáò ãéá ôïõò êþäéêåò äéáöõãÞò ðïõ õðïóôçñßæïíôáé. ¼ôáí áíáêáëýøåôå ôïí êáôÜëëçëï, ìåôáôñÝøôå ôï ößëôñï êåéìÝíïõ þóôå íá óôÝëíåé ðñþôá ôïí êùäéêü, êáé Ýðåéôá ôçí åñãáóßá óôïí åêôõðùôÞ.</para> <indexterm><primary>PCL</primary></indexterm> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá ößëôñïõ êåéìÝíïõ ãéá åêôõðùôÝò ðïõ êáôáëáâáßíïõí ôïõò êùäéêïýò äéáöõãÞò PCL ôçò Hewlett-Packard. Áõôü ôï ößëôñï êÜíåé ôïí åêôõðùôÞ íá ÷åéñßæåôáé ôïõò ÷áñáêôÞñåò LF ùò LF êáé CR. ¸ðåéôá áðïóôÝëëåé ôçí åñãáóßá, óôÝëíïíôáò óôï ôÝëïò ôçò Ýíá ÷áñáêôÞñá áëëáãÞò óåëßäáò (form feed) þóôå íá ãßíåé óùóôÞ åîáãùãÞ ôçò ôåëåõôáßáò óåëßäáò. Ôï ößëôñï áõôü èá ðñÝðåé íá äïõëåýåé ìå ó÷åäüí üëïõò ôïõò åêôõðùôÝò ôçò Hewlett Packard.</para> <programlisting>#!/bin/sh # # hpif - Simple text input filter for lpd for HP-PCL based printers # Installed in /usr/local/libexec/hpif # # Simply copies stdin to stdout. Ignores all filter arguments. # Tells printer to treat LF as CR+LF. Ejects the page when done. printf "\033&k2G" && cat && printf "\033&l0H" && exit 0 exit 2</programlisting> <para>Åäþ åßíáé Ýíá ðáñÜäåéãìá ãéá ôï <filename>/etc/printcap</filename> åíüò õðïëïãéóôÞ ìå üíïìá <hostid>orchid</hostid>. ¸÷åé Ýíá ìüíï åêôõðùôÞ óôçí ðñþôç ðáñÜëëçëç èýñá ôïõ, Ýíá Hewlett Packard LaserJet 3Si ìå üíïìá <literal>teak</literal>. ×ñçóéìïðïéåß ôï ðáñáðÜíù script ùò ößëôñï êåéìÝíïõ:</para> <programlisting># # /etc/printcap for host orchid # teak|hp|laserjet|Hewlett Packard LaserJet 3Si:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:sh:sd=<filename class="directory">/var/spool/lpd/teak</filename>:mx#0:\ :if=<filename>/usr/local/libexec/hpif</filename>:</programlisting> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> <term>Åêôõðþíåôáé ç ìßá ãñáììÞ ðÜíù óôçí Üëëç.</term> <listitem> <para>Ï åêôõðùôÞò äåí ðñïùèåß êáèüëïõ ôï ÷áñôß êáé üëåò ïé ãñáììÝò êåéìÝíïõ ôõðþíïíôáé ç ìßá ðÜíù áðü ôçí Üëëç, óå ìßá ãñáììÞ.</para> <para>Áõôü ôï ðñüâëçìá åßíáé ôï <quote>áíôßóôñïöï</quote> ôïõ öáéíüìåíïõ óêÜëáò, ðïõ ðåñéãñÜøáìå ðñïçãïõìÝíùò, êáé åßíáé ðïëý óðÜíéï. Óå êÜðïéï óçìåßï, ïé ÷áñáêôÞñåò LF ðïõ ÷ñçóéìïðïéåß ôï &os; ãéá íá ôåñìáôßóåé ôçí ãñáììÞ, åñìçíåýïíôáé ùò ÷áñáêôÞñåò CR ïé ïðïßïé åðéóôñÝöïõí ôçí êåöáëÞ óôï áñéóôåñü Üêñï ôïõ ÷áñôéïý, áëëÜ äß÷ùò íá ðñïùèÞóïõí ôï ÷áñôß ìßá ãñáììÞ ðñïò ôá êÜôù.</para> <para>×ñçóéìïðïéÞóôå ôïõò äéáêüðôåò ñõèìßóåùí ôïõ åêôõðùôÞ Þ ôïí ðßíáêá åëÝã÷ïõ ãéá íá èÝóåôå ôéò áêüëïõèåò åðéëïãÝò ãéá ôá LF êáé CR characters:</para> <informaltable frame="none" pgwide="1"> <tgroup cols="2"> <thead> <row> <entry>Ï åêôõðùôÞò ëáìâÜíåé</entry> <entry>Ï åêôõðùôÞò ôõðþíåé</entry> </row> </thead> <tbody> <row> <entry>CR</entry> <entry>CR</entry> </row> <row> <entry>LF</entry> <entry>CR + LF</entry> </row> </tbody> </tgroup> </informaltable> </listitem> </varlistentry> <varlistentry> <term>Ï åêôõðùôÞò äåí åêôõðþíåé (÷Üíåé) êÜðïéïõò ÷áñáêôÞñåò.</term> <listitem> <para>Ï åêôõðùôÞò, åíþ åßíáé óå ëåéôïõñãßá åêôýðùóçò, äåí åêôõðþíåé êÜðïéïõò ÷áñáêôÞñåò óå üëåò ôéò ãñáììÝò. Ôï ðñüâëçìá ðéèáíþò íá ãßíåôáé åíôïíüôåñï êáèþò ç åêôýðùóç åîåëßóóåôáé, ÷Üíïíôáò áêüìç ðåñéóóüôåñïõò ÷áñáêôÞñåò.</para> <para>Ôï ðñüâëçìá åßíáé ðùò ï åêôõðùôÞò, êáèþò åêôõðþíåé, äåí ðñïëáâáßíåé íá áêïëïõèÞóåé ôçí ôá÷ýôçôá ìå ôçí ïðïßá ï õðïëïãéóôÞò óôÝëíåé äåäïìÝíá ìÝóù ôçò óåéñéáêÞò äéáóýíäåóçò (áõôü ôï ðñüâëçìá äåí ðñÝðåé êáíïíéêÜ íá óõìâáßíåé óå åêôõðùôÝò óõíäåìÝíïõò óå ðáñÜëëçëåò èýñåò). ÕðÜñ÷ïõí äýï ôñüðïé ãéá íá îåðåñáóôåß áõôü ôï ðñüâëçìá:</para> <itemizedlist> <listitem> <para>ÅÜí ï åêôõðùôÞò õðïóôçñßæåé Ýëåã÷ï ñïÞò XON/XOFF, ñõèìßóôå ôï &os; íá ôïí ÷ñçóéìïðïéÞóåé ïñßæïíôáò ôçí êáôÜóôáóç ëåéôïõñãßáò <literal>ixon</literal> ìå ôçí éêáíüôçôá <literal>ms#</literal>.</para> </listitem> <listitem> <para>ÅÜí ï åêôõðùôÞò õðïóôçñßæåé Ýëåã÷ï ñïÞò ôýðïõ Request to Send / Clear to Send (hardware handshake, ãíùóôü êáé ìå ôçí ïíïìáóßá <literal>RTS/CTS</literal>), ðñÝðåé íá ïñéóôåß ç êáôÜóôáóç ëåéôïõñãßáò <literal>crtscts</literal> óôçí éêáíüôçôá <literal>ms#</literal>. Âåâáéùèåßôå ðùò ôï êáëþäéï ðïõ óõíäÝåé ôïí åêôõðùôÞ ìå ôïí õðïëïãéóôÞ åßíáé óùóôÜ öôéáãìÝíï ãéá ÷ñÞóç áõôïý ôïõ åëÝã÷ïõ ñïÞò.</para> </listitem> </itemizedlist> </listitem> </varlistentry> <varlistentry> <term>Ï åêôõðùôÞò ôõðþíåé óêïõðßäéá.</term> <listitem> <para>Ï åêôõðùôÞò ôýðùóå êÜôé ðïõ áðïêáëïýìå ôõ÷áßá óêïõðßäéá, åííïþíôáò ïôéäÞðïôå åêôüò ôïõ åðéèõìçôïý êåéìÝíïõ.</para> <para>Áõôü åßíáé óõíÞèùò Ýíá áêüìá óýìðôùìá ëáíèáóìÝíùí ðáñáìÝôñùí óåéñéáêÞò åðéêïéíùíßáò ìå ôïí åêôõðùôÞ. ÅëÝãîôå îáíÜ ôçí ôéìÞ bps rate óôçí éêáíüôçôá <literal>br</literal>, êáé ôçí ñýèìéóç parity óôçí éêáíüôçôá <literal>ms#</literal>. Âåâáéùèåßôå ðùò ï åêôõðùôÞò ÷ñçóéìïðïéåß ôéò ßäéåò ñõèìßóåéò ðïõ Ý÷ïõí êáèïñéóôåß óôï áñ÷åßï <filename>/etc/printcap</filename>.</para> </listitem> </varlistentry> <varlistentry> <term>Äåí óõíÝâç ôßðïôå, ï åêôõðùôÞò äåí îåêßíçóå êáí.</term> <listitem> <para>Áí äåí óõíÝâç ôßðïôå, ôï ðñüâëçìá ðéèáíüí íá ïöåßëåôáé óôï &os; êáé ü÷é óôï hardware. ÐñïóèÝóôå ôçí éêáíüôçôá áñ÷åßïõ êáôáãñáöÞò (log file, <literal>lf</literal>) óôï áñ÷åßï <filename>/etc/printcap</filename>, óôçí êáôá÷þñéóç ôïõ åêôõðùôÞ ðïõ Ý÷åé ôï ðñüâëçìá. Ãéá ðáñÜäåéãìá, åäþ åßíáé ç êáôá÷þñéóç ãéá ôïí <literal>rattan</literal>, ìå ôçí éêáíüôçôá <literal>lf</literal>:</para> <programlisting>rattan|line|diablo|lp|Diablo 630 Line Printer:\ :sh:sd=<filename class="directory">/var/spool/lpd/rattan</filename>:\ :lp=<filename class="devicefile">/dev/lpt0</filename>:\ :if=<filename>/usr/local/libexec/if-simple</filename>:\ :lf=<filename>/var/log/rattan.log</filename></programlisting> <para>¸ðåéôá, ðñïóðáèÞóôå íá îáíáåêôõðþóåôå. ÅëÝãîôå ôï áñ÷åßï êáôáãñáöÞò (log) (óôï ðáñÜäåéãìá ìáò, <filename>/var/log/rattan.log</filename>) ãéá íá âñåßôå ðéèáíÝò áíáöïñÝò óöáëìÜôùí. Ìå âÜóç ôá ìçíýìáôá ðïõ âëÝðåôå, ðñïóðáèÞóôå íá äéïñèþóåôå ôï ðñüâëçìá.</para> <para>Áí äåí êáèïñßóåôå ôçí éêáíüôçôá <literal>lf</literal>, ôï <application>LPD</application> ÷ñçóéìïðïéåß áðü ðñïåðéëïãÞ ôï <filename class="devicefile">/dev/console</filename>.</para> </listitem> </varlistentry> </variablelist> </sect1> </chapter> <!-- Local Variables: mode: sgml coding: iso-8859-7 sgml-declaration: "../chapter.decl" sgml-indent-data: t sgml-omittag: nil sgml-always-quote-attributes: t sgml-parent-document: ("../book.sgml" "part" "chapter") End: -->