|
Per condividere una stampante Linux con macchine Windows, è necessario accertarsi che la propria stampante sia correttamente configurata e funzioni con Linux. Se la stampa da Linux è possibile, è abbastanza semplice configurare una condivisione per stampante SMB.
Si noti che utenti Windows devono avere un account sulla macchina Linux/Samba al fine di poter stampare. Windows 95/98 cercherà 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à possibile stampare (o connettersi ad altri servizi SMB)! Windows NT consente di fornire username e password quando si usa una stampante.
Consultare il Printing HOWTO per configurare la stampa locale.
Aggiungere la configurazione di stampa al proprio smb.conf
:
[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
Accertarsi che il percorso della stampante (in questo caso
[ljet]) corrisponda alla directory di spool in /etc/printcap
!
Le linee:
printcap name = /etc/printcap load printers = yes
Controllano se tutte le stampanti in /etc/printcap
debbano essere
caricate in modo predefinito. In tal caso non c'è 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), è
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.
Una tecnica utile per verificare le proprie connessioni è cambiare il comando di stampa in:
print command = cp %S /tmp/print.%P.%S
ed analizzare il file risultante.
NOTA: ci sono alcuni problemi per condividere stampanti di macchine UNIX
con macchine Windows NT usando Samba. Un problema è che NT non vede
correttamente la stampante condivisa. Per rimediare consultare le note
nella distribuzione Samba nel file docs/WinNT.txt
.
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.
Oleg L. Machulskiy ( machulsk@shade.msu.ru) ha suggerito un comando di stampa migliore da usare nell'esempio precedente:
print command = smb2ps %s | lpr -r -h -P %p
Dove 'smb2ps' è uno script che trasforma il file di spool ricevuto da Windows in un file Postscript usabile. È necessario eliminare le prime 3 linee e le ultime 2, perché contengono codice PJL oppure PCL.
Questo approccio è 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 "Digital turbo Printserver 20" si è dimostrato essere abbastanza generico per la maggior parte delle configurazioni. Inoltre pare che anche "Apple LaserWriter II NTX" funzioni correttamente per questo scopo.
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 (
neilf@necon.co.za)
suggerisce che i permessi della directory di spool (in questo caso
/var/spool/lpd/lpr
siano 4755 (notare il bit suid); funziona sul
suo sistema quando il proprietario è 'root' ed il gruppo 'lp'.
Jeff Stern ( jstern@eclectic.ss.uci.edu) 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 è necessaria, allora si limitino i permessi il più possibile. In un ambiente casalingo, probabilmente si desidera che tutti siano in grado di stampare.
Dr. Michael Langner (
langner@fiz-chemie.de) indica come i problemi di permesso di
scrittura in /var/spool/lpd/
possono essere evitati se si usa
qualcosa come "path = /tmp" e "print command = lpr -r -P%p %s".
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à sempre "%%[ Lastpage ]%%" in cima. Questo sembra accadere solo con Windows 95 e 98 a causa del Postscript malformato.
Un modo per gestire questa situazione è di usare uno script per rimuovere la sequenza Postscript errata. Un altro modo è cercare di trovare un driver Postscript migliore. Probabilmente il modo migliore è di usare LPRng invece del Postscript per stampare su un Server Samba.
Erik Ratcliffe (
erik@caldera.com)
di Caldera, riporta che LPRng comporta che qualsiasi sia il driver sulla
macchina Windows, sul server Samba si usa un /etc/printcap
simile
a:
raw:\
:rw:sh:
:lp=/dev/lp1
:sd=/var/spool/lpd/raw
:fx=flp
LPRng non richiede un :\ alla fine di ogni riga. L'indicazione della
stampante deve comunque essere presente in /etc/smb.conf
per la
stampante fisica. Il comando di stampa usa l'entry "raw" ed i
dati sono mandati alla stampante in modo binario. Tale comando somiglia a:
print command = lpr -b -Praw %s
Potrebbe anche essere necessario disattivare lo spooling di stampa su Windows 95 al fine di stampare direttamente.
Se si ottiene sempre una pagina extra alla fine della stampa di client
Windows, si provi ad aggiungere la direttiva "sf" in
/etc/printcap
. In questo modo si sopprimono i form feed per
separare i job fi stampa, ma non si interferisce con i from feed dei
documenti.
Hosting by: hurra.com
Generated: 2007-01-26 17:56:18