Sophie

Sophie

distrib > Mandriva > 8.1 > i586 > by-pkgid > 1d876fa8c1caf5809b8232d098efff65 > files > 47

howto-text-pl-8.1-1mdk.noarch.rpm

  Kolory na terminalach Linux-owych.
  Autor: Thorbjørn Ravn Andersen, ravn@dit.ou.dk v1.4, 7
  Sierpnia 1997 WWeerrssjjaa ppoollsskkaa:: BBaarrttoosszz
  MMaarruusszzeewwsskkiiBB..MMaarruusszzeewwsskkii@@jjttzz..oorrgg..ppll..  v1.3, 5 Listopada 1997


  Wiêkszo¶æ dystrybucji Linux-a ma polecenie 'ls' s³u¿±ce do wy¶wietla­
  nia zawarto¶ci katalogu, które mo¿na znacznie uatrakcyjniæ u¿ywaj±c
  ró¿nych kolorów, ale skonfigurowanie tego zgodnie z w³asnymi upodoba­
  niami mo¿e nie byæ tak± ³atw± spraw±.  Dokument ten opisuje ró¿ne
  aspekty i podej¶cia ustawiania polecenia 'ls' przez konfigurowanie
  istniej±cego oprogramowania plus lokalizacja alternatywnego opro­
  gramowania nie zawartego w dystrybucjach Slackware czy RedHat, którego
  mo¿na u¿yæ na wiêkszo¶ci systemów unix-owych.  Wersja HTML (w orygi­
  nale) jest tak¿e dostêpna na mojej stronie WWW
  <http://www.dit.ou.dk/~ravn/colour-ls>.  Dokument ten zosta³ napisany
  w standardzie ISO-8859-2.
  ______________________________________________________________________

  Spis tre¶ci


  1. Wprowadzenie.

  2. Szybki start dla niecierpliwych.

  3. Czy ja to w ogóle mam?

  4. Z jakich kolorów mo¿na wybieraæ ?

  5. Jak skonfigurowaæ kolory dla ls?

  6. Jak skonfigurowaæ inny standard tekstowy ni¿ bia³e-na-czarnym ?

     6.1 Xterm.
     6.2 Konsole wirtualne.
        6.2.1 /etc/issue
        6.2.2 /etc/profile lub .profile.
        6.2.3 /etc/login lub .login
     6.3 Logowanie zdalne.

  7. Oprogramowanie.

  8. Od t³umacza.



  ______________________________________________________________________

  11..  WWpprroowwaaddzzeenniiee..


  W ostatnich latach kolorowe monitory sta³y siê bardzo popularne, i
  u¿ytkownicy zaczynaj± to wykorzystywaæ przez u¿ywanie programów, które
  wykorzystuj± kolory do wizualizacji ró¿nych szczegó³ów takich jak
  s³owa kluczowe w jêzykach programowania czy podkre¶lenie s³ów ¼le
  napisanych.

  Poniewa¿ konsola Linux-owa obs³uguje kolory, oryginalna wersja GNU ls
  zosta³a szybko zmodyfikowana, aby wy¶wietlaæ kolorowe informacje i
  program ten zosta³ do³±czony do dystrybucji Slackware ok. wersji 2.0.
  Ulepszone wersje tych ³at wesz³y w sk³ad standardowej dystrybucji GNU
  ls i dlatego powinny byæ czê¶ci± wszystkich nowych dystrybucji Linux-
  a.


  Wersja ta jest w g³ównej mierze przepisan± wersj± pierwotn±
  zawieraj±c± informacje na temat xterminala i ³atania j±dra.

  Informacja zawarta w tym dokumencie zosta³a sprawdzona na dystrybucji
  RedHat 4.1 i zosta³a oryginalnie skompilowana na dystrybucji Slackware
  2.0.2 i j±drze w wersi 1.1.54. Informacje na temat ³aty zosta³y
  uzyskane z Dystrybucji Slackware 2.2.0 z j±drem 1.2.13 i pow³ok± tcsh
  jako domy¶ln± oraz pó¼niej sprawdzona na j±drze 2.0.27. Je¶li u¿ywasz
  jakiej¶ innej konfiguracji czy wersji unix-a, to bêdê wdziêczny za
  info na temat systemu operacyjnego i wersji oraz czy kolory s±
  dostêpne jako standardowe.


  22..  SSzzyybbkkii ssttaarrtt ddllaa nniieecciieerrpplliiwwyycchh..


  Je¶li masz _n_o_w_± dystrybucjê Linux-a, to zmodyfikuj pliki w swoim
  katalogu domowym tak jak to pokazano. Efekt bêdzie widoczny po
  ponownym zalogowaniu siê.



       ~/.bashrc:
           alias ls="ls --color"

       ~/.cshrc:
           alias ls 'ls --color'





  I to wszystko!

  Mo¿esz tak¿e zrobiæ swój plik .colourrc, ¿eby mieæ swoje kolory
  (``dircolors -p >$HOME/.colourrc''). Jest tam du¿o komentarzy, wiêc
  nie powiniene¶ mieæ problemów z modyfikacjami. Po ustawieniu
  wszystkich kolorów piszesz ``eval `dircolors $HOME/.colourrc`'' ¿eby
  ustawienia zadzia³a³y.


  33..  CCzzyy jjaa ttoo ww ooggóóllee mmaamm??


  Przede wszystkim powiniene¶ wiedzieæ czy masz wersjê ls, która umie
  kolorowaæ. Spróbuj wydaæ takie polecenie na konsoli Linux-owej
  (chocia¿ na xterm-ie te¿ powinno siê udaæ):



       % ls --color




  (% jest tu znakiem zachêty systemu).

  Je¶li dostaniesz komunikat o b³êdzie mówi±cy, ¿e ls nie rozumie tej
  opcji, to musisz zainstalowaæ nowsz± wersjê pakietu GNU fileutils.
  Je¶li nie masz odpowiedniego pakietu aktualizacyjnego dla swojej
  dystrybucji, to ¶ci±gnij ostatni± wersjê z najbli¿szego ci lustra GNU
  i zainstaluj bezpo¶rednio ze ¼ród³a.

  Je¶li _n_i_e dosta³e¶ komunikatu o b³êdzie, to masz ls, które rozumie to
  polecenie. Niestety niektóre wcze¶niejsze wersje zawarte w dystrybucji
  Slackware (i mo¿liwe, ¿e w innych) mia³y b³êdy. ls zawarte w
  dystrybucji RedHat 4.1 jest w wersji 3.13, która jest w porz±dku.



       % ls --version
       ls - GNU fileutils-3.13




  Je¶li uruchomi³e¶ polecenie ``ls -- color'' na konsoli tekstowej
  Linux-a, to rezultat powienien byæ pokolorowany zgodnie z domy¶lnymi
  ustawieniami i mo¿esz teraz zdecydowaæ czy jest co¶ co chcesz zmieniæ
  czy nie.

  Je¶li uruchomi³e¶ je w xterm-ie, to mog³e¶ lub nie - zauwa¿yæ zmianê w
  kolorach. W przeciwieñstwie do ls, oryginalny program xterm nie
  obs³ugiwa³ kolorów dla programów uruchamianych w nim, ale ostatnie
  wersjê to robi±. Je¶li twój xterm nie obs³uguje kolorów, to powiniene¶
  zdobyæ nowsz± wersjê tak jak to opisano na koñcu tego dokumentu. W
  miêdzyczasie prze³±cz siê na tryb tekstowy i pracuj tam.


  44..  ZZ jjaakkiicchh kkoolloorróóww mmoo¿¿nnaa wwyybbiieerraaææ ??


  Ten skrypt (dziêki dla wielu tych, którzy przys³ali mi wersjê bash)
  pokazuje wszystkie standardowe kombinacje kolorów na bie¿±cej konsoli.
  Je¶li ¿adne kolory sie nie pojawi±, oznacza to, i¿ twoj± konsola nie
  obs³uguje ANSI.


     #!/bin/bash
     # Wy¶wietl kolory ANSI.
     #
     esc="\033["
     echo -n " _ _ _ _ _40 _ _ _ 41_ _ _ _42 _ _ _ 43"
     echo "_ _ _ 44_ _ _ _45 _ _ _ 46_ _ _ _47 _"
     for fore in 30 31 32 33 34 35 36 37; do
       line1="$fore  "
       line2="    "
       for back in 40 41 42 43 44 45 46 47; do
         line1="${line1}${esc}${back};${fore}m Normal  ${esc}0m"
         line2="${line2}${esc}${back};${fore};1m Bold    ${esc}0m"
       done
       echo -e "$line1\n$line2"
     done



  Numer koloru pierwszego planu jest pokazany po lewej stronie, a t³a -
  w prostok±cie. Je¶li chcesz znaki jaskrawe dodajesz "1" do parametrów,
  tak ¿e jasny niebieski na bia³ym to: "37;44;1". Ca³a sekwencja
  selekcji to: ESC [ 3 7 ; 4 4 ; 1 m.

  Uwaga: T³o w chwili obecnej nie mo¿e byæ jaskrawe, wiêc nie mo¿esz
  mieæ ¿ó³tego (jaskrawy br±zowy) jako co¶ innego ni¿ pierwszy plan.
  Limit ten wynika ze sprzêtu.


  The colours are:
          0 - black    4 - blue           3# is foreground
          1 - red      5 - magenta        4# is background
          2 - green    6 - cyan
          3 - yellow   7 - white          ;1 is bold

  55..  JJaakk sskkoonnffiigguurroowwaaææ kkoolloorryy ddllaa llss??


  Je¶li chcesz zmodyfikowaæ standardowe kolory, to potrzebujesz swojej
  osobistej kopii w swoim katalogu domowym, co uzyskasz przy pomocy
  polecenia:


  % cd ; dircolors -p > .coloursrc



  Po modyfikacji tego dobrze skomentowanego pliku musisz wczytaæ go do
  zmiennej ¶rodowiskowej LS_COLORS, co mo¿na zwykle zrobiæ poleceniem:


       eval `dircolors .colourrc`



  Musisz umie¶ciæ tê liniê w swoim .bashrc (.cshrc, .tcshrc) (w
  zale¿no¶ci od twojej pow³oki), aby robiæ to automatycznie przy ka¿dym
  logowaniu siê. Wiêcej szczegó³ów znajdziesz w stronie podrêcznika man
  dircolors(1).


  66..  JJaakk sskkoonnffiigguurroowwaaææ iinnnnyy ssttaannddaarrdd tteekkssttoowwyy nnii¿¿ bbiiaa³³ee--nnaa--cczzaarrnnyymm ??


  Bêdziesz musia³ przekazaæ sterownikowi twojego terminala kod, który
  chcesz mieæ jako domy¶lny. Nie ma standardowego sposobu, aby to
  zrobiæ, ale w przypadku Linux-a masz program setterm.

  "setterm" u¿ywa informacji zawartych w bazie danych o terminalach, aby
  ustawiæ atrybuty. Tak siê wybiera:


       setterm -foreground black -background white -store



  gdzie -store poza w³a¶ciw± zmian± powoduje, ¿e ustawienia staj± siê
  tak¿e domy¶lne dla bie¿±cej konsoli. Wymaga to, aby bie¿±cy terminal
  (zmienna ¶rodowiskowa TERM) by³ opisany "wystarczaj±co dobrze" w bazie
  danych "termcap". Je¶li setterm z jakich¶ powodów nie dzia³a, to tu
  jest kilka alternatyw:


  66..11..  XXtteerrmm..


  Jeden z tych Xterminali powinien byæ dostêpny i przynajmniej jeden z
  nich obs³uguje kolory.


       xterm -fg white -bg blue4
       color_xterm -fg white -bg blue4
       color-xterm -fg white -bg blue4
       nxterm -fg white -bg blue4



  gdzie 'color_xterm' obs³uguje kolorow± wersjê 'ls'. Ten konkretny
  wybór przypomina kolory u¿ywane na SGI.


  66..22..  KKoonnssoollee wwiirrttuuaallnnee..


  Mo¿esz zmodyfikowaæ j±dro raz na zawsze, tak samo jak udostêpniaj±c
  standard podczas dzia³ania dla konsol wirtualnych przez sekwencjê ze
  znakiem ESC. Je¶li skompilowa³e¶ swoje w³asne j±dro to zalecam
  modyfikacjê j±dra.

  Plik ze ¼róde³ j±dra, który powiniene¶ zmodyfikowaæ oko³o linii 1940,
  to /usr/src/linux/drivers/char/console.c


             def_color       = 0x07;   /* white */
             ulcolor         = 0x0f;   /* bold white */
             halfcolor       = 0x08;   /* grey */



  Ja u¿ywam bia³ego na niebieskim:


             def_color       = 0x17;   /* white */
             ulcolor         = 0x1f;   /* bold white */
             halfcolor       = 0x18;   /* grey */



  Liczby to kody atrybutów w postaci szesnastkowej u¿ywane przez kartê
  graficzn±: najbardziej znacz±ca cyfra ("1" w przyk³adzie powy¿ej) jest
  t³em; najmniej znacz±ca - pierwszym planem.  0=czarny, 1=niebieski
  2=zielony, 3=jasno-niebieski, 4=czerwony, 5=purpurowy,
  6=br±zowy/¿ó³ty, 7=bia³y. Dodaj 8, aby uzyskaæ kolory jaskrawe.
  Zauwa¿, ¿e w wiêkszo¶ci przypadków jaskrawe t³o = mrugaj±ce znaki,
  matowe t³o.  (Od sjlam1@mda023.cc.monash.edu.au
  <mailto:sjlam1@mda023.cc.monash.edu.au>).

  Mo¿esz tak¿e dostarczyæ nowy standard podczas dzia³ania dla
  wirtualnych konsol, na bazie na-ekran z niestandardowymi sekwencjami
  ANSI (znalaz³em podczas przgl±dania ¼róde³ j±dra)


       ESC [ 8 ]



  która ustawia domy¶lne kolory na bie¿±ce t³o i pierwszy plan.  Wtedy
  ³añcuch resetuj±cy atrybuty (ESC [ m) wybiera te kolory zamiast
  bia³ego i czarnego.

  W³a¶ciwie bêdziesz musia³ wys³aæ ten ³añcuch na konsolê poleceniem
  echo za ka¿dym razem kiedy restartujesz komputer. Zale¿nie od tego do
  czego u¿ywasz swojego Linux-a, mo¿e byæ kilka odpowiednich miejsc:


  66..22..11..  //eettcc//iissssuuee


  To jest miejsce, gdzie wy¶wietla siê komunikat "Welcome to Linux
  xx.yy", i jest to dobry wybór dla komputera, na którym pracujesz tylko
  ty. (Przypuszczalnie bêdzie zmor± dla u¿ytkowników loguj±cych siê
  zdalnie przy pomocy telnet-a). Plik ten jest tworzony podczas startu
  (Slackware w /etc/rc.d/rc.S; RedHat w /etc/rc.d/rc.local), i
  powiniene¶ zmodyfikowaæ linie wygl±daj±ce mniej wiêcej tak:



       echo ""> /etc/issue
       echo Welcome to Linux /bin/uname -a | /bin/cut -d\  -f3. >> /etc/issue




  na:


       ESCAPE="<wstaw tu znak escape>"
       echo "${ESCAPE}[H${ESCAPE}[37;44m${ESCAPE}[8]${ESCAPE}[2J"> /etc/issue
       echo Welcome to Linux /bin/uname -a | /bin/cut -d\  -f3. >> /etc/issue



  Ten kod spowoduje przesuniêcie kursora na pocz±tek strony, ustawienie
  koloru (tutaj: bia³y na niebieskim), zapisanie tego wyboru i
  wyczyszczenie reszty ekranu. Modyfikacja zadzia³a przy nastêpnym
  starcie systemu. Zapamiêtaj, aby wpisaæ kod klawisza ESC przy pomocy
  Ctrl-Q w emacs-ie, Ctrl-V w vi lub `Esc w joe, bo wygl±da na to, ¿e
  pow³oka, w której siê uruchamia ten skrypt nie rozumie sekwencji:
  /033.


  66..22..22..  //eettcc//pprrooffiillee lluubb ..pprrooffiillee..



       if [ "$TERM" = "console" ]; then
           echo "\033[37;44m\033[8]" #
     # albo u¿yj setterm
           setterm -foreground white -background blue -store
       fi




  66..22..33..  //eettcc//llooggiinn lluubb ..llooggiinn



       if ( "$TERM" == "console" ) then
         echo "\033[37;44m\033[8]"
     # albo u¿yj setterm
           setterm -foreground white -background blue -store
       endif




  66..33..  LLooggoowwaanniiee zzddaallnnee..


  Powiniene¶ byæ w stanie u¿yæ setterm tak jak to by³o pokazane wy¿ej.
  Jeszcze raz: wymaga to, aby zdalny komputer wiedzia³ wystarczaj±co
  du¿o na temat twojego terminala i ¿eby emulator terminala, przy pomocy
  którego siê logujesz, obs³ugiwa³ kolory. Z moich do¶wiadczeñ wynika,
  ¿e najlepszymi emulatorami vt100 dostêpnymi obecnie na inne platformy
  to:


  ·  MS-DOS:         MS-Kermit (darmowy, nie jest prod. Microsoftu)

  ·  Windows 95/NT:  Kermit/95 (shareware)


  ·  OS/2:           Kermit/95 (shareware).  Zauwa¿ jednak, ¿e
     standardowy telnet rozumie kolory i mo¿na go ustawiæ lokalnie.

  Szczegó³y na temat Kermita znajdziesz na
  <http://www.columbia.edu/kermit/>


  77..  OOpprrooggrraammoowwaanniiee..


  Wszystkie informacje opisane tutaj zak³adaj± instalacjê GNU/Linux-a.
  Je¶li masz co¶ innego (jak np. Sun-a z X-ami czy co¶ takiego), to
  mo¿esz zdobyæ i samemu sobie skompilowaæ programy.

  Kolorowa wersja xterm-a jest oparta na standardowych ¼ród³ach xterm-a
  z ³at± dostêpn± na ka¿dym serwerze X11R6. Xterm dystrybuowany wraz z
  R6.3 podobno ma natywn± obs³ug± kolorów, ale nie by³ przeze mnie
  testowany.

  Na przyk³ad tutaj: color-xterm-R6pl5-patch.gz

  Przejrzyj dokumentacjê je¶li u¿ywasz starszej wersji X-ów.  Uwaga: Nie
  próbowa³em tego samemu !!!

  Mo¿na go pobraæ z serwera: ftp.icm.edu.pl. We¼ wersjê co najmniej
  3.13.

  Bêdziesz jeszcze potrzebowaæ ³aty, któr± mo¿esz pobraæ z tego samego
  katalogu, a nazywa siê ona "color-ls-3.12.0.3.patch.gz"

  Osobi¶cie uda³o mi siê skompilowaæ color-ls na Solaris-ie, SunOS-ie i
  Irix-ie.

  By³bym wdziêczny za wszelki odzew na temat tego tekstu. Mój adres
  pocztowy: ravn@dit.ou.dk

  --

  Thorbjørn Ravn Andersen


  88..  OOdd tt³³uummaacczzaa..


  T³umaczenie to jest chronione prawami autorskimi © Bartosza
  Maruszewskiego.  Dozwolone jest rozprowadzanie i dystrybucja na
  prawach takich samych jak dokument oryginalny.

  Je¶li znalaz³e¶ jakie¶ ra¿±ce b³êdy ortograficzne, gramatyczne,
  sk³adniowe, techniczne to pisz do mnie:

  B.Maruszewski@jtz.org.pl

  Na pewno znajdziesz tu jakie¶ niejasne i niepolskie konstrukcje.
  Je¶li wpadniesz na lepszy pomys³ daj mi znaæ.

  Oficjaln± stron± t³umaczeñ HOWTO jest http://www.jtz.org.pl/

  Aktualne wersje przet³umaczonych dokumentów znajduj± siê na tej¿e
  stronie. Dostêpne s± tak¿e poprzez anonimowe ftp pod adresem
  ftp.jtz.org.pl w katalogu /HOWTO/.

  Przet³umaczone przeze mnie dokumenty znajduj± siê tak¿e na mojej
  stronie WWW. <http://www.jtz.org.pl/bartek/tlumaczenie.html> S± tam
  te¿ odwo³ania do Polskiej Strony T³umaczeniowej.

  Kontakt z nasz± grup±, grup± t³umaczy mo¿esz uzyskaæ poprzez listê
  dyskusyjn± jtz@ippt.gov.pl. Je¶li chcesz sie na ni± zapisaæ, to wy¶lij
  list o tre¶ci subscribe jtz Imiê Nazwisko na adres
  majordomo@ippt.gov.pl