3. Come stampare

Per la verità il comando usato per stampare dipende da quale software di spooling si usa.

3.1. Con BSD LPD e il comando lpr

Se lpd è già stato configurato per stampare da voi, o se l'amministratore di sistema o il venditore l'hanno fatto per voi, tutto quello che si deve fare è imparare ad usare il comando lpr. Il Printing Usage HOWTO tratta di questo e di qualche altro comando di manipolazione della coda di stampa. Oppure si legga la pagina di manuale di lpr(1).

In poche parole, il nome della coda di stampa si specifica con -P, seguito dal nome di un file per stamparlo, oppure niente per stampare dallo standard input. Tradizionalmente le opzioni del driver non sono controllabili da lpr, ma vari sistemi accettano certe opzioni tramite -o, -Z, o -J.

Esempio 1. lpr

lpr /etc/hosts
lpr -J "my hosts file" /etc/hosts
lpr -P mylaserjet /etc/services

3.2. Con LPD System V e il comando lp

Sono due i set di comandi che si possono incontrare avendo a che fare con parecchie versioni di Unix. Il sistema di stampa LPD basato su BSD (*BSD, Linux) usa lpr (per stampare), lpq (per vedere la coda di stampa), lprm (per cancellare i lavori). I sistemi basati su System V dall'altra parte usano lp (per stampare), lpstat (per vedere la coda di stampa), cancel (per cancellare i lavori). Alcuni sistemi Unix di tipo System V sono Solaris, SCO ed altri.

Sui sistemi SYSV, si può ovviamente consultare la pagina di manuale del comando lp. Per specificare una coda si usa l'opzione -d con il nome di un file per stamparlo, o niente per stampare dallo standard input.

Esempio 2. lp

lp /etc/hosts
lp -d mylaserjet /etc/services

3.3. Con CUPS

CUPS mette a disposizione sia l'interfaccia a linea di comando di System V che quella di Berkeley. Ciò significa che si può usare sia lpr che lp per stampare, il che torna molto utile se si hanno già diversi script che usano, per esempio, lp o per chi ha una precedente esperienza con un sistema System V o BSD.

3.4. Strumenti a interfaccia grafica per la stampa

La maggior parte dei sistemi di spool offre soltanto un'interfaccia a linea di comando abbastanza semplice. Piuttosto che usare direttamente lpr, si potrebbe desiderare di usare un'interfaccia utente che generalmente permette di giocherellare con diverse opzioni di stampa (stampante, tipo di carta, fascicolazione, pagine per foglio, ecc.) tramite una forma grafica di facile uso. Alcune possono avere anche altre funzioni.

3.4.1. KDEPrint

KDEPrint permette agli utenti di accedere al sottosistema di stampa (CUPS, LPD, RLPR, LPRng ecc.) attraverso un'interfaccia utente grafica di KDE. Con KDEPrint si può facilmente stampare, si possono amministrare i lavori, le stampanti e il demone di stampa. KDEPrint rimpiazza i precedenti QtCUPS e CUPS, ed è facile da usare sia per gli sviluppatori che per gli utenti. KDEPrint fa parte di KDE già dalla versione 2.2.0 e ha diverse funzioni interessanti.

kprinter è la finestra di dialogo di KDEPrint, e permette di selezionare la stampante di destinazione e di cambiare le opzioni di stampa. Tra le stampanti di destinazione ci sono alcune stampanti virtuali che permettono di inviare la stampa ad email, fax o pdf.

Figura 1. kprinter

Il comando kprinter di KDEPrint può essere usato in ogni applicazione che permetta di configurare il comando di stampa: alcuni esempi sono Mozilla e OpenOffice.

Figura 2. Usare kprinter con Mozilla

Tra le funzioni di KDEPrint c'è anche l'Anteprima di Stampa che può essere selezionata dalla finestra di dialogo Stampa. L'anteprima si ottiene facendo passare il file da stampare attraverso dei filtri che lo rendono visualizzabile sullo schermo usando KGhostView o un'applicazione esterna come gv.

KJobViewer, il Visualizzatore di Lavori di Stampa di KDEPrint permette di vedere, muovere e cancellare lavori di stampa.

Figura 3. KJobViewer

Si possono trovare maggiori informazioni su KDEPrint presso http://printing.kde.org/.

3.4.2. XPP

Un'altra buona scelta per CUPS è il programma XPP (si veda Figura 4). XPP è stato costruito dalla libreria FLTK ed è quindi indipendente dal desktop usato.

Per stampare con XPP, basta far partire il programma xpp specificando un file (o niente, se si sta usando xpp al posto di lpr per stampare dallo standard input) e selezionando una stampante dalla lista di quelle configurate, insieme ad ogni opzione che si vuole applicare scelta dai vari pannelli. Si veda Figura 5 per un pannello di opzioni di esempio con evidenziate le opzioni standard di CUPS.

Se usato con il driver dell'interfaccia di sistema Foomatic, XPP permetterà anche di controllare parametri numerici normalmente non supportati da CUPS, tipicamente cose come la sintonizzazione avanzata dei colori, l'allineamento delle cartucce e così via. Si veda Figura 6 per un esempio.

La stampante selezionata e tutte le opzioni scelte possono essere salvate con il pulsante «Salva impostazioni».

Figura 4. Finestra principale di XPP

Figura 5. Finestra di opzioni di CUPS/XPP

Figura 6. Finestra di opzioni di Foomatic CUPS/XPP

3.4.3. GPR

GPR, di Thomas Hubbell, usa il codice di CUPS per filtrare lavori di stampa Postscript e offre agli utenti la possibilità di controllare con facilità le opzioni dei lavori di stampa. Alcune opzioni (come le pagine per foglio, la selezione delle pagine, ecc.) sono implementate direttamente da GPR, altre invece dalla stampante o dal filtro del sistema di spool.

GRP lavora con LPD o LPRng, o può essere compilato specificatamente per usare GNUlpr. Se compilato normalmente, usa direttamente la libreria libppd di VA per produrre un file Postscript specifico per la stampa, che verrà poi inviato al comando lpr. Se compilato per GNUlpr, invia un lavoro di stampa Postscript senza modifiche al comando lpr, insieme al set di opzioni specificate. Questa è indiscutibilmente la strada migliore, perché permette a Postscript di essere reindirizzato dallo spooler ad una diversa stampante quando opportuno; sfortunatamente richiede GNUlpr, che non è molto diffuso (anche se è ovviamente banale da installare).

Per usare GPR, prima di tutto si selezioni una stampante (usando il nome indicato nella coda LPD) e si controlli che GPR abbia caricato il file PPD corretto. Se non l'ha fatto, si dovrà specificare il nome del file PPD e le opzioni per la stampante nella finestra di dialogo Configurazione della Stampante (questa finestra si ottiene usando il pulsante Configurazione della Stampante; contiene diverse opzioni per la stampante definite dal PPD).

Dopo aver configurato la stampante, si può stampare specificando il nome del file e selezionando le opzioni appropriate dai pannelli a linguetta «Generale» e «Avanzate». Le opzioni «Generale» sono implementate direttamente da GPR per tutte le stampanti, mentre quelle «Avanzate» sono definite per ogni stampante dal file PPD. Si possono vedere questi pannelli di opzioni in Figura 8 e in Figura 9.

Figura 7. Opzioni principali di GPR

Figura 8. Opzioni comuni di GPR

Figura 9. Opzioni GPR per la stampante