lp0 on fire (также известное как Printer on Fire ) — устаревшее сообщение об ошибке, генерируемое в некоторых операционных системах Unix и Unix-подобных компьютерах в ответ на определенные типы ошибок принтера . lp0 — это дескриптор устройства Unix для принтера первой линии , но ошибка может отображаться для любого принтера, подключенного к системе Unix или Linux . Это указывает на ошибку принтера, требующую дальнейшего изучения для диагностики, но не обязательно, что он горит.
В конце 1950-х годов высокоскоростная компьютерная печать все еще была в некоторой степени экспериментальной областью. Первым задокументированным принтером, вызывающим возгорание, был ксерографический принтер Stromberg-Carlson 5000 (похожий на современный лазерный принтер , но с ЭЛТ в качестве источника света вместо лазера), установленный около 1959 года в Национальной лаборатории Лоуренса в Ливерморе и модифицированный с помощью расширенной печи для термозакрепления, чтобы достичь скорости печати одной страницы в секунду. В случае остановки печати, а иногда и во время нормальной работы, печь для термозакрепления могла вызвать возгорание бумаги. Этот риск возгорания усугублялся тем фактом, что если принтер продолжал работать, он подбрасывал в огонь свежую бумагу на высокой скорости. Однако нет никаких свидетельств того, что сообщение «lp0 on fire» появлялось в каком-либо программном обеспечении того времени. [1]
По мере развития технологии большинство крупных установок принтеров были барабанными принтерами , типом ударного принтера , который мог печатать целую строку текста за один раз с помощью высокоскоростного вращающегося печатного барабана. Считалось [ кем? ] , что в случае сильного замятия трение бумаги о барабан может воспламенить либо саму бумагу, либо, в грязной машине, накопившуюся бумажную и чернильную пыль в механизме. Неизвестно, случалось ли это когда-либо; сообщений о возгораниях принтеров, связанных с трением, не поступало.
Линейный принтер использовал ряд кодов состояния, в частности, ready , online и check . Если статус online был установлен на "off" (выкл.), а статус check был установлен на "on" (вкл.), операционная система интерпретировала бы это как то, что в принтере заканчивается бумага. Однако, если код online был установлен на "on" (вкл.), а код check также был установлен на "on" (вкл.), это означало, что в принтере все еще есть бумага, но он испытывает ошибку (и все еще может пытаться работать). Из-за потенциально опасных условий, которые могли возникнуть в ранних линейных принтерах , UNIX отображал сообщение "on fire" (в огне), чтобы мотивировать любого системного оператора, просматривающего сообщение, немедленно пойти и проверить линейный принтер. [2]
В начале 1980-х годов Xerox создала прототип лазерного принтера и поставляла его различным компьютерным компаниям. Для закрепления тонера по тракту бумаги проходила раскаленная проволока. Если бумага застревала где-либо на пути, лист в термоэлементе загорался. Прототип драйвера UNIX сообщал о застревании бумаги как о «возгорании». Более поздние модели печатающего устройства использовали горячий барабан вместо проволоки.
Майкл К. Джонсон («mkj» из Red Hat и Fedora ) написал первую версию этого сообщения об ошибке для Linux в 1992 году. [3] [4] Однако он, Герберт Росманит и Алан Кокс (все разработчики Linux) признали, что эта фраза существовала в Unix в разных формах до его реализации принтера для Linux. [5] [6]
С тех пор код принтера lp распространился по всем видам операционных систем, совместимых с POSIX , в которых часто по-прежнему сохраняется это устаревшее сообщение.
Современные драйверы принтеров и поддержка улучшили и скрыли низкоуровневые сообщения об ошибках от пользователей, поэтому большинство пользователей Unix/Linux сегодня никогда не видели сообщения "on fire". Сообщение "on fire" остается в исходном коде Linux начиная с версии 6.0. [7]
Сообщение также присутствует в других программных модулях, часто с юмористическим эффектом. Например, в коде ЦП некоторых ядер тепловой сбой ЦП может привести к сообщению "CPU#0: Возможный тепловой сбой (ЦП горит ?)" [8] и похожий юмор можно найти во фразе " остановиться и загореться ".