Hej.
Czy da się zrobić tak, żeby klienci usługi serwera wydruku instalowali drukarki na swoich komputerach, które są udostępnione przez Sambę i CUPS na Debianie ale w taki sposób, żeby nie musieli instalować sterowników do tych drukarek? Coś w stylu zgłaszania prośby do serwera wydruku o wydrukowanie czegoś takiego. Serwer ma podpiętą drukarkę przez sieć i może drukować, klient (Windows XP, Windows7, Linux Ubuntu) natomiast zgłaszałby żądanie o wydruk dokumentu, które serwer wydruku (Debian) by realizował. Aktualnie mam taką sytuację, że po wskazaniu drukarki udostępnionej przez Sambę Windows chce instalować sterowniki, chciałbym pominąć to.
Z góry dziękuję.
Samba jako serwer wydruku - instalacja drukarki bez sterowników
To ja się może podepnę, bo sam kiedyś próbowałem ugryźć taki temat - drukarka zainstalowana na Debianie, udostępniona przez sambę. Do tego katalog ze sterownikami, tak, że klient (powiedzmy, że Windows XP) łączy się z drukarką (przez otoczenie sieciowe) i "dostaje" od razu od Debiana sterownik. Taki sprytny system, żeby wystarczyło kliknąć w Windowsie "Połącz z drukarką" i już. Niestety poległem przy tym, mimo, że parę poradników znalazłem.
Na pierwszy rzut oka wydaje się, że jest to niewykonalne. Jednakże mi się wydaje, że powinno to być możliwe. Więc ja akurat mam kontroler domeny na Windowsie i może na początek jak ten mechanizm automatycznej instalacji drukarek działa na Windowsie (wg mnie jest to istotne, ponieważ Samba powstała na wzór udostępniania plików i drukarek Windows).
Otóż, drukarka jest zainstalowana na serwerze (wgrane sterowniki itp.) i jest udostępniona jako udział sieciowy (np. \\serwer\Moja_Drukarka). Sterowniki, z którymi została zainstalowana drukarka na serwerze automatycznie są udostępniane dla stacji klienckich w udziale printer$. Z racji tego dolara na końcu udział nie jest fizycznie widoczny podczas przeglądania zasobów udostępnianych przez Windowsa. Jeżeli wpiszecie sobie taki adres w Windowsie:
to powinny wyświetlić się sterowniki udostępniane przez system operacyjny.
Podłączenie do drukarki w domenie AD jest tożsame z instalacją na stacji roboczej sterowników do tej drukarki. Jeżeli są już zainstalowane to następuje jedynie podłączenie drukarki, jeżeli sterowników nie ma, to są one automatycznie instalowane. Jednak, do zautomatyzowania i cichej instalacji drukarki wykorzystuje się skrypt startowy (coś w stylu netlogon.bat), który uruchamia się podczas logowania użytkownika do domeny oraz bibliotekę printui.dll (patrz: http://support.microsoft.com/kb/189105/pl)
Co by należało zrobić wg mnie:
Otóż, drukarka jest zainstalowana na serwerze (wgrane sterowniki itp.) i jest udostępniona jako udział sieciowy (np. \\serwer\Moja_Drukarka). Sterowniki, z którymi została zainstalowana drukarka na serwerze automatycznie są udostępniane dla stacji klienckich w udziale printer$. Z racji tego dolara na końcu udział nie jest fizycznie widoczny podczas przeglądania zasobów udostępnianych przez Windowsa. Jeżeli wpiszecie sobie taki adres w Windowsie:
Kod: Zaznacz cały
\\nazwa_serwera_druku_lub_jego_IP\printer$
Podłączenie do drukarki w domenie AD jest tożsame z instalacją na stacji roboczej sterowników do tej drukarki. Jeżeli są już zainstalowane to następuje jedynie podłączenie drukarki, jeżeli sterowników nie ma, to są one automatycznie instalowane. Jednak, do zautomatyzowania i cichej instalacji drukarki wykorzystuje się skrypt startowy (coś w stylu netlogon.bat), który uruchamia się podczas logowania użytkownika do domeny oraz bibliotekę printui.dll (patrz: http://support.microsoft.com/kb/189105/pl)
Co by należało zrobić wg mnie:
- Udostępnić zasób printer$ i wrzucić sterowniki (np. w tych konfigach coś takiego jest: http://www.aboutdebian.com/lan.htm). Trudno określić które pliki sterowników są tam wrzucane i nie wiadomo mi, czy wystarczy odpowiednio np. wyodrębnić wszystko z pakietów otrzymanych od dostawcy sterownika.
- Napisać skrypt mapujący drukarkę w pliku logowania do domeny (o ile to jest domena). Plik printui.dll jest w każdym Windowsie, więc każda stacja robocza z Windowsem może się podłączać automatycznie pod drukarkę. Powinno to być coś w stylu (przykład mapowania drukarki PDFCreatora):
Kod: Zaznacz cały
start /wait RUNDLL32 PRINTUI.DLL,PrintUIEntry /in /q /n \\server\pdfcreator
