<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Mia mamma usa Linux! &#187; CUPS</title>
	<atom:link href="http://www.miamammausalinux.org/tag/cups/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.miamammausalinux.org</link>
	<description>Perché niente è impossibile da capire... Se lo spieghi bene !</description>
	<lastBuildDate>Mon, 02 Jan 2012 11:31:44 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Linux e la linea di comando, comandi particolari e poco conosciuti: gestione delle code di stampa</title>
		<link>http://www.miamammausalinux.org/2009/12/linux-e-la-linea-di-comando-comandi-particolari-e-poco-conosciuti-gestione-delle-code-di-stampa/</link>
		<comments>http://www.miamammausalinux.org/2009/12/linux-e-la-linea-di-comando-comandi-particolari-e-poco-conosciuti-gestione-delle-code-di-stampa/#comments</comments>
		<pubDate>Thu, 03 Dec 2009 10:53:25 +0000</pubDate>
		<dc:creator>Raoul Scarazzini</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Sistema]]></category>
		<category><![CDATA[Comandi per la stampa]]></category>
		<category><![CDATA[Comandi poco conosciuti]]></category>
		<category><![CDATA[CUPS]]></category>
		<category><![CDATA[Linea di comando]]></category>
		<category><![CDATA[Manipolazione file di testo]]></category>
		<category><![CDATA[Stampanti]]></category>

		<guid isPermaLink="false">http://www.miamammausalinux.org/?p=883</guid>
		<description><![CDATA[Dopo aver affrontato i comandi interni alla shell Bash ed i comandi di sistema richiamabili all&#8217;interno dalla stessa per la manipolazione degli stream di output e dei contenuti dei file in questo articolo verranno trattati i comandi per la gestione delle code di stampa. Verranno illustrati i comandi per inviare un file direttamente alla stampante, [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.miamammausalinux.org/wp-content/uploads/2009/01/linux.png" alt="linux" title="linux" width="85" height="100" class="alignnone size-full wp-image-292" /></p>
<p>Dopo aver affrontato i comandi interni alla shell Bash ed i comandi di sistema richiamabili all&#8217;interno dalla stessa per la manipolazione degli stream di output e dei contenuti dei file in questo articolo verranno trattati i comandi per la gestione delle code di stampa.<br />
Verranno illustrati i comandi per inviare un file direttamente alla stampante, analizzare la coda di stampa e rimuovere lavori in coda.</p>
<p>I comandi per operare sulle code di stampa nei sistemi Linux moderni sono forniti dal pacchetto del server di posta <a href="http://www.cups.org/">CUPS</a>. CUPS fornisce un set di comandi retro compatibili al precedente gestore della posta Linux, <a href="http://en.wikipedia.org/wiki/Line_Printer_Daemon_protocol">LPD</a>: questo significa che il nome degli stessi è stato mantenuto identico in modo da favorire l&#8217;integrazione di CUPS con i programmi che fanno riferimento a comandi di sistema come <em>lpstat</em>, <em>lpq</em> e così via.<br />
Sebbene CUPS di default renda disponibile un&#8217;interfaccia web alla porta 631, alla quale si può accedere con il proprio browser, molte volte potrebbe essere necessario utilizzare la linea di comando per operare sulle code di stampa. I comandi che consentono tali operazioni si dividono in comandi che richiedono i permessi dell&#8217;utente root ed in comandi utilizzabili da utenti non privilegiati.</p>
<p><strong>Informazioni sulle stampanti (utente root)</strong></p>
<p><strong><em>lpstat</em></strong></p>
<p>Capire quali sono le code configurate all&#8217;interno del sistema è il primo passo per iniziare ad operare all&#8217;interno delle stesse.<br />
Il comando <em>lpstat</em> consente di visualizzare diverse informazioni sulle stampanti installate all&#8217;interno del sistema, ad esempio attraverso l&#8217;opzione &#8220;-p&#8221; il comando restituisce l&#8217;elenco delle stampanti:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;"># lpstat -p
la stampante Brother-HL-4040CN è in attesa.  Abilitata da gio 19 nov 2009 18:23:32 CET
la stampante HPDeskJet9300 è in attesa. Abilitata da sab 21 nov 2009 18:15:58 CET
la stampante PDF è in attesa.  Abilitata da gio 19 nov 2009 17:29:14 CET</pre></div></div>

<p>Un diverso elenco, contenente i riferimenti delle stampanti (socket, path remoti, etc.) è ottenibile attraverso l&#8217;opzione &#8220;-v&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;"># lpstat -v
dispositivo per Brother-HL-4040CN: socket://192.168.1.13
dispositivo per HPDeskJet9300: smb://RASCA/RASCABOX/HPDeskjet9300
dispositivo per PDF: cups-pdf:/</pre></div></div>

<p>E&#8217; possibile inoltre identificare la coda di default verso cui vengono diretti i lavori in stampa (opzione &#8220;-d&#8221;):</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;"># lpstat -d
destinazione predefinita di sistema: PDF</pre></div></div>

<p>Tutte le informazioni illustrate sono ottenibili in un unico contatto attraverso l&#8217;opzione &#8220;-t&#8221;, mentre, lanciato senza argomenti, il comando restituisce l&#8217;elenco dei lavori in coda, ottenibile anche con i comandi illustrati di seguito.</p>
<p><strong>Gestire la coda (utente root)</strong></p>
<p><strong><em>lpq</em></strong></p>
<p>E&#8217; possibile ottenere l&#8217;elenco dei lavori accodati nella stampante di default o di una specifica attraverso il comando <em>lpq</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;"># lpq
PDF è pronta
Posiz.   Proprietario    Stampa   Doc.             Dim. totali
1st     rasca   298     Command-Line Printing and Optio 396288 byte</pre></div></div>

<p>Nel caso si volessero conoscere i dettagli della coda relativa ad una stampante specifica, questa va specificata con l&#8217;opzione &#8220;-P&#8221;:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;"># lpq -P HPDeskJet9300
HPDeskJet9300 è pronta
nessuna voce</pre></div></div>

<p><strong><em>lprm</em></strong></p>
<p>Per operare sulle code, rimuovendo lavori di cui si conosce l&#8217;identificativo (ottenuto attraverso <em>lpq</em>), è possibile utilizzare il comando <em>lprm</em>, indicando con l&#8217;opzione &#8220;-P&#8221; l&#8217;accoppiata coda/identificativo:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;"># lprm -P PDF/298</pre></div></div>

<p><strong>Inviare stampe (utente non privilegiato)</strong></p>
<p><strong><em>lpr</em></strong></p>
<p>Se un utente comune volesse lanciare delle stampe da linea di comando, cosa molto utile in caso di lavori di sistema notturni, notifiche di problemi (o qualsiasi altro motivo per cui <strong>sia sensato utilizzare della carta!</strong>), il comando da utilizzare è <em>lpr</em> che stampa il contenuto di un file di testo passato come parametro:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;">$ lpr testfile</pre></div></div>

<p><strong><em>pr</em> e <em>fmt</em></strong></p>
<p><em>lpr</em> può essere utilizzato anche per dirigere l&#8217;output di un comando alla stampante. Ad esempio, utilizzando i comandi <em>pr</em> o <em>fmt</em> che formattano un file di testo per la stampa è possibile passare attraverso una <em>pipe</em> ad <em>lpr</em> la stampa da effettuare:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;">$ pr -a testfile | lpr</pre></div></div>

<p>oppure</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;">$ pr -a testfile | lpr</pre></div></div>

<p><strong><em>mpage</em></strong></p>
<p>Lo stesso discorso si applica al comando <em>mpage</em> che consente di operare con maggior dettaglio sul formato di stampa. Lanciato senza argomenti, <em>mpage</em> produrrà una pagina divisa in quattro contenente il testo all&#8217;interno del file passato come parametro. Attraverso l&#8217;opzione &#8220;-b&#8221;  è poi possibile specificare il formato della carta che verrà utilizzato dalla stampante (di default A4). Per conoscere i formati supportati è possibile utilizzare il parametro &#8220;-b&#8221; con l&#8217;aggiunta di un punto interrogativo:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;">$ mpage -b?
Mpage knows about the following paper types:
Type           Points Wide Points High
-------------- ----------- -----------
Letter                 612         792
LetterSmall            612         792
Tabloid                792        1224
Ledger                1224         792
Legal                  612        1008
Statement              396         612
Executive              540         720
A0                    2384        3368
A1                    1684        2384
A2                    1192        1684
A3                     842        1192
A4                     596         842
A4Small                595         842
A5                     420         595
B4                     729        1032
B5                     516         729
Folio                  612         936
Quarto                 610         780
10x14                  720        1008</pre></div></div>

<p>Oltre all&#8217;utilizzo attraverso una <em>pipe</em>, mpage supporta anche la stampa diretta di file (anche in formato <em>postscript</em>), così come funziona <em>lpr</em>:</p>

<div class="wp_syntax"><div class="code"><pre class="console" style="font-family:monospace;">$ mpage -PPDF testfile</pre></div></div>

<p>Numerose sono le opzioni disponibili per il comando <em>mpage</em> e sono tutte documentate nella <em>man page</em> del programma.</p>
<p><strong>Conclusioni</strong></p>
<p>Questa breve carrellata di comandi presenta alcune utili informazioni che potrebbero risultare vitali in situazioni (volute o meno) in cui non sia disponibile altro accesso al sistema che quello della linea di comando.<br />
Approfondendo presso i link presentati qui sotto sarà possibile acquisire la padronanza totale del sistema di stampa da linea di comando.</p>
<p><strong>Fonti di informazioni utili:</strong></p>
<p>Pagina ufficiale del progetto CUPS: <a href="http://www.cups.org/documentation.php/options.html">http://www.cups.org/documentation.php/options.html</a><br />
The Linux Printing Usage HOWTO: <a href="http://tldp.org/HOWTO/Printing-Usage-HOWTO.html">http://tldp.org/HOWTO/Printing-Usage-HOWTO.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.miamammausalinux.org/2009/12/linux-e-la-linea-di-comando-comandi-particolari-e-poco-conosciuti-gestione-delle-code-di-stampa/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

