# [RISOLTO]CUPS:niente stampa da remoto. Soluzione alternativa

## fbcyborg

Salve a tutti, 

scrivo questo post perché oramai sono arrivato all'esasperazione. 

E' da quasi un anno che la condivisione della stampante locale connessa al mio PC Gentoo non vuole sentire ragioni di funzionare a dovere. Anzi, funziona a metà e male.

Descrivo la situazione..

Ho due stampanti connesse al mio pc entrambi funzionanti in locale:

 HP DeskJet690C (Porta parallela) condivisa e consente la stampa da pc in rete che hanno Winsozz

 Brother DCP-7010L (USB) condivisa e non consente la stampa agli altri pc, nemmeno se hanno winsozz

Ho visto tutte le guide possibili immaginabili: niente. La mia Brother non ne vuole sapere di stampare se un pc winsozz in rete invia una stampa.

Dai files di log non riesco a capire gran che.. 

Tanto per cominciare posto il mio smb.conf:

```
[global]

netbios name = FlaGentoo

workgroup = Casa

server string = Samba Server %v

printcap name = cups

printing = cups

cups options = "raw"

use client driver = no

socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192

interfaces = lo eth0

bind interfaces only = yes

hosts allow = 127.0.0.0/8 192.168.1.0/24

security = user

encrypt passwords = yes

#guest ok = yes

null passwords = no

hide unreadable = yes

hide dot files = yes

[printers]

comment = All Printers

browseable = no

writable = no

printable = yes

public = yes

guest ok = yes

path = /var/spool/samba

[public]

    path = /home/flavio/public

    browseable = yes

    public = yes

    only guest = yes

    writable = yes

```

Ecco invece il mio cupsd.conf:

```
ServerName Gentoo PrintServer

ServerAdmin root@PrintServer

AccessLog /var/log/cups/access_log 

ErrorLog  /var/log/cups/error_log 

BrowseAddress @IF(eth0) 

LogLevel debug

Listen *:631

Listen /var/run/cups/cups.sock

User lp

Group lp

<Location />

Order Deny,Allow

Deny From All

Allow From 192.168.1.*

</Location>

<Location /admin>

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 192.168.1.*

</Location>

```

Non capisco perché diavolo debba stampare una stampante sola (in rete)... Non posso più perdere giornate senza risolvere il problema.

Fosse solo questo.. Poi anche dal portatile con Gentoo, non riesco a stampare da una stampante condivisa da windows, ma questo è un'altro problema e lo tratterò in un secondo momento.

Secondo me CUPS e/o samba ce l'hanno con me, oppure non funzionano bene.

Ho provato tante configurazioni "diverse" dei files smb.conf e cupsd.conf ma nulla di fatto.

per favore, ciò che vi chiedo è di aiutarmi a capire perchè non ne vuole sapere di funzionare e a interpretare i files di log, visto che non penso di essere così ferrato.

Grazie, mille.

----------

## lucapost

Facciamo che le stampanti siano attaccate ad un server piccì con IP 10.0.0.1, 

Facciamo che hai un server cups sul computer remoto con il quale vuoi accedere alle stampanti sul server. Bene, basta che modifichi sul piccì remoto il file /etc/cups/client.conf e ci aggiungi (o metti solo la riga):

```
 ~/> cat /etc/cups/client.conf 

ServerName 10.0.0.1
```

e riavvi il server cups sul piccì remoto...

Se non hai toccato altre opzioni di permessi o roba del genere dovrebbe funzionare...

Se non funziona posta un pò di errori...

----------

## fbcyborg

Bene, grazie mille... 

prima di tutto premetto che devo e vorrei riuscire a fare in modo che questa stampante Brother DCP-7010L sia accessibile e consenta stampe ai pc windows connessi in rete. Pertanto mi occorre samba, come ovvio che sia.

 *lucapost wrote:*   

