Appunti su Gentoo Linux

Stampare su Linux. CUPS

Per gestire la stampa in Linux c'è il programma CUPS (Common Unix Printing System).

Le use flag dovrebbero essere quelle già abilitate di default.

emerge cups

Far partire il demone:

/etc/init.d/cupsd start
rc-update add cupsd default

La configurazione avviene nel file /etc/cups/cupsd.conf mentre la gestione delle stampanti è via web http://localhost:631/. Il file di configurazione nel 99% dei casi va già bene così.

Se volete l'accesso remoto all'interfaccia web di CUPS:

Listen localhost:631   --->   Listen *:631

Poi aggiungete

Allow all

oppure

Allow @LOCAL (solo gli indirizzi della LAN)

dopo

Order allow,deny

delle sezioni

Location
Location /admin
Location /admin/conf

Riavviate il demone cupsd e ora potrete accedere all'interfaccia web di CUPS da qualsiasi parte del mondo purché il server CUPS abbia un indirizzo IP e sia raggiungibile (forward della porta ecc...). Per esempio dalla LAN

http://192.168.1.3:631

Per certe operazioni vi verrà richiesto di usare un indirizzo diverso con https. Fatelo. A quel punto però non ci saranno certificati validi, ma non preoccupativi, aggiungete l'eccezione e andate avanti. Per operazioni particolari inoltre vi verrà richiesta username e password. Usate quelli di root.

Stampante virtuale per creare PDF: CUPS-PDF

emerge cups-pdf

Andate sull'interfaccia di CUPS. Date un nome (PDF_printer), dove sta la stampante (nome del server o della stanza), descrizione (Print to PDF). Continue.

Scegliete CUPS-PDF (virtual printer). Continue.

Scegliete Generic. Continue.

Scegliete Generic CUPS-PDF.... Add printer.

Di default i documenti stampati andranno a finire in /var/spool/cups-pdf/$USERNAME/. Purtroppo al contrario di Windows la stampante non può mostrare un dialogo in cui si chiede dove salvare il file pdf. Se volete cambiare la cartella di default (piuttosto scomoda in effetti), modificate il file di configurazione di CUPS-PDF: /etc/cups/cups-pdf.conf. Lo troverete tutto commentato con in più le spiegazioni per ogni opzione. Per cambiare il percorso dove salvare i pdf basta modificare l'opzione Out (potete usare le variabili HOME e USER). Ecco un esempio:

Out ${HOME}/Desktop

Riavviate cupsd e il gioco è fatto.

Canon Pixma MP160

Sono un possessore di questa stampante/scanner. Discuterò come far funzionare la stampa in Gentoo. Questo un link di riferimento: http://www.gentoo-wiki.info/Canon_Pixma_Series. Per l'installazione si presume che abbiate già installato CUPS.

I driver

Esistono 3 tipi diversi di driver che si possono usare:

  1. Quelli ufficiali (gratuiti): Link.
  2. Quelli del progetto TurboPrint (a pagamento): Link.
  3. Quelli del progetto Gutenprint (gratuiti): Link.

Quali scegliere? I migliori dovrebbero essere quelli del progetto TurboPrint ma sono a pagamento. Credo però che si possano provare gratuitamente. Non so quanto sia facile installarli in Gentoo.

Quelli ufficiali sono probabilmente buoni ma è molto complicato installarli se non quasi impossibile (non possono essere compilati con GCC versione 4, e nessuno sa perché).

I più semplici da installare e anche buoni da un punto di vista qualitativo sono quelli del progetto Gutenprint.

Installare i driver Gutenprint

  1. abilitare almeno le use flag cups e ppds
  2. emerge gutenprint
  3. Accedere all'interfaccia web di CUPS
  4. Aggiungere l'MP160 e come driver scegliere dalla lista quello corretto (compariranno tutti i driver forniti dal progetto Gutenprint). NON SPECIFICARE SHARE PRINTER (La Canon PIXMA MP160 si blocca dopo la prima stampa se si mette questa opzione. Questa opzione risulta inutile perché se si condivide la stampante al 99.9% lo si fa con SAMBA: vedi sotto)
  5. Stampate la pagina di prova

Installare i driver ufficiali della Canon (non funzionante)

  1. Trovare il repository di Google dove si può trovare il filtro cups versione 2.70 per le pixma. Il suo nome è cnijfilter. Controllare per esempio a questo link.
  2. Aggiungere con layman il repository che desiderate
  3. Aggiungere al file /etc/portage/package.keyword la riga per scegliere esattamente la versione di cnijfilter desiderata
  4. Aggiungere al file /etc/portage/package.use la riga per abilitare le use flag necessarie (mp160 e servicetools).
  5. Scaricare i sorgenti dei driver come verrà richiesto dall'ebuild e copiare l'rpm nella cartella richiesta dall'ebuild
  6. Installare cnijfilter: emerge -pv =cnijfilter-2.70-r1 (otterrete un errore)
  7. Riavviare cupsd
  8. Accedere all'interfaccia web di CUPS e fai aggiungi stampante
  9. la stampante dovrebbe essere subito riconosciuta
  10. Per testare il livello dell'inchiostro non so come si fa da CUPS. Si può usare il programmino "ink" che sta in Portage

Condivisione della stampante in una rete SMB/CIFS

Ovviamente SAMBA deve essere installato e funzionante. Aggiungere al file smb.conf la seguente sezione

[printers]
  comment      = All printers
  path         = /var/spool/samba
  browseable   = no
  guest ok     = yes
  writable     = no
  printable    = yes
  public       = yes
  printer admin = root

Se da Windows si navigherà la rete, si vedrà che il server Gentoo dove è collegata la stampante mostrerà oltre alle condivisioni che c'erano prima, anche tutte le stampanti installate, ognuna con il proprio nome CUPS.

Se da Windows si fa doppio clic sulla stampante remota viene ricercato automaticamente un driver che dovrebbe essere fornito da Samba stesso. Questa operazione in realtà non è necessaria perché, se Windows vede che Samba non gli fornisce alcun driver, allora il driver cercato automaticamente nei server Microsoft e l'MP160 è già presente (il driver comprenderà anche le utilità di pulizia testine e quant'altro).