我有一个客户在多台服务器上运行 RHEL 6。政策禁止升级。政策还禁止将其连接到互联网。仅 LAN 用户可以访问。
所有输出均以纯文本文件形式生成,并打印到普印力行式打印机。设置这些打印机非常简单,因为它们是网络打印机,它们直接连接到 LAN 并支持 LPD。
(从记忆里:)
lpadmin -E -h 192.168.1.10 -m anywhere -p Printer1
lp -d Printer1 textfile.txt
现在,他想要打印到连接到他的 PC 的 HP P1102。
在他的电脑(运行 Windows 10)上,我启用了 LPD 支持,共享打印机并将其添加到服务器:
lpadmin -E -h 192.168.1.20\HP1102 -m anywhere -p HP1102
lp -d HP1102 textfile.txt
如果我在 PC 上打开打印机窗口,我会看到有一个作业从服务器传入,但随后从队列中消失,没有打印任何内容,打印机也不会预热。
接下来我尝试的是在通过 lpadmin 创建打印机时提供 PPD。但是,我找不到它的 PPD 文件。
我下载了 hplib,但尝试通过 rpm 安装时出现了许多依赖项错误。这种缺乏连通性是有问题的。
有人有这个型号的 PPD 吗?或者任何兼容的型号?正如我所说,所有输出都是文本;没有图形,没有字体,没有颜色。
答案1
行式打印机通常会按原样接受文本模式输入,因为它们直接打印单个字母。但激光打印机需要将所有内容转换为位图图像,以便激光将其转移到纸张上。
低端激光打印机(如 LaserJet P1102)可能没有硬件/固件设施将文本转换为一页文本的图像,而是依赖主机 PC 来完成此操作。 (这称为“基于主机的打印”或“Winprinter”。)
生成的位图甚至可能采用专有格式,只能由供应商驱动程序生成(除非成功进行逆向工程)。显然,Windows LPD 服务器无法做到这一点:该打印机的 Windows 打印机驱动程序可能只需要当前 Windows 版本内部使用的任何格式。
这openprinting.org 打印机数据库将此打印机的 Linux 支持级别标识为镇纸,表明在创建条目时没有适用于此打印机型号的开源打印解决方案。然而,惠普的该型号的规格页面表明 HP 似乎确实存在对 Linux 的支持。
因此,hplib
与其依赖关系可能是在 Linux 中支持此打印机的唯一方法。仅拥有 PPD 文件是不够的:CUPS PPD 文件将指定将位图图像或 PS/PDF 打印作业转换为打印机所需的格式所需的工具,但您还需要实际的工具...我想这将由hplib
它的依赖项提供。
为自己获取一张 RHEL 6.x 的 DVD 介质(如果客户策略允许,则为 6.10;如果不允许,则为适当的版本),或者只是一个 ISO 映像。您将能够轻松地安装它并将其用作 的本地包存储库yum
,请参阅此公共 RHEL 支持文档以获得指示。
简而言之:
将 DVD 或 ISO 映像安装到某个文件系统位置后,您将需要一个.repo
文件来指示其作为yum
.该文件的必要内容.repo
是:
[InstallMedia]
name=DVD for Red Hat Enterprise Linux
mediaid=<NNNNNNNNNN.NNNNNN>
metadata_expire=-1
gpgcheck=1
cost=500
enabled=1
baseurl=file://<full pathname of the mount point>
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-redhat-release
替换为您可以在DVD/映像根目录下的文件<NNNNNNNNNN.NNNNNN>
中找到的介质 ID ,以及DVD/映像安装点的完整路径名。然后将生成的文件放置为..discinfo
<full pathname of the mount point>
/etc/yum.repos.d/<name of your choice>.repo
media.repo
在某些 RHEL 版本上, DVD/映像的根目录中将有一个准备好的基本文件来简化此过程。您需要将最后 3 行添加到其中。
最后运行yum clean all
,现在您可以yum
像连接到 RHEL 存储库一样使用。您可能必须使用该--noplugins
选项来yum
避免与尝试联系 RedHat 网络服务器相关的延迟。