> Facciamo che le stampanti siano attaccate ad un server piccì con IP 10.0.0.1, 

 OK, il mio server di stampa ha indirizzo IP 192.168.1.101. *lucapost wrote:*   

> 
> 
> Facciamo che hai un server cups sul computer remoto 

 appunto sul 192.168.1.101 *lucapost wrote:*   

> con il quale vuoi accedere alle stampanti sul server.

 Intendi cioè che "questo server remoto (192.168.1.101) consente agli altri PC in rete (per il momento parliamo di PC windows) di poter stampare con la Brother" *lucapost wrote:*   

>  Bene, basta che modifichi sul piccì remoto il file /etc/cups/client.conf e ci aggiungi (o metti solo la riga):
> 
> ```
>  ~/> cat /etc/cups/client.conf 
> 
> ...

 OK... un momento.. Io tali righe le metterei su un PC client con Linux installato. Se anche tu ti riferisci a questo, vorrei trattare l'argomento più avanti, come già ho detto nel primo post. *lucapost wrote:*   

> 
> 
> e riavvi il server cups sul piccì remoto...
> 
> Se non hai toccato altre opzioni di permessi o roba del genere dovrebbe funzionare...
> ...

 

OK, per favore indicami i files di cui vuoi i "tail" e che azioni vuoi che io intraprenda per far generare errori (non so.. come l'invio di una stampa o il tentativo di accesso alla stampante in questione, tramite Pannello di Controllo di winsozz, Printer and Faxes).

Dunque.. Una volta che io ho aggiunto la stampante su un client windows, tramite appunto Printer and Faxes, Add Printer.. E dopo aver appunto aggiunto una stampante di rete, se faccio doppio click sulla stampante appena aggiunta mi si apre la coda di stampa e dice, nella barra del titolo: "Access denied, unable to connect".

In realtà ciò mi è accaduto anche con l'altra stampante che invece funziona anche se da questo messaggio. Però l'altra stampa lo stesso!!!!   :Shocked: 

Intanto posso postare un po' del file di log /var/log/cups/access_log.

Questo è ciò che accade dopo che ho aperto un file di testo su windows->File->print... Poi seleziono la stampante incriminata ed ecco cosa appare:

```
localhost - - [05/Oct/2007:18:40:29 +0200] "POST / HTTP/1.1" 200 279 Get-Jobs successful-ok

localhost - - [05/Oct/2007:18:40:29 +0200] "POST / HTTP/1.1" 200 200 Get-Printer-Attributes successful-ok
```

Nel frattempo continuo a visualizzare "Access denied, unable to connect" anche nella finestra di stampa.

Successivamente clicco su "Print" e non succede niente.. il file di log access_log stampa questo:

```
localhost - - [05/Oct/2007:18:43:19 +0200] "POST / HTTP/1.1" 200 279 Get-Jobs successful-ok

localhost - - [05/Oct/2007:18:43:19 +0200] "POST / HTTP/1.1" 200 200 Get-Printer-Attributes successful-ok

localhost - - [05/Oct/2007:18:43:20 +0200] "POST /printers/DCP-7010L HTTP/1.1" 200 26721 Print-Job successful-ok

```

Se vado su http://localhost:631/jobs/ vedo:

```
ID        Nome              Utente     Dimensione     Pagine     Stato           

DCP-7010L-154     smbprn.00000054 

      Remote Downlevel Document     flavio     11k        Sconosciuto     elaborazione in corso da

                                    Fri Oct 5 18:39:12 2007

DCP-7010L-155     smbprn.00000059

      Remote Downlevel Document     flavio     26k        Sconosciuto     in sospeso da

                                    Fri Oct 5 18:43:20 2007
```

E restano lì... 

Grazie mille davvero per il supporto.

----------

## djinnZ

cups è compilato con le use samba e pam? samba è compilato con le use cups pam e winbind? mica uno dei due è compilato con la use ldap?

```
...

guest account=user

...

[printers]

comment=All Printers

path=/var/spool/samba

