Newsgroup: it.comp.os.linux.sys
Titolo: netcat per stampare

Ciao a tutti.
Per stampare su una stampante laser di rete invio il mio file tramite il
netcat.
( Qualcun'altro lo fa ? )
Il comando e' il seguente:
cat $nome_file | nc -v -v -n -q 4 $ip_stampante 9100 >> /tmp/nc.log 2>&1
Normalmente funziona tutto bene e nel file log trovo scritto qualcosa del
genere:
(UNKNOWN) [192.168.20.16] 9100 (?) open
 sent 1087089, rcvd 0
Occasionalmente, invece, la stampa si perde del tutto e nel file di log
trovo:
(UNKNOWN) [192.168.20.16] 9100 (?) open
Preposterous fd value 18
 sent 0, rcvd 0
Il value a volte e' 18, a volte 22, a volte 26, a volte 41
Qualcuno ha idea di cosa possa significare quel "Preposterus fd value" ??
P.S.
Debian Etch --  netcat 1.10-32  --  stampante OKI B4250
-- 
Stefano L.


Per fortuna, google ha ripreso a funzionare e ho trovato:
http://www.google.com/search?q=%20Preposterous%20fd%20value
La frase vuol dire "Valore di file descriptor assurdo" (assumo che fd
significhi quello, e non, per dire, "filo distampa (sic.)" o "fottuto
diametro"), sembra essere un errore per netcat, e vedo che viene
risposto così quando il valore di fd è maggiore di FD_SETSIZE. Con
questo ne sai probabilmente quanto prima, ma dato che google c'è, puoi
guardare meglio da te, suppongo :) . O implementare lpr/lprng/cups sul
server di stampa, sia mai, anche se suppongo ci sono Buone Ragioni
(TM) perchè tu debba contorcerti così.
--
Saludos
Adriano

 significhi quello
Sì, dovrebbe essere quello, quel messaggio è nel sorgente di netcat, in
effetti.

 Senti anche la musica inviando a /dev/dsp? :)
LOL :)
effettivamente io usavo updcast e in alcuni casi netcat per clonare delle 
installazioni, ma non avevo pensato ad usi di questo genere.
p.s.: udpcast e' un idea al tempo stesso banale e' mostruosamente 
utile.... chiaramente non ottimale per l'invio di code di stampa :)
-- 
echo onailimissaM | awk 'BEGIN { FS = "" }
{ for (i = NF; i >= 1; i-- )
  printf $i }'; echo

 
Io l'ho fatto per fare degli scherzi in casa:
macchina 1 con altoparlanti
nc -l -p 8888 > /dev/dsp
macchina 2 con microfono
cat /dev/dsp | nc <ip_di_macchina_1> 8888
A parte un po' di ritardo (dovuto ai buffer) funzionava :-)
Se le macchine sono in 2 stanze differenti, la seconda persona sente 
solo la voce dall'altoparlante.
LP
[...]

 (TM) perchè tu debba contorcerti così.
Non credo che sia una contorsione stampare con il netcat. Se googoli vedrai
che e' una cosa abbastanza comune e l'ho fatto altre volte anche con altri
S.O.
E' la prima volta che non mi funziona e ho quell'errore  :/
Domani provero' a installare cups e passare da li' ma se dipende dalla
stampante ho paura che avro' lo stesso problema col cups.
Faro' sapere.
Intanto grazie.
-- 
Stefano L.

 Il value a volte e' 18, a volte 22, a volte 26, a volte 41
Una banale (ed incompetente :-() occhiata ai sorgenti suggerisce che 
sia stato superato il numero massimo di file descriptor a livello di
rete (verosimilmente 16, nel tuo caso) come, peraltro, altri avevano
gia' suggerito. Perche'? Boh. Ma se ricompili nc abilitando il DEBUG
dovrebbe darti su STDOUT qualche info utile, tipo la coppia di porte
per ogni file descriptor, cosi' vedi dove si incastra. Se poi hai la
possibilita' di catturare il traffico incriminato, tanto meglio.
Fabio

 
Infatti anche con il cups, se stampo con socket alla porta 9100 succede la
stessa cosa.
Invece impostando lpr funziona bene.
-- 
Stefano L.