2010-08-19 38 views
5

tôi in một số nhãn trên một máy in Zebra TLP-2844, và được làm việc đó tốt trên các cửa sổ bằng cách gửi các hướng dẫn EPL tới máy in USB chia sẻ, như sau:gửi dữ liệu thô thông qua usb trên linux

loại Label.prn> \ my-pc \ ngựa vằn

và có vẻ như để làm việc với cổng nối tiếp đến với

loại Label.prn> COM1

Bây giờ tôi đang cố gắng để cùng trên Linux, nhưng nó nhận được thực sự khó khăn! Dự đoán đầu tiên của tôi là:

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

từ máy in của tôi là trên xe buýt 005, thiết bị 002 (kiểm tra nó với lệnh lsusb) nhưng nó không hoạt động ở tất cả, như tôi có được một xấu

bash:/dev/bus/usb/005/002: Permission denied

Bất kỳ dự đoán?

Trả lời

4

Lệnh bạn đã làm

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

sẽ cố gắng chạy /dev/bus/usb/005/002, mà không phải là thực thi, do đó "cho phép từ chối". Lệnh đúng sẽ là, tương tự như cửa sổ

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

Tuy nhiên, không chắc chắn nếu bạn thực sự có thể viết bất cứ điều gì với máy in như thế trong linux. Nếu máy in được thiết lập đúng cách, bạn cũng có thể thử:

lpr Label.prn 
+0

không hoạt động =/ tôi quên đề cập đến không có trình điều khiển có sẵn cho máy in trên linux, tôi đang cố gắng gửi nội dung này như "dữ liệu thô" để xem điều gì xảy ra! –

+0

Tôi nghĩ rằng bạn phải là # gốc để có thể làm điều đó. – karlphillip

+3

Giải quyết nó! Có vẻ như không thể gửi dữ liệu trực tiếp đến thiết bị, nhưng khi cài đặt máy in với trình điều khiển máy in văn bản chung CUPS và sử dụng lpr, nó hoạt động hoàn hảo! Cảm ơn rất nhiều! –

2

Trong trường hợp bất kỳ ai khác đang cố truy cập cổng máy in USB thô; Vấn đề "quyền bị từ chối" bị phá vỡ bằng cách thêm người dùng của bạn vào nhóm "lp", như vậy:

$ sudo usermod -aG lp USERNAME 

nơi USERNAME là tên người dùng của bạn.

2

Xin lỗi bằng tiếng Anh của tôi.

Tôi đã thử nghiệm ở đây, máy in của tôi TLP2844 kết nối trên USB, trong bo mạch arm9 được nhúng của tôi với linux.

tôi gõ vào dấu nhắc lệnh:

printf "OD \ r \ nN \ r \ nD5 \ r \ ns2 \ r \ NZT \ r \ nQ128, 24 \ r \ nq400 \ r \ nA15,10, 0,2,1,1, N, \ "TESTE \" \ r \ nP1 \ r \ nFE \ r \ n ">/dev/lp0

và ...các THI in

1
  1. Bạn nên thay đổi chế độ truy cập cho thiết bị/dev/usb/lp0: sudo chmod a+w /dev/usb/lp0
  2. Và sau đó bạn có thể in một nhãn sử dụng lệnh copy: cp test.zpl /dev/usb/lp0

Ngoài ra bạn có thể tạo xây dựng hệ thống của riêng bạn trong văn bản Sublime ví dụ:

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

và gửi các tập tin đến máy in bằng pressin g Ctrl + B ngay lập tức sau khi hoàn tất chỉnh sửa nhãn.

Hoặc bạn có thể thử công cụ của tôi để gửi nhãn ZPL tới máy in thông qua giao thức TCP/IP: https://github.com/kashamalasha/AutoIt_ZebraTester

Nó được viết trên ngôn ngữ AutoIt Script, vì vậy bạn cần phải cài đặt AutoIt để xây dựng nó. Thật không may là không có mô tả về tiếng Anh, chỉ có tiếng Nga, nhưng tôi có thể viết nó rất sớm, nếu bạn sẽ cần nó.

Các vấn đề liên quan