guest ok=yes

browseable=no

writable = no

printable=yes

guest only=yes

create mode=0700

print command=lpr -P %p %s

lpq command=lpq -P %s

lprm command=lprm -P %j-%j

...
```

guest deve essere un utente che abbia il diritto di stampare (nella fattispecie ho creato uno specifico utente nologin per samba ma sono mie esagerazioni) nobody mi pare che non sia accettato in automatico da cups

invece di

```
Listen *:631
```

usa

```
Port 631
```

e 

```
AuthType Basic

Require user @SYSTEM

Allow @LOCAL
```

 Sono definite le location "/" "/admin" e "/admin/conf"? E "Policy default"?

cambia il livello dei log a debug e vedi se il problema non è di interprete postscript. Così come la metti potrebbero essere mille cose.

----------

## lucapost

Per evitare di creare ulteriore confusione: il pc server è quello al quale hai fisicamente attaccato le stampanti, il pc remoto è quello dal quale vuoi lanciare la stampa.

Da quello che hai detto il server è quindi il pc con IP: 192.168.1.101

Una volta che hai configurato e sono funzionanti le stampanti sul server, installa cpus anche su tutte le macchine remote che possiedi, e sempre sulle macchine remote aggiungi al file /etc/cups/client.conf la riga:

```
ServerName 192.168.1.101
```

riavvia cups e sui client linux dovrebbe essere a posto!

....per samba a e windows non so aiutarti...

----------

## fbcyborg

 *djinnZ wrote:*   

> cups è compilato con le use samba e pam? samba è compilato con le use cups pam e winbind? mica uno dei due è compilato con la use ldap?
> 
> 

 

```
net-print/cups-1.2.10-r1  USE="[b]X dbus jpeg ldap nls pam png ppds samba ssl tiff[/b] -php -slp" 3,534 kB

net-fs/samba-3.0.24-r3  USE="[b]acl cups fam kerberos ldap pam python readline[/b] -async -automount -caps -doc -examples -oav -quotas (-selinux) -swat -syslog -winbind" LINGUAS="-ja -pl" 17,308 kB
```

Eh già, entrambi con ldap.. sarà quello a rompere????

 *djinnZ wrote:*   

> 
> 
> ```
> ...
> 
> ...

 OK, devo impostare la sezione printers esattamente così allora? *djinnZ wrote:*   

> 
> 
> guest deve essere un utente che abbia il diritto di stampare (nella fattispecie ho creato uno specifico utente nologin per samba ma sono mie esagerazioni) nobody mi pare che non sia accettato in automatico da cups
> 
> invece di
> ...

 OK. Ecco Il mio cupsd.conf dopo che ho fatto le modifiche che mi hai detto:

```
ServerName Gentoo PrintServer 

ServerAdmin root@PrintServer 

AccessLog /var/log/cups/access_log 

ErrorLog  /var/log/cups/error_log  

BrowseAddress @IF(eth0) 

LogLevel debug

Port 631

Listen /var/run/cups/cups.sock

User lp

Group lp

AuthType Basic

Require user @SYSTEM

Allow @LOCAL

<Location />

Order Deny,Allow

Deny From All

Allow From 192.168.1.*

</Location>

<Location /admin>

AuthType Basic

AuthClass System

Order Deny,Allow

Deny From All

Allow From 192.168.1.*

</Location>

```

Come puoi vedere, anche dal primo post, le location "/", "/admin" sono definite, mentre "/admin/conf" e "Policy Default" no. Non saprei cosa scriverci. *djinnZ wrote:*   

> 
> 
> cambia il livello dei log a debug e vedi se il problema non è di interprete postscript. Così come la metti potrebbero essere mille cose.

 

Il livello di log è a debug da circa un anno, ma non c'ho ancora capito nulla. Ed ho paura di fare confusione anche adesso. Lo so che potrebbero essere mille cose, infatti non so proprio dove sbattere la testa.

 *lucapost wrote:*   

