Serveur d'impression et de numérisation Raspberry Pi | Page 2 – Bien choisir son serveur d impression
Vous avez un RasPi de rechange? Pourquoi ne pas le brancher à votre tout-en-un et l'utiliser comme serveur d'impression et de numérisation pratique?
J'ai déjà essayé de faire fonctionner mon imprimante / scanner multifonction avec OpenWrt, mais j'ai rencontré des problèmes avec le scanner. Après l'avoir essayé avec le RasPi, je suis heureux d'annoncer que c'est aussi simple que Pi;)
La capacité du serveur d'impression est fournie par le Système d'impression Unix commun (CUPS), et la capacité du scanner est fournie par L'accès au scanner est désormais facile (SAIN).
Voici mon ninja RasPi se détendre discrètement sur le côté d'une bibliothèque:
Mon tout-en-un est un. Avant de commencer, c'est une bonne idée de vérifier que votre appareil dispose de pilotes pris en charge. Les périphériques HP sont généralement bien pris en charge par le package d'imagerie et d'impression HP Linux gratuit et open source (HPLIP), qui est dans le référentiel – vous pouvez vérifier les périphériques HP sur cette page pour en être sûr.
D'autres fabricants ont également pris en charge des périphériques, dont certains nécessiteront des pilotes propriétaires. Openprinting.org est un bon endroit pour vérifier le support Linux d'autres appareils.
Nous allons d'abord configurer le Pi comme serveur d'impression. Je suppose que vous faites cela "sans tête", c'est-à-dire sans moniteur utilisant SSH. Certaines étapes seraient plus faciles avec un moniteur, mais cette méthode fonctionnera malgré tout.
Sommaire
Configuration du serveur
Tout d'abord, installez les pilotes d'imprimante. Pour les imprimantes HP, le package hplip est dans le référentiel:
mise à jour sudo apt-get sudo apt-get install hplip
Et CUPS:
sudo apt-get install cups
Pour ajouter une imprimante, votre utilisateur doit être membre du groupe d'administration de l'impression Linux lpadmin
. Sur mes installations Raspbian précédentes, j'ai trouvé que c'était le cas par défaut, mais j'ai reconfiguré le serveur d'impression récemment et j'ai dû me rajouter au groupe. Je pense que cela peut être l'une des différences entre une installation NOOBS et une image Raspbian standard.
Vous pouvez vérifier à quels groupes votre nom d'utilisateur appartient en utilisant le groupes
commander:
pi @ serveur d'impression ~ $ groupes pi adm dialout cdrom sudo audio vidéo plugdev jeux utilisateurs netdev entrée spi gpio
Comme vous pouvez le voir, lpadmin n'est pas dans la liste, nous devons donc ajouter pi au groupe lpadmin avec cette commande:
sudo usermod -a -G lpadmin pi
Maintenant, redémarrez le pi:
redémarrage sudo
et vérifiez à nouveau:
pi @ serveur d'impression ~ $ groupes pi adm dialout cdrom sudo audio vidéo plugdev jeux utilisateurs netdev lpadmin entrée spi gpio
Bien! Connectez maintenant le câble de données de votre imprimante à l'un des ports USB du RasPi.
L'administration CUPS peut être effectuée via une interface Web, mais l'accès à distance (c'est-à-dire pas localhost) est désactivé par défaut. Pour activer l'administration à distance, nous devons d'abord modifier le fichier de configuration cups via SSH.
Le fichier de configuration CUPS est à /etc/cups/cupsd.conf. Le premier changement que nous devons apporter est d'autoriser les connexions à partir d'autres machines sur le réseau. Recherchez cette ligne:
Écouter localhost: 631
Changez-le en ceci:
Port 631
Ajoutez ces deux lignes:
BrowseRemoteProtocols CUPS dnssd BrowseAddress @LOCAL
Recherchez la déclaration d'emplacement racine du serveur et modifiez-la pour qu'elle corresponde à celle-ci afin d'activer l'impression partagée:
Ordonnance autoriser, refuser Autorise tout
Recherchez maintenant l'instruction / admin Location et modifiez-la pour qu'elle corresponde à celle-ci (c.-à-d. Commentez ou supprimez le Ordonnance autoriser, refuser
ligne à l'intérieur). Cela permettra d'accéder aux pages d'administration:
Recherchez le bloc de localisation / admin / conf et supprimez le Ordonnance autoriser, refuser
, ce qui permettra d'accéder aux fichiers de configuration.
Rechargez maintenant le démon CUPS pour effectuer les modifications:
sudo service cups recharger
Maintenant, allez dans un navigateur Web et tapez l'adresse IP ou le nom d'hôte de votre Pi, suivi de : 631 (port 631), par exemple https://192.168.1.151:631 ou https: // serveur d'impression: 631 Vous devriez voir une page qui ressemble à ceci:
Cliquez sur l'onglet administration et vous verrez une page comme celle-ci:
Cliquez sur "Ajouter une imprimante" en haut à gauche. Vous devez utiliser une connexion sécurisée (https) ici car CUPS vous demandera de vous authentifier avec un nom d'utilisateur et un mot de passe. Il s'agit du nom d'utilisateur et du mot de passe de votre système, par ex. nom d'utilisateur "pi" et mot de passe "framboise" par défaut.
REMARQUE: si vous obtenez une erreur interdite ici mais que la fenêtre contextuelle nom d'utilisateur / mot de passe ne réapparaît pas, cela signifie que vos informations d'identification ont été acceptées (vous êtes un utilisateur du système) mais vous n'avez pas la permission d'ajouter une imprimante. Revenez en arrière et lisez la partie sur l'ajout de votre utilisateur au lpadmin
groupe, redémarrez le pi et réessayez!
Si votre imprimante est connectée avec un câble de données, vous devriez le voir répertorié sur la page suivante. Sélectionnez-le et appuyez sur Continuer:
Remplissez quelques détails clés et appuyez sur Continuer. Assurez-vous de cocher "partager cette imprimante":
Sélectionnez maintenant votre modèle dans la liste des pilotes disponibles (ceux-ci sont fournis par des packages comme HPLIP). Si vous avez le choix, choisissez la version des tasses, puis cliquez sur ajouter une imprimante:
Enfin, définissez vos options d'impression par défaut:
Et vous avez terminé!
Configuration des machines clientes
Voici un exemple de configuration de l'imprimante sur KDE:
Installez les mêmes fichiers de pilote que vous avez utilisés précédemment. Pour les imprimantes HP:
mise à jour sudo apt-get sudo apt-get install hplip
Ensuite, accédez à Paramètres système -> Imprimantes
(ou recherchez "imprimantes"), puis sélectionnez Ajouter une imprimante
.
Votre ordinateur devrait détecter automatiquement l'imprimante partagée par le serveur d'impression sur le réseau. Cliquez sur Suivant et suivez les étapes pour ajouter l'imprimante – il vous sera demandé d'ajouter le pilote comme vous l'avez fait dans CUPS.
Lorsque vous avez terminé, cliquez sur Maintenance -> Imprimer la page de test
pour vérifier que tout fonctionne comme prévu.
Machines Windows
Je n'ai pas de machines Windows à la maison, je n'ai donc pas testé cela, mais si vous souhaitez vous connecter à l'imprimante partagée avec Windows, vous devez installer Samba comme décrit dans la documentation de la communauté Ubuntu.
La numérisation fonctionne également à distance, mais nécessite un peu plus de bricolage pour fonctionner.
Configuration du serveur
Pour commencer, reconnectez-vous au Pi avec SSH et installez SANE:
mise à jour sudo apt-get sudo apt-get install sane
SANE est livré avec quelques outils utiles pour vérifier la configuration. Tout d'abord, voyez si SANE peut trouver votre scanner:
sudo sane-find-scanner
Vous devriez obtenir une sortie comme celle-ci:
pi @ serveur-d'impression ~ $ sudo sane-find-scanner # sane-find-scanner va maintenant tenter de détecter votre scanner. Si la # le résultat est différent de ce que vous attendiez, assurez-vous d'abord que votre # le scanner est sous tension et correctement connecté à votre ordinateur. # Aucun analyseur SCSI trouvé. Si vous vous attendiez à quelque chose de différent, assurez-vous que # vous avez chargé un pilote SCSI du noyau pour votre adaptateur SCSI. # Vous avez également besoin de la prise en charge de SCSI Generic (sg) dans votre système d'exploitation. # Si vous utilisez Linux, essayez "modprobe sg". scanner USB trouvé (fournisseur = 0x03f0 [HP], produit = 0xa011 [Deskjet 3050A J611 series]) chez libusb: 001: 005 scanner USB trouvé (fournisseur = 0x0bda [Manufacturer Realtek ], produit = 0x8172 [RTL8191S WLAN Adapter ]) chez libusb: 001: 004 scanner USB trouvé (fournisseur = 0x0424, produit = 0xec00) sur libusb: 001: 003 # Votre scanner USB a été (probablement) détecté. Il peut ou non être pris en charge par # SANE. Essayez scanimage -L et lisez la page de manuel du backend. # Ne vérifie pas les scanners de ports parallèles. # La plupart des scanners connectés au port parallèle ou à d'autres ports propriétaires # ne peut pas être détecté par ce programme.
Si le programme renvoie des informations sur votre marque et votre modèle comme ci-dessus, vous êtes prêt à partir.
Ensuite, essayez ce qui suit:
sudo scanimage -L
Vous devriez obtenir une sortie comme celle-ci:
périphérique `hpaio: / usb / Deskjet_3050A_J611_series? serial = CN1C3438F005PJ 'est un tout-en-un Hewlett-Packard Deskjet_3050A_J611_series
Enfin, essayez de numériser quelque chose. Mettez quelque chose à l'intérieur du scanner, entrez cette commande:
scanimage> ~ / test-scan-file.pnm
Vous pouvez voir les détails du fichier à l'aide de cette commande:
fichier ~ / test-scan-file.pnm
Si vous souhaitez récupérer le fichier via SSH et l'inspecter sur votre ordinateur portable, vous pouvez utiliser la commande de copie sécurisée (exécutez-la à partir d'un terminal sur votre ordinateur portable):
scp pi @ serveur-d'impression: ~ / test-scan-file.pnm ~ / test-scan-file.pnm
(… où print-server est le nom d'hôte du serveur d'impression, Alternativement, vous pouvez utiliser l'adresse IP du Pi, par exemple 192.168.1.151).
Une fois le transfert terminé, vous pouvez ouvrir le fichier à partir de votre répertoire personnel avec un programme comme GIMP.
Maintenant que nous savons que le scanner fonctionne localement, nous pouvons configurer le démon sain. Ouvrez le fichier de configuration / etc / default / saned
et définissez cette option pour activer le démon / serveur sain:
RUN = oui
Ensuite, ouvrez le fichier /etc/sane.d/saned.conf
et ajoutez cette ligne, qui indique au serveur d'accepter les connexions de toutes les adresses IP dans la plage 192.168.1.1 à 192.168.1.255:
192.168.1.0/24
Ce qui précède suppose que l'adresse IP de votre routeur est 192.168.1.1 – si elle est 192.168.0.1, changez la ligne en 192.168.0.0/24
.
Décommentez également cette ligne:
data_portrange = 10000 - 10100
Nous devons également corriger les autorisations afin que le démon sain d'esprit puisse accéder au scanner sans root. Une partie de la sortie de sane-find-scanner
était la ligne suivante:
scanner USB trouvé (fournisseur = 0x03f0 [HP], produit = 0xa011 [Deskjet 3050A J611 series]) chez libusb: 001: 005
La section "à libusb: 001: 005" à la fin nous indique que le scanner est situé à / dev / bus / usb / 001/005
. Vérifions à qui appartient ce fichier:
pi @ serveur-d'impression ~ $ ls -l / dev / bus / usb / 001 total 0 crw-rw-r-T 1 racine racine 189, 0 juil 6 19:44 001 crw-rw-r-T 1 racine racine 189, 1er janvier 1970 002 crw-rw-r-T 1 racine racine 189, 2 janvier 1 1970 003 crw-rw-r-T 1 racine racine 189, 3 juil. 6 19:44 004 crw-rw-r-T 1 racine lp 189, 4 juil.6 19:49 005
Comme vous pouvez le voir, il appartient à root avec le groupe lp (impression linux). Nous devons ajouter le démon sain au groupe lp pour lui donner les autorisations nécessaires:
sudo adduser saned lp
Redémarrez maintenant le démon SANE pour que toutes les modifications prennent effet. Sur Debian Wheezy et avant, la commande est:
sudo service saned restart
Sur Jessie et versions ultérieures (c'est-à-dire les systèmes avec systemd), utilisez:
sudo systemctl start saned.socket
Et dites au service SANE de démarrer automatiquement au démarrage du Pi. Sur Wheezy:
sudo update-rc.d saned par défaut
Ou sur Jessie:
sudo systemctl enable saned.socket
Vérifiez maintenant que SANE fonctionne correctement:
sudo service saned status
Vous pouvez également vérifier que le port est disponible en externe en utilisant nmap pour scanner le port du Pi depuis votre ordinateur portable:
serveur d'impression nmap
(encore une fois, en supposant que print-server est le nom d'hôte de votre pi – vous pouvez également utiliser les adresses IP).
Vous devriez obtenir des résultats comme celui-ci:
Rapport de numérisation Nmap pour le serveur d'impression (192.168.1.151) L'hôte est en hausse (latence de 0,019 s). Enregistrement rDNS pour 192.168.1.151: print-server.lan Non illustré: 997 ports fermés SERVICE DE L'ÉTAT DU PORT 22 / TCP Open SSH 631 / TCP Open IPP 6566 / tcp port ouvert ouvert
Tout va bien: le Pi a des services liés au port 22 pour SSH, 631 pour l'impression / CUPS et 6566 pour la numérisation / SANE.
Configuration du client
Je vais utiliser à nouveau KDE comme exemple: installez xsane et skanlite sur la machine cliente:
mise à jour sudo apt-get sudo apt-get install xsane skanlite
Maintenant, nous devons modifier un fichier de configuration pour indiquer à votre ordinateur où chercher des services sensés. Éditer /etc/sane.d/net.conf
et décommentez cette ligne:
connect_timeout = 60
Et ajoutez l'adresse IP de votre serveur d'impression au fichier:
192.168.1.151
Exécutez maintenant cette commande. Vous devriez voir une fenêtre contextuelle qui dit "rechercher des appareils", puis l'interface graphique suivante apparaîtra avec une pléthore d'options:
xsane
Si vous souhaitez quelque chose de plus simple, essayez Skanlite:
C'est ça! J'espère que vous l'avez trouvé utile, faites-moi savoir comment vous vous en sortez 🙂
Commentaires
Laisser un commentaire