Serveur d'impression

Projet OpenWrt: serveur d'impression CUPS – Serveur d’impression

Le 23 juin 2019 - 8 minutes de lecture


Installation sur le firmware de LEDE / OpenWrt 17+

Il n’existe pas de package CUPS prédéfini pour LEDE / OpenWrt 17+.

Instructions de base pour compiler CUPS

https://github.com/Gr4ffy/lede-cups

(voir le bas pour plus de ressources)

(Il est recommandé d'utiliser le serveur d'impression p910nd sans spoule au lieu de CUPS sur un routeur.)

Les méthodes Opkg ci-dessous concernent les versions antérieures à 17 et / ou après la compilation de vos propres packages.

Préparation

Conditions préalables

  1. les chauffeurs

  2. module de noyau pour imprimantes USB: opkg installe kmod-usb-printer

  3. Pare-feu: ports ouverts TCP et UDP.

CUPS obligatoire utilise la mise en file d'attente, ce qui signifie que toutes les données du travail d'impression sont stockées dans une mémoire tampon (sur disque dur ou dans la RAM) avant même que l'impression ne soit démarrée. En fonction de ce que vous voulez imprimer, vos ressources sont probablement aussi limitées que vous ne devriez pas utiliser CUPS. Mais bien sûr, vous pouvez ajouter des ressources à votre matériel, comme par exemple connecter un disque dur par USB.

  1. lecteurs USB pour monter un système de fichiers ou une partition SWAP. Cela devrait améliorer massivement votre dotation.
  2. vous ne pouvez pas monter SWAP sur le réseau mais vous pouvez monter tout autre système de fichiers sur le réseau et y stocker les données, voir Système de fichiers

Paquets requis

Serveur (OpenWrt)

prénom Version Taille en octets La description
tasses 2.2.6 10 315 433 Un système de spouleur d’imprimante pour les périphériques avec prise en charge USB ou LP.
https://www.cups.org/
zlib 1.2.5-1 39388 Bibliothèque implémentant la méthode de compression deflate
libpthread 0.9.32-65 30717 Bibliothèque de threads POSIX
libpng 1.2.44-1 128723 Une bibliothèque de traitement de fichiers au format PNG
libjpeg 6b-1 61963 Bibliothèque d'exécution JPEG du groupe JPEG indépendant
libstdcpp 4.3.3 + cs-65 232642 Bibliothèque GNU Standard C ++ v3
cups-bjnp 0.5.4-1 11293 (facultatif) Description: serveur CUPS pour les imprimantes Canon utilisant le port USB exclusif IP Protocole BJNP. Ce backend permet à Cups d’imprimer sur le réseau sur une imprimante Canon. Il supporte actuellement Cups 1.2 et Cups 1.3 et est conçu par ingénierie inverse.

Installation

opkg

opkg installer tasses
vi /etc/cups.conf
Si vous avez un stockage externe, modifiez le répertoire de spool CUPS afin qu'il réside sur ce stockage:  
vi /etc/tasses/cupsd.conf et change- RequestRoot /opter/var/bobine/tasses
. /etc/init.d/cupsd activer
. /etc/init.d/début de cupsd
netstat -une
iptables -JE CONTRIBUTION -j ACCEPTEZ -je eth0.1 -p tcp --Port ?????
iptables -JE CONTRIBUTION -j ACCEPTEZ -je eth0.1 -p UDP --Port ?????

Configuration

Configuration CUPSD

Problèmes d'autorisations

Si vous avez des problèmes avec les autorisations, essayez de changer /etc/cups/cupsd.conf pour s'adapter à votre local TCP/IP réseau:

Ordre Refuser, Autoriser
Nier de tous
Autoriser à partir de 127.0.0.1
Autoriser à partir de 192.168.1.0/24 #votre zone ip.
Dépannage: Besoin de pilotes téléchargés à la mise sous tension?

Vous avez un appareil HP Laserjet ou un appareil similaire nécessitant le téléchargement du pilote sur l'imprimante à chaque fois qu'il est allumé? Voir ce post ici

Ajout d'imprimantes

Notez que vous ne pouvez pas imprimer une page de test sur les gobelets locaux, car il faudrait que ghostscript soit installé sur votre système intégré.

Notes d'imprimantes USB et résolution de problèmes

