En Linux, cuando en la impresora se atasca el papel (o, simplemente, alguien la apaga antes de tiempo), en la consola aparece el mensaje “lp0 on fire”. Este mensaje ha asustado y divertido a generaciones (?) de Linuxeros, pero pocos conocen su origen. Yo se lo desvelaré. No me lo agradezcan; es mi trabajo.
Por supuesto, este mensaje procede de versiones de UNIX antiquísimas. En la época en la que apareció, los ordenadores ocupaban habitaciones enteras, los programas se metían en tarjetas perforadas y… bueno, no. Teletipos ya había; de hecho, creo que usaban monitores de rayos catódicos.
E impresoras, claro. Las impresoras que tenían en ese tipo de antros eran bichos bastante grandes, que armaban mucho ruido pero imprimían a toda velocidad. Eran impresoras de líneas (“line printers”, de ahí viene el acrónimo “lp”), que era el no va más de la tecnología en aquellos momentos.
Las impresoras de líneas se llaman así porque, en lugar de imprimir carácter a carácter (como las de margarita, matriciales o de inyección) o página a página (como las láser), imprimían línea a línea. En concreto, el modelo que usaban en el laboratorio donde inventaron el mensaje “lp0 on fire” tenía un martillito en cada posición de la línea donde se podía imprimir un carácter. Había también una cinta metálica con los caracteres troquelados, que corría a toda velocidad por delante de esos martillitos; cuando en una posición determinada había que imprimir una “B”, por ejemplo, el martillo se accionaba justo en el momento en el que la “B” pasaba por delante de éste, y el troquel de la cinta metálica marcaba el papel (creo que se entintaba la propia cinta metálica).
Bien; el caso es que esto no siempre funcionaba bien. O sea: cuando funcionaba bien, era una maravilla, e imprimía líneas que daba gusto verla. Sin embargo, a veces la cinta metálica quedaba un poco retorcida, o un martillo se atascaba, o algo, y la cinta metálica empezaba a rozar con el papel. Como la cinta metálica iba a toda velocidad, el papel pronto se calentaba con la fricción, y enseguida empezaba a arder. Entonces se activaba un sensor térmico, la impresora se detenía, y mandaba una señal de error al ordenador. Salía un mensaje “error en la impresora” en la consola del técnico, éste se levantaba y usaba su extintor.
Por lo visto, el incidente era tan habitual que pronto modificaron su UNIX
para que el mensaje de “error en la impresora lp0” fuera “lp0 on fire” (lp0
ardiendo). Como sólo había una señal de error entre la impresora y el
ordenador, cada vez que ocurría un error en la impresora, salía el mensaje.
Este mensaje se fue “heredando” en sistemas cada vez más recientes, y así
hasta hoy. Si tienen el código fuente de Linux, en el fichero
linux/drivers/char/lp.c
lo tienen. No me lo agradezcan; es mi trabajo.