> Per evitare di creare ulteriore confusione: il pc server è quello al quale hai fisicamente attaccato le stampanti, il pc remoto è quello dal quale vuoi lanciare la stampa.
> 
> Da quello che hai detto il server è quindi il pc con IP: 192.168.1.101
> 
> Una volta che hai configurato e sono funzionanti le stampanti sul server, installa cpus anche su tutte le macchine remote che possiedi, e sempre sulle macchine remote aggiungi al file /etc/cups/client.conf la riga:
> ...

 

OK, grazie provo subito. Immagino che per aggiungere la stampante posso utilizzare KDEPrint.

EDIT1: Allora C'ho provato, la stampante condivisa compare subito fra le stampanti che posso usare dal portatile con Linux ma non stampa; quando invio la stampa si pianta tutto e non riesco a fare più niente... Ad esempio se provo a stampare un file di testo compare un messaggio popup che dice:

 *PrintingStatus wrote:*   

> Printing document: file.txt Initialization...

 

Poi il tasto "Close" ma nulla si muove.

EDIT2: Se vado sul server e digito http://localhost:631/jobs vedo che il documento che ho inviato è in questo stato: "elaborazione in corso da

Fri Oct 5 19:48:06 2007 ".. Possibile non si decida a partire sta stampa benedetta?

----------

## Scen

 *fbcyborg wrote:*   

> 
> 
> prima di tutto premetto che devo e vorrei riuscire a fare in modo che questa stampante Brother DCP-7010L sia accessibile e consenta stampe ai pc windows connessi in rete. Pertanto mi occorre samba, come ovvio che sia.
> 
> 

 

No, non è detto!  :Razz:  Se i client Windows sono versione 2000 o superiori, puoi semplicemente installare le stampanti (su tali client) come "stampanti di internet", quindi tramite protocollo IPP. Lo stesso discorso vale per client Linux, basta configurare il CUPS del client per "vedere" la stampante IPP di Cups.

Io l'ho fatto sui client dell'azienda in cui lavoro e ti assicuro che funziona tutto alla grande (anzi, CUPS mi gestisce senza problemi le stampanti collegate direttamente ai client Windows e messe in condivisione): inoltre una bella cosa è che se in Windows installi la stampante come "stampante internet" risulterà essere una stampante di sistema, quindi visibile da tutti gli utenti che accederanno a quel PC.

Se ti servono dettagli su come far funzionare la cosa chiedi pure.

----------

## fbcyborg

 *Scen wrote:*   

> Se ti servono dettagli su come far funzionare la cosa chiedi pure.

 

Grazie infinite!!!

Se ti fa piacere dirmelo, sono tutt'occhi.

A questo punto accetto consigli su istruzioni in merito al "togliere" samba come mezzo di condivisione stampanti... quindi vorrei avere la conferma sulle parti da eliminare dal smb.conf...

Grazie davvero.

----------

## djinnZ

basta che togli [printers] o meglio che lo ricompili anche senza il supporto cups.

ldap crea qualche problema, soprattutto se non lo usi e lo configuri.

In effetti uso ancora samba perchè ho ancora client windows '98 e perchè mi capita sempre il cretino che deve stampare e non ha il supporto lpd/ipp attivo e non sa come fare (ed io ho smesso di fornire consulenza gratuita).

vedi che il tuo problema o è di autorizzazione di cups alla stampa locale o è di interprete postscript che si blocca par qualche motivo (hai esp-ghostscript o gnu/gpl? ho postato qualcosa a proposito in documentazione) cerca nel forum dovrebbe esserci un thread, di canduc credo, vedi se hai un errore simile.

Il metodo di scen ti comporta una sensibile riduzione dei tempi di attesa per la stampa.

Se ho capito bene la hp funziona mentre la brother no.

Suppongo che la hp sia pcl nativa mentre la brother mica usa splix/cgi o qualcosa del genere? Perchè in quel caso o la ridefinisci raw o usi un driver postscript sotto windows, forse è quello il problema.

