2010-08-19 13 views
5

estoy imprimiendo algunas etiquetas en una impresora Zebra TLP-2844, y ha de hacerlo bien en Windows mediante el envío de las instrucciones del EPL a la impresora USB compartida, de la siguiente manera:el envío de datos en bruto a través de USB en Linux

tipo Label.prn> \ mi-pc \ cebra

y parece que funciona con puertos serie a la

tipo Label.prn> COM1

¡Ahora intento lo mismo en Linux, pero se está poniendo realmente difícil! Mi primera suposición fue:

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

desde mi impresora se encuentra en el bus 005, el dispositivo 002 (comprobado con el comando lsusb) pero no funciona en absoluto, ya que consigo un mal

bash:/dev/bus/usb/005/002: permiso denegado

Alguna idea?

Respuesta

4

El comando que hizo

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

tratará de ejecutar /dev/bus/usb/005/002, que no es ejecutable, por lo tanto, "permiso denegado". El comando correcto sería, de forma similar a las ventanas

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

Sin embargo, no estoy seguro si en realidad se puede escribir cualquier cosa a una impresora como la de Linux. Si la impresora está configurada correctamente, también se podría tratar:

lpr Label.prn 
+0

no funcionó =/ me olvidé de mencionar que no hay controladores disponibles para la impresora en Linux, estoy tratando de enviar esto como "datos sin procesar" para ver qué pasa! –

+0

Creo que debe ser # root para poder hacer eso. – karlphillip

+3

¡Lo resolvió! Parece imposible enviar los datos directamente al dispositivo, pero cuando configura la impresora con el controlador de impresora de texto genérico CUPS y utiliza lpr, ¡funciona perfectamente! ¡Muchas gracias! –

2

En caso de que alguien más está tratando de acceder a los puertos de impresora USB primas; El "permiso denegado" problema se elude mediante la adición de su usuario al grupo "lp", así:

$ sudo usermod -aG lp USERNAME 

donde usuario es su nombre de usuario.

2

Lo siento por mi inglés.

Probé aquí, mi impresora TLP2844 se conecta en USB, en mi placa embedded arm9 con linux.

Tecleé símbolo del sistema:

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

y ...la PRUEBA impreso

1
  1. Debe cambiar el modo de acceso para el dispositivo/dev/usb/lp0: sudo chmod a+w /dev/usb/lp0
  2. Y entonces usted puede imprimir una etiqueta con el comando de copia: cp test.zpl /dev/usb/lp0

También usted puede cree su propio sistema de compilación en Sublime Text por ejemplo:

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

y envíe archivos a la impresora presionando g Teclas Ctrl + B inmediatamente después de terminar de editar la etiqueta.

O puede probar mi herramienta para enviar etiquetas ZPL a la impresora a través de TCP/IP: https://github.com/kashamalasha/AutoIt_ZebraTester

Fue escrito en el lenguaje de secuencias de comandos AutoIt, por lo que necesita para instalar AutoIt para construirlo. Desafortunadamente no hay una descripción en inglés, solo en ruso, pero puedo escribirlo muy pronto, si lo necesitas.

Cuestiones relacionadas