ApplePrint.pl.txt

(31 KB) Pobierz
  Jak ustawić drukarkę używającą AppleTalk
  Autor: Werner Eugster, eugster@giub.unibe.ch
  Wersja polska: Bartosz Maruszewski
  B.Maruszewski@zsmeie.torun.pl
  v1.01, 26 Lipca 1997


  Jako użytkownik Linux-a chcesz mieć dostęp do drukarek Mac-a takich
  jak LaserWriter siedzących na sieci z kontrolerem EtherTalk. Jako
  użytkownik Mac-a chcesz mieć dostęp do wszystkich drukarek na Linux-
  ie. Aby ustawić taki serwis na Linux-ie musisz postępować według tej
  samej procedury w obu przypadkach.  Po skompilowaniu i zainstalowaniu
  oprogramowania AppleTalk netatalk (jeśli tego nie zrobiłeś, to
  przeczytaj najpierw Podręcznik instalacji atalk <http://thehamp­
  tons.com/anders/netatalk> napisany przez Andersa Brownwortha) pewnie
  już uruchomiłeś wszystkie demony poprzez rc.atalk w swoim katalogu
  /etc. Ale najpierw upewnij się, że serwis AppleTalk rzeczywiście
  działa zanim zaczniesz konfigurować drukarki.  Ja używam netatalk w
  wersji 1.3.3 z łatami opisanymi w Przewodniku instalacyjnym Andersa
  Brownwortha. Powiedziano mi, że ścieżka do filtrów netatalk zmieniła
  się w nowszych wersjach.

  1.  Moja strefa AppleTalk.


  Napisz /usr/local/atalk/bin/getzones, aby sprawdzić czy wszystkie
  strefy AppleTalk są widziane przez Linux-a. Powinieneś widzieć
  przynajmniej jedną nazwę, która jest twoją strefą lokalną, w innym
  przypadku bardzo prawdopodobne jest, że twój serwis AppleTalk nie
  działa poprawnie. Ja dostaję coś takiego (tylko kilka pierwszych
  linii):


          Pingo$ /usr/local/atalk/bin/getzones | more
          VLSB
          LSB-Integrative Biology
          LSB-Biology Library
          LSB-Herbaria
          LSB-UCMP
          LSB-MVZ
          Vanishing Packets
          MIP
          Barker Hall



  Przy pomocy opcji dowiesz się która jest twoją strefą:


          Pingo$ /usr/local/atalk/bin/getzones -m
          VLSB
          Pingo$



  Tak więc moją strefą lokalną jest VLSB, kompletną listę wszystkich
  lokalnych stref można uzyskać przy pomocy opcji -l (w razie gdy twoja
  drukarka nie jest w twojej strefie musisz znać dokładną nazwę strefy).


  2.  Dowiedz się jaka jest nazwa drukarki.


  Jeśli chcesz tylko, aby lokalna drukarka UNIX-owa była dostępna dla
  klientów AppleShare, to przeskocz tę sekcję i idź do ``sekcji nr 3''.

  Najpierw musimy się dowiedzieć jak są zdefiniowane nazwy Internetowe w
  AppleTalk. Jest to bardzo podobne do tego co znasz ze swojego Linux-a.
  Nazwy występują w formie: objekt:typ@strefa. Jeśli nie zależy ci na
  nazwie strefy lokalnej to użyj @*.

  Tak więc, aby znaleźć wszystkie objekty w twojej strefie, napisz
  /usr/local/atalk/bin/nbplkup, co wypluje wielką listę, z elementami
  jak ten:


  Pingo$ /usr/local/atalk/bin/nbplkup |more
           Sun ValleyUs Macintosh:Macintosh IIsi           12398.245:253
           Sun ValleyUs Macintosh:Workstation              12398.245:4
         IB Instructional Support:  Power Macintosh        12398.196:253
         IB Instructional Support:Workstation              12398.196:4
                    centris 660AV:  Macintosh              12398.51:253
                    centris 660AV:Workstation              12398.51:4
             Chapin Lab vx - JoeC:Macintosh IIvx           12398.101:253
             Chapin Lab vx - JoeC:Workstation              12398.101:4
                Pingo Mac Printer:LaserWriter              12398.164:129
            Pingo Default Printer:LaserWriter              12398.164:128
                            Pingo:AFPServer                12398.164:130
                            Pingo:netatalk                 12398.164:4
                            Pingo:Workstation              12398.164:4
                        Lucicutia:AFPServer                12398.123:248
             Theobald Chapin, III:LaserWriter              12398.73:191



  Jeśli chcesz znać tylko objekty konkretnego typu jak LaserWriter,
  musisz użyć /usr/local/atalk/bin/nbplkup :LaserWriter. Upewnij się, że
  wstawiłeś dwukropek, który oznacza, że chcesz znać tylko objekty typu
  LaserWriter. Słowo nie może zawierać dużych liter, ale nie możesz
  ominąć spacji. Tak więc, żeby zobaczyć Macintosh IIvx musisz wstawić
  nazwę typu w cudzysłowia:


  Pingo$ /usr/local/atalk/bin/nbplkup  :"Macintosh IIvx"
             Chapin Lab vx - JoeC:Macintosh IIvx           12398.101:253
  Pingo$



  Dobra. Krótko: Chcę móc drukować z mojego Linux-a na LaserWriter o
  nazwie Theobald Chapin, III. Zanim spróbujesz ustawić printcap dla
  kolejki tej drukarki, upewnij się czy masz dostęp do tej drukarki.

  Napisz /usr/local/atalk/bin/papstatus -p "Theobald Chapin, III"
  (zauważ, że cudzysłowia służą tylko temu, aby poinformować twoją
  powłokę, iż Theobald Chaplin, III to jeden argument a nie trzy) i
  powinieneś otrzymać coś takiego:


  status: idle



  Jeśli nie, to sprawdź czy AppleTalk rzeczywiście działa (może demon
  nie jest uruchomiony ? Sprawdź tak: ps -xa | grep atalkd i ps -xa |
  grep afpd).

  Ponieważ LaserWriter spodziewa się PostScriptu, powinieneś mieć pod
  ręką krótki plik testowy w PostScripcie. Nazwa mojego pliku to:
  test.eps i mogę go wysłać bezpośrednio do Theobald Chaplin, III
  uruchamiając klienta drukowania AppleShare:

  /usr/local/atalk/bin/pap -p "Theobald Chapin, III":LaserWriter@VLSB test.eps



  Zauważ, że dołaczyłem nazwę strefy tylko po to, żeby się upewnić, że
  wszystko działa dobrze. Jeśli twoje zadanie drukowania się pojawi (co
  sekundę - czy jakoś tak - otrzymasz komunikat jeśli ktoś inny używa
  drukarki w tym samym momencie. Obserwuj odpowiedź twojej drukarki i co
  robi kiedy zacznie drukować twój plik).

  Jeśli będziesz miał jakieś kłopoty, użyj aecho, aby sprawdzić objekty
  AppleTalk w ten sam sposób jakbyś używał ping-a przez TCP/IP (Ctrl-C
  zatrzymuje aecho):


  /usr/local/atalk/bin/aecho "Theobald Chapin, III":LaserWriter@VLSB
  14 bytes from 12398.73: aep_seq=0. time=15. ms
  14 bytes from 12398.73: aep_seq=1. time=14. ms
  14 bytes from 12398.73: aep_seq=2. time=14. ms
  14 bytes from 12398.73: aep_seq=3. time=14. ms

  ----12398.73 AEP Statistics----
  5 packets sent, 4 packets received, 20% packet loss
  round-trip (ms)  min/avg/max = 14/14/15
  Pingo$



  Powinieneś stracić tylko ostatni pakiet przy przerwaniu Ctrl-C, w
  innym wypadku coś jest nie talk z twoim połączeniem.


  3.  Ustawianie serwisu drukowania na Linux-ie.


  Będą dwa kroki. Najpierw upewnisz się, że możesz drukować na Linux-ie
  potem upewnisz się, że ta drukarka jest dostępna dla klientów
  AppleShare.

  Mówiąc jaśniej: najpierw ustawisz swoją drukarkę, żeby była dostępna
  dla UNIX-a (lpd - demona drukowania) (sekcja 3.1 do 3.2), a potem
  udostępnisz ją innym użytkownikom w strefie AppleTalk (sekcja 3.3) co
  jest oczywiście opcjonalne.

  Wielu ludzi nie lubi ustawiania z dwóch powodów:
  drukarka AppleTalk jest już dostepna w strefie AppleTalk, to
  użytkownicy Mac-ów mogą się do niej bezpośrednio dołączyć. Więc nie ma
  potrzeby istnienia kolejki na Linux-ie. Jednak ja jestem użytkownikiem
  Linux-a i chcę mieć dostęp do tej drukarki i dlatego mój poniższy opis
  robi dokładnie to: pozwala użytkownikowi Linux-a na drukowanie na
  drukarce AplleTalk.
  jest drukarką lokalną podłączoną do równoległego portu Linux-a (np.
  /dev/lp1), to jest kilka zmian w pliku /etc/printcap. Ja pokażę
  przykład ustawienia z drukarką lokalną, którego nie testowałem, ale
  dostałem od innego użytkownika. Przeczytaj ``sekcję 3.4'' na ten temat
  i sprawdź szczegółowe informacje na temat używania Ghostscript-u razem
  z Netatalk <http://artoo.hitchcock.org/~flowerpt/projects/linux-
  netatalk/ghostscript.html> napisane przez Mike'a Pearsona i Billa
  McGonigle'a.


  3.1.  Konfiguracja twojego /etc/printcap.


  Jeśli twoja drukarka może już drukować przy pomocy polecenia

  Pingo$ lpr -P lp test.eps



  to możesz przeskoczyć ten pierwszy krok.

  W innym przypadku stań się "root-em" i idź do katalogu /etc, żeby
  wyedytować plik printcap. Szczegóły znajdziesz na stronie podręcznika
  systemowego "man". Ja opiszę tylko jak ustawić LaseWriter, tak żeby
  działał z poleceniem lpr z Linux-a.

  Dodaj pozycję dla swojej drukarki do pliku printcap. Ja mam
  zdefiniowaną tylko LaserWriter i mój plik wygląda tak:


  lp|Pingo LaserWriter|Theobald Chapin, III:\
          :sd=/usr/spool/theobald:\
          :lp=/dev/null:\
          :pl#63:pw#85:\
          :mx#0:\
          :sh:sf:\
          :lf=/usr/adm/lpd-errs:\
          :if=/usr/local/bin/myif:\
          :of=/usr/local/atalk/etc/ofpap:




  3.1.1.  nazwa drukarki dla użytkowników Linux-a


  Pierwsza linia definiuje trzy logiczne nazwy, które nie muszą mieć
  żadnego podobieństwa do nazw, jakie chcesz nadać tej drukarce w
  kliencie AppleShare. Dlatego nazwałem ją lp, ponieważ jest to nazwa
  stosowana w większości UNIX-ów. Inne nazwy stosuję tylko po to, żeby
  wiedzieć co to właściwie za drukarka.


  3.1.2.  katalog zadań


  Potem musisz mieć katalog zadań, gdzie demon będzie składował zadania.
  Ja nazwałem swój katalog zadań /usr/spool/theobald w tej samej
  hierarchii co katalog poczty.


  Pingo$ ls -l
  drwxrwxr-x   2 root     mail         1024 Feb  8 08:46 mail
  drwxr-xr-x   2 root     mail         2048 Feb  8 17:23 mqueue
  drwxrwxr-x   5 news     news         1024 Sep  1  1994 news
  drwxrwxr-x   2 root     lp           1024 Feb  9 13:15 theobald



  Stwórz go używając mkdir a potem ustaw właściciela (root), grupę (lp)


  Pingo$ chown root.lp theobald



  i prawa dostępu


  Pingo$ chmod 775 theobald

  Potem stworzyłem dwa pliki: lock i status w tym katalogu:


  Pingo$ cd theobald
  Pingo$ touch lock; chown root.root lock; chmod 004 lock
  Pingo$ touch status; chown root.root status; chmod 664 status



  teraz możesz zdefiniować ten katalog jako katalog zadań jak ja to
  zrobiłem w...
Zgłoś jeśli naruszono regulamin