更新
包装中的 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 软件包搜索更容易使用并且输出更干净的设施。
那么下一页就有答案
我真正要做的就是去问 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 是错误的。现已排序,对于任何其他应用程序没有发现任何差异。