Piszę oprogramowanie, które obsługuje wiele drukarek. Aby to przetestować, muszę dodać wiele drukarek do mojego serwera CUPS. Jak mogę to zrobić?
Chcę dodać kilka fałszywych drukarek, które będą wysyłać zadania bezpośrednio do / dev / null. W ten sposób mogę oglądać listę „zakończonych zadań” w interfejsie CUPS i obserwować, czy moje oprogramowanie używa prawidłowej drukarki dla każdego zadania.
Odpowiedzi:
Jednym z rozwiązań jest instalacja cup-pdf . Dodaje wirtualną drukarkę, która zapisuje pliki PDF. W Internecie znajduje się kilka samouczków na temat instalacji i konfiguracji; odkąd korzystam z Gentoo, przeczytałem Gentoo-wiki , która również wspomina o Sabayon wiki .
Drukarka wirtualna cups-pdf ma plik konfiguracyjny
/etc/cups/cups-pdf.conf
i domyślnie zapisywane są wszystkie pliki PDF/var/spool/cups-pdf/${USER}
.(Uwaga: w Ubuntu zapisuje do ~ / PDF /)
Istnieje jednak kilka ograniczeń:
Ponieważ istnieje tylko jeden plik konfiguracyjny, wiele drukarek PDF zapisze w tym samym katalogu.
Niemożliwe jest wydrukowanie „surowych” danych (na przykład przy użyciu
lpr -o raw
). Nawet wysłanie pliku PDF jako surowego zadania nie będzie działać. Nieprzetworzone zadania drukowania wygenerują pusty plik PDF z pustą stroną.Mimo tych ograniczeń działa idealnie dla moich potrzeb.
Przypis: jeśli użytkownik używa Gnome lub drukuje przez aplikację GTK +, w oknie dialogowym drukowania jest już pseudo-drukarka „Drukuj do pliku”. Dlaczego więc użytkownik nadal chciałby dodać wirtualną drukarkę PDF? Oto kilka powodów:
źródło
Forum Pucharów ma bardziej kompletną / dokładną odpowiedź na to pytanie.
Odpowiedź jest taka, że identyfikator URI urządzenia powinien być ustawiony na file: / dev / null
W mojej konfiguracji Ubuntu:
Które działa dla mnie idealnie.
Przeszukałem ponownie forum Pucharów i znalazłem to:
Commandline Null Printer Setup in Cups Forum
W twoich cupd.conf:
Skonfiguruj drukarkę
Testowanie drukarki
źródło
wine
.Możesz utworzyć drukarkę, która będzie drukować za
/dev/null
pomocąlpadmin
:Zostanie to zapisane
/etc/cups/printers.conf
, ale możesz także przeglądać drukarki za pomocąlpstat
:Pamiętaj, że może być konieczne włączenie FileDevice w /etc/cups/cupsd.conf na starych dystrybucjach Linuksa .
Aby ustawić nową drukarkę jako domyślną, użyj
lpoptions
:źródło
lpadmin -x myprinter
lub interfejs internetowy.Jednym z najlepszych rozwiązań jest użycie
ippserver
. Pochodzi zCUPSv2.2.2
i wyżej. Możesz alternatywnie pobrać projekt tutaj: przykładowe implementacje IPP .Zgodnie z opisem na stronie podręcznika :
Aby z niego skorzystać, wystarczy uruchomić
ippserver "My cool printer"
, a stworzy wirtualną drukarkę z nazwąMy cool printer
dla Ciebie. Działa jak serwer WWW i nasłuchuje na określonych portach.Jeśli potrzebujesz wielu drukarek, możesz uruchomić serwer na wielu portach, używając
ippserver "My other cool printer" -p 8888
.Możesz nawet podać atrybuty drukarki za pomocą pliku atrybutów. Na przykład drukarka obsługuje domyślnie wydruki wysokiej jakości, możesz dodać następujący atrybut do pliku atrybutów:
i uruchom serwer za pomocą:
Bibliografia:
źródło
Zaczerpnięte z http://inai.de/linux/adm_virtualprinter :
źródło