web-dev-qa-db-fra.com

Imprimer depuis la ligne de commande

Comment puis-je imprimer le résultat de la ligne de commande directement sur l'imprimante.

J'utilise le serveur Ubuntu 12.04 et je dois copier les fichiers dans un répertoire partagé, puis les télécharger depuis une distribution ubuntu sur le bureau pour les imprimer.

Toute aide est appréciée

28
kamil

Il y a principalement deux commandes par défaut:

lpr et lp

man lpr donne la sortie:

lpr soumet les fichiers pour impression. Les fichiers nommés sur la ligne de commande sont envoyés à l'imprimante nommée (ou à la destination par défaut si aucune destination n'est spécifiée). Si aucun fichier n'est répertorié sur la ligne de commande, lpr lit le fichier d'impression à partir de l'entrée standard.

man lp donne la sortie:

lp soumet des fichiers pour impression ou modifie un travail en attente. Utilisez un nom de fichier de "-" pour forcer l’impression à partir de l’entrée standard.

si facilement utiliser la commande:

lp /path-to-file-to-print

Ou

lpr /path-to-file-to-print
34
Maythux

Vous pouvez utiliser lp

Par exemple:

man firefox | lp -d printername

Ceci imprimera la page de manuel de firefox sur l’imprimante spécifiée.

15
Noosrep

Si vous les avez installés, une autre paire d’options intéressantes à savoir est

et

Celles-ci sont utiles pour fournir aux pages numérotées des en-têtes et des numéros de ligne facultatifs. Vous pouvez également utiliser ensuite pour imprimer le style de livret (par exemple, deux pages de chaque côté d'une feuille).

Je les utilise avec des imprimantes compatibles PostScript, mais je crois que le système d’impression d’Ubuntu est capable de pixelliser les PS pour toutes les imprimantes prises en charge.

4
RedGrittyBrick

Vous voudrez peut-être savoir comment l’accès à l’imprimante est effectué en premier - lpstat vous donnera ces informations. Si vous comparez la sortie sur les deux systèmes, vous pourrez probablement savoir si l’imprimante en question a été configurée sur les deux. lpstat -p -d liste toutes les imprimantes avec leur statut et indique celle qui a été définie comme imprimante par défaut.

Vous pouvez simplement diriger votre sortie vers la commande lp ou lpr. Vous voudrez peut-être insérer un filtre pour une jolie impression ou une pagination. Il existe un bon résumé des outils sur Manuel Debian "Mettre en surbrillance et formater des données en texte brut" , mais j'utilise généralement juste sed pour mettre en surbrillance les invites et autres commandes avant de tout envoyer par a2ps

3
Tatjana Heuser

Pour imprimer un fichier .txt lors d’une utilisation:

command | lpr -P printername -p ( periority from 1 to 100 )

Exemple :

ls -l | lpr -P printername -p 1 
2
nux

Vous pouvez utiliser la commande lp.

Pour imprimer le résultat d'une commande sur l'imprimante par défaut (utilisez lpstat -d pour voir ce qu'est l'imprimante par défaut):

echo "test" | lp

Pour imprimer sur une imprimante spécifique (utilisez lpstat -p | awk '{print $2}' pour répertorier les noms d'imprimante disponibles):

echo "test" | lp -d printername

Pour imprimer un fichier plutôt qu'une sortie de commande:

lp /path/to/file
1
waldyrious

La question est de savoir comment imprimer à partir de la ligne de commande sur un serveur, et il semble que vous n’ayez pas encore d’imprimantes définies sur ce système. Je n'ai pas de système à vérifier, les points suivants sont approximatifs, mais ils devraient vous donner une idée générale:

  1. Assurez-vous que le système CUPS est installé et fonctionne. Il fournit les démons qui géreront vos travaux d'impression.
  2. Une fois cette opération terminée, vous devez configurer une ou plusieurs imprimantes réseau sur lesquelles imprimer. Le moyen habituel d'installer des imprimantes est d'utiliser l'utilitaire Printer Admin , mais vous n'êtes évidemment pas configuré pour exécuter des programmes d'interface graphique à partir de votre serveur - uniquement accès en ligne de commande via ssh. Puisque vous avez déjà un système de bureau Ubuntu sur le même réseau, je voudrais essayer de copier le contenu du répertoire /etc/cups de la zone de bureau sur le serveur. Il devrait contenir toutes les définitions d'imprimante et les pilotes dont vous avez besoin. Vérifiez les fichiers pour les ajustements nécessaires (si votre configuration mentionne des identifiants d'utilisateur ou des mots de passe différents entre les deux systèmes), redémarrez cupsd et, si vous êtes chanceux, vous pourrez utiliser lpr pour imprimer à partir de la ligne de commande.

PS En un rien de temps, vous pourriez installer suffisamment d’utilitaires X pour exécuter l’utilitaire GUI Print Admin via une connexion X distante à votre ordinateur de bureau Ubuntu (connectez-vous avec ssh -X ) et définissez les imprimantes dont vous avez besoin. Mais j'espère que cela ne sera pas nécessaire.

1
alexis