отправка необработанных данных через USB на Linux - PullRequest
7 голосов
/ 20 августа 2010

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

Тип Label.prn> \ my-pc \ zebra

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

типа Label.prn> COM1

Сейчас я пытаюсь сделать то же самое в Linux, но это становится действительно сложно!Моим первым предположением было:

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

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

bash: / dev / bus / usb / 005/002: В доступе отказано

Есть предположения?

Ответы [ 4 ]

5 голосов
/ 20 августа 2010

Команда, которую вы выполнили

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
2 голосов
/ 14 декабря 2016
  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 сразу после окончания редактирования этикетки.

Или вы можете попробовать мой инструмент для отправки этикеток zpl на принтер через TCP / IP: https://github.com/kashamalasha/AutoIt_ZebraTester

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

2 голосов
/ 11 октября 2013

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

Я тестировал здесь, мой принтер 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

и ... ТЕСТ напечатано

2 голосов
/ 23 сентября 2013

В случае, если кто-то еще пытается получить доступ к необработанным портам принтера USB; Проблема «отказано в разрешении» обойдется путем добавления вашего пользователя в группу «lp», например:

$ sudo usermod -aG lp USERNAME

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

...