28.05.2013 Views

LOA HackLab - Autistici

LOA HackLab - Autistici

LOA HackLab - Autistici

SHOW MORE
SHOW LESS

You also want an ePaper? Increase the reach of your titles

YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.

138 C3 Post Scripta Manent...<br />

File dell’utente da stampare<br />

↓<br />

Comando di stampa (lpr o lp)<br />

↓<br />

Demone di stampa (lpd)<br />

↓<br />

Filtri di stampa (magicfilter)<br />

↓ ↓<br />

Stampante Locale Demone Remoto<br />

↓<br />

Filtri di stampa remoti<br />

↓<br />

Stampante Remota<br />

Figure 10.1 Il meccanismo di stampa sotto UNIX<br />

I comandi di stampa variano da un flavour UNIX all’altro. Il comando System V è lp<br />

mentre quello BSD è lpr. Entrambi sono contrazioni di Line PRinter. Il comando riceve<br />

il file e lo passa al demone. Questo demone (ossia fornitore di servizio che svolazza<br />

in background nel computer) ricava dalla configurazione di sistema o dai parametri<br />

passati dal comando di stampa su quale stampante il file vada riprodotto. In base a<br />

questa decisione il demone sceglie anche il filtro opportuno da applicare 1 . Processa il file<br />

attraverso il filtro e lo recupera filtrato 2 .<br />

Con in mano il file pronto per la stampa, il demone decide se inviare il file su una<br />

porta parallela, ad un altro server o magari alla stampante via rete, se questa ha una<br />

interfaccia di rete. Nel caso in cui la stampante sia collegata ad un server remoto, il<br />

demone locale conttatta il demone remoto, il quale ottiene il file e riparte localmente con<br />

tutto il procedimento di riconoscimento del formato e della stampante, e quindi con il<br />

filtraggio del file.<br />

È molto raro che venga configurato un filtro in locale quando poi la stampante è<br />

attaccata ad un server remoto. Se l’Amministratore del server remoto decidesse di<br />

sostituire la stampante e modificare i filtri senza avvertire, ci si troverebbe in una<br />

situazione di incomunicabilità e di impossibilità alla stampa.<br />

Perché tanto odio? In realtà di odio ce n’è proprio poco. Il meccanismo è lineare pur<br />

nella sua articolazione. Vediamo i passaggi.<br />

Un utente ha un file da stampare (articolo.ps). L’estensione ci dice che è un file<br />

PostScript. Diciamo che il nostro fulgido Amministratore di Sistema ha configurato un<br />

filtro di stampa che riconosce automaticamente il file e lo stampa interpretandolo con<br />

ghostscript. Il file arriva alla stampante interpretato e la stampante lo inizia a riprodurre<br />

su carta.<br />

1 I filtri dipendono non solo dal formato del file ma anche dalla stampante. Se, poniamo, ho<br />

una stampante laser che interpreta il PostScript e una a getto di inchiostro che non lo fa, il<br />

filtro per la prima passa alla stampante i file PostScript senza filtrarli, in modo da alleggerire<br />

il sistema, mentre il secondo deve usare ghostscript, ossia un programma, per interpretare il<br />

file in favore di una stampante che non è progettata per svolgere questo compito<br />

2 Ok, abbiamo imbrogliato. Dallo schema sembra che sia il filtro a mandare in stampa l’output,<br />

ma questo non è possibile dato che solo il demone sa se la stampante è locale, e nel caso a<br />

quale porta è collegata, o se è remota e nel caso a quale server inoltrare la richiesta

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!