Backfire:
Il peut y avoir un problème d’interface avec les imprimantes USB si le module de noyau usb-printers est également chargé. Ceux-ci entrent en conflit avec le support USB fourni par cups. Il y a beaucoup de bugs et une solution de travail est la suivante:

  1. Supprimer le support usblp: opkg supprimer kmod-usb-printer

  2. Éditez l'utilisateur et le groupe dans /etc/cups/cupsd.conf à partir de Utilisateur Personne / Groupe Nogroup à Racine utilisateur / racine du groupe

  3. Changement ACL sur / usr / lib / cups / backend / usb à 700 (chmod 700 / usr / lib / cups / backend / usb). Cela modifie le comportement des cups, qui essaient normalement d'exécuter le backend via un compte utilisateur autre que root. Cela oblige le serveur à s’exécuter en tant que racine des cups.
  4. Enfin, il devrait être possible d’ajouter des imprimantes via la page Web http: // host: 631 / admin ou manuellement. Le nom du périphérique USB ne peut pas être affiché via lpinfo, mais peut être répertorié en exécutant / usr / lib / cups / backend / usb en tant que racine.

Il y a un problème avec les autorisations sur les imprimantes USB qui ne peuvent être écrites par personne, c'est ce que CUPS attend. Une alternative consiste à créer un moteur de traitement qui exécute un script sudo qui trouver / proc / bus / usb -type f -exec chmod + rw ;. En fait, il y a un problème de permission entre USB / udev et CUPS qui empêche le fonctionnement des imprimantes USB. En outre, CUPS supprime le support ou rencontre de nombreux problèmes avec le support usblp.

Dans Attitude Adjustment, il vous suffit de changer ACL sur / usr / lib / cups / backend / usb à 700 (chmod 700 / usr / lib / cups / backend / usb). Cela modifie le comportement des cups, qui essaient normalement d'exécuter le backend via un compte utilisateur autre que root. Cela force le backend à fonctionner en tant que racine des gobelets, la raison en a été exposée ci-dessus.

Les imprimantes doivent être partagées

Pour pouvoir utiliser les imprimantes d’autres clients de votre réseau, vous devez les installer. partagé. Dans le web Interface graphique, lors de l'ajout d'une imprimante, vous devez cocher la case "Partagez cette imprimante".

Ajout de pilotes / PPD

Si vous avez un fichier de description d’imprimante PostScript (ppd) spécial pour votre imprimante, copiez-le dans / usr / share / cups / model / et redémarrer cupsd. Les tasses vont l'installer dans / etc / cups / ppd et vous pouvez le choisir via l'interface Web. (http://192.168.1.1:631). Vous pouvez également télécharger un fichier PPD via l'interface Web. Le truc ici est que sans Ghostscript, il est peu probable que la conversion de fichiers sur le routeur fonctionne.

Vous avez vraiment deux alternatives:

  1. utilisez l’imprimante avec une file d’attente et définissez les pilotes (PPD, par exemple) sur votre ordinateur / ordinateur portable. Dans ce cas, la conversion et la préparation du fichier se feront sur votre ordinateur / ordinateur portable (et non sur le routeur).

Astuce MacOS X

Configurez les paramètres étendus de votre imprimante. Si vous utilisez les paramètres d'impression standard et ajoutez une imprimante IPP, MacOS X sera ajouté après l'adresse du serveur / ipp. Mais cette classe, etc. n’existe pas sur votre cupsd.

Configuration client

Cette page contient de bonnes notes sur la configuration des clients pour Linux, Windows et Mac OSX:

configurez.les. clients.pour.l'impression.

Le point principal est que si vous avez ajouté des imprimantes et les avez marquées comme partagées, tous ces systèmes d'exploitation devraient pouvoir le trouver en tant qu'imprimante réseau.

Commencer au démarrage

Pour activer / désactiver le démarrage au démarrage:

/etc/init.d/cupsd enable (cela crée un lien symbolique: /etc/rc.d/S??cupsd → /etc/init.d/cupsd)

/etc/init.d/cupsd disable (cela supprime le lien symbolique).

Administration

Journal des messages

Vérifiez cupsd pour savoir ce qu’ils veulent dire.

Remarques

OpenWrt User messages sur l'installation de CUPS

docs / guide-user / services / print_server / cups.server.txt · Dernière modification le: 2019/05/04 14:49 par une autre fois

Commentaires

Laisser un commentaire

Votre commentaire sera révisé par les administrateurs si besoin.