8

我正在 Zebra TLP-2844 打印机上打印一些标签,并且通过将 EPL 指令发送到共享 USB 打印机,在 Windows 上做得很好,如下所示:

键入 Label.prn > \my-pc\zebra

它似乎也可以与串行端口一起使用

键入 Label.prn > COM1

现在我正在尝试在 Linux 上做同样的事情,但它变得非常困难!我的第一个猜测是:

猫标签.prn | /dev/bus/usb/005/002

因为我的打印机在总线 005 上,设备 002(用lsusb命令检查它)但它根本不起作用,因为我得到以下信息:

bash:/dev/bus/usb/005/002:权限被拒绝

有什么猜测吗?

4

4 回答 4

5

你做的命令

cat Label.prn | /dev/bus/usb/005/002

将尝试运行/dev/bus/usb/005/002,这是不可执行的,因此“权限被拒绝”。正确的命令是,类似于 windows

cat Label.prn > /dev/bus/usb/005/002

但是,不确定您是否真的可以像在 linux 中那样向打印机写入任何内容。如果打印机设置正确,您还可以尝试:

lpr Label.prn
于 2010-08-19T22:09:53.963 回答
4

如果其他人试图访问原始 USB 打印机端口;通过将您的用户添加到组“lp”来规避“权限被拒绝”问题,如下所示:

$ sudo usermod -aG lp USERNAME

其中 USERNAME 是您的用户名。

于 2013-09-23T07:22:52.900 回答
3

对不起,我的英语。

我在这里进行了测试,我的打印机 TLP2844 通过 USB 连接,在我的嵌入式 arm9 板上使用 linux。

我在命令提示符下输入:

printf "OD\r\nN\r\nD5\r\nS2\r\nZT\r\nQ128, 24\r\nq400\r\nA15,10,0,2,1,1,N,\"测试\ "\r\nP1\r\nFE\r\n" > /dev/lp0

和......打印的测试

于 2013-10-11T00:34:39.527 回答
3
  1. 您应该更改 /dev/usb/lp0 设备的访问模式:sudo chmod a+w /dev/usb/lp0
  2. 然后您可以使用复制命令打印标签:cp test.zpl /dev/usb/lp0

您还可以在 Sublime Text 中创建自己的构建系统,例如:

{
    "cmd": ["cp", "$file", "/dev/usb/lp0"],
    "encoding": "utf8"
}

并在完成标签编辑后立即按 Ctrl+B 键将文件发送到打印机。

或者您可以尝试我的工具通过 TCP/IP 将 zpl 标签发送到打印机: https ://github.com/kashamalasha/AutoIt_ZebraTester

它是用 AutoIt 脚本语言编写的,因此您需要安装 AutoIt 来构建它。不幸的是,没有英文描述,只有俄文,但如果你需要的话,我可以很快写出来。

于 2016-12-13T22:28:28.257 回答