CUPS (раніше абревіатура для Common UNIX Printing System, нині немає офіційної розшифровки) — сервер друку для UNIX-подібних операційних систем. Комп'ютер з запущеним сервером CUPS є мережевим вузлом, який приймає завдання на друк від клієнтів, обробляє їх і відправляє на відповідний принтер.[1][2]
CUPS складається з диспетчера друку, планувальника, системи фільтрації, що перетворить дані друку у зрозумілий принтеру формат. Також CUPS включає бекенд-систему, яка відправляє дані на пристрої друку. CUPS використовує Internet Printing Protocol як основу для управління завданнями і чергами. За умовчанням CUPS використовує TCP-порт 631. Система також має власний вебінтерфейс для адміністрування.
Розробка CUPS почалася в 1997 році, а перша публічна бета-версія з'явилася через два роки. Спочатку CUPS використовував протокол LPD, але через деякий час LPD був замінений на Internet Printing Protocol. CUPS був швидко прийнятий як система друку за умовчанням в різних розділах Linux. У березні 2002 року, корпорація Apple прийняла CUPS як систему друку для своєї операційної системи Mac OS X 10.2.
З 2007 року розробкою CUPS повністю контролювала Apple, після поглинання компанії Easy Software Products[en], котра створила CUPS. Apple також найняла Майкла Світа[en], головного розробника CUPS.
Після випуску CUPS 2.3.0 у 2019 році, Apple майже повністю припинила розробку CUPS і випускає лише критичні оновлення системи[3][4][5], а Світ повідомив про те що покинув компанію Apple[6].
OpenPrinting CUPS
У 2020 році некомерційна організація OpenPrinting створила форк і разом із колишнім головним розробником продовжили розробку системи вже під назвою OpenPrinting CUPS.[7][8]
CUPS і Wine
Якщо в системі встановлено CUPS, то Wine автоматично розпізнає CUPS-принтери, і програми запущені через Wine зможуть використовуваим CUPS для друку. Для використання друку у PDF необхідно в налаштуваннях CUPS додати хоча б один віртуальний PDF-принтер (зазвичай це "Generic-CUPS-PDF-Printer").[9]
CUPS і Microsoft Windows
Незважаючи що в останніх версіях Microsoft Windows передбачена підтримка CUPS, часто використовуються спільно CUPS і Samba, що вимагає експорту драйверів для Windows за допомогою Samba, або установки драйверів для відповідного принтера на клієнтському комп'ютері з Windows. Таке поєднання використовується, бо часто драйвери для Windows мають більшу функціональність, ніж драйвери для CUPS.
Адміністрування
CUPS має вбудований вебінтерфейс адміністрування, який працює через IPP. Таким чином, адміністрування може здійснюватися засобами будь-якого веббраузера. CUPS також має утиліту з графічним інтерфейсом GTK під назвою system-config-printer[10], яка є форком gnome-cups-manager[11][12] (у меню програм часто відображається як "Print Settings" або "Printer configuration").
Також є й інші засоби для адміністрування CUPS, які в залежності від операційної системи чи дистрибутива Linux можуть бути передвстановлені разом з CUPS, або ж їх треба встановлювати власноруч.