printcap – baza/plik konfiguracyjny (zwykle /etc/printcap) używany przez systemy wydruku w stylu BSD (lpr/lpd, LPRng). Definiuje kolejki drukarek, ich aliasy, urządzenia, filtry, katalogi bufora i parametry pracy.
Konteksty użycia: klasyczne środowiska lpd/LPRng, integracje i zgodność narzędzi lpr, lpq, lprm. W systemach z CUPS plik printcap bywa automatycznie generowany (np. jako symlink/plik zgodności) dla narzędzi oczekujących formatu BSD.
Dostępność: systemy BSD (FreeBSD, OpenBSD, NetBSD), starsze/konserwatywne dystrybucje Linux (LPRng), a w nowoczesnych systemach – głównie jako warstwa zgodności obok CUPS.
CUPS a printcap: W systemach z CUPS plik printcap bywa automatycznie tworzony (np. w /etc/printcap lub /run/cups/printcap) wyłącznie dla zgodności z narzędziami BSD. Edycja ręczna może być nadpisywana przez CUPS.
Uprawnienia i katalogi bufora: Upewnij się, że katalogi sd istnieją oraz mają właściwego właściciela/grupę (np. lp, daemon) i prawa. W LPRng pomocny bywa checkpc -f do tworzenia/poprawy struktur spoolera.
Filtry muszą być wykonywalne: Skrypty w if/of/... powinny mieć shebang, prawa +x i poprawne ścieżki do konwerterów (ghostscript, enscript, itp.).
Nazwy i aliasy: Pierwsza nazwa to główna kolejka, kolejne to aliasy (lpr -P alias). Warto unikać spacji i znaków specjalnych.
Dzielenie i czytelność: Używaj kontynuacji linii \\ oraz komentarzy #. Dwukropek w wartościach escape’uj\:.
Różnice implementacyjne: Niektóre pola (np. zestaw filtrów df/gf/nf/tf/vf) występują w klasycznych BSD; LPRng dodaje własne; BusyBox może mieć ograniczenia.