我正在尝试将 Linux 程序移植到 Windows 7,该程序从 websocket 接收 lpr 命令并将该命令发送到本地乙烯基切割机。Windows lpr 实现不同,没有太多建议可供参考。
我已在 Windows 中启用 LPR 服务,并将乙烯基切割机安装为 LPR 打印机。它可以从 Illustrator 或其他程序中正常打印。但是,尝试对打印机执行 lpq 或 lpr 操作时,
C:\Users\M> lpq -S 127.0.0.1 -P vinyl
Windows LPD ServerError: specified printer does not exist
C:\Users\M> lpq -S <full computer hostname> -P vinyl
Windows LPD ServerError: specified printer does not exist
C:\Users\M> lpq -S google.com -P vinyl
*times out*
这个错误很难通过谷歌搜索找到帮助;因为我的打印机是本地的,这可能是权限问题吗?我对 Windows 了解不多。我尝试在 cygwin 中执行此操作,但 cygwin 似乎也想使用 Windows lpr 版本。
答案1
Windows 中的 LPD 服务器不喜欢环回地址,请尝试使用网络适配器上的实际 IP 地址。
答案2
大多数此类设备都有 Windows 驱动程序,您需要克服这些困难才能让它们在 Linux 中工作。我会首先尝试使用 Windows 驱动程序和软件,并将设备连接到 Windows 机器。让 Linux 机器共享 Windows 设备通常比反过来更容易。一种解决方法甚至可以是将其在两台机器上设置为本地打印机,然后在机器之间移动电缆。
是否可以将该设备设置为直接连接到路由器的网络设备(更简单的设置)?
如果设备需要连接到 Linux 计算机是有原因的,那么您可能正在考虑权限问题。请验证设备是否设置为公开共享(任何用户)。
另一个想法:有多种方法可以寻址联网打印机。尝试指定它的其他方法之一(ipp、http、AppSocket 等)。如果您有另一台 Linux 计算机,一种简单的方法是让它找到打印机,然后复制 URI。