当前位置: 首页 > 面试题库 >

在CUPS(主机)中创建原始打印机队列,并通过CUPS(客户端)添加它们

习华灿
2023-03-14
问题内容

我想让RasPi充当由三个Linux客户端组成的小型家庭网络中的小型打印和文件服务器。不幸的是,Brother只为x86提供二进制驱动程序,所以我不能在RasPi上运行Brother打印机。但是,我发现了一个博客条目,提议在RasPi的CUPS安装上创建一个原始队列,并使用客户端上安装的二进制驱动程序从客户端访问此队列。这是博客条目:http : //chemdroid.net/en/raspberry-
pi/36-raspberry-pi-as-print-server

不幸的是,作者没有详细描述如何在RasPi上创建原始队列以及如何从客户端访问原始队列,而是专注于描述在RasPi上安装非标准CUPS版本的方法。

我在这里找到了一个类似的问题:CUPS绕过接口但是,我不完全理解答案。答案中的“如何设置CUPS’原始’队列”部分是否引用主机(RasPi)?如果是这样,我必须指定什么插座/端口?打印机是通过USB连接的BrotherHL-2030。

从客户端访问打印机时,答案说出如何编辑“ lp”命令,但是我想通过CUPS使用共享打印机,那么如何在这里进行?

感谢您的输入!

光子


问题答案:

[…]如何在RasPi上创建原始队列

  1. 在Pi(或SSH / Putty会话)中,将您自己添加到lpadmin组中

sudo adduser $USER lpadmin

  1. 启用远程管理(或手动)

sudo cupsctl --remote-admin

  1. 循环CUPS以确保它喜欢您

sudo service cups restart - 要么 - sudo /etc/init.d/cups restart

  1. 导航到http:// localhost:631(如果没有键盘访问权限,http://<ip_address_of_pi>:631则从另一台计算机访问):

  2. 导航到管理,添加打印机

一个。当提示您登录时,请使用您的标准用户名和密码。

b。 注意: 如果密码无效sudo reboot,请重试。

  1. AppSocket / HP JetDirect,然后:

一个。 网络连接: socket://<ip_of_printer>:9100

b。 已连接USB: socket://<usb_handle>使用查找lpinfo -v |grep usb:,您不需要“?location =
1a200000”信息。假定首先安装了正确的驱动程序。请注意,如果您的设备驱动程序未提供用于ARM体系结构,请参阅本文。

  1. 品牌: Raw(非通用)

  2. 命名,共享,继续

  3. 返回http:// localhost:631 a的CUPS管理页面。通过以下方式启用打印机共享:

.[X] Share printers connected to this system

. [X] Allow printing from the internet

[…]如何从客户端访问它

平台之间的差异很大。

  1. 通用URL格式为: http://<ip_of_pi>:631/printers/<name_used_in_step_8_above>

一个。 Windows:
设备和打印机,添加打印机(“不添加设备”,在工具栏中),手动选择/未列出,具有手动设置的本地或网络打印机,创建新端口,标准TCP / IP端口

b。 MacOS: 启用,然后使用CUPS Web界面。GUI无法做到。您需要成为管理员组,并且知道您的用户ID(例如echo $USER

C。 Linux: 使用GUI或CUPS,网络打印机,AppSocket / HP JetDirect



 类似资料:
  • 我需要在服务器端区分本地和远程CUPS打印作业。我认为可以使用打印作业的原始主机,但我无法找到可靠获取其值的方法,最接近的是IPP作业属性之一“作业原始主机名”,但当我用“ipptool”检查从一个主机打印到另一个主机的暂停作业时,它是空的。“lpq”报告与“localhost”相同的作业,因此也没有多大帮助。 这是用于虚拟OS X打印机的自定义CUPS后端部分,但如果您知道如何获取此信息,这可能

  • 有没有一种方法可以让CUPS在尚未完成最后一个作业的情况下将作业排队到IPP打印机? 背景:我们有一台XEROX Workcenter打印机,它有自己的作业队列。每次有人想要打印时,他们都必须将作业假脱机,将他们的支付卡插入打印机,然后在打印机触摸板上选择他们的作业。但是,当在中央服务器上使用CUPS时,CUPS只在最后一个作业完成时后台处理下一个作业,因此只有第一个后台处理的人才能看到并支付他们

  • 我正在使用CUPS 1.6.3进行打印。打印机通过USB连接。问题是在尝试打印作业时打印失败。我能够在CUPS界面上看到“等待打印机可用”失败的原因。但我无法通过CUPS API获取原因字符串。然而,当打印机通过网络连接时,我可以使用cupsGetOption(“打印机状态原因”…)获取原因。有人请帮助我获得错误的原因,而通过USB连接。

  • CUPS 是由苹果公司 为macOS 和其他类似 UNIX 的操作系统开发的基于标准的开源打印系统。CUPS 使用互联网打印协议(IPP)来支持打印到本地和网络打印机。

  • 我正在尝试与CUPS打印服务器通信,该服务器的所有连接都设置了“需要加密”。这意味着,当您尝试建立到它的连接时,它会要求将连接升级到TLS加密的连接,而Cups4j和Jspi似乎都无法处理它。 有没有办法从Java应用程序(使用这些库或其他库)连接到这样的服务器?

  • CUPS-PDF 是Ubuntu下的PDF虚拟打印机,用过Windows下的PDFCreator的人,会发觉这两个东西差不多啦。 下面是安装及配置方法: sudo aptitude install cups-pdf 下载安装完成后,需到/usr/lib/cups/backend/目录下,将cups-pdf加上SUID权限 sudo chmodu scups-pdf 然后再在System->Admi