Line Printer Daemon

Versiunea actuală a paginii nu a fost încă revizuită de colaboratori experimentați și poate diferi semnificativ de versiunea revizuită la 14 iunie 2015; verificările necesită 5 modificări .
LPD
Nume Protocolul Line Printer Daemon
Nivel (conform modelului OSI ) Aplicat
Familie TCP/IP
Creat în 1990
Port/ID 515/ TCP
Scopul protocolului Imprimare în rețea
Specificație RFC 1179
Principalele implementări (clienți) componente ale sistemului de operare (drivere de imprimare de rețea)
Implementări de bază ( servere ) LPRng , sistem comun de imprimare UNIX

LPD (din engleză  Line Printer Daemon  - un demon de imprimare care implementează protocolul cu același nume ( English Line  Printer Daemon Protocol - "protocol of the  line printing daemon") LPR Acest protocol este cunoscut și sub numele.  . / LPD  - un protocol de rețea la nivel de aplicație pentru transferul documentelor pentru imprimare, este un standard de facto pentru sistemele UNIX care oferă capabilități de imprimare de bază. În afara lumii Unix, partea client a LPR este susținută de toate sistemele de operare moderne, partea de server este acceptat de unele imprimante, routere și microservere (nu în vrac).

Spre deosebire de imprimarea Windows, nu funcționează cu „imprimante”, ci cu „cozi” - în cel mai simplu caz, coada este identificată cu numele portului imprimantei: de exemplu, coada lpt2 va desemna o imprimantă conectată la portul LPT2 pe serverul de imprimare.

Din punct de vedere istoric, au existat două sisteme de imprimare pentru imprimarea pe sisteme UNIX: LPD, dezvoltat pentru Berkeley UNIX și sistemul AT&T Line Printer. Aceste sisteme de imprimare au fost create în anii 70 pentru tipărirea textelor pe imprimante de tipărire în linie (liniare). Având în vedere că hardware-ul de imprimare a evoluat semnificativ de atunci, s-ar presupune că și software-ul de management al imprimării a suferit o revizuire semnificativă. Cu toate acestea, acest lucru nu s-a întâmplat. Deși au fost create diverse sisteme de imprimare îmbunătățite, cum ar fi LPRng , niciuna dintre aceste noi dezvoltări nu a schimbat capacitățile fundamentale ale acestor sisteme.

Cum funcționează LPD

Datorită faptului că imprimantele sunt dispozitive relativ lente, sistemul de imprimare utilizează imprimarea în fundal cu memorarea în cache a datelor pentru a elimina întârzierile în programe. Un fișier de date care urmează să fie tipărit pe o imprimantă este mai întâi plasat într-o zonă temporară (director temporar pe disc) numită zonă spool sau director spool. Un proces de fundal, demonul de imprimare, scanează periodic zona spool pentru fișiere care urmează să fie tipărite. Fiecare imprimantă conectată la sistem are propriul său subdirector în zona de spooling. Astfel, o zonă de spooling este un set de cozi de lucrări de imprimare care așteaptă momentul în care imprimanta corespunzătoare devine liberă și demonul de imprimare trimite lucrarea de imprimare dată (în fundal ).

Comenzi de bază

O implementare modernă a LPD/LPR este pachetul software LPRng . Fiecare program al pachetului LPRng oferă o funcție separată a subsistemului de imprimare:

O implementare a LPR este, de asemenea, inclusă în pachetul CUPS , dar CUPS acceptă și alte protocoale de imprimare.

Protocol

Comenzile de protocol încep cu un cod de funcție de un octet, urmat imediat de numele cozii de imprimare la care se aplică funcția. Dacă funcția are operanzi suplimentari, aceștia sunt separați de numele cozii printr-un caracter spațiu, filă orizontală, filă verticală sau flux de pagină. Sfârșitul unei comenzi este indicat de un caracter de linie nouă . Se deschide o nouă conexiune pentru a trimite fiecare comandă. Subcomenzile și datele sunt transmise după comandă prin aceeași conexiune. Serverul va procesa subcomenzile până când conexiunea este închisă.

Codul Opțiuni Date Răspuns Descriere
01 Întoarce-te     Începeți să imprimați orice lucrare în așteptare
02 Întoarce-te Subcomenzi   Obțineți o lucrare de imprimare
+ 01     Ștergeți toate fișierele acceptate în această comandă
02 Lungime, Nume Fișier, 0x00 0x00 - succes, alt - eroare Obțineți fișierul de control
03 Lungime, Nume Obțineți fișierul de date
03 Coadă, listă   Descrierea unei cozi care se termină cu o deconectare Starea cozii de trimitere (formular scurt)
04 Coadă, listă   Starea cozii de trimitere (formular lung)
05 Coadă, agent, listă     Ștergeți lucrarea de imprimare

În tabel sunt utilizate următoarele denumiri de parametri:

Fișierul de control este un fișier text , fiecare linie începe cu un caracter de comandă urmat de operanzii săi. Șirul se termină cu un caracter newline.

Echipă Opțiuni Descriere
C numele clasei Numele clasei paginii de separare.
H Un calculator Numele computerului care va fi considerat sursa jobului
eu indentare Indentare orizontală pentru fișierele tipărite cu comanda f
J numele documentului Numele documentului care urmează să fie tipărit pe pagina de separare
L Utilizator Imprimați pagina de separare
M Utilizator Trimiteți un e-mail după terminarea tipăririi
N Fişier Numele fișierului sursă din care a fost creat fișierul de date
P Utilizator Identifică utilizatorul care a creat jobul
S nodul dispozitivului Scrie un symbolmink pentru a preveni retipărirea fișierului
T antet Titlul care urmează să fie tipărit prin comanda p
U Fişier Ștergeți fișierul de date inutile
W Lăţime Lățimea foii pentru comenzile f, l, p
unu Font Nume fișier pentru sistemul de fonturi R troff (implicit Times Roman)
2 Font Nume fișier pentru fontul I sistem troff (implicit Times Italic)
3 Font Nume fișier pentru fontul B sistem troff (implicit Times Bold)
patru Font Nume fișier pentru fontul troff S (font matematic special implicit)
c Fişier Fișier de date de ieșire pe plotter , procesat ca format CIF
d Fişier Imprimare fișier de date, procesare ca format DVI
f Fişier Imprimați fișierul de date ca text ASCII
g Fişier Ieșiți un fișier de date către un plotter, procesându-l ca ieșire din biblioteca de grafice Berkeley Unix
l Fişier Imprimați fișierul de date ca text fără a elimina niciun caracter de control
n Fişier tipăriți fișierul de date ca urmare a ditroff-ului
o Fişier Imprimați ca fișier PostScript
p Fişier Imprimați un fișier de date paginat cu numere de pagină și anteturi
r Fişier Imprimați fișierul de date, tratând primul caracter al fiecărei linii ca un control în stil Fortran
t Fişier Imprimați fișierul de date ca urmare a troff-ului
v Fişier Imprimați fișierul în format Sun bitmap

Vezi și

Link -uri