----------

## fbcyborg

 *djinnZ wrote:*   

> basta che togli [printers] o meglio che lo ricompili anche senza il supporto cups.
> 
> ldap crea qualche problema, soprattutto se non lo usi e lo configuri.

 Dunque, la use ldap fa parte del profilo che sto utilizzando. Posso sempre definire le seguenti righe in /etc/portage/package.use e ricompilare tutto:

```
net-print/cups -ldap

net-fs/samba -ldap
```

Anzi, lo sto già facendo. Tanto ldap non lo uso. *djinnZ wrote:*   

> 
> 
> In effetti uso ancora samba perchè ho ancora client windows '98 e perchè mi capita sempre il cretino che deve stampare e non ha il supporto lpd/ipp attivo e non sa come fare (ed io ho smesso di fornire consulenza gratuita).

 OK, in effetti allora a me non serve. Non ho client win98. *djinnZ wrote:*   

> 
> 
> vedi che il tuo problema o è di autorizzazione di cups alla stampa locale o è di interprete postscript che si blocca par qualche motivo (hai esp-ghostscript o gnu/gpl? ho postato qualcosa a proposito in documentazione) cerca nel forum dovrebbe esserci un thread, di canduc credo, vedi se hai un errore simile.
> 
> 

 Suppongo anche io che ci sia qualche problema di autorizzazione anche se non ne capisco il reale motivo. *djinnZ wrote:*   

> 
> 
> Il metodo di scen ti comporta una sensibile riduzione dei tempi di attesa per la stampa.

 Ottimo! In effetti sono proprio in attesa del suo post in modo da passare definitivamente solo a CUPS per quanto riguarda la condivisione delle stampanti. *djinnZ wrote:*   

> 
> 
> Se ho capito bene la hp funziona mentre la brother no.

 Esatto! Ecco perché mi sto inquietando!  :Very Happy:   :Twisted Evil:   :Evil or Very Mad:   *djinnZ wrote:*   

> 
> 
> Suppongo che la hp sia pcl nativa mentre la brother mica usa splix/cgi o qualcosa del genere? Perchè in quel caso o la ridefinisci raw o usi un driver postscript sotto windows, forse è quello il problema.

 Non ne ho la più pallida idea.

Scusa ma non voglio mischiare troppi concetti, adesso non ho tempo di imparare cose nuove.. Fra l'altro rischierei di impelagarmi in altri problemi e di non uscirne più. Ora vorrei stampare dagli altri PC in rete al più presto e basta!  :Wink: 

Grazie infinite per i vostri supporti.

EDIT1: Magicamente sono riuscito a stampare dal mio portatile con Gentoo Installata. Ho appunto usato la direttiva 

```
ServerName 192.168.1.101
```

In effetti è vista come una stampante di sistema. Ottimo!

Ora devo trovare il modo di stampare anche da windows, sempre con il server di stampa Gentoo, e poi devo riuscire a stampare dal mio portatile con Linux ma questa volta con una stampante condivisa da windows xp.

IN maniera altrettanto assurda ora ho provato a stampare un'altra cosa... e la stampante di sistema condivisa non viene più vista sul client... Ma roba dell'altro mondo!

EDIT2:Seguendo questa guida sono riuscito a stampare anche da windows utilizzando solo CUPS tramite IPP. Ora vediamo se riesco di nuovo a stampare da Linux dal portatile.

ODIO CUPS

----------

## fbcyborg

 *fbcyborg wrote:*   

> ODIO CUPS

 

E lo confermo!!!

Premetto che ho cambiato gli IP ed ora il server è 192.168.1.100 e il client è 192.168.1.101.

Ultimamente ho avuto da tribolare molto con la stampante Brother in questione, ed ora non riesco nuovamente a stampare dal mio client Gentoo.

