Wykład 5
Transkrypt
Wykład 5
Zbigniew S. Szewczak Systemy Operacyjne Wykład 5 System we/wy. Wydruk i grafika. Toruń, 2004 Termin egzamiu ✦ niedziela, 23.01.2005, g.14.00-16.00 O czym będzie? ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ Podsystem we/wy Struktura systemu wydruku Unixowy system wydruku - LPRng Drukowanie w sieciach Microsoft Systemy wydruku NetWare LPD w systemach MSW System wydruku CUPS X-Window System Serwer XDM Przykłady Podsystem we/wy ✦ Komputer wykonuje dwa podstawowe zadania ✦ przetwarza informacje ✦ obsługuje działania na wejściu i wyjściu ✦ Zadaniem systemu operacyjnego w odniesieniu do urządzeń we/wy jest ✦ zarządzanie operacjami we/wy ✦ sprawowanie nadzoru nad operacjami we/wy ✦ dopilnowywanie działania urządzeń we/wy ✦ Zadania te są realizowane w jądrze przez podsystem we/wy (ang. I/O subsystem) Podsystem we/wy (c.d) ✦ Trzy kategorie urządzeń we/wy: pamięć zewnętrzna, sieć , interfejs z ludźmi ✦ Postawowe elementy podsystemu we/wy ✦ sprzętowe ✦ porty, szyny, sterowniki urządzeń (ang. device controllers) ✦ programowe ✦ moduły we/wy, moduły sterujące (ang. device drivers) tworzące interfejs dostępu podsytemu we/wy do urządzeń we/wy ✦ obsługa we/wy w jądrze systemu ✦ wywołania systemowe we/wy Sprzęt we/wy ✦ Niezwykła różnorodność urządzeń zewnętrznych ✦ Wspólne pojęcia ✦ Port - punkt przez który urządzenie kontaktuje się z komputerem ✦ Szyna - wspólna wiązka przewodów do której są podłączone urządzenia ✦ układ szeregowy (ang. daisy chain) : A podłączone do B podłączone do C i C podłączone do portu ✦ Sterownik (ang. controller) - zespół układów elektronicznych, które mogą kierować pracą portu, szyny lub urządzenia ✦ niekiedy wykonywany w postaci oddzielnej płyty z układami elektronicznymi zwanej adapterem głównym (ang. host adapter) procesor,mikrokod,pamięć (np. SCSI, IDE) Sprzęt we/wy (c.d.) ✦ W jaki sposób procesor przekazuje polecenia sterownikowi? ✦ Sterownik ma rejestry do pamiętania danych i sygnałów sterujących do których pisze i z których czyta procesor ✦ specjalne rozkazy we/wy określające przesłanie danych na adres portu ✦ operacje we/wy odwzorowywane w pamięci operacyjnej (ang. memory-mapped I/O)- rejestry są odwzorowywane w przestrzeni adresowej procesora ✦ Niektóre komputery stosują obie metody ✦ PC: kontroler grafiki - odwzorowywanie ekranu w pamięci, RS232C rejestry we/wy, bufory ✦ Sprzęt we/wy (c.d.) ✦ Port we/wy składa się z 4 rejestrów (dł. 1B-4B) ✦ stan (ang. status) - zawiera bity czytane przez procesor ✦ zakończenie polecenia,dostępność danych w rejestrze dane wyjściowe, wykrycie błędu ✦ sterowanie (ang. control) - zapisywany przez procesor ✦ rozpoczęcie polecenia, zmiana trybu pracy urządzenia (komunikacja pełnodupleksowa, szybkość portu) ✦ dane wejściowe (ang. data-in) - czytany przez procesor ✦ pobranie informacji z urządzenia ✦ dane wyjściowe (ang. data-out) - dane zapisywane przez procesor ✦ Układy FIFO - rozszerzają pojemność rejestrów Odpytywanie ✦ Uzgadnianie (ang. handshaking) między procesorem i sterownikiem; 2 bity do koordynowania relacji producent-konsument ✦ procesor - bit gotowości polecenia (ang. command-ready) w rejestrze poleceń (ang. command register) ✦ sterownik - bit zajętości=1 (ang. busy) w rejestrze stanu ✦ Ciąg uzgodnień procesor-sterownik ✦ Aktywne czekanie (ang. busy-waiting), odpytywanie (ang.polling) - procesor czyta bit zajętości do czasu aż będzie on równy 0 ✦ trzy cykle rozkazowe procesora do odpytania: czytanie rejestru urządzenia, operacja koniunkcji (wydobycie bitu zajętości), skok przy wartości niezerowej Odpytywanie (c.d.) ✦ Procesor ustawia bit pisania (ang. write bit) w rejestrze poleceń i wpisuje bajt do rejestru danych wyjściowych ✦ Procesor ustawia bit gotowości polecenia ✦ Sterownik ustawia bit zajętości ✦ Sterownik czyta rejestr poleceń ✦ rozpoznaje polecenie pisania, czyta bajt z rejestru danych wejściowych i wykonuje operację we/wy na urządzeniu ✦ Sterownik ustawia bit gotowości polecenia na 0 i bit błędu (ang. error bit) w rejestrze stanu oraz ustawia bit zajętości na 0 UNIX - odpytywanie terminala #include <fcntl.h> main() { register int i, n; int dp; char bufor[256]; /* otworz terminal do czytania, z opcja bez opoznienia */ if ((dp = open("/dev/tty", O_RDONLY | O_NDELAY)) == -1) exit(15); n = 1; for (;;) /* dla kazdego */ { for (i = 0; i < n; i++) ; if (read(dp, bufor, sizeof(bufor)) > 0 ) { printf("wczytano za %d-tym razem\n", n); n--; } else /* brak danych, powrot - opcja bez opoznienia */ n++; } } Przerwania ✦ Odpytywanie staje się niewydajne w sytuacji rzadkich przypadków gotowości urządzenia ✦ Osprzęt procesora ma scieżkę zwaną linią zgłaszania przerwań (ang. interrupt request line), którą procesor bada w cyklu rozkazu ✦ Jeśli procesor wykryje przerwanie od sterownika to przechowa dane określające bieżący stan (PC) i wykona skok do procedury obsługi przerwania (ang. interrupthandler) ✦ wykrycie przyczyny przerwania ✦ wykonanie niezbędnych czynności ✦ rozkaz powrotu z przerwania Przerwania (c.d.) ✦ Sprzęt sterownika przerwań (ang. interrupt controller) powinien zapewnić ✦ opóźnianie obsługi przerwania podczas działań krytycznych ✦ brak odpytywania urządzeń w celu wykrycia sprawcy ✦ przerwania wielopoziomowe o różnym priorytecie ✦ Przerwania maskowalne (ang. maskable) pozwalają wyłączyć zgłoszenia żądań ✦ Adres obsługi przerwania znajduje się w tablicy zwanej wektorem przerwań (ang. interrupt vector) Przerwania (c.d.) ✦ System poziomów priorytetów przerwań (ang. interrupt priority levels) umożliwia opóźnianie przez procesor obsługi przerwań niskopriorytetowych bez maskowania wszystkich przerwań i pozwala wywłaszczać procesy ich obsługi ✦ Mechanizm przerwania stosuje się również do obsługi sytuacji wyjątkowych (ang. exceptions) ✦ dzielenie przez 0, rozkaz uprzywilejowany System wydruku ✦ Drukowanie jest bardzo istotną częścią każdego systemu operacyjnego ✦ W systemie wielodostępnym użytkownicy mogą dzielić drukarkę dzięki systemowi wydruku (ang. print spooling system) ✦ System wydruku umożliwia jednoczesne ✦ ✦ ✦ ✦ ✦ ✦ wczytywanie i interpretowanie zadań wydruku szeregowanie zadań wydruku wykonanie zadań wydruku obsługę błędów, zbieranie informacji rozliczeniowych jednocześnie drukarka jest zasobem niepodzielnym System wydruku (c.d.) ✦ W systemie sieciowym mamy wiele połączonych systemów operacyjnych realizujących zadania wydruku w oparciu o model klient-serwer ✦ Sieciowy system wydruku wykorzystuje protokół sieciowy: SMB, TCP/IP, IPX/SPX lub inny do transferu zadań wydruku ✦ Serwery wydruku (ang. print spoolers) współpracują ze sobą w celu realizacji zleconych (ang. submit) zadań wydruku ✦ Print spooling: filozofia Dokument wejściowy Program klienta Serwer lokalny filtr Drukarka lokalna Dokument wyjściowy Config SPOOL lokalny Serwer zdalny SPOOL zdalny Config Drukarka zdalna filtr Dokument wyjściowy Języki poleceń drukarek ✦ PostScript (Charles W. Geschke & John E. Warnock, 1982, Xerox, Adobe) ✦ level 1,2,3 i Extreme (Supra) ✦ PCL (Printer Command Language, HP) ✦ PCL 1,2,3,4,5(np. LJ 5L),5E,5C,6 ✦ PDF (Portable Document Format, Adobe) ✦ dokumenty elektroniczne ✦ plug-in’y ✦ ✦ Graficzne formaty danych ✦ GIF - Graphics Interchange Format (1987) ✦ kompresja LZW (patent, 1995), 256 kolorów, 72dpi ✦ JPEG - Joint Photographic Engineering Group ✦ PNG - Portable Network Graphics ✦ nie używa LZW, strony WWW ✦ TIFF - Tag Image File Format (1986) ✦ ftp.adobe.com/pub/adobe/devrelations/devtechnotes/pdffiles/tiff6.pdf ✦ BMP (Microsoft), PCX (Paintbrush), XFC (GIMP) ✦ wektorowe: EPS, WMF (Office), CDR (Corel), DRW (Micrografx) Typy połączeń ✦ równoległe -LPT ✦ EPP/ECP (Enhanced Parallel Port/ Enhanced Capabilities Port) ✦ 50kbps (Centronics) do 2Mbps (ECP) ✦ Szeregowe - COM ✦ RS232C (115,2Kbps) ✦ USB 2.0 - 480Mbps ✦ IrDA - Infrared Data Association (1933) ✦ IrDA 1.0: 115,2Kbps do 1m; VFIR; 16Mbps - odchylenie 30‘ ✦ Fire Wire - IEEE 1394 (400Mbps, 63 urządzenia) ✦ BlueTooth (1998) - 2,4Ghz (802.11), 1Mbps ✦ Sieć - IPX/SPX, NetBEUI, TCP/IP, IPP ✦ Drukarka lokalna, standard TCP/IP port ✦ System sieciowy Linuxa ✦ Jądro systemu Linux realizuje protokoły sieciowe m.in. protokoły ✦ TCP/IP, IPX/SPX, SMB ✦ System Linux ma zaimplementowane systemy sieciowe ✦ NFS (Network File System) ✦ SMB (Server Message Block) - samba ✦ NCP (Network Control Program) - mars ✦ Generacja jądra systemu Linux - dodajemy obsługę drukowania (port równoległy, szeregowy, USB, PCMCIA, IrDA, WLAN) ✦ Składniki systemu wydruku ✦ Elementy programowe potrzebne do realizacji zadań wydruku ✦ program serwera (ang. spooler) ✦ program klienta ✦ pliki konfiguracyjne ✦ kolejki do drukarek ✦ filtry ✦ komendy administracyjne ✦ Elementy sprzętowe : drukarki, papier, toner... Oprogramowanie wydruku ✦ Dostępność oprogramowania ✦ Unix - dostępny w wersji źródłowej (lpd, LPRng,CUPS) ✦ ftp.LPRng.com/pub/LPRng - LPRng,filtry, LPRngTool ✦ ftp.enst.fr/pub/unix/a2ps - filtry(www.inf.enst.fr/~demaille/a2ps) ✦ www.apsfilter.org ✦ Windows NT/2K: klient jest częścią systemu, brak serwera ✦ Windows XP Prof.: klient i serwer ✦ Windows 9x - brak klienta i serwera ✦ http://tucows.icm.edu.pl/ ✦ Solstice - serwer i klient (trzeba kupić) ✦ Cygwin (biblioteka na Win32) +LPRng ✦ http://www.cygwin.com ✦ Linux -> Mars - protokół NCP ✦ Linux -> Samba - protokół SMB ✦ Oprogramowanie wydruku (c.d.) ✦ ghostscript, ghostview - pakiet obróbki *.ps ✦ http://www.cs.wisc.edu/~ghost ✦ file - sprawdzanie typu pliku ✦ http://sourceforge.net/projects/gnuwin32 ✦ pakiet psutils ✦ http://knackered.knackered.org/agnus/psutils.html ✦ ImageMagick - konwesja formatów grafiki ✦ http://www.imagemagick.org ✦ pdftohtml ✦ http://sourceforge.net/projects/pdftohtml/ ✦ htmldoc - konwersja na ps i pdf ✦ http://www.easysw.com/htmldoc/ ✦ xpdf - www.foolabs.com/xpdf/ LPRng - struktura ✦ LPRng - University of Waterloo ✦ zastępuje przestarzały system wydruku BSD ✦ http://www.lprng.com ✦ LPRng-3.8.24.tgz - ostatnia wersja z 2 stycznia 2004 r. ✦ Drukowanie w systemie LPRng ✦ serwer wydruku (ang. print spooler) : lpd ✦ kolejki spoolera: /var/spool/lpd ✦ konfiguracja: /etc/printcap, /etc/lpd.conf, /etc/lpd.perms ✦ klient: lpr, lpq, lprm (cancel) ✦ komendy administracyjne: lpc, lpstat ✦ Funkcje serwera ✦ lpd - daemon, który kontroluje wszystko co jest drukowane {na komputerze | z komputera} ✦ tryb lokalny spoolera ✦ zapamiętuje zadanie w kolejce ✦ szereguje zadania w kolecje ✦ wybiera zadania z kolejki ✦ dokonuje konwersji zadania za pomocą filtrów ✦ wysyła plik na konkretną drukarkę ✦ tryb zdalny spoolera - przesłanie (ang. forward ) zadania do zdalnego lpd ✦ Funkcje klientów ✦ lpr - program użytkownika, który kontaktuje się z lpd i umieszcza zadanie w kolejce drukowania ✦ lpq - monitoruje zawartości kolejek ✦ lprm - usuwa zadania z kolejki ✦ lpc - zarządzanie daemonem lpd ✦ lpstat - emulacja Systemu V Konfiguracja ✦ protokół - plik /etc/services ✦ printer 515/tcp #nr portu serwera lpd ✦ urządzenia we/wy - drukarki ✦ /dev/lp? ; /dev/ttyS? ✦ plik konfiguracyjny drukarek ✦ /etc/printcap ✦ man printcap ✦ pliki konfiguracyjne lpd ✦ lpd.conf - konfiguracja demona lpd ✦ lpd.perms - kontrola dostępu do demona lpd ✦ Definicje drukarek ✦ Plik /etc/printcap ✦ #drukarka lokalna lp|alias1|alias2:\ # nazwy drukarki :cm=Komentarz o drukarce:\ :lp=/dev/lp0: \ # nazwa urządzenia we/wy :sd=/var/spool/lpd/lp:\ #katalog spoolera :if=/usr/local/libexec/filters/lpf: \ #definiuje filtr :rg=printer: \ #grupa, która może używać tej drukarki :mx#0:\ # brak ograniczeń na wydruk :sh: # wyłącza drukowanie nagłówka ✦ Definicje drukarek (c.d.) ✦ Plik /etc/printcap ✦ #drukarka zdalna lp1|alias3:\ :cm=drukarka na maszynie anna: \ :lp=:rm=anna:rp=lp: # drukarka lp@anna lp3|alias4:\ :cm=drukarka sieciowa HP \ :lp=158.75.2.16%9100 :sd=/var/spool/lpd/lp3 \ :lf=log:af=acct \ # log i rozliczenie do wydruku :if=/usr/local/sbin/lpf \ :mx#0:sh: Printcap - opcje ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ af - ścieżka do pliku rozliczeniowego br - szykość transmisji w baudach lf - log file lo - plik blokujący lp - urządznie drukujące mx - wielkość zadania pl - długość strony w liniach pw - szerokość strony w znakach rm - zdalny host rp - zdalna drukarka sd - spool directory sh - drukowanie nagłówka Przykłady - RedHat ✦ /etc/printcap - lokalny ✦ lp|lab73-local:\ :sd=/var/spool/lpd/lp:\ :lp=/dev/lp0:\ :lpd_bounce=true:\ :if=/usr/share/printconf/mf_wrapper:\ :filter=/usr/libexec/filters/lpf: \ :ml=0:mx=0:sh: ✦ /etc/printcap - zdalny ✦ lp|lab73-printer:\ :lp=:rm=158.75.12.73:rp=lp:mx#0:sh: ✦ /etc/rc.d/init.d/lpd restart Konfiguracja graficzna ✦ Konfiguracja podczas instalacji ✦ Name of queue: lp ✦ Spool directory: /var/spool/lpd/lp ✦ PrintTool RedHat ✦ Control Panel->Printer Configuration->Add ✦ Local Printer - drukarka przyłączona do fizycznego portu ✦ ✦ ✦ ✦ Name: lp Spool Directory: /var/spool/lpd/lp Printer Device: /dev/lp1 Input Filter: select ✦ Remote Unix (lpd) Queue - drukarka zadalna (TCP/IP) ✦ Lan Manager Printer (SMB) - do komunikacji używamy SMB ✦ NetWare Printer (NCP) - do komunikacji używamy NCP ✦ Uprawnienia do drukowania ✦ Plik /etc/group - definicje grupy użytkowników, którzy mogą drukować ✦ printer::17:root,ewa,jan,.... ✦ plik /etc/hosts.lpd - lista maszyn, z których można drukować (BSD) ✦ plik /etc/lpd.perms - w pakiecie LPRng ✦ plik /etc/lpd.conf - w pakiecie LPRng lpd.perms ✦ plik /etc/lpd.perms ✦ zezwolenie na użycie komendy lpC rootowi na serwerze: ✦ ACCEPT SERVICE=C SERVER REMOTEUSE=root ✦ REJECT SERVICE=C ✦ zezwolenie na użycie komendy lpR tylko w sieciach 158.75.2.0 i 158.75.12.0 ✦ REJECT SERVICE=R NOT REMOTEIP=158.75.2.0/255.255.255.0 NOT REMOTEIP= 158.75.12.0/255.255.255.0 ✦ zezwolenie na użycie komendy lprM na drukarkę lp rootowi z lab73 ✦ ACCEPT SERVICE=M HOST=lab73 PRINTER=lp REMOTEUSER=root ✦ Instalacja i testowanie LPRng ✦ Instalacja ✦ ✦ ✦ ✦ ✦ ✦ gunzip -c LPRng-<wersja>.tgz | tar xvf cd LPRng-<wersja> ./configure --prefix=/usr --sysconfdir=/etc make clean all su make install ✦ Testowanie - wymaga uprawnień roota ✦ checkpc - służy do sprawdzenia konfiguracji ✦ checkpc -f -V - usuwa ewentualne błędy ✦ lpq ✦ lpc -P start Klient lpd - Unix ✦ Zarządzanie wydrukiem ✦ lpc -S serwer -P drukarka komenda ✦ komenda = hold | kill | start | stop | status ✦ Drukowanie ✦ lpr -P drukarka nazwa.pliku ✦ sprawdzanie zadania w kolejce ✦ lpq -P drukarka ✦ usuwanie zadania z kolejki ✦ lprm -P drukarka nr_zadania ✦ Klient lpd - Unix (c.d.) ✦ lpr -Pprinter@host ✦ lpr -Plp@lab73 ✦ lpr [email protected] ✦ lpr -Plp ✦ lprm -Pprinter <nr-zadania> ✦ lprm -Psmb 123 ✦ lpc -Pprinter ✦ lpc -Plp <start|restart|stop> ✦ lpq -Ppinter ✦ lpq -Plp ✦ Samba - system wydruku ✦ System sieciowy Samba pozwala na dzielenie drukarek z klientami SMB ✦ Możliwe kombinacje ✦ serwer Samby <- klient Samby - lepiej użyć lpd ✦ serwer Samby <- klient Windows ✦ klient Samby -> udział drukarkowy ✦ klient Windows -> udział drukarkowy ✦ Samba (pośrednio) wykorzystuje demona wydruku lpd Samba - system wydruku ✦ Elementy składowe konfiguracji ✦ plik /etc/printcap ✦ plik /etc/samba/smb.conf ✦ Elementy składowe oprogramowania ✦ LPRng ✦ Samba : program smbclient ✦ System Windows ✦ Drukarka pod Linuxem lub Windows ✦ Definicja drukarki - Samba ✦ Plik /etc/printcap ✦ #drukarka na Windows smb|remote-smbprinter:\ :cm=drukarka na W9x: \ :lp=/dev/null: \ :sd=/var/spool/lpd/lp: \ :if=/usr/local/sbin/smbprint-script:\ :sh: ✦ przykład skryptu smbprint-script ✦ #! /bin/sh ✦ /usr/bin/smbclient \\\\lab73\\druk -U guest -N -c ``print -`` ✦ Plik smb.conf ✦ Sekcja [printers] pozwala na dzielenie wszystkich drukarek zdefiniowanych w pliku /etc/printcap ✦ [printers] comment = Wszystkie drukarki path = /var/spool/samba #katalog spoolera drukarek SMB printable = yes #zasób drukarkowy guest ok = yes #dostęp gościnny ✦ Jeśli nie chcemy dzielić drukarek z /etc/printcap ✦ w sekcji [global] dajemy: load printers = no ✦ definiujemy udział indywidualny dla drukarki Indywidualny udział drukarkowy ✦ [druk] ✦ comment = drukarka HP ✦ printable = yes ✦ print command = /usr/bin/lpr -r -P%p %s ✦ lpq command = /usr/bin/lpq -P%p ✦ lprm command = /usr/bin/lprm -P%p %j ✦ printing = LPRng ✦ read only = yes ✦ guest ok = yes ✦ comment - komentarz przy udziale [druk] ✦ printable - udział drukarkowy Opcje udziałów drukarkowych (c.d.) ✦ print command - ustawia polecenie wydruku ✦ lpq command - ustawia polecenie przeglądania kolejki wydruku ✦ lprm command - ustawia polecenie usuwania wydruku z kolejki ✦ printing - system druku (BSD,LPRng,SYSV) Interfejs graficzny. Testowanie ✦ Printtool pozwala na graficzne definiowanie drukarek SMB w pliku /etc/printcap ✦ program SWAT pozwala na definiowanie drukarek w pliku smb.conf ✦ http://localhost:901 ✦ Konfigurację testujemy za pomocą ✦ checkpc - /etc/printcap ✦ testparm - /etc/samba/smb.conf ✦ testprns <nazwa drukarki> /etc/printcap - sprawdza czy drukarka jest w pliku /etc/printcap ✦ smbclient -L localhost - listuje udziały (drukarkowe) ✦ Klient Samby - Unix ✦ Smbclient - służy do przyłączenia drukarki ✦ smbclient \\\\lab73\\druk -U guest ✦ Password: <top-secret> ✦ smb:> print <plik> lub put <plik> ✦ Przykład innej natury ✦ smbclient \\\\lab73\\hplj5 -U guest -N -c “print <plik>“ ✦ Konfigurowanie klienta drukarki W9x ✦ W9x ✦ Otoczenie sieciowe - wybieramy drukarkę ✦ właściwości->instaluj ✦ Kreator dodawania drukarki ✦ dodaj drukarkę ✦ lokalną - port drukarki (LPT) ✦ sieciową ✦ producenci - HP ✦ drukarki - HP LaserJet 5L PCL ✦ właściwości->rozdzielczość-> 600 punktów na cal ✦ Konfigurowanie klienta drukarki W9x (c.d.) ✦ Wydruk strony (testowej) ✦ na serwerze Samby ✦ pod Windows ✦ Tryby drukowania z Windows ✦ graficzny: wybór drukarki ✦ tekstowy: z linii komend ✦ NET USE , NET PRINT ✦ Udostępnianie drukarki ✦ Ustawienia->Drukarki->drukarka lokalna->Właściwości-> >Udostępnianie ✦ - Mars - system wydruku ✦ Serwer Mars wykorzystuje demona wydruku lpd do realizacji zleceń wydruku z systemu NetWare ✦ Elementy składowe konfiguracji ✦ /etc/nwserv.conf ✦ /etc/printcap ✦ Programy klienta (z pakietu ncpfs) ✦ nprint - program wydruku ✦ pqlist - program wypisujący dostępne drukarki w systemie NetWare ✦ nwserv.conf - drukarki ✦ Konfiguracja - plik /etc/nwserv.conf ✦ # Section 21: print queues (optional) 21 LP lpr 21 LP_PS ✦ # Section 22: print server entries (optional) 22 LP_NWE LP 1 ✦ # Section 40ff: Some pathes (optional) 40 /var/spool/nwserv/.volcache 41 /var/spool/nwserv/.locks 42 /var/spool/nwserv 45 /var/nwserv/db 46 /var/nwserv/attrib ✦ Drukarka dla NetWare ✦ Plik /etc/printcap ✦ #drukarka na serwerze NetWare nw|remote-NWprinter:\ :cm=drukarka Novella : \ :lp=/dev/null: \ :sd=/var/spool/lpd/nw: \ :if=/var/spool/lpd/nprint-script:\ :sh: ✦ skrypt - nprint-script ✦ #! /bin/sh ✦ /usr/bin/nprint -S lab73 -U guest -P top-secret -q lp - ✦ Pakiet ncpfs - NetWare ✦ Program klienta ✦ nprint -S server -U username -P password -q queuename nazwa_pliku ✦ nprint -S lab73 -U guest -P top-secret -q lp plik1 ✦ Program pomocnicze ✦ pqlist - listuje serwery drukarek ✦ pqlist -S lab73 -U guest -P top-secret ✦ pqrm - usuwa zadanie z kolejki ✦ Program serwera ✦ pserver - program, który dopisuje zadania z kolejek na serwerach NetWare do lpd Linuxie ✦ pserver -S server -U username -P password -q queue ✦ Inni klienci NetWare ✦ Klienci Netware - Windows ✦ Netware Client 32 ✦ tryb graficzny ✦ Otoczenie sieciowe->NetWare Servers ✦ tryb tekstowy ✦ nlist printer ✦ nprint <plik> printer <printer> ✦ Klienci pod Linuxa ✦ Caldera (SCO): www.caldera.com - serwer wydruku ✦ Klienci lpd dla W9x/NT ✦ Windows 9x ✦ ACITS LPR - darmowy klient dla celów niekomercyjnych ✦ Solstice - trzeba kupić ✦ Windows NT/2K/XP ✦ lpr - zawarty w systemie ✦ lpr -S 158.75.12.74 -P hp <plik> ✦ lpq -S 158.75.12.74 -P hp ✦ Windows 9x ✦ C:\WINNT\SYSTEM32 ✦ LPR.EXE, LPQ.EXE, LPHELP.DLL ✦ Cygwin (cygwin1.dll) + lpr z LPRng ✦ ACITS LPR - klient lpd dla W9x ✦ University of Texas, Austin ✦ http://www.utexas.edu/academic/otl/software/lpr/ ✦ instalacja ✦ ✦ ✦ ✦ ✦ instlpr.exe dodaj drukarkę ACITS LPR Remote Printing hostname lub IP adres printer/nazwa kolejki ✦ drukowanie z linii komend ✦ ACITSLPR [-S <serwer>] [-P <printer>] [-O <filter>] [-R <remote port>] [-T <timeout>] [-B] [-# <copies>] filename1 filename2 ..... filename (#####) ✦ Print serwer dla Windows ✦ Windows NT4/2K/XP ✦ Panel Sterowania -> Dodaj/Usuń składniki systemu Windows -> Inne usługi plików i drukowanie w sieci -> Usługi drukowania dla systemu Unix ✦ lpd, lpr ✦ Windows XP ✦ obsługa protokołu IPP ✦ ograniczenie do 10 połączeń ✦ ProNFS 1.8 ✦ 9x/ME/NT/2K/XP ✦ lpd, lpr ✦ Cygwin + LPRng Windows XP – wydruk ✦ Start->Drukarki i faksy ✦ Właściwości ✦ Start->Panel sterowania->Narzędzia administracyjne>Usługi-> ✦ Serwer wydruku ✦ Server XP ✦ Bufor wydruku ✦ Spooler XP ✦ IIS – http ✦ http://localhost/printers ✦ Zapora: serwer WEB CUPS ✦ Common UNIX Printing System - 1999 ✦ http://www.cups.org ✦ Historia ✦ Unix - Berkeley LPD (rfc1179), AT&T System V - 1970✦ LPRng, Palladin, PLP - lata 90’ ✦ Internet Printing Protocol (IPP) definiuje rozszerzenia do protokołu HTTP w celu zrealizowania usług zdalnego wydruku ✦ CUPS 1.0 wykorzystuje IPP/1.0 ✦ CUPS jest oprogramowaniem GNU GPL CUPS - architektura Scheduler CUPS API config imaging filtry backends Berkeley System V LPT LPD IPP SMB CUPS - struktura ✦ Scheduler - aplikacja w postaci serwera HTTP/1.1 ✦ Config - pliki konfiguracyjne ✦ ✦ ✦ ✦ config schedulera - (podobny do httpd.conf) pliki definiujące drukarki i klasy drukarek, kolejki pliki konwersji(magic rules) i typów MIME(text/plain,..) pliki PPD (PostScript Printer Description) - opisy drukarek ✦ CUPS API - funkcje realizujące kolejkowanie, wydruk, dostęp przez protokoły HTTP i IPP ✦ Backend - program wysyłający dane na drukarki ✦ Filtry - program przetwarzający dane do wydruku ✦ Imaging - funkcje przetwarzania obrazu CUPS - instalacja ✦ tar xvzf cups-1.2.x-source.tar.gz ✦ cd cups-1.2.x ✦ ./configure ✦ make ✦ su - root ✦ make install CUPS a LPRng ✦ CUPS - domyślny w RedHat 9.0 ✦ Instalacja LPRng ✦ montowanie płyty RH9(2) ✦ mount /dev/cdrom /mnt/cdrom ✦ cd /mnt/cdrom/RedHat/RPMS ✦ rpm -i LPRng-3.8.19-3.i386.rpm ✦ Wybór systemu wydruku ✦ alternatives --display print ✦ alternatives --config print ✦ CUPS - konfigurowanie ✦ /etc/cups ✦ cupsd.conf - plik konfiguracyjny schedulera ✦ client.conf - plik konfiguracyjny klienta ✦ printer.conf - plik konfiguracyjny drukarek ✦ Print Manager - pasek Start ✦ Printtool ✦ dodanie drukarki lokalnej ✦ locally-connected: LaserJet ✦ dzielenie (ang. sharing) ✦ Action sharing: Enable LPD protocol ✦ wybór systemu sieciowego: SMB, NetWare,.... ✦ http://localhost:631 CUPS - startowanie ✦ Automatyczne w trakcie startu systemu ✦ pasek Start -> Services ✦ wybór: cups-lpd, lpd,... ✦ Ręczne ✦ service cups start ✦ service cups restart ✦ service cups stop System grafiki - założenia ✦ Większość współczesnych systemów operacyjnych jest wyposażona w użytkowy interfejs graficzny ✦ Sieciowy system operacyjny musi posiadać zaimplementowane narzędzia pozwalające na wykorzystanie tego interfejsu na zdalnych monitorach ✦ Model klient-serwer ✦ Protokól sieciowy powinien umożliwiać łączenie grafiki różnych systemów operacyjnych ✦ X Window System ✦ X Window System, lub też X11 albo X jest kompletnym interfejsem graficznym z okienkami przeznaczonym dla systemów uniksowych ✦ X-y zostały opracowane w ramach projektu Athena realizowanego przez MIT i DEC ✦ http://www.x.org ✦ XFree86 implementacja X-ów dla architektury i386 jest używana w Linuxie i Cygwinie ✦ ftp.xfree86.org/pub/XFree86 ✦ Inne implementacje: CDE, Open Look ✦ Porty 6000-6063 Systemy grafiki na W9x/NT ✦ XFree86 może działać pod systemem Windows ✦ Cygwin - emulator Unixa na W98/NT/2K/XP + XFree86 ✦ cd xfree/xc-4-binaries/4.1.0/ ✦ gunzip extract.exe ✦ sh Xinstall.sh ✦ Solstice ✦ VNC Server ✦ Microsoft Terminal Services (XP Pulpit zdalny) ✦ http://www.microsoft.com/windows2000/technologies/terminal ✦ Inne produkty ✦ http://www.citrix.com/ ✦ http://www.metrolink.com/ ✦ Klient unixowy: rdesktop Pojęcia związane z X-ami ✦ DISPLAY - zmienna środowiskowa ✦ <nazwa_komputera>:numer_displaya.numer_ekranu ✦ nazwa_komputera - specyfikuje maszynę ✦ numer_displaya - specyfikuje zwykle monitory z tą samą myszą i klawiaturą ✦ X serwer - program zajmujący się udostępnianiem zasobów graficznych ✦ X klient - program aplikacji, który wysyła żądania do X serwera (np. narysuj linię) ✦ Przykłady X klienta ✦ xterm - emuluje terminal ✦ menedżer okien - zarządzanie oknami:TWM, GNOME, KDE ✦ Pokaz działania Cygwin – wirtualny RH9 Struktura X11 ✦ /usr/X11R6 - główny katalog /usr/X11R6/bin - programy X-owe /usr/X11R6/lib - biblioteki ładowalne /usr/X11R6/lib/X11 - pliki konfiguracyjne ( lub /etc/X11) /usr/X11R6/lib/X11/app-defaults - wartości domyślne /usr/X11R6/lib/X11/fonts - katalogi z fontami /usr/X11R6/lib/x11/rgb.txt - nazwy kolorów /usr/X11/xinitrc - plik inicjujący system X /etc/X11/.Xresources - plik zasobów X /etc/X11/.Xmodmap - plik konfigurujący urządzenia wejściowe systemu X ✦ /etc/X11/xdm -menedżer sesji systemu X ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ ✦ Przykład ✦ ps -ax ✦ PID TTY STAT TIME COMMAND 1 ? S 0:04 init .............................................................. 600 ? S 0:00 xfs -droppriv -daemon -port -1 671 tty1 S 0:00 sh /usr/X11R6/bin/startx 678 tty1 S 0:00 xinit /etc/X11/xinit/xinitrc -- :0 679 ? S 0:01 /etc/X11/X :0 -auth /root/.Xauthority 682 tty1 S 0:00 /usr/bin/gnome-session 696 tty1 S 0:00 gnome-smproxy --sm-client-id default0 702 tty1 S 0:00 enlightment -clientId default2 717 tty1 S 0:00 panel --sm-client-id default8 ✦ Działanie X-ów ✦ Jedyny fragment systemu X dowiązany do konkretnego sprzętu (t.j. karty grafiki, myszy i klawiatury) to X serwer ✦ Każda zdalna aplikacja realizowana przez serwer musi po uzyskaniu zgody na realizację wynegocjować warunki swego działania ✦ Problemy wynikające z tego to ✦ ✦ ✦ ✦ ✦ startowanie X serwera uwierzytelnianie aplikacji oraz cechy wspólne określenie wartości domyślnych (zasobów graficznych) aplikacji kontrola i obsługa czcionek (fontów) Działanie X-ów (c.d.) ✦ Komenda X, initx, startx, xdm ✦ zamykanie Ctrl-Alt-Backspace ✦ Uwierzytelnianie ✦ xauth - program do uwierzytelniania dla X serwera ✦ xauth extract -$DISPLAY|rsh pc1 xauth merge - ✦ xhost - dodawanie i usuwanie hostów uprawnionych do korzystania z X serwera (/etc/X0.hosts) ✦ xhost + - dodaj wszystkich ✦ opcje aplikacji (cechy wspólne) mogą być definiowe przez użytkownika z linii komend lub zapamiętane w bazie danych o zasobach rdb (resource database) ✦ Opcje aplikacji ✦ -display host:0 ✦ -geometry szerokość x wysokość {+|-} XOFF {+|-} YOFF ✦ XOFF - odległość od lewego (+) lub prawego (-) marginesu w pixelach ✦ YOFF - odległość od górnego (+) lub dolnego (-) marginesu w pixelach ✦ xterm -geometry 80x24+30+200 -display lab78:0 +0+0 -0+0 ✦ +0 -0 -0 -0 Opcje aplikacji (c.d.) ✦ ✦ ✦ ✦ ✦ ✦ -bg kolor - kolor tła -fg kolor - kolor tekstu -bd kolor - kolor brzegu -bw liczba - szerokość brzegu okna -fn font - nazwa czcionki dla tekstu Do obsługi bazy danych rdb wykorzystuje się program xset, którym użytkownik zmienia wartości domyślne (np. czcionki) zawarte w pliku .Xresources i .Xdefaults ✦ xset b on - włącza głośniczek ✦ Definicja myszy i klawiatury : Xmodmap Obsługa czcionek ✦ Czcionki możemy brać z ✦ dysku lokalnego lub zdalnego (NFS) ✦ z serwera fontów xfs przez TCP/IP ✦ Narzędzia do obsługi czcionek ✦ xfd, xlsfonts - wylistowanie czcionek ✦ xfontsel - wyświetlenie czcionki ✦ xset - dodaje lub usuwa czcionkę ✦ xset +fp /usr/local/fonts/myfont ✦ xbdftopcf - konwertuje fonty bdf ( Bitmap Distribution Format) na pcf (Portable Compiled Format) ✦ mkfontdir - tworzy index w katalogu fonts.dir, z którego korzysta X serwer oraz serwer fontów xfs ✦ Nazwy czcionek ✦ System nazw: X Logical Font Description (XFLD) ✦ -adobe-courier-medium-r-normal--8-80-75-75-m-50-iso8859-1*-fixed-boldr-normal--13-120-*-*-*-*-*-* ✦ adobe - właściciel ✦ courier - rodzaj ✦ medium - wielkość ✦ r - krój (rozmiar) ✦ normal - szerokość ✦ 8 - rozmiar w pixelach ✦ 80 - rozmiar w dzisiątkach punktów ✦ 75 - roździelczość w dpi ✦ m - font o stałej szerokości (p - proporcjonalny) ✦ iso8859-1 - zbiór znaków Latin1 (nadzbiór ASCII) ✦ Wyszukiwanie czcionek ✦ X serwer startując buduje tablicę fontów na podstawie plików fonts.dir i fonts.alias ✦ Jeśli aplikacja żąda określonego fontu - X serwer sprawdza, czy inna aplikacja korzysta już z takiego fontu ✦ Jeśli nie, to idzie zgłoszenie do serwera fontów lub rozpoczyna się poszukiwanie w tablicy fontów ✦ Jeśli żądany font nie został znaleziony, to w zależności od ustawienia automatycznego podstawiania fontów serwer szuka podobnego fontu lub zwraca informację o błędzie ✦ XDM ✦ Jeśli chcemy mieć X-y na stałe w systemie posługujemy się menedżerem sesji xdm (ang. X Display Manager) do zainicjowania interfejsu graficznego ✦ W typowej systuacji xdm jest startowany w czasie rozruchu systemu (ang. boot) ✦ Na początku xdm pokazuje okno zalogowania ✦ Po zalogowaniu na serwer X-ów (lokalny lub zdalny) xdm inicjuje środowisko graficzne ( menedżer okien - twm) ✦ Menedżery sesji(okien): GDM(Gnome), KDM(KDE) XDMCP ✦ Xdm kontaktuje się za pomocą protokołu XDMCP (ang. X Display Manager Control Program) ✦ Port 177 ✦ XDMCP dostarcza mechanizów dla łatwej i taniej realizacji X terminala w systemie Linux ✦ Tryby kontaktowania się XDM z X serwerem ✦ broadcast - zapytanie do wszystkich hostów z xdm ✦ indirect - zapytanie do pewnego hosta z xdm, który może je przesłać dalej ✦ direct - zapytanie do konkretnego hosta, na którym działa xdm ✦ Chooser ✦ Kiedy xdm uzyskuje odpowiedź w trybie indirect, xdm może wywołać proces chooser aby wykonać kolejne zapytanie w trybie broadcast lub direct ✦ Chooser zestawia menu z nazw hostów, które oferują zarządzanie XDMCP ✦ Chooser jest wygodnym sposobem utworzenia menu o dostępnych X serwerach w imieniu bezdyskowych X terminali ✦ Pliki konfiguracyjne xdm ✦ ✦ ✦ ✦ ✦ ✦ ✦ xdm-config - główny plik konfiguracyjny xdm-errors - informacje o błędach w pracy xdm Xsession - skrypt startowy do sesji użytkownika Xaccess - uprawnienia dla dostępu Xresources - ustawienie zasobów do okna logowania xdm .Xauthority - plik uwierzytelniający użytkownika, w którym xdm przechowuje klucze odczytywane przez klientów Plik xdm-config ✦ /usr/X11/xdm/xdm-config ✦ DisplayManager.servers: /usr/X11R6/lib/X11/xdm/Xservers DisplayManager.errorLogFile: /var/log/xdm/xdm-erros DisplayManager*resources: /etc/X11/xdm/Xresources DisplayManager.accessFile: /etc/X11/xdm/Xaccess DisplayManager*startup: /usr/X11R6/lib/X11/xdm/Xstartup DisplayManager*session: /etc/X11/xdm/Xsession DisplayManager.pidFile: /var/run/xdm-pid DisplayManager._0.authorize: true DisplayManager*authorize: false ✦ Xresources - cechy aplikacji ✦ /usr/X11/xdm/Xresources ✦ ✦ XConsole.text.geometry: 480x130 XConsole.verbose: true XConsole*iconic: true XConsole*font: fixed Chooser*geometry: 700x500+300+200 Chooser*allowShellResize: false Chooser*viewport.forceBars: true Chooser*label.font: *-new century schoolbook-bold-i-normal-*-240-* Chooser*label.label: XDMCP Host Menu from CLIENTHOST Chooser*list.font: -*-*-medium-r-normal-*-*-230-*-*-c-*iso8859-1 Chooser*Command.font: *-new century schoolbook-bold-rnormal-*-180-* Xaccess - uprawnienia dostępu ✦ /etc/X11/xdm/Xaccess ✦ !lab73 # zabronione zapytania w trybie direct/broadcast lab78.domlab78.studmat.uni.torun.pl #dozwolone *.mat.uni.torun.pl NOBROADCAST # tylko direct lab78 dummy # zabroniony tryb indirect lab81 lab85 # lab81 musi zapytać lab85 które widzi każdy terminal * CHOOSER leon-2 anna ultra60 jan # # # # # menu, # Xsessions -skrypt startowy ✦ /etc/X11/xdm/Xsession ✦ # run all system xinitrc shell scripts. for i in /etc/X11/xinit/xinitrc.d/* ; do if [ -x "$i" ]; . "$i” fi done # now, we see if xdm/gdm/kdm has asked for a specific environment case $# in 1) case $1 in failsafe) exec xterm -geometry 80x24-0-0 ;; gnome) exec gnome-session ;; kde|kde1|kde2) exec /usr/share/apps/switchdesk/Xclients.kde ;; ✦ Xsessions -skrypt startowy (c.d) ✦ /etc/X11/xdm/Xsession (c.d.) ✦ twm) # fall back to twm exec /usr/share/apps/switchdesk/Xclients.twm ;; esac esac # otherwise, take default action if [ -x "$HOME/.xsession" ]; then exec "$HOME/.xsession” elif [ -x "$HOME/.Xclients" ]; then exec "$HOME/.Xclients” elif [ -x /etc/X11/xinit/Xclients ]; then exec /etc/X11/xinit/Xclients else # should never get here; failsafe fallback exec xsm fi XDM - zasady działania ✦ Wysłanie zapytania XDMCP z Win95 lub Unixa ✦ Serwer XDM sprawdza plik konfiguracyjny Xaccess i odpowiada, ignoruje zapytanie lub kieruje je do innego serwera ✦ Wysyłający zapytanie dostaje listę hostów do wyboru (menu) ✦ Użytkownik loguje się na jeden z nich ✦ XDM uruchamia skrypt Xsession (wspólny) oraz .xsession (użytkownika) ✦ Sesja kończy się: skrypt kończy działanie,logout lub xdm dostaje sygnał zakończenia ✦ GDM - przykład (RedHat) ✦ Komputer A ✦ /etc/X11/gdm/gdm.conf ✦ sekcja [xdmcp] ✦ Enable = true ✦ uruchomienie gdm ✦ /etc/inittab ✦ id:5:initdefault: ✦ Komputer B ✦ graficzne okno logowania na komputer A ✦ X -query A ✦ jeśli komputer A oferuje ‘chooser’ to można wybrać ✦ X -indirect A ✦ Pokaz działania: Cygwin pod XP (B) - wirtualny RH9 (A) VNC Serwer ✦ VNC (ang. Virtual Network Computing ) sieciowy system graficzny klient-serwer oparty o protokół RFB (remote frame buffer) ✦ www.uk.research.att.com/archive/vnc/ ✦ vnc_3_3_3r9_x86_win32.zip ✦ vnc_3_3_3r2_unixsrc.tgz ✦ vnc-latest_doc.zip ✦ Cechy ✦ ✦ ✦ ✦ serwer przechowuje aktualny desktop mały (150kB klient na W9x) niezależny od platformy (PC->Linux) darmowy (licencja GNU) ✦ RH9 – płyta 3, RPMS VNC Serwer (c.d.) ✦ Składniki ✦ ✦ ✦ ✦ vncviewer - klient Xvnc - serwer VNC oraz X-ów vncserver - skrypt w Perlu vncpasswd - program do zmiany hasła ✦ kompilacja i instalacja na Linuxie ✦ ✦ ✦ ✦ ✦ ✦ ✦ xmkmf make World cd Xvnc make World cd .. ./vncinstall /usr/local/bin VNC Serwer (c.d.) ✦ Zasada działania ✦ vncviewer<--VNC-->Xvnc<--X-->Aplikacja X ✦ Inicjalizacja serwera ✦ ✦ ✦ ✦ ✦ ✦ ✦ vncserver You will require a password to access your desktops. Password: top-secret Verify: top-secret New `X` desktop is lab73:1 Creating default startup setup..... VNC Serwer (c.d.) ✦ Startowanie/stopowanie ✦ Linux <host> ✦ vncserver ✦ tworzy plik ./vnc/xstartup ✦ zwraca numer <display> ✦ Uruchomianie klienta ✦ Programy->Vnc->VNCviewer ✦ VNC: <host>:<display> ✦ Session password: top-secret ✦ vncserver -kill :<display> ✦ Pokaz działania z wirtualnego W98 na wirtualny Linux Citrix ✦ Citrix Metframe XP pozwala na uzyskanie pulpitu W2K na dowolnym komputerze w sieci ✦ Architektura Server-based Computing ✦ 100% aplikacji wykonuje się na serwerze ✦ Independent Computing Architecture i MultiWin (MS Terminal Server) ✦ Korzyści ✦ ✦ ✦ ✦ ✦ lepsze zarządzanie szybszy dostęp do aplikacji większa wydajność i bezpieczeństwo (SSL, 128b) obniżenie kosztów utrzymania systemu darmowy klient na Linuxa Rdesktop ✦ rdesktop - klient typu open source dla WNT/2K/XP Terminal Services działający w oparciu o protokół RDP (ang. Remote Desktop Protocol) ✦ www.rdesktop.org ✦ Zastosowanie ✦ Serwer: W2K Server, XP Professional ✦ Klient: {Linux | Cygwin}+XFree86 ✦ Efekt: pulpit W2K/XP na {Linuxie | Cygwinie} ✦ RH9 – rdesktop-1.2.0-1.i386.rpm ✦ Pokaz działania - vrh9, Cygwin Pulpit zdalny ✦ Serwer – WX Professional, W2003 Server ✦ Klient – WXP, W2K, WNT, WMe, W9x ✦ Oprogramowanie CD-ROM instalacyjny ✦ http://www.microsoft.com/windowsxp/pro/downloads/rdcl ientdl.asp ✦ Włączanie – Panel Sterowania->System>Zdalny ✦ Pokaz działania (zapora – Pulpit zdalny (port 3389)) Literatura ✦ A. Silberschatz & P. B. Gavin - Podstawy systemów operacyjnych, WNT, Warszawa 2000 ✦ A. S. Tannenbaum - Rozproszone systemy operacyjne, WNT, Warszawa, 1997 ✦ D. E. Comer - Sieci komputerowe i intersieci, WNT, Warszawa, 2003 ✦ Æ. Frisch - Unix. Administracja systemu, RM, 2003 Literatura (c.d.) ✦ M. Welsh, M. Dalheimer, L. Kaufamn - Linux, RM, Warszawa, 2000 ✦ C. Hunt - Serwery sieciowe Linuksa, Mikom, Warszawa, 2000 ✦ www.24sevenbooks.com/linux.html ✦ O. Kirch, T. Dawson, Linux - podręcznik administratora sieci, RM, Warszawa, 2000 ✦ ftp.icm.edu.pl/pub/Linux/sunsite/docs/LDP/nag2.pdf ✦ U. Vahalia - Jądro systemu UNIX, WNT, Warszawa, 2001 ✦ D. Bovet - Linux Kernel, RM, Warszawa 2001 Literatura (c.d.) ✦ R. Eckstein, D. Collier-Brown, P. Kelly - Samba, RM, Warszawa, 2000 ✦ LinuxPlus, SOFTWARE, Wyd. Sp. z o.o. ✦ Strona WWW ✦ http://pl.samba.org/samba/samba.html ✦ J. E. Gaskin - Netware 5, Exit, Warszawa, 1999 Windows XP - Literatura ✦ Podręcznik online ✦ Start->Pomoc i obsługa techniczna ✦ E. Bott & C. Siechert, Windows XP, RM, Warszawa, 2002 ✦ C. Simmons & J. Causey, Windows XP w sieciach, RM, Warszawa, 2003 Podsumowanie (1) ✦ Systemy wydruku CUPS i LPRng doskonale nadają się w dużych instalacjach, bowiem są nowoczesne, bezpieczne, efektywne, skalowalne oraz działają pod systemem Linux ✦ Samba w połączeniu z LPRng daje mozliwość łatwego i bezpiecznego dostępu do drukarek z komputerów działających w sieci Microsoft ✦ Mars pozwala na łatwe drukowanie w systemie Linux z komputerów działających w sieciach NetWare ✦ Podsumowanie (2) ✦ X Window System jest potężnym narzędziem graficznym dostępnym w systemie Linux ✦ X Window jest praktycznie standardem dla uniksowych systemów operacyjnych ✦ X Window pozwala na dystrubucje usług graficznych w sieciach komputerowych ✦ System Linux wyposażony w system XFree86 może dostarczać interfejs graficzny na bezdyskowych komputerach (X terminale) ✦ Cygwin pod Windows może być serwerem grafiki oraz druku