отправка необработанных данных через usb в linux

я печатаю некоторые этикетки на принтере Zebra TLP-2844 и отлично справляюсь с windows, отправляя инструкции EPL на общий USB-принтер следующим образом:

шильдике.prn > my-pczebra

и, похоже, работает с последовательными портами с

шильдике.prn > COM1

теперь я пытаюсь то же самое на linux, но это становится очень сложно! Моей первой догадкой было:--1-->

метки кота.prn//dev/bus/usb / 005 / 002

Так как мой принтер находится на шине 005, устройство 002 (проверил его с помощью команды lsusb), но он не работает вообще, так как я получаю плохой

bash:/dev/bus/usb/005 / 002: в разрешении отказано

какие-нибудь догадки?

4 ответов


команда, которую вы сделали

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

в случае, если кто-то еще пытается получить доступ к портам принтера raw USB; проблема "отказано в разрешении" обходится путем добавления пользователя в группу "lp", например:

$ sudo usermod -aG lp USERNAME

Где USERNAME-ваше имя пользователя.


извините за мой английский.

Я тестировал здесь, мой принтер tlp2844 подключается на USB, в моей встроенной плате arm9 с linux.

Я набрал в командной строке:

е "ОД\р\н\р\кd5\р\в NS2\Р\НЗТ\Р\nQ128, 24\р\nq400\Р\на15-й,10,0,2,1,1,Н\"ТЭСТ\"\Р\НП1\Р\бэ\р\н" > на /dev/lp0

и... the тест напечатано


  1. вы должны изменить режим доступа для устройства /dev/usb/lp0:sudo chmod a+w /dev/usb/lp0
  2. и затем вы можете распечатать метку с помощью команды copy:cp test.zpl /dev/usb/lp0

также вы можете создать свою собственную систему сборки в Sublime Text, например:

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

и отправить файлы на принтер, нажав клавиши Ctrl+B сразу после окончания редактирования метки.

или вы можете попробовать мой инструмент для отправки ярлыков zpl на принтер через ПРОТОКОЛ TCP/ИС: https://github.com/kashamalasha/AutoIt_ZebraTester

он был написан на языке сценариев AutoIt, поэтому вам нужно установить AutoIt для его создания. К сожалению, на английском нет описания, только на русском, но я могу написать его очень скоро, если понадобится.