Nonostante io abbia visto che mancassero quelle direttive Allow From 192.168.1.* nel file /etc/cups/cupsd.conf e nonostante nel file /etc/cups/client.conf non fosse più presente la direttiva ServerName IP ma solo "ServerName /var/run/cups/cups.sock", ho prontamente rimediato

```
$ cat /etc/cups/client.conf 

ServerName /var/run/cups/cups.sock

ServerName 192.168.1.100
```

ma non riesco comunque a vederla come stampante di sistema dal mio portatile (client). Inoltre non riesco nemmeno più ad accedere all'interfaccia web di cups dal client, all'indirizzo http://192.168.1.100:631 . Questo CUPS mi ha proprio stancato sinceramente, è più di una settimana che mi sta facendo perdere tempo. Qualcuno mi potrebbe aiutare?

----------

## xdarma

 *fbcyborg wrote:*   

>  *fbcyborg wrote:*   ODIO CUPS E lo confermo!!!

 

Anche a me ha creato problemi passando da una minor release alla successiva perché avevano cambiato il formato del file di configurazione...

All'epoca avevo risolto accedendo dal "server" stesso all'interfaccia web di cups. Da lì ho notato che era impostato per non accettare connessioni dall'esterno...

Spuntate un paio di caselle ha ricominciato a funzionare. Ed ho inserito la versione funzionante in package.mask

In alternativa a cups credo ci sia solo lpr-ng che pur avendo subito aggiornamenti "pesanti" non è stato aggiornato in portage.

Stavo cercando di mettere in piedi un server di stampa che faccia solo da spooler, quindi senza driver. Cups mi ha richiesto circa 60Mb con una ventina di pacchetti (tipo ghostscript che ogni volta che lo aggiorni si "scassa"), lpr-ng-old 10Mb e un solo pacchetto, lpr-ng-new 1Mb ma è senza ebuild...

Ma se mi dai una mano, forse in due riusciamo a sistemare l'ebuild di lpr-ng :-)

----------

## fbcyborg

Ciao, 

grazie per la risposta. Ora comunque a dispetto del titolo del thread che ho scelto molto tempo fa, preferirei non usare lprng, e speravo di trovare qualche soluzione per aggiustare le cose con CUPS. La cosa che mi fa rabbia di più è che tutto si sputt...i in un batter d'occhio.

----------

## fbcyborg

Ooh, allora. Ho risolto sia il problema della navigazione dell'interfaccia web di CUPS anche da remoto che quello della stampa.

Ho aggiunto la riga:

```
Listen 192.168.1.100:631
```

fra le altre due in questa sezione.

```
# Only listen for connections from the local machine.

Listen localhost:631

Listen 192.168.1.100:631

Listen /var/run/cups/cups.sock
```

Inoltre sono riuscito anche a stampare nuovamente da Linux e da windows!

In pratica era tutta colpa di un dannato dispatch-conf che ha esagerato con gli update!

Credo che la mancanza di quel Listen, e di quegli allow from, abbia creato il panico.

----------

## djinnZ

 *fbcyborg - Inviato: 17.02 Venerdì 05 Ottobre 2007 wrote:*   

> [omissis]

   :Rolling Eyes:   *fbcyborg - Inviato: 11.45 Martedì 15 Marzo 2011 wrote:*   

> [omissis]

   :Question: 

... 3 anni, 5 mesi, 9 giorni, 18 ore e 43 minuti ...

 :Shocked: 

----------

## fbcyborg

 *djinnZ wrote:*   

>  *fbcyborg - Inviato: 17.02 Venerdì 05 Ottobre 2007 wrote:*   [omissis]    *fbcyborg - Inviato: 11.45 Martedì 15 Marzo 2011 wrote:*   [omissis]  
> 
> ... 3 anni, 5 mesi, 9 giorni, 18 ore e 43 minuti ...
> 
> 

 

Post utile...

E allora?

----------

## djinnZ

 *fbcyborg wrote:*   

> E allora?

   :Laughing: 

----------

