从命令行打印
如何将命令行输出直接打印到打印机。
我正在使用ubuntu服务器12.04,我必须将文件复制到共享目录,然后从桌面ubuntu发行版下载它们以打印它们。
任何帮助表示赞赏
主要有两个默认命令:
lpr
和lp
man lpr
给出输出:
lpr提交要打印的文件。 在命令行上命名的文件将发送到指定的打印机(如果未指定目标,则发送到默认目标)。 如果命令行中未列出任何文件,则lpr将从标准输入中读取打印文件。
man lp
给出输出:
lp提交文件以进行打印或更改待处理作业。 使用文件名“ – ”强制从标准输入打印。
所以很容易使用命令:
lp /path-to-file-to-print
要么
lpr /path-to-file-to-print
你可以使用lp
例如:
man firefox | lp -d printername
这会将手册页从firefox打印到指定的打印机
如果你安装了它们,另外一对值得了解的选择
- ENSCRIPT
和
- a2ps的
这些对于提供带标题和可选行号的带编号页面非常有用。 您也可以使用它来打印小册子样式(例如,每张纸的两面都有两页)
我使用这些支持Postscript的打印机,但我相信Ubuntu的打印系统可以为任何支持的打印机光栅化PS。
要在使用中打印.txt文件:
command | lpr -P printername -p ( periority from 1 to 100 )
示例:
ls -l | lpr -P printername -p 1
您可能想要了解如何首先访问打印机 – lpstat
将为您提供该信息。 如果比较两个系统的输出,您可以判断是否已在这两个系统上配置了相关的打印机。 lpstat -p -d
列出所有打印机的状态,并告诉lpstat -p -d
打印机已设置为默认打印机。
您可以简单地将输出传递给lp
或lpr
命令。 您可能希望插入一个用于漂亮打印或分页的filter。 在debian手册“突出显示和格式化纯文本数据”中有一个很好的工具摘要,但我通常只是在通过a2ps
发送所有内容之前使用sed
突出显示提示和其他内容
您可以使用lp
命令。
要将命令的输出打印到默认打印机(使用lpstat -d
查看默认打印机是什么):
echo "test" | lp
要打印到特定的打印机(使用lpstat -p | awk '{print $2}'
列出可用的打印机名称):
echo "test" | lp -d printername
要打印文件,而不是命令输出:
lp /path/to/file
问题是如何从服务器上的命令行打印,听起来你还没有在该系统上定义任何打印机。 我没有系统可以检查,所以以下是近似值,但它们应该给你一般的想法:
- 确保CUPS系统已安装并正在运行。 它提供了可以处理打印作业的守护进程。
- 一旦启动,您需要设置一个或多个网络打印机进行打印。 安装打印机的常用方法是使用Printer Admin实用程序,但显然您没有设置为从服务器运行任何GUI程序 – 只需通过ssh进行命令行访问。 由于您已在同一网络上安装了Ubuntu桌面系统,因此我尝试将目录
/etc/cups
从桌面盒复制到服务器。 它应包含您需要的所有打印机定义和驱动程序。 检查文件是否有任何必要的调整(如果你的设置提到两个系统之间不同的用户ID或密码),重启cupsd
,如果你很幸运,你将能够使用lpr
打印。
PS。 在紧要关头,您可以安装足够的X实用程序,通过远程X连接到桌面Ubuntu框运行Print Admin GUI实用程序(使用ssh -X
登录),并定义所需的打印机。 但希望这不是必要的。