Je voulais faire mes tests avec mes vieilles imprimantes USB (jets d'encre). J'y ai renoncé car je n'ai plus de cartouche fonctionnelle et n'ai aucune envie d'investir dans ce consommable que je ne trouve même plus en magasin. Même la cartouche pleine que je me gardais ne fonctionne pas, probablement à cause des pores de la tête d'impression qui sont bouchés.
Je me rabats donc sur ma plus vieille (et ma première) imprimante mais au combien robuste : une Star LC Couleur. J'ai acheté pour 6$ port compris un adaptateur USB-Parallel connecté entre le Qnap et l'imprimante matricielle.
Voici en résumé les étapes d'installation du serveur CUPS :
1) J'ai activé Optware, puis en console SSH :
ipkg update
ipkg install cups, cups-doc, cups-driver-gutenprint, cups-pdf, dbus, dbus-glib, perl
(l'installation de ghostscript a été appelée comme dépendance)
Pour ma vieille imprimante à aiguille j'ai dû ajouter :
ipkg install gutenprint
J'ai modifié /opt/etc/cups/cupsd.conf dont voici le début :
DefaultEncryption never
LogLevel debug
SystemGroup administrators
Listen localhost:631
Listen 192.168.1.xxx:631
Listen /opt/var/run/cups/cups.sock
Browsing On
BrowseOrder allow,deny
BrowseAllow all
BrowseLocalProtocols CUPS
DefaultAuthType Basic
FileDevice Yes
(le reste du fichier est comme indiqué dans le tuto de Philippe)
La ligne SystemGroup n'est pas "SystemGroup administrators sys root" comme indiqué dans le tuto car dans mon cas, les groupes sys et root n'existent pas. Les laisser provoque une erreur indiquée dans /opt/var/log/cups/error_log.
La ligne FileDevice a son importance car mon imprimante préhistorique n'est pas reconnue automatiquement et il faut alors directement communiquer avec le device où est connecté l'adaptateur USB-Parallel.
J'ai exécuté chmod 666 /dev/usb/lp0 pour permettre l'accès à ce device sous CUPS.
J'ai ajouté /opt/bin:/opt/sbin à la variable $PATH pour accéder aux fonctions en ligne de commande de CUPS.
Il faut alors arrêter le service CUPS limité du Qnap:
/etc/init.d/cupsd.sh stop
puis démarrer le serveur CUPS (Optware):
/opt/sbin/cupsd -c /opt/etc/cups/cupsd.conf
Je peux alors ouvrir http://192.168.1.xxx:631 dans le navigateur. Dans l'interface de CUPS, j'ai ajouté mon imprimante compatible avec le pilote Epson générique 9 aiguilles.
J'ai aussi une imprimante laser connectée au réseau. Je n'ai pas besoin de ce serveur CUPS pour y accéder mais j'en profite tout de même pour l'ajouter au Qnap en adjoignant un pilote postscript générique.
Voici à quoi ressemble le fichier /opt/etc/printers.conf :
# Printer configuration file for CUPS v1.4.6
# Written by cupsd on 2014-07-08 11:20
# DO NOT EDIT THIS FILE WHEN CUPSD IS RUNNING
<Printer Samsung>
AuthInfoRequired none
Info Imprimante Samsung
Location Bureau
MakeModel Generic PostScript Printer
DeviceURI ipp://192.168.1.nnn:631
State Idle
StateTime 1404740993
Type 8400964
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-command 0 commandtops
Filter application/vnd.cups-postscript 0 -
Accepting Yes
Shared No
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
<Printer StarLC10>
Info Star-LC10 Couleur
Location Qnap
MakeModel Epson 9-Pin Series
DeviceURI file:/dev/usb/lp0
State Idle
StateTime 1404770982
Type 8425476
Filter application/vnd.cups-raw 0 -
Filter application/vnd.cups-raster 50 rastertoepson
Accepting Yes
Shared Yes
JobSheets none none
QuotaPeriod 0
PageLimit 0
KLimit 0
OpPolicy default
ErrorPolicy stop-printer
</Printer>
A noter la ligne DeviceURI file:/dev/usb/lp0 qui permet d'écrire dans le fichier lp0.
Depuis une session ssh :
lp -d StarLC10 file.txt et lp -d Samsung file.txt
provoque l'impression de file.txt comme attendu .
J'ai ensuite installé la Star LC10 sur plusieurs machines clientes (Ubuntu, Windows et AmigaOS) avec l'URI : ipp://192.168.1.xxx:631/printers/StarLC10 (ou http://192.168.1.100:631/printers/StarLC10).
Avec l'Amiga, j'ai voulu tester les capacités d'imprimer via Samba :
où print.out est le fichier dans lequel j'ai dirigé l'impression d'un document sous l'Amiga.
L'impression via Samba fonctionne !
Je ne suis plus très loin de mon objectif : permettre à une application hébergée par le Qnap d'imprimer directement (sans nécessiter d'imprimer depuis un ordinateur client), à venir. Mais je pense que cette fois-ci, toutes les conditions sont réunies.
A ce stade, j'en ai voulu plus : une imprimante PDF virtuelle. J'ai modifié /opt/etc/cups-pdf.conf (extrait):
Out ${HOME}/PDF
Grp administrators
Voici l'extrait de printers.conf après l'ajout d'une imprimante PDF (selon le tuto de Philippe, suivi scrupuleusement):
Par contre avec tout autre administrateur que admin (du groupe administrators), cups-pdf_log signale une erreur :
Tue Jul 8 14:07:22 2014 [DEBUG] ghostscript has finished (256)
Tue Jul 8 14:07:22 2014 [ERROR] failed to set file mode for PDF file (non fatal) (/share/homes/user1/PDF/file.pdf)
Tue Jul 8 14:07:22 2014 [DEBUG] ERRNO: 2
là où avec admin, ce log renvoit:
Tue Jul 8 14:05:53 2014 [DEBUG] ghostscript has finished (0)
Tue Jul 8 14:05:53 2014 [DEBUG] file mode set for user output (/share/homes/admin/PDF/file.pdf)
Une large recherche avec Google sur cette erreur pointe sur des débats interminaux pour savoir si oui ou non cups-pdf est boggué. Aujourd'hui, cela semble être résolu dans les distributions linux concernées mais la version cups-pdf installée par Optware ipkg est à la fois ancienne et plus récente que celle utilisée par Philippe (lors de l'écriture de son tuto). Je serais donc confronté à ce bogue. Mon analyse est-elle juste?
Peut-être que ce vieux sujet déterré sera encore utile ...
Question
Tryphon
Bonjour,
Je suis enfin parvenu à faire fonctionner le serveur CUPS (1.4.6) sur mon serveur grâce au tutoriel de Philippe : http://forum.qnap.co...hp?f=85&t=15686.
Je voulais faire mes tests avec mes vieilles imprimantes USB (jets d'encre). J'y ai renoncé car je n'ai plus de cartouche fonctionnelle et n'ai aucune envie d'investir dans ce consommable que je ne trouve même plus en magasin. Même la cartouche pleine que je me gardais ne fonctionne pas, probablement à cause des pores de la tête d'impression qui sont bouchés.
Je me rabats donc sur ma plus vieille (et ma première) imprimante mais au combien robuste : une Star LC Couleur. J'ai acheté pour 6$ port compris un adaptateur USB-Parallel connecté entre le Qnap et l'imprimante matricielle.
Voici en résumé les étapes d'installation du serveur CUPS :
1) J'ai activé Optware, puis en console SSH :
ipkg update
ipkg install cups, cups-doc, cups-driver-gutenprint, cups-pdf, dbus, dbus-glib, perl
(l'installation de ghostscript a été appelée comme dépendance)
Pour ma vieille imprimante à aiguille j'ai dû ajouter :
ipkg install gutenprint
J'ai modifié /opt/etc/cups/cupsd.conf dont voici le début :
(le reste du fichier est comme indiqué dans le tuto de Philippe)
La ligne SystemGroup n'est pas "SystemGroup administrators sys root" comme indiqué dans le tuto car dans mon cas, les groupes sys et root n'existent pas. Les laisser provoque une erreur indiquée dans /opt/var/log/cups/error_log.
La ligne FileDevice a son importance car mon imprimante préhistorique n'est pas reconnue automatiquement et il faut alors directement communiquer avec le device où est connecté l'adaptateur USB-Parallel.
J'ai exécuté chmod 666 /dev/usb/lp0 pour permettre l'accès à ce device sous CUPS.
J'ai ajouté /opt/bin:/opt/sbin à la variable $PATH pour accéder aux fonctions en ligne de commande de CUPS.
Il faut alors arrêter le service CUPS limité du Qnap:
/etc/init.d/cupsd.sh stop
puis démarrer le serveur CUPS (Optware):
/opt/sbin/cupsd -c /opt/etc/cups/cupsd.conf
Je peux alors ouvrir http://192.168.1.xxx:631 dans le navigateur. Dans l'interface de CUPS, j'ai ajouté mon imprimante compatible avec le pilote Epson générique 9 aiguilles.
J'ai aussi une imprimante laser connectée au réseau. Je n'ai pas besoin de ce serveur CUPS pour y accéder mais j'en profite tout de même pour l'ajouter au Qnap en adjoignant un pilote postscript générique.
Voici à quoi ressemble le fichier /opt/etc/printers.conf :
A noter la ligne DeviceURI file:/dev/usb/lp0 qui permet d'écrire dans le fichier lp0.
Depuis une session ssh :
lp -d StarLC10 file.txt et lp -d Samsung file.txt
provoque l'impression de file.txt comme attendu .
J'ai ensuite installé la Star LC10 sur plusieurs machines clientes (Ubuntu, Windows et AmigaOS) avec l'URI : ipp://192.168.1.xxx:631/printers/StarLC10 (ou http://192.168.1.100:631/printers/StarLC10).
Avec l'Amiga, j'ai voulu tester les capacités d'imprimer via Samba :
smbclient >NIL: //192.168.1.xxx/StarLC10 -c "put print.out"
où print.out est le fichier dans lequel j'ai dirigé l'impression d'un document sous l'Amiga.
L'impression via Samba fonctionne !
Je ne suis plus très loin de mon objectif : permettre à une application hébergée par le Qnap d'imprimer directement (sans nécessiter d'imprimer depuis un ordinateur client), à venir. Mais je pense que cette fois-ci, toutes les conditions sont réunies.
A ce stade, j'en ai voulu plus : une imprimante PDF virtuelle. J'ai modifié /opt/etc/cups-pdf.conf (extrait):
Out ${HOME}/PDF
Grp administrators
Voici l'extrait de printers.conf après l'ajout d'une imprimante PDF (selon le tuto de Philippe, suivi scrupuleusement):
J'ai appliqué chmod 700 cups-pdf (répertoire /opt/lib/cups/backend).
Depuis une session ssh:
lp -d PDF file.txt
produit le fichier file.pdf comme attendu.
Par contre avec tout autre administrateur que admin (du groupe administrators), cups-pdf_log signale une erreur :
Tue Jul 8 14:07:22 2014 [DEBUG] ghostscript has finished (256)
Tue Jul 8 14:07:22 2014 [ERROR] failed to set file mode for PDF file (non fatal) (/share/homes/user1/PDF/file.pdf)
Tue Jul 8 14:07:22 2014 [DEBUG] ERRNO: 2
là où avec admin, ce log renvoit:
Tue Jul 8 14:05:53 2014 [DEBUG] ghostscript has finished (0)
Tue Jul 8 14:05:53 2014 [DEBUG] file mode set for user output (/share/homes/admin/PDF/file.pdf)
Une large recherche avec Google sur cette erreur pointe sur des débats interminaux pour savoir si oui ou non cups-pdf est boggué. Aujourd'hui, cela semble être résolu dans les distributions linux concernées mais la version cups-pdf installée par Optware ipkg est à la fois ancienne et plus récente que celle utilisée par Philippe (lors de l'écriture de son tuto). Je serais donc confronté à ce bogue. Mon analyse est-elle juste?
Peut-être que ce vieux sujet déterré sera encore utile ...
Merci à Philippe.
Qnap TS-559 QTS 4.1
Lien vers le commentaire
Partager sur d’autres sites
2 réponses à cette question
Messages recommandés
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.