将信息放在纸上是一项重要的功能,尽管有许多人试图淘汰它。打印由两个基本组成部分:数据必须被传递给打印机,而且必须以打印机能够理解的形式出现。

11.1.快速入门

基本的打印功能可以快速完成设置。打印机必须能够打印纯 ASCII 文本。关于打印其他类型的文件,请参见过滤器

  1. 创建一个目录,在打印文件时转存文件:

# mkdir -p /var/spool/lpd/lp
# chown daemon:daemon /var/spool/lpd/lp
# chmod 770 /var/spool/lpd/lp
  1. root 权限用这些内容创建 /etc/printcap

lp:\
lp=/dev/unlpt0:\  ①
sh:\
mx#0:\
sd=/var/spool/lpd/lp:\
lf=/var/log/lpd-errs:

① 这一行用于连接到 USB 端口的打印机。

对于连接到并行或“打印机”端口的打印机,使用:

:lp=/dev/lpt0:\

对于直接连接到网络的打印机,请使用:

:lp=:rm=network-printer-name:rp=raw:\

用网络打印机的 DNS 主机名代替 network-printer-name

  1. 通过编辑 /etc/rc.conf,添加这一行来启用 LPD:

lpd_enable="YES"

启动服务:

# service lpd start
Starting lpd.
  1. 测试打印:

# printf "1. This printer can print.\n2. This is the second line.\n" | lpr

技巧

如果两行文本都不从左边界开始,而是呈现“阶梯状”,请看防止纯文本打印机的阶梯状打印

现在可以用 lpr 打印文本文件了。在命令行中给出文件名,或者直接用管道输出到 lpr 中。

% lpr textfile.txt
% ls -lh | lpr