Line Printer Daemon

Den aktuella versionen av sidan har ännu inte granskats av erfarna bidragsgivare och kan skilja sig väsentligt från versionen som granskades den 14 juni 2015; kontroller kräver 5 redigeringar .
LPD
namn Line Printer Daemon Protocol
Nivå (enligt OSI-modellen ) Applicerad
Familj TCP/IP
Skapad i 1990
Port/ID 515/ TCP
Syftet med protokollet Nätverksutskrift
Specifikation RFC 1179
Huvudsakliga implementeringar (klienter) operativsystemskomponenter (nätverksskrivardrivrutiner)
Kärnimplementationer ( servrar ) LPRng , gemensamt UNIX-utskriftssystem

LPD (från den engelska  Line Printer Daemon  - en utskriftsdemon som implementerar protokollet med samma namn ( English Line  Printer Daemon Protocol - "protokoll för  linjeutskriftsdemonen") LPR- Detta protokoll är också känt som.  LPR / LPD  - ett nätverksprotokoll på applikationsnivå för överföring av dokument för utskrift, är en de facto standard för UNIX-system som ger grundläggande utskriftsmöjligheter Utanför Unix-världen stöds klientdelen av LPR av alla moderna operativsystem, serverdelen stöds av vissa skrivare, routrar och mikroservrar (inte i bulk).

Till skillnad från Windows-utskrift fungerar den inte med "skrivare", utan med "köer" - i det enklaste fallet identifieras kön med namnet på skrivarporten: till exempel kommer lpt2-kön att beteckna en skrivare som är ansluten till LPT2- porten på skrivarservern.

Historiskt sett har det funnits två utskriftssystem för utskrift på UNIX-system: LPD, utvecklat för Berkeley UNIX, och AT&T Line Printer-systemet. Dessa trycksystem skapades på 70-talet för att skriva ut texter på line-printing (linjära) skrivare. Med tanke på att utskriftshårdvaran har utvecklats avsevärt sedan dess, skulle man kunna anta att programvaran för utskriftshantering också har genomgått en betydande översyn. Detta skedde dock inte. Även om olika förbättrade utskriftssystem har skapats, såsom LPRng , har ingen av dessa nya utvecklingar förändrat de grundläggande funktionerna hos dessa system.

Hur LPD fungerar

På grund av det faktum att skrivare är relativt långsamma enheter använder utskriftssystemet bakgrundsutskrift med datacache för att eliminera förseningar i program. En datafil som ska skrivas ut till en skrivare placeras först i ett temporärt område (temporär katalog på disken) som kallas spoolområdet eller spoolkatalogen. En bakgrundsprocess, utskriftsdemonen, skannar regelbundet spoolområdet efter filer som ska skrivas ut. Varje skrivare som är ansluten till systemet har sin egen underkatalog i spoolområdet. Således är ett spoolområde en uppsättning köer med utskriftsjobb som väntar på det ögonblick då motsvarande skrivare blir ledig och utskriftsdemonen skickar det givna utskriftsjobbet (i bakgrunden ).

Grundläggande kommandon

En modern implementering av LPD/LPR är mjukvarupaketet LPRng . Varje program i LPRng-paketet tillhandahåller en separat funktion för utskriftsundersystemet:

En implementering av LPR ingår också i CUPS -paketet , men CUPS stöder även andra utskriftsprotokoll.

Protokoll

Protokollkommandon börjar med en funktionskod på en byte, omedelbart följt av namnet på utskriftskön som funktionen gäller. Om funktionen har ytterligare operander separeras de från könamnet med ett mellanslag, horisontell flik, vertikal flik eller sidmatning. Slutet på ett kommando indikeras med ett nyradstecken . En ny anslutning öppnas för att skicka varje kommando. Underkommandon och data skickas efter kommandot över samma anslutning. Servern kommer att bearbeta underkommandona tills anslutningen stängs.

Koden alternativ Data Svar Beskrivning
01 Sväng     Börja skriva ut alla väntande jobb
02 Sväng Underkommandon   Skaffa ett utskriftsjobb
+ 01     Ta bort alla filer som accepteras i detta kommando
02 Längd, namn Fil, 0x00 0x00 - framgångsrikt, annat - fel Skaffa kontrollfil
03 Längd, namn Hämta datafil
03 Kö, lista   Beskrivning av en kö som slutar med en frånkoppling Skicka köstatus (kort form)
04 Kö, lista   Skicka köstatus (lång form)
05 Kö, agent, lista     Ta bort utskriftsjobb

Följande parameterbeteckningar används i tabellen:

Kontrollfilen är en textfil , varje rad börjar med ett kommandotecken följt av dess operander. Strängen avslutas med ett nyradstecken.

Team alternativ Beskrivning
C klassnamn Separatorsidans klassnamn.
H En dator Namnet på den dator som kommer att anses vara källan till jobbet
jag Indrag Horisontell indragning för filer som skrivs ut med kommandot f
J Dokument namn Dokumentnamn som ska skrivas ut på avgränsningssidan
L Användare Skriv ut separationssida
M Användare Skicka ett e-postmeddelande efter att utskriften är klar
N Fil Namnet på källfilen från vilken datafilen skapades
P Användare Identifierar användaren som skapade jobbet
S enhetsnod Skriver en symbolmink för att förhindra att filen skrivs ut igen
T rubrik Titel som ska skrivas ut med kommandot p
U Fil Ta bort onödig datafil
W Bredd Arkbredd för kommandon f, l, sid
ett Font Filnamn för R font system troff (standard Times Roman)
2 Font Filnamn för typsnitt I system troff (standard Times Italic)
3 Font Filnamn för teckensnitt B system troff (standard Times Bold)
fyra Font Filnamn för troff-teckensnitt S (default special Mathematical Font)
c Fil Utdatafil till plotter , bearbetning som CIF-format
d Fil Skriv ut datafil, bearbetning som DVI -format
f Fil Skriv ut datafil som ASCII - text
g Fil Mata ut en datafil till en plotter, bearbetning som utdata från Berkeley Unix plot-bibliotek
l Fil Skriv ut datafil som text utan att ta bort några kontrolltecken
n Fil skriv ut datafil som ett resultat av ditroff
o Fil Skriv ut som en PostScript -fil
sid Fil Skriv ut en sidnumrerad datafil med sidnummer och rubriker
r Fil Skriv ut datafilen och behandla det första tecknet i varje rad som en kontroll i Fortran-stil
t Fil Skriv ut datafil som ett resultat av troff
v Fil Skriv ut filen i Sun bitmappsformat

Se även

Länkar