如何为 Ubuntu Server 14.04 上安装的 cups 获取正确的“lpr”?

如何为 Ubuntu Server 14.04 上安装的 cups 获取正确的“lpr”?

更新

包装中的 lpr 似乎lpr不适用于杯子。问题是,如何安装cups版本lpr

老问题

ubuntu 10.04 上的 lpr 包含一个选项“-o”,可让您传递额外的选项。 14.04 上的 lpr 不包含此选项。

我们正在移动的应用程序依赖于 lpr 和设置某些选项的能力,以便正确打印页面。

命令是:

lpr -P PrinterName -o orientation-requested=3 -o position=top-left
-o media=Letter -o page-left=0 -o page-right=0 -o page-top=0
-o page-bottom=0 /path/to/file.pdf

在旧版本上工作正常,但在新服务器上失败:

usage: lpr [-cdfghlmnpqrstv] [-#num] [-1234 font] [-C class] [-i [numcols]]
[-J job] [-Pprinter] [-T title] [-U user] [-wnum] [name ...]

那么 -o 被删除了吗?如果 options 选项被删除,我们如何将选项传递给 lpr?

答案1

我刚刚检查了14.04系统,它看起来像你想要的cups-bsd


有几个命令可以帮助您找到哪些包包含哪些文件,定位apt 文件(可能还有其他人)。

您还可以使用Ubuntu 软件包搜索更容易使用并且输出更干净的设施。

Ubuntu 软件包搜索

那么下一页就有答案

答案


我真正要做的就是去问 google 如何搜索 Ubuntu 软件包,答案就揭晓了简单的

答案2

长话短说:

apt remove lpr
apt install cups-bsd

添加一些人们如何到达这里的背景信息:

让人好奇的是,我可以打印带有证据的 PDF,但 Okular 却什么也没做。在终端中启动 Okular,我不断看到:

usage: lpr [-cdfghlmnpqrstv] [-#num] [-1234 font] [-C class] [-i [numcols]]
        [-J job] [-Pprinter] [-T title] [-U user] [-wnum] [name ...]

在终端上执行每个打印作业。使用 strace 我看到:

[pid 22556] execve("/usr/bin/lpr", ["/usr/bin/lpr", "-P", "brother-color", "-#1", "-J",\
 "S500D_ADA_Health_History_2007-12415.pdf", "-o", "media=Letter", "-o", "portrait", "-o"\
, "sides=two-sided-long-edge", "-o", "outputorder=normal", "-o", "Collate=True", "-o", "\
page-left=12", "-o", "page-top=12", "-o", "page-right=12", "-o", "page-bottom=12", "-o",\
 "fit-to-page", "-o", "number-up=1", "-o", "number-up-layout=lrtb", "-o", "job-billing",\
 "-o", "job-priority=50", "-o", "job-sheets=none,none", "-o", "BRMonoColor=FullColor", "\
-r", "/tmp/okular_zNNHus.ps"], 0x7ffe5a2e69e0 /* 57 vars */ <unfinished ...>

然后努力最小化该命令,我发现删除 -o 选项会使命令不会出错,这就是我在这里的结果。为了将其推送到我们所有的台式机,我配置了 puppet,如下所示:

package { 'lpr'      : ensure=>absent    }
package { 'cups-bsd' : ensure=>installed }

我不太清楚我们是如何安装杯子的,但 lpr 是错误的。现已排序,对于任何其他应用程序没有发现任何差异。

相关内容