Sophie

Sophie

distrib > Mandriva > 9.1 > i586 > by-pkgid > f1098342ec4a2b28475e34123ce17201 > files > 1048

howto-html-it-9.1-0.5mdk.noarch.rpm

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD>
 <META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.9">
 <TITLE>SMB HOWTO: Condividere una stampante Linux con macchine Windows</TITLE>
 <LINK HREF="SMB-HOWTO-10.html" REL=next>
 <LINK HREF="SMB-HOWTO-8.html" REL=previous>
 <LINK HREF="SMB-HOWTO.html#toc9" REL=contents>
</HEAD>
<BODY>
<A HREF="SMB-HOWTO-10.html">Avanti</A>
<A HREF="SMB-HOWTO-8.html">Indietro</A>
<A HREF="SMB-HOWTO.html#toc9">Indice</A>
<HR>
<H2><A NAME="s9">9. Condividere una stampante Linux con macchine Windows</A></H2>

<P>Per condividere una stampante Linux con macchine Windows, &egrave; necessario 
accertarsi che la propria stampante sia correttamente configurata e 
funzioni con Linux.  Se la stampa da Linux &egrave; possibile, &egrave; abbastanza
semplice configurare una condivisione per stampante SMB.
<P>Si noti che utenti Windows devono avere un account sulla macchina
Linux/Samba al fine di poter stampare.  Windows 95/98 cercher&agrave;
di autenticarsi con il print server usando lo username e la password
forniti per login all'avvio.  Questo significa che se si seleziona
`Annulla' al LogOn di Windows, non sar&agrave; possibile stampare (o connettersi
ad altri servizi SMB)!  Windows NT consente di fornire username e password
quando si usa una stampante.
<P>Consultare il Printing HOWTO per configurare la stampa locale.
<P>Aggiungere la configurazione di stampa al proprio <CODE>smb.conf</CODE>:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
[global]
    printing = bsd
    printcap name = /etc/printcap
    load printers = yes
    log file = /var/log/samba-log.%m
    lock directory = /var/lock/samba

[printers]
    comment = All Printers
    security = server
    path = /var/spool/lpd/lp
    browseable = no
    printable = yes
    public = yes
    writable = no
    create mode = 0700

[ljet]
    security = server
    path = /var/spool/lpd/lp
    printer name = lp
    writable = yes
    public = yes
    printable = yes
    print command = lpr -r -h -P %p %s
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>Accertarsi che il percorso della stampante (in questo caso 
<B>[ljet]</B>) corrisponda alla <I>directory di spool</I> in <CODE>/etc/printcap</CODE>!
<P>Le linee:
<P>
<HR>
<PRE>
   printcap name = /etc/printcap
   load printers = yes
</PRE>
<HR>
<P>Controllano se tutte le stampanti in <CODE>/etc/printcap</CODE> debbano essere
caricate in modo predefinito.  In tal caso non c'&egrave; ragione per impostare le
stampanti individualmente.  La sezione [printers] specifica
opzioni  per le stampanti che si definiscono esplicitamente.  Se il
sottosistema di stampa in uso non funziona in questo modo (BSD), &egrave;
necessario impostare un falso file printcap (oppure usare la tecnica del
`print command').  Per maggiori informazioni relativamente il sistema 
printcap, si consulti il Printing HOWTO.
<P>Una tecnica utile per verificare le proprie connessioni &egrave; cambiare il
comando di stampa in:
<P>
<HR>
<PRE>
   print command = cp %S /tmp/print.%P.%S
</PRE>
<HR>
<P>ed analizzare il file risultante.
<P>NOTA: ci sono alcuni problemi per condividere stampanti di macchine UNIX 
con macchine Windows NT usando <B>Samba</B>.  Un problema &egrave; che NT non vede 
correttamente la stampante condivisa.  Per rimediare consultare le note 
nella distribuzione <B>Samba</B> nel file <CODE>docs/WinNT.txt</CODE>.  
Altri problemi hanno a che fare con le password.  Vedere i commenti 
nello stesso file per una maggiore comprensione o in caso di problemi 
nella configurazione.
<P>Oleg L. Machulskiy (
<A HREF="mailto:machulsk@shade.msu.ru">machulsk@shade.msu.ru</A>) ha suggerito un comando di stampa migliore
da usare nell'esempio precedente:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
print command = smb2ps %s | lpr -r -h -P %p
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>Dove 'smb2ps' &egrave; uno script che trasforma il file di spool ricevuto da
Windows in un file Postscript usabile. &Egrave; necessario eliminare le prime
3 linee e le ultime 2, perch&eacute; contengono codice PJL oppure PCL.
<P>Questo approccio &egrave; necessario solo se la macchina Windows stampa PCL e non
realmente Postscript.  L'autore ha scoperto che Windows 95/98/NT non hanno
un generico driver Postscript, ma il &quot;Digital turbo Printserver 20&quot;
si &egrave; dimostrato essere abbastanza generico per la maggior parte delle
configurazioni.  Inoltre pare che anche &quot;Apple LaserWriter II NTX&quot;
funzioni correttamente per questo scopo.
<P>Se si crea una directory di spool al posto di quella impostata dall'utility fornita
con la distribuzione si faccia attenzione ai permessi.
Neil Fraser (
<A HREF="mailto:neilf@necon.co.za">neilf@necon.co.za</A>)
suggerisce che i permessi della directory di spool (in questo caso
<CODE>/var/spool/lpd/lpr</CODE> siano 4755 (notare il bit suid); funziona sul
suo sistema quando il proprietario &egrave; 'root' ed il gruppo 'lp'.
<P>Jeff Stern (
<A HREF="mailto:jstern@eclectic.ss.uci.edu">jstern@eclectic.ss.uci.edu</A>) riporta come impostazione della propria
spool directory 777, per consentire ad utenti senza privilegi di stampare,
anche se indica come avrebbe potuto aggiungere gli utenti al gruppo 'lp'.
Questa decisione spetta al system administrator locale, se la sicurezza di
stampa &egrave; necessaria, allora si limitino i permessi il pi&ugrave; possibile.  
In un ambiente casalingo,
probabilmente si desidera che tutti siano in grado di stampare.
<P>Dr. Michael Langner (
<A HREF="mailto:langner@fiz-chemie.de">langner@fiz-chemie.de</A>) indica come i problemi di permesso di
scrittura in <CODE>/var/spool/lpd/</CODE> possono essere evitati se si usa
qualcosa come &quot;path = /tmp&quot; e  &quot;print command = lpr -r -P%p %s&quot;.
<P>A volte un errore di parsing del Postscript capita quando si stampa da
macchine Windows e causa la stampa di una pagina extra.  Tale pagina avr&agrave;
sempre &quot;%%[ Lastpage ]%%&quot; in cima.  Questo sembra accadere solo
con Windows 95 e 98 a causa del Postscript malformato.
<P>Un modo per gestire questa situazione &egrave; di usare uno script per rimuovere 
la sequenza Postscript errata. Un altro modo &egrave; cercare di trovare un driver
Postscript migliore.  Probabilmente il modo migliore &egrave; di usare LPRng
invece del Postscript per stampare su un Server Samba.
<P>Erik Ratcliffe (
<A HREF="mailto:erik@caldera.com">erik@caldera.com</A>)
di Caldera, riporta che LPRng comporta che qualsiasi sia il driver sulla
macchina Windows, sul server Samba si usa un <CODE>/etc/printcap</CODE> simile
a:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
raw:\
        :rw:sh:
        :lp=/dev/lp1
        :sd=/var/spool/lpd/raw
        :fx=flp
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>LPRng non richiede un :\ alla fine di ogni riga.  L'indicazione della
stampante deve comunque essere presente in <CODE>/etc/smb.conf</CODE> per la
stampante fisica.  Il comando di stampa usa l'entry &quot;raw&quot; ed i
dati sono mandati alla stampante in modo binario.  Tale comando somiglia a:
<P>
<BLOCKQUOTE><CODE>
<HR>
<PRE>
print command = lpr -b -Praw %s
</PRE>
<HR>
</CODE></BLOCKQUOTE>
<P>Potrebbe anche essere necessario disattivare lo spooling di stampa su
Windows 95 al fine di stampare direttamente.
<P>Se si ottiene sempre una pagina extra alla fine della stampa di client 
Windows, si provi ad aggiungere la direttiva "sf" in
<CODE>/etc/printcap</CODE>. In questo modo si sopprimono i form feed per
separare i job fi stampa, ma non si interferisce con i from feed dei
documenti.
<P>
<P>
<P>
<HR>
<A HREF="SMB-HOWTO-10.html">Avanti</A>
<A HREF="SMB-HOWTO-8.html">Indietro</A>
<A HREF="SMB-HOWTO.html#toc9">Indice</A>
</BODY>
</HTML>