BARDAK - CUPS

BARDAK
CUPS.svg
Orijinal yazar (lar) Michael Sweet ( Kolay Yazılım Ürünleri )
Geliştirici (ler) Apple Inc.
İlk sürüm 9 Haziran 1999  ( 1999-06-09 )
Kararlı sürüm
2.3.3 / 28 Nisan 2020 ; 12 ay önce  ( 2020-04-28 )
Depo Bunu Vikiveri'de düzenleyin
Yazılmış C
İşletim sistemi Unix benzeri , Windows , ArcaOS
Halef OpenPrinting CUPS
Tür Baskı sunucusu
Lisans Apache Lisans 2.0
İnternet sitesi www .cups .org
OpenPrinting CUPS
Geliştirici (ler) OpenPrinting ve topluluk
Kararlı sürüm
2.3.3op2 / 1 Şubat 2021 ; 3 ay önce  ( 2021-02-01 )
Depo github .com / openprinting / cup
Selef Apple CUPS
İnternet sitesi openprinting .github .io / cup /

CUPS (eski bir kısaltmadır için Common UNIX Printing System ), modüler baskı için sistem Unix benzeri bilgisayara işletim sistemleri bir bilgisayar olarak hareket sağlayan yazdırma sunucusu . CUPS çalıştıran bir bilgisayar, istemci bilgisayarlardan yazdırma işlerini kabul edebilen , işleyebilen ve uygun yazıcıya gönderebilen bir ana bilgisayardır.

CUPS, bir yazdırma biriktirici ve zamanlayıcı, yazdırma verilerini yazıcının anlayacağı bir biçime dönüştüren bir filtre sistemi ve bu verileri yazdırma cihazına gönderen bir arka uç sisteminden oluşur. CUPS, yazdırma işlerini ve kuyrukları yönetmek için temel olarak İnternet Yazdırma Protokolünü (IPP) kullanır . Ayrıca System V ve Berkeley yazdırma sistemleri için geleneksel komut satırı arayüzleri sağlar ve Berkeley yazdırma sisteminin Line Printer Daemon protokolü için destek ve sunucu mesaj bloğu (SMB) protokolü için sınırlı destek sağlar . Sistem yöneticileri, metin dosyalarını Adobe PostScript Yazıcı Tanımı (PPD) biçiminde düzenleyerek CUPS tarafından sağlanan aygıt sürücülerini yapılandırabilir . CUPS'yi yapılandırabilen farklı platformlar için bir dizi kullanıcı arabirimi vardır ve yerleşik bir web tabanlı arabirime sahiptir. CUPS, Apache Lisansı altında sağlanan ücretsiz bir yazılımdır .

Tarih

Easy Software Products sahibi olan Michael Sweet , 1997 yılında CUPS geliştirmeye başladı ve ilk halka açık betalar 1999'da ortaya çıktı. CUPS'nin orijinal tasarımında Line Printer Daemon protokolü (LPD) protokolü kullanıldı, ancak LPD'deki sınırlamalar ve satıcı uyumsuzlukları nedeniyle, Bunun yerine İnternet Yazdırma Protokolü (IPP) seçildi. CUPS başlangıçta "Ortak UNIX Baskı Sistemi" olarak adlandırıldı. Bu isim, UNIX ticari markasıyla ilgili yasal kaygılar nedeniyle CUPS 1.4'ten başlayarak "CUPS" olarak kısaltılmıştır. CUPS, çoğu Linux dağıtımı için varsayılan yazdırma sistemi olarak hızla benimsenmiştir . Mart 2002'de Apple Inc. , Mac OS X 10.2 için yazdırma sistemi olarak CUPS'u benimsedi . Şubat 2007'de Apple Inc. , baş geliştirici Michael Sweet'i işe aldı ve CUPS kaynak kodunu satın aldı. 20 Aralık 2019'da Michael Sweet, Apple'dan ayrıldığını blogunda duyurdu. 2020'de OpenPrinting organizasyonu projeyi çatalladı ve Michael Sweet üzerinde çalışmaya devam etti.

Genel Bakış

Bardaklar simple.svg

CUPS, yazdırma işlerinin yazıcılara standart bir şekilde gönderilmesine izin veren bir mekanizma sağlar. Yazdırma verileri, işleri , yazdırma işini yazıcının anlayacağı bir biçime dönüştüren bir filtre sistemine gönderen bir planlayıcıya gider . Filtre sistemi daha sonra verileri bir arka uca, yazdırma verilerini bir aygıta veya ağ bağlantısına gönderen özel bir filtreye aktarır . Sistem , verileri hedef yazıcı için uygun bir biçime dönüştürmek için PostScript'ten ve verilerin rasterleştirilmesinden kapsamlı bir şekilde yararlanır .

CUPS, baskı sunucusunda çok sayıda veri formatını işleyebilen standart ve modülerleştirilmiş bir baskı sistemi sunar. CUPS'tan önce, kendi yazıcı dillerini ve biçimlerini kullanarak piyasadaki çok çeşitli yazıcıları barındıracak standart bir yazıcı yönetim sistemi bulmak zordu. Örneğin, System V ve Berkeley baskı sistemleri büyük ölçüde birbirleriyle uyumsuzdu ve programın veri formatını yazdırılabilir bir formata dönüştürmek için karmaşık komut dosyaları ve geçici çözümler gerektirdiler. Genellikle yazıcıya gönderilen dosya biçimini algılayamazlar ve bu nedenle veri akışını otomatik ve doğru bir şekilde dönüştüremezler. Ek olarak, veri dönüşümü merkezi bir sunucu yerine bireysel iş istasyonlarında gerçekleştirildi.

CUPS, yazıcı üreticilerinin ve yazıcı sürücüsü geliştiricilerinin, yazdırma sunucusunda yerel olarak çalışan sürücüleri daha kolay oluşturmasına olanak tanır. İşlem sunucuda gerçekleşir ve diğer Unix yazdırma sistemlerine göre daha kolay ağ tabanlı yazdırma sağlar. İle Samba yüklü, kullanıcılar uzaktan Windows bilgisayarlarda yazıcıları ele alabilir ve jenerik PostScript sürücüleri ağ üzerinden yazdırma için kullanılabilir.

Planlayıcı

CUPS zamanlayıcı , HTTP / 1.1 üzerinden İnternet Yazdırma Protokolünü (IPP) uygular . Yardımcı uygulama (cup-lpd), Line Printer Daemon protokolü (LPD) isteklerini IPP'ye dönüştürür . Zamanlayıcı ayrıca yazdırma işlerini yönetmek, sunucunun yapılandırması ve CUPS ile ilgili dokümantasyon için web tabanlı bir arayüz sağlar.

Bir yetkilendirme modülü, hangi IPP ve HTTP mesajlarının sistemden geçebileceğini kontrol eder. IPP / HTTP paketleri yetkilendirildikten sonra, gelen bağlantıları dinleyen ve işleyen istemci modülüne gönderilir . İstemci modülü ayrıca, web tabanlı yazıcıları, sınıfları ve iş durumu izleme ve yönetimini desteklemek için gerektiğinde harici CGI programlarını yürütmekten sorumludur . Bu modül, isteklerini işledikten sonra, bir istemcinin HTTP sunucusundaki herhangi bir erişim denetimini veya kimlik doğrulamasını atlamasını önlemek için Tekdüzen Kaynak Tanımlayıcısı (URI) doğrulamasını gerçekleştiren IPP modülüne gönderir . URI, bir ağdaki soyut veya fiziksel bir kaynağa atıfta bulunmak için kullanılabilecek bir adı veya adresi belirten bir metin dizesidir .

Planlayıcı, yazıcı sınıflarına izin verir. Uygulamalar, bir sınıftaki yazıcı gruplarına istek göndererek planlayıcının işi o sınıftaki ilk kullanılabilir yazıcıya yönlendirmesine olanak tanır. Bir işler modülü, yazdırma işlerini yönetir, bunları son dönüştürme ve yazdırma için filtreye ve arka uç işlemlerine gönderir ve bu işlemlerden gelen durum mesajlarını izler.

CUPS zamanlayıcı , konfigürasyon dosyalarını ayrıştıran, CUPS veri yapılarını başlatan ve CUPS programını başlatan ve durduran bir konfigürasyon modülü kullanır . Yapılandırma modülü, yapılandırma dosyasının işlenmesi sırasında CUPS hizmetlerini durdurur ve ardından işlem tamamlandığında hizmeti yeniden başlatır.

Bir günlük modülü erişimi, hata ve sayfa için zamanlayıcı • Olayların kolları günlük dosyaları . Ana modül kolları zaman aşımları ve istemci bağlantıları için G / Ç istekleri gönderme, izliyor sinyalleri , çocuk süreç hataları ve çıkışları taşıma ve gerektiğinde sunucu yapılandırma dosyalarını yeniden.

Planlayıcı tarafından kullanılan diğer modüller şunları içerir:

  • MIME bir işleme modülü, Amaçlı Internet Posta Uzantıları dönüştürür baskı cihazı için uygun bir biçime veri baskı bu filtreleme işleminde kullanılan (MIME) türü ve dönüştürme veri-tabanının;
  • Postscript Printer Description (PPD) dosyalarının bir listesini işleyen bir PPD modülü ;
  • sistemde bulunan cihazların bir listesini yöneten bir cihaz modülü;
  • CUPS içindeki yazıcıları ve PPD'leri işleyen bir yazıcı modülü.

Filtre sistemi

CUPS, kullanıcıların CUPS sunucusuna farklı veriler göndermesine ve bu verilerin yazıcının anlayacağı ve yazdırabileceği bir biçime dönüştürülmesine olanak tanır.

CUPS, baskı sunucusunda çeşitli veri biçimlerini işleyebilir. Baskı işi verilerini bir dizi filtre aracılığıyla yazıcının son diline / formatına dönüştürür . Dosya formatlarını tanımlamak için MIME türlerini kullanır .

MIME veritabanları

CUPS sistemi yazdırma işini planlayıcıya atadıktan sonra, CUPS filtre sistemine geçirilir. Bu, verileri yazıcıya uygun bir biçime dönüştürür. Başlatma sırasında, CUPS arka plan programı iki MIME veritabanı yükler: mime.types bu, CUPS'un verileri kabul edebileceği bilinen dosya türlerini mime.convs tanımlar ve her bir MIME türünü işleyen programları tanımlar.

mime.types Dosya sözdizimi vardır:

mimetype { [file-extensions] | [pattern-match] }

Örneğin, bir HTML dosyasını tespit etmek için aşağıdaki giriş geçerli olacaktır:

text/html html htm \

printable(0,1024) + (string(0,"<HTML>") string(0,"<!DOCTYPE"))

İkinci satır, dosyadaki metnin ilk kilobaytının yazdırılabilir karakterleri içerdiğini ve bu karakterlerin HTML biçimlendirmesi içerdiğini belirleyerek dosya içeriğini belirtilen MIME türüyle eşleştirir. Yukarıdaki model eşleşirse, filtre sistemi dosyayı MIME tipi text / html olarak işaretler.

mime.convs Dosya sözdizimi vardır:

source destination cost program

Kaynak alan bakarak belirlenir MIME türünü belirtir mime.types iken, dosyayı hedef alan listeleri çıktı isteyen tür ve program kullanılması gerektiğini belirler. Bu da adresinden alınır mime.types . Maliyet bir dosyayı dönüştürürken alan filtrelerin gruplarının seçiminde yardımcı olur. Son alan olan program , veri dönüştürmeyi gerçekleştirmek için hangi filtre programının kullanılacağını belirler.

Bazı örnekler:

text/plain application/postscript 50 texttops
application/vnd.cups-postscript application/vnd.cups-raster 50 pstoraster
image/* application/vnd.cups-postscript 50 imagetops
image/* application/vnd.cups-raster 50 imagetoraster

Filtreleme işlemi

Filtreleme işlemi, altı bağımsız değişkenle önceden biçimlendirilmiş giriş verilerini alarak çalışır:

  1. yazdırma işinin iş kimliği
  2. Kullanıcı adı
  3. iş adı
  4. yazdırılacak kopya sayısı
  5. herhangi bir baskı seçeneği
  6. dosya adı ( standart girişten yeniden yönlendirilmişse bu gereksiz olsa da ).

Daha sonra, girilen verilerin türünü ve MIME veritabanlarının kullanımıyla kullanılacak filtreyi belirler; örneğin, görüntü verileri belirli bir filtre aracılığıyla algılanacak ve işlenecek ve HTML verileri algılanacak ve başka bir filtre aracılığıyla işlenecektir.

CUPS, sağlanan verileri PostScript verilerine veya doğrudan tarama verilerine dönüştürebilir. PostScript verilerine dönüştürülürse, ön filtre adı verilen ek bir filtre uygulanır ; bu, PostScript verilerini başka bir PostScript dönüştürücü aracılığıyla çalıştırır, böylece yazdırılacak sayfa aralıklarını seçme, n- up modunu ayarlama ve diğer cihaza özel seçenekler ekleyebilir. bir şeyler. Ön filtreleme yapıldıktan sonra, veriler bir PostScript yazıcı kullanılıyorsa doğrudan bir CUPS arka ucuna gönderilebilir veya linuxprinting.org tarafından Foomatic gibi başka bir filtreye aktarılabilir . Alternatif olarak, PostScript'i aracı bir CUPS-raster formatına dönüştüren Ghostscript'e aktarılabilir . Ara tarama biçimi daha sonra tarama verilerini yazıcıya özgü bir biçime dönüştüren son bir filtreye aktarılır. CUPS ile birlikte gelen varsayılan filtreler şunları içerir:

2009 itibariyle, GDI veya SPL (Samsung Yazıcı Dili) gibi diğer tescilli diller, bir SPL çevirmeni raster olan Splix tarafından desteklenmektedir.

Bununla birlikte, birkaç başka alternatif CUPS ile entegre olabilir. HPLIP (önceden HP-IJS olarak biliniyordu), HP yazıcılar için Linux + CUPS sürücüleri sağlar, Gutenprint (daha önce Gimp-Print olarak biliniyordu) (çoğunlukla) mürekkep püskürtmeli yazıcılar için bir dizi yüksek kaliteli yazıcı sürücüsüdür ve Linux için TurboPrint'in başka bir yelpazesi vardır. geniş bir yazıcı yelpazesi için kaliteli yazıcı sürücüleri.

Arka uçlar

Arka uçlar, CUPS'nin yazıcılara veri gönderme yollarıdır. CUPS için birkaç arka uç mevcuttur: paralel , seri ve USB bağlantı noktaları, cup-pdf PDF Sanal Baskı ve IPP , JetDirect (AppSocket), Line Printer Daemon ("LPD") ve SMB aracılığıyla çalışan ağ arka uçları protokoller .

mdns CUPS 1.4'teki yeni bir arka uç, Bonjour ( DNS-SD ) tabanlı yazıcı keşfi sağlar. CUPS 1.6'da, Bonjour yazıcı keşfi ve Avahi kullanarak paylaşma da desteklenmektedir.

Uyumluluk

CUPS, hem System V hem de Berkeley yazdırma komutlarını sağlar, böylece kullanıcılar CUPS aracılığıyla yazdırmaya yönelik geleneksel komutlarla devam edebilir. CUPS, standart IPP bağlantı noktası olan bağlantı noktası 631'i (TCP ve UDP) kullanır ve isteğe bağlı olarak inetd , launchd , Solaris Hizmet Yönetim Tesisi veya LPD yazdırmayı desteklemek için cup-lpd yardımcı programını kullanan xinetd tarafından 515 numaralı bağlantı noktasında kullanılır. CUPS kurulduğunda, lp System V baskı sistemi komutu ve lpr Berkeley baskı sistemi komutları uyumlu programlar olarak yüklenir. Bu, CUPS için standart bir arayüze izin verir ve bu baskı sistemlerine dayanan mevcut uygulamalarla maksimum uyumluluğa izin verir.

Kullanıcı arayüzü araçları

CUPS kurulumuna yardımcı olacak çeşitli araçlar mevcuttur.

CUPS web tabanlı yönetim arayüzü

CUPS web tabanlı arayüz
CUPS web tabanlı arayüzde yazıcı bilgileri

Tüm platformlarda CUPS, 631 numaralı bağlantı noktasında çalışan web tabanlı bir yönetim arayüzüne sahiptir . Özellikle baskı işlerini izlemesi ve baskı kuyrukları ve yazıcıları uzaktan eklemesi gereken kuruluşlara yardımcı olur.

CUPS 1.0, web tarayıcıları için basit bir sınıf, iş ve yazıcı izleme arayüzü sağladı.

CUPS 1.1, bu arabirimi, kullanıcıların sınıfları, işleri ve yazıcıları eklemesine, değiştirmesine, silmesine, yapılandırmasına ve kontrol etmesine olanak tanıyan gelişmiş bir yönetim arabirimiyle değiştirdi.

CUPS 1.2 ve sonraki sürümleri, geliştirilmiş okunabilirlik ve tasarım, otomatik olarak keşfedilen yazıcılar için destek ve sistem günlüklerine ve gelişmiş ayarlara daha iyi erişim sağlayan yenilenmiş bir web arayüzü sağlar.

GNOME

40 sürümünden itibaren GNOME Ayarları

In GNOME GNOME 3 başlayarak, CUPS yazdırma parçasıdır Ayarlar uygulamasında, ele alınmıştır GNOME Çekirdek Uygulamaları . GUI, CUPS yazıcıları ekleyebilir ve CUPS yazıcılarını ve kuyruklarını yönetebilir. GNOME 3'ten önce, bu görevleri yerine getirmek için GNOME Yazdırma Ayarları (eski adıyla CUPS Manager) kullanılıyordu.

GNOME'un widget araç takımı GTK + , 2006'da piyasaya sürülen 2.10 sürümünde CUPS'a dayalı entegre yazdırma desteği içeriyordu.

KDE

KDEPrint

KDE için KDEPrint çerçevesi , CUPS ön uçları olarak görev yapan ve sınıfların, yazdırma kuyruklarının ve yazdırma işlerinin yönetimine izin veren çeşitli GUI araçları içerir ; diğer özelliklerin yanı sıra yeni yazıcıların eklenmesine yardımcı olmak için bir yazıcı sihirbazı içerir. KDEPrint ilk olarak KDE 2.2'de ortaya çıktı.

KDEPrint, en çok desteklenen CUPS ile birkaç farklı baskı platformunu destekler. KDE, qtcups'daki yazdırma desteğinin önceki bir sürümünün yerini almıştır ve KDE'nin bu modülüyle geriye doğru uyumludur. 2009 yılı itibarıyla bir diyalog kutusu programı olan kprinter , işleri baskı cihazına göndermek için ana araç olarak hizmet vermektedir; ayrıca komut satırından da başlatılabilir . KDEPrint, herhangi bir işi CUPS'a teslim edilmeden önce önceden filtrelemek veya dosyaları PDF'ye dönüştürmek gibi işleri kendi başına yapmak için bir sistem içerir . Bu filtreler, bir çift Masaüstü / XML dosyasıyla açıklanır .

KDEPrint'in ana bileşenleri şunları içerir:

  • yazıcı özelliklerinin değiştirilmesine izin veren bir Yazdır İletişim kutusu
  • Yazıcı Ekleme Sihirbazı aracılığıyla yazıcı ekleme ve çıkarma gibi yazıcıların yönetimini sağlayan bir Yazdırma Yöneticisi
  • Bekletme / bırakma, iptal etme ve başka bir yazıcıya taşıma gibi yazıcı işlerini yöneten bir İş Görüntüleyici / Yönetici
  • bir CUPS konfigürasyon modülü (KDE'ye entegre)

Mac OS X

Mac OS X 10.5'te, yazıcılar, Sistem Tercihleri'ndeki Yazdır ve Faks panelinde ve yazdırma kuyruklarını görüntüleyen ve yazıcılar kurulduktan sonra ek yapılandırmaya izin veren yazıcı proxy uygulamalarında yapılandırılır. Mac OS X'in önceki sürümleri, Print & Fax tercih bölmesinin önceki sürümlerinde eksik olan yapılandırma seçeneklerini sağlayan bir Yazıcı Kurulum Yardımcı Programı da içeriyordu .

Yazıcı Kurulumu

PrinterSetup sistemi CUPS kuyruklarını yönetebilir. Her bir yazdırma kuyruğunu açıklamak için bir metin dosyası atama yaklaşımını benimser. Bu 'PrinterSetupFiles' daha sonra 'PrinterSetupLists' adı verilen diğer metin dosyalarına eklenebilir. Bu, yazıcıların mantıksal olarak gruplandırılmasına izin verir. 2009 yılı itibariyle PrinterSetup projesi emekleme aşamasındadır.

Red Hat Linux / Fedora

Fedora, CUPS tabanlı yazıcıları değiştirebilen bir baskı yöneticisi sağlar

Red Hat Linux 9'dan başlayarak, Red Hat, CUPS tabanlı ve GNOME'a entegre edilmiş entegre bir yazdırma yöneticisi sağladı . Bu, Microsoft Windows'un kullandığına benzer bir kullanıcı arabirimi aracılığıyla yazıcıların eklenmesine izin verdi ; burada yeni bir yazıcı ekleme sihirbazı kullanılarak yeni bir yazıcı eklenebilir ve yüklü yazıcıların bir listesini içeren bir pencerede varsayılan yazıcı özelliklerinin değiştirilmesi sağlandı. İşler ayrıca bir yazdırma yöneticisi kullanılarak başlatılabilir ve durdurulabilir ve yazıcı simgesi sağ tıklandığında açılan bir bağlam menüsü kullanılarak yazıcı duraklatılabilir .

Eric Raymond , The Luxury of Ignorance adlı eserinde bu sistemi eleştirdi . Raymond, Fedora Core 1 yazdırma yöneticisini kullanarak CUPS yüklemeyi denedi ancak sezgisel olmadığını gördü; Arayüz tasarımcılarını kullanıcının bakış açısıyla tasarım yapmadıkları için eleştirdi. Yazıcı kuyrukları fikrinin açık olmadığını gördü çünkü kullanıcılar kendi yerel bilgisayarlarında kuyruklar yarattılar, ancak bu kuyruklar aslında CUPS sunucusunda yaratıldı.

Ayrıca, ağa bağlı CUPS (IPP), ağa bağlı Unix ( LPD ), ağa bağlı Windows ( SMB ), ağa bağlı Novell ( NCP ) veya ağa bağlı JetDirect arasından seçim yapabildiğinden çok sayıda kuyruk türü seçeneği kafa karıştırıcı buldu . Yardım dosyasını tek başına yararsız buldu ve büyük ölçüde bir kullanıcının ihtiyaçları ile ilgisiz buldu. Raymond, Linux masaüstlerinde kullanıcı arayüzü tasarımının yeniden düşünülmesi ve daha dikkatli tasarım gerektirdiğini göstermek için CUPS'u genel bir konu olarak kullandı. Belirtti:

Buradaki meta-sorun, yapılandırma sihirbazının tüm onaylanmış ritüelleri (standartlaştırılmış tıklama düğmeli GUI, bir tarayıcıda açılan yardım, vb.) Yapması, ancak bunların ulaşması gereken merkezi niteliğe sahip olmamasıdır: keşfedilebilirlik. Yani, arabirimdeki her noktanın, daha sonra ne yapacağınızı öğrenebileceğiniz, ona bağlı istemler ve eylemler içermesi kalitesidir. Projeniz bu kaliteye sahip mi?

ESP Print Pro

CUPS'un orijinal yaratıcıları olan Easy Software Products , bir GUI oluşturdu, birçok yazıcı için destek sağladı ve bir PostScript RIP uyguladı . ESP Print Pro Windows, UNIX ve Linux üzerinde çalışıyordu, ancak artık mevcut değil ve bu ürün için destek 31 Aralık 2007'de sona erdi.

Ayrıca bakınız

Referanslar

daha fazla okuma

Dış bağlantılar