Serveur d'impression
Solomoriah / RawPrintServer: serveur d'impression en mode brut (c'est-à-dire port 9100) pour Linux et Windows – Serveur d’impression
################################################# ########################### Serveur d'impression brut Copyright 2005 Chris Gonnerman Tous les droits sont réservés. BSD sous licence (voir le fichier LICENSE inclus pour plus de détails) ################################################# ########################### INTRODUCTION Ceci est mon implémentation d'un serveur d'impression "Raw". Il permet à un ordinateur prétendre être un serveur d'impression "API de socket" ou "AppSocket", c'est-à-dire un réseau imprimante connectée. En fait, ce programme peut desservir plusieurs imprimantes, chacun avec son propre port, simultanément. ################################################# ########################### CRÉDIT LORSQUE LE CRÉDIT EST DÛMENT DÉPARTEMENT Ce logiciel n'existerait pas sans l'excellent asyncore de Sam Rushing module, et il n'existerait pas sans l'excellente explication de Steve Holden ce module (dans son livre "Python Web Programming" de New Riders, un véritable livre remarquable que je ne saurais trop recommander) à partir duquel j'ai assez appris écrire ce serveur. Je suis également redevable à Guido van Rossum pour Python lui-même, ce qui a rendu ma vie tellement plus facile, et à Mark Hammond pour la les modules win32all qui sont des éléments essentiels de la version Windows du serveur d'imprimante. ################################################# ########################### NOTES DE VERSION Ceci est la version 0.1 du serveur d'impression brut. Il n'y a pas d'installation instructions pour parler de; Je prévois d'écrire un script d'installation pour aider à pour que le logiciel soit opérationnel, mais pour le moment, tout est manuel. Vous aurez besoin d’un système Python 2.x opérationnel pour exécuter le serveur d’impression lui-même. et si vous installez sur Windows, vous aurez besoin d'un ensemble de travail du win32all modules de Mark Hammond (que vous devriez vraiment avoir de toute façon). Pour exécuter le programme de propriétés de l'interface graphique, vous avez besoin d'un ensemble de modules PyGTK fonctionnel. et sous Windows, cela signifie également de trouver un runtime compatible GTK +. Trouver tout ce qui précède est laissé comme exercice pour le lecteur. soupir D'accord. Si vous utilisez un système Linux récent, ou l’un des membres de la famille BSD, vous devrait être en mesure d'installer tout ce qui précède à partir de votre installation d'origine multimédia, ou téléchargez-les du site Web approprié pour votre distribution. Si vous utilisez Windows, commencez par vous procurer une version récente de Python. www.python.org; suivez les liens de ce site vers les téléchargements de win32all (actuellement quelque part sur Sourceforge). Après cela, allez sur www.pygtk.org et suivez leurs liens vers les téléchargements dont vous avez besoin pour Windows. Notez que dès le cette fois (octobre 2005), les bibliothèques GTK normalement utilisées pour le logiciel Gimp ne fonctionne pas avec PyGTK (malgré les remarques du site PyGTK pour Windows qu’ils font), du moins, pas sur Win9x. Obtenez le runtime ou le développement bibliothèques référencées à partir du site PyGTK pour Windows. Si vous avez déjà Gimp installé, désinstallez les bibliothèques GTK + que vous aviez auparavant installer le runtime alternatif. Mon Gimp fonctionne toujours, donc ça doit aller, droite? N'OUBLIEZ PAS, comme il est dit dans la partie légale en haut, tout est à votre charge risque et je ne suis pas responsable si le logiciel fait du mal, ou tout simplement pas travailler du tout. J'ai fait tous les efforts pour le rendre bon, propre, fiable trucs, mais il n'y a AUCUNE GARANTIE ou GARANTIE. Tu m'as rien payé pour cela, comment pouvez-vous espérer que je vous donne quoi que ce soit si cela ne va pas? Une fois ces éléments installés, trouvez un dossier pour décompresser le logiciel. dans, et le faire. J'utilise C: Program Files RawPrintServer sous Windows, mais sur Linux, je ne sais pas où est le "bon" endroit pour le dire. Exécutez d’abord le script rpsprops.pyw. Il vous invite pour le répertoire de spool, nom du fichier journal (et chemin) et imprimante (s) à prendre en charge. Ces paramètres sont sauvegardés dans le fichier de configuration (/etc/rpsrv.conf sous Linux / Unix / BSD, C: WINDOWS SYSTEM32 rpsrv.conf sous Windows). Je recommande ce qui suit sous Windows: Répertoire de spool C: WINDOWS TEMP Fichier journal C: WINDOWS rps.log Pour Unixoids, utilisez ce que vous aimez. La place appropriée pour rps.log est probablement sous / var / log, et vous pouvez utiliser un dossier temporaire (/ tmp ou / var / tmp) ou créez un dossier sous / var / spool (probablement un meilleur endroit). Les définitions d'imprimante sont créées à l'aide du bouton Ajouter de l'interface graphique. Vous besoin de définir un numéro de port différent pour chaque imprimante; le standard" le port est 9100, mais j'ai vu 10000 et 10001 également beaucoup utilisés. L'imprimante nom sur Unixoids est le nom standard LPR ou CUPS. Pour Windows, vous pouvez déroulez une liste montrant les imprimantes "locales" actuellement définies pour sélectionner de. Notez que le bouton Quitter de l'interface graphique ne demande pas pour l'instant de sauvegarde. N'oubliez pas le bouton Enregistrer! Si vous n'avez pas ou ne voulez pas PyGTK sur votre système, vous pouvez facilement créer le fichier rpsrv.conf à la main; ça ressemble à ça (entre les lignes): ------------------------------------------ spooldir = / var / tmp fichier journal = /var/log/rps.log imprimante = 9100, lp imprimante = 9101, matrice de points ------------------------------------------ Notez que la directive "printer" peut apparaître plusieurs fois, à chaque fois définir une imprimante différente. Les lignes vides sont ignorées, de même que les lignes en commençant par le caractère #. L'interface graphique ne conserve pas les commentaires, donc Si vous créez le fichier à la main, puis le modifiez avec l'interface graphique, attendez-vous à ce que commentaire à disparaître. Pour démarrer le serveur sur un système Unixoid, exécutez simplement RawPrintServer.py. Il se démonise automatiquement. RawPrintServer.py n'a pas besoin d'être exécutez en tant que root (sauf si vous choisissez d’utiliser des numéros de port réservés), donc pour des raisons de sécurité, je vous recommande de l'exécuter en tant qu'utilisateur régulier, de préférence un créé juste pour le but. Ceci est également laissé comme un exercice pour le lecteur. Pour Windows NT / 2000/2003 / XP, utilisez RawPrintService.py. Exécutez-le à partir du ligne de commande comme ceci: démarrer RawPrintServer.py install "start" peut être nécessaire ou non, selon la version de Windows que vous utilisez. utilisent. Après cela, allez dans l'interface du panneau de configuration des services, puis vous trouverez le "serveur d'impression brut" dans la liste. Commencez-le, puis (si vous voulez) Faites un clic droit et choisissez "Propriétés" et faites le démarrage automatique. Actuellement, il n'y a pas de version à utiliser sur Win9x. Ceci est une chose mineure à créer (principalement simplement supprimer le démonisation des pièces Unixoid de RawPrintServer.py) mais je ne l’ai pas encore fait. ################################################# ########################### PLANS FUTURS Je prévois de créer un script d'installation pour configurer tout cela Plus facile. J’ai également l’intention d’ajouter une caractéristique de sécurité mineure au programme: un Adresse IP "stem" qui doit être vérifiée avant qu'une connexion ne soit autorisée. Par exemple, si la racine est "192.168.0.", Seuls les ordinateurs du groupe Le sous-réseau 192.168.0.XXX serait autorisé à utiliser l’imprimante. Ce n'est pas un gros traiter si vous avez un pare-feu NAT, mais sinon, il est probablement nécessaire. Aucune indication sur la provenance de vos travaux d'impression ... Je pourrais même le configurer pour accepter une liste de "tiges" de ce type ceux avec des réseaux plus compliqués. ################################################# ########################### Me contacter Si vous avez des questions, des commentaires ou (j'espère) des améliorations concernant mon Raw Print Server, n'hésitez pas à me contacter à l'adresse suivante: [email protected] ################################################# ###########################
Commentaires
Laisser un commentaire