Linux FAQ #2

6. Konsola i klawiatura

6.1 Jak zrobiµ, ┐eby mieµ domy╢lnie w│▒czony NumLock?

U┐yj programu setleds. Na przyk│ad wstaw w kt≤ry╢ z plik≤w inicjuj▒cych system (np. /etc/rc.d/rc.local):

 

for i in 1 2 3 4 5 6
do
        setleds +num < /dev/tty$i > /dev/null
done

W tym przypadku zak│adam, ┐e masz zainicjowanych 6 konsoli wirtualnych (od /dev/tty1 do /dev/tty6).

6.2 Co zrobiµ, zeby w X Window System dzia│a│ klawisz backspace?

Wstaw w pliku .Xmodmap linijkΩ: keycode 22 = 0xff08

6.3 Czemu po zainstalowaniu polskich liter nie dzia│aj▒ one na konsoli/w xterm? (w pow│oce bash - nie edytory itp.)

Musisz stworzyµ w $HOME (katalogu domowym) plik .inputrc i wpisaµ do niego co╢ takiego:

set meta-flag on set convert-meta off set output-meta on

Plik .inputrc jest plikiem konfiguracyjnym modu│u readline. Aby uzyskaµ wiΩcej informacji, zobacz wiΩc: man readline.

6.4 M≤j ekran jest pe│en ╢mieci, a to co pisze nie przypomina liter.

To nie jest pytanie :-)
Prawdopodobnie uda│o ci siΩ wys│aµ na ekran zawarto╢µ pliku binarnego. Powiniene╢ zresetowaµ konsolΩ. Napisz (nawet je╢li nie widzisz co piszesz): reset lub wci╢nij Ctrl-V Ctrl-O Enter

6.5 Chcia│bym mieµ kolorowy listing z ls. Jak to zrobiµ?

W pliku .bashrc (je╢li u┐ywasz bash):

$ alias ls='ls --color=auto' Definicja kolor≤w znajduje siΩ w /etc/DIRCOLORS

6.6 Jak ,,przesun▒µ'' ekran do g≤ry, aby zobaczyµ to, co ju┐ z niego zniknΩ│o?

U┐yj Shift-PgUp . Opr≤cz tego w xtermach mo┐esz u┐yµ suwaka z boku okienka (nie we wszystkich window-managerach).

6.7 Jak u┐ywaµ myszki do kopiowania na konsoli?

Je╢li masz zainstalowane (i uruchomione) gpm to po prostu zaznaczasz myszk▒ tekst (lewym przyciskiem), a prawym zrzucasz to co zaznaczy│e╢ na przyk│ad na innej konsoli w edytorze, lub nawet w linii polece± (bardzo przydatne, gdy w dokumentacji masz podanych kilka taaaakich d│uuuuugich polece±).

7. Modemy i Sieci

7.1 Informacja o autorze

TΩ sekcjΩ napisa│ w ca│o╢ci Tomasz Ka╝mierski, kt≤remu niniejszym dziΩkujΩ!

7.2 Co jest potrzebne do uzyskania po│▒czenia PPP?

Po pierwsze musisz mieµ wkompilowan▒ obs│ugΩ protoko│u PPP w j▒drze, tzn podczas konfiguracji j▒dra odpowiedz twierdz▒co na nastΩpuj▒ce pytanie:

PPP (point-to-point) support (CONFIG_PPP) [N/y/m/?] y

Obs│ugΩ protoko│u PPP mo┐esz skompilowaµ tak┐e jako modu│ (zob. Module-HOWTO). W takim przypadku naci╢nij ,,m''.

Po drugie musisz zainstalowaµ demona ppp. Znajdziesz go w ka┐dej popularnej dystrybucji Linux'a, lub na serwerze sunsite.icm.edu.pl w katalogu:

 

        Debian: /pub/Linux/debian/bo/binary/net
        RedHat: /pub/Linux/redhat-contrib/i386
        Slackware: /pub/Linux/slackware/slakware/n3/ppp.tgz

Do test≤w przyda siΩ te┐ program terminalowy minicom. Znajdziesz go tak┐e w ka┐dej dystrybucji.

7.3 Jak po│▒czyµ siΩ modemem z TPSA pod numerem 0202122?

To jest chyba najczΩ╢ciej zadawane pytanie na p.c.o.linux. Jego rozwi▒zanie jest bardzo proste. Nie bΩdΩ tu przytacza│ jakich╢ kosmicznych przyk│ad≤w, a tylko przedstawiΩ najprostszy spos≤b przy│▒czenia siΩ do Internet'u. Po bardziej specyficzne parametry odsy│am do PPP-HOWTO. Wszystko stara│em siΩ wyt│umaczyµ │opatologicznie (czyt. krok-po-kroku)

Jak rΩcznie zestawiµ po│▒czenie?

Na pocz▒tek przypominam nowicjuszom nazewnictwo port≤w w Linux'ie:

         DOS      Linux
        -----------------
        com1    /dev/cua0
        com2    /dev/cua1
        com3    /dev/cua2
        com4    /dev/cua3

(Hubert: PozwolΩ sobie wtr▒ciµ, ┐e w 2.1.* a wiΩc i w 2.2.* porty wygl▒daj▒ tak:

         DOS      Linux
        -----------------
        com1    /dev/ttyS0
        com2    /dev/ttyS1
        com3    /dev/ttyS2
        com4    /dev/ttyS3

Koniec wtr▒cenia.)

Wybierz w│a╢ciwy port, do kt≤rego pod│▒czony jest modem. Dla modem≤w zewnΩtrznych w wiΩkszo╢ci wypadk≤w bΩdzie to /dev/cua1, a dla modem≤w wewnΩtrznych /dev/cua2 lub /dev/cua3. W Linux'ie nie okre╢la siΩ modemu jako takiego, tylko wskazuje siΩ port, do kt≤rego jest pod│▒czony. Od razu uprzedzam, ┐e je╢li jeste╢ (nie)szczΩ╢liwym posiadaczem winmodemu to raczej nie bΩdziesz m≤g│ z niego korzystaµ pod Linux'em. W poni┐szym opisie bΩdΩ u┐ywa│ portu /dev/cua1, jako tego, to kt≤rego pod│▒czony jest modem. Szybko╢µ modemu to 14440 b/s, ale w parametrze do pppd podaje siΩ prΩdko╢µ pomiΩdzy portem, a modemem. W zasadzie jest to prΩdko╢µ modemu*4, czyli dla 14400b/s jest to 57600b/s , a dla 28800b/s 115200b/s itd.

NastΩpnie proponujΩ zrobiµ linka o nazwie "modem" do naszego portu. Takie posuniΩcie z pewno╢ci▒ u│atwi na ┐ycie:

 

        ln -s /dev/cua1 /dev/modem

Potem uruchom minicom'a, aby przetestowaµ, czy aby wszystkie kabelki s▒ na swoich miejscach i czy jeste╢my w stanie dodzwoniµ siΩ rΩcznie do servera TPSA. Po ukazaniu siΩ terminala wpisujemy

 

        
        atdp0202122

Po kr≤tkiej chwili powiniene╢ ujrzeµ issue zdalnego hosta i dokonaµ na nim autoryzacji (username:ppp password:ppp). Jak na razie wszystko jest OK, ale je╢li co╢ Ci po drodze siΩ popsu│o to na 99% wybra│e╢ z│y port lub minicom jest ╝le poinformowany o nim (zajrzyj do helpa Ctrl-A Z). Po wstukaniu dwa razy ppp na ekranie terminala bΩd▒ siΩ pokazywaµ dziwne znaki. To w│a╢nie zdalny host wymaga od Ciebie uruchomienia demona pppd. Wyjd╝ z minicom'a nie resetuj▒c po│▒czenia (Ctrl-A Q). Teraz wpisz tak▒ linijkΩ:

 

        pppd /dev/modem 57600 crtscts lock noipdefault defaultroute &

M≤wi ona, ┐e Twoje po│▒czenie bΩdzie realizowane przez port COM2 (/dev/cua1) o prΩdko╢ci (57600 b/s) przy w│▒czonym sprzΩtowym sterowaniu modemem (crtscts). Dostawca internetu przydzieli Ci dynamiczne IP (noipdefault) , a tw≤j defaultowy routing (okno na ╢wiat) bΩdzie ustawiony w│a╢nie na po│▒czenie modemowe.

Je╢li do tego miejsca wszystko by│o OK , to gratulujΩ. Powiniene╢ byµ w Internecie. Spr≤buj sprawdziµ, czy masz po│▒czenie z innymi serwerami np pingiem:

 

        ping 194.181.178.33

Powiniene╢ tak┐e mieµ interfejs ppp0 (pokazuje to polecenie "ifconfig"). Mo┐e to wygl▒daµ na przyk│ad tak:

 

    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
              UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
              RX packets:12 errors:0 dropped:0 overruns:0
              TX packets:12 errors:0 dropped:0 overruns:0

    ppp0      Link encap:Point-Point Protocol  
              inet addr:194.204.177.31  P-t-P:194.204.177.37  Mask:255.255.255.0
              UP POINTOPOINT RUNNING  MTU:296  Metric:1
              RX packets:7 errors:0 dropped:0 overruns:0
              TX packets:8 errors:0 dropped:0 overruns:0

Jak zautomatyzowaµ po│▒czenie?

Do tego zadania potrzebne sa dwa skrypty, kt≤rych (je┐eli jeste╢ pocz▒tkuj▒cy) na 100% nie napiszesz. Dlatego przedstawiam je poni┐ej, jako prawie gotowe do u┐ycia. "Prawie" dlatego, poniewa┐ czΩ╢µ modem≤w TPSA w Polsce wstawia spacjΩ za s│owem "username" i "password", a czΩ╢µ nie. Tutaj jest przedstawiona wersja ze spacj▒. Je╢li skrypt nie dzia│a wyrzuµ j▒...

 

   -------------------skrypt /etc/ppp/scripts/ppp-on------------------------
   #!/bin/sh
   TELEPHONE=0202122    
   ACCOUNT=ppp  
   PASSWORD=ppp         
   export TELEPHONE ACCOUNT PASSWORD
   DIALER_SCRIPT=/etc/ppp/scripts/ppp-on-dialer
   exec /usr/sbin/pppd lock modem crtscts /dev/cua1 57600 noipdefault \
   defaultroute connect $DIALER_SCRIPT &
   ----------------------------------------------------

Pojawi│a siΩ tu opcja "connect". Wskazuje ona, jaki skrypt nale┐y wykonaµ, aby dodzwoniµ siΩ do provider'a. W tym przypadku skrypt nazywa siΩ ppp-on-dialer i znajduje siΩ w katalogu /etc/ppp/scripts/

 

   -------skrypt /etc/ppp/scripts/ppp-on-dialer UWAGA NA SPACJE!!!----------
   #!/bin/sh
   exec chat -v                                         \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         50                              \
        OK              ATDP$TELEPHONE                  \
        CONNECT         ''                              \
        sername:        $ACCOUNT                        \
        assword:        $PASSWORD

   -----------------------------------------------------------

Sprawd╝, czy skrypty dzia│aj▒:

 

        ./ppp-on

Je╢li po wstukaniu tego wyskakuje Ci komunikat "Permission denied", to zr≤b jako root

 

        chmod +x ppp-on ppp-on-dialer

Je╢li modem roz│▒cza siΩ z niewiadomych przyczyn, to spr≤buj zmieniµ TIMEOUT'a z 50 sekund na np. 70.

Je╢li wystΩpuje jaki╢ inny problem, to upewnij siΩ, ┐e na pewno zastosowa│e╢ siΩ do umieszczonych tu rad, a w ostateczno╢ci wy╢lij ostatnie kilka linijek pliku /var/log/messages dotycz▒cych pppd na p.c.o.linux z zapytaniem o co w tym wszytkim chodzi... ;-)

7.4 Jak siΩ wdzwoniµ, je╢li nasz provider u┐ywa do autoryzacji protoko│u PAP?

Autoryzacja przez PAP polega na wymianie informacji o u┐ytkowniku poprzez specjalny protok≤│ pomiΩdzy dwoma partnerami. Nie ma tu wiΩc standardowego pytania o login o password. Te dwa parametry podaje siΩ osobno: w linii polece± i w specjalnym pliku. Autoryzacje poprzez PAP poznasz po tym, ┐e po dodzwonieniu siΩ do zdalnego systemu minicom'em na terminalu nie pojawi▒ siΩ ┐adne napisy, a po kr≤tkiej chwili po│▒czenie zostanie zerwane. Je╢li chcesz dowiedzieµ sie wiΩcej o ideii protoko│u PAP/CHAP zajrzyj do PPP-HOWTO (paragraf 13.)

Gdzie wpisaµ has│o?

Przy autoryzacji PAP has│o (tu nazywane tak┐e sekretem) wpisuje siΩ w pliku /etc/ppp/pap-secrets

Oto wz≤r takiego pliku:

 

   -----------------/etc/ppp/pap-secrets------------
   # Secrets for authentication using PAP 
   # client     server  secret                  IP addresses
   kazik        *       kazik123                        
   --------------------------------------------------

"kazik" to jest m≤j login u provider'a, a "kazik123" to jest has│o. W polu "server" powinna byµ wpisana nazwa komputera, kt≤ry dokonuje autoryzacji. Je╢li nie znasz jego nazwy, a masz tylko jednego provider'a to mo┐esz zamiast nazwy wstawiµ gwiazdkΩ ("*"). Oznacza ona, ┐e nie obchodzi ciΩ to. W razie, gdy masz wielu provider≤w dopisujesz kolejne wiersze i wtedy musisz wpisaµ nazwΩ hosta. W polu "IP addresses" mo┐esz wpisaµ lokalny numer IP, je╢li taki zosta│ ci przydzielony przez dostawcΩ Internetu. Je╢li jednak korzystasz z dynamicznego przyznawania IP, to zostawiasz to pole puste. Je╢li po│▒czenie nie chce siΩ nawi▒zaµ, a w logach nie mo┐esz siΩ dopatrzeµ niczego szczeg≤lnego, to sprawd╝ poprawno╢µ wpis≤w w tym pliku.

Jak rΩcznie zestawiµ po│▒czenie?

Je╢li nie czyta│e╢ paragrafu 7.2.1, to przejrzyj go teraz. Nie bΩdΩ siΩ powtarza│ i podam tylko r≤┐nicΩ pomiΩdzy dwoma sposobami autoryzacji. Oczywista zmiana jest numer telefonu. Wraz z umow▒ provider poda│ Ci na pewno numery dostΩpowe. Aby wykrΩciµ ten numer minicom'em poprzed╝ go ci▒giem znak≤w "atdp" np:

 

atdp427828

"427828" to m≤j przyk│adowy numer dostΩpowy. NastΩpnie jak modemy sko±cz▒ handshaking (sko±cz▒ "µwierkaµ"), wyjd╝ z minicoma i odpal pppd:

 

       pppd /dev/modem 57600 crtscts lock noipdefault defaultroute user kazik &

Wa┐ny tu jest parametr "user", kt≤ry informuje pppd, jak brzmi tw≤j login u providera (tu jest przyk│adowe "kazik"). Reszta parametr≤w jest opisana w paragrafie 7.2.1. Je╢li wszystko posz│o OK to powiniene╢ mieµ urz▒dzenie ppp0 (pokazuje to polecenie "ifconfig") np:

 

    lo        Link encap:Local Loopback  
              inet addr:127.0.0.1  Bcast:127.255.255.255  Mask:255.0.0.0
              UP BROADCAST LOOPBACK RUNNING  MTU:3584  Metric:1
              RX packets:69 errors:0 dropped:0 overruns:0
              TX packets:69 errors:0 dropped:0 overruns:0
         
    ppp0      Link encap:Point-Point Protocol  
              inet addr:195.136.0.103  P-t-P:195.136.0.100  Mask:255.255.255.0
              UP POINTOPOINT RUNNING  MTU:296  Metric:1
              RX packets:21 errors:0 dropped:0 overruns:0
              TX packets:21 errors:0 dropped:0 overruns:0

oraz mieµ mo┐liwo╢µ ping'niΩcia jakiego╢ hosta np:

 

ping 194.181.178.33

Jak wygl▒daj▒ skrypty?

Oto skrypty, kt≤re automatycznie po│▒cza CiΩ z providerem. Nie zapomnij zmieniµ swojego login'a !

 

   -------------------/etc/ppp/scripts/pap-ppp-on---------------------------
   #!/bin/bash
   TELEPHONE=$1
   export TELEPHONE
   DIALER_SCRIPT=/etc/ppp/scripts/pap-ppp-on-dialer
   exec /usr/sbin/pppd /dev/modem 57600 crtscts lock noipdefault defaultroute \
   connect $DIALER_SCRIPT user kazik &
   -------------------------------------------------------------------------

Jako, ┐e ja mam kilka numer≤w dostΩpowych, wpisuje numer telefonu jako argument do skryptu. Je╢li Ty masz tylko jeden, to zmie± "$1" na sw≤j numer dostΩpowy.

 

   -----------------/etc/ppp/scripts/pap-ppp-on-dialer----------------------
   #!/bin/sh
   exec chat -v                                         \
        TIMEOUT         3                               \
        ABORT           '\nBUSY\r'                      \
        ABORT           '\nNO ANSWER\r'                 \
        ABORT           '\nRINGING\r\n\r\nRINGING\r'    \
        ''              \rAT                            \
        'OK-+++\c-OK'   ATH0                            \
        TIMEOUT         40                              \
        OK              ATDP$TELEPHONE                  \
        CONNECT         ''
   -------------------------------------------------------------------------

7.5 Uwagi

Wybieranie pulsowe, czy tonowe?

W moim FAQ przyj▒│em, ┐e korzystasz z centrali impulsowej, poniewa┐ jeszcze nie s│ysza│em, ┐eby TPSA wprowadzi│a wybieranie tonowe. Je╢li jednak jeste╢ pod│▒czony do centrali tonowej, to zmie± ci▒g znak≤w "atdp" przed numerem telefonu na "atdt" np

 

atdt0202122

Je╢li co╢ nie dzia│a, a post▒pi│e╢ zgodnie z opisem, to skontaktuj siΩ ze mn▒, a ja postaram siΩ Ci pom≤c.

Kontakt ze mn▒

Je╢li masz jakie╢ zastrze┐enia do tego FAQ koniecznie wy╢lij swoje uwagi na m≤j adres kazik@man.koszalin.pl

Post Scriptum

Mo┐na ostatnio w sieci znale╝µ coraz wiΩcej program≤w, kt≤re prowadz▒c usera za r▒czkΩ pomagaj▒ konfigurowaµ po│▒czenie ppp. Taki program, bardzo przypominaj▒cy dial-up networking z Win95 ma np. KDE. Poza tym np. Debian standardowo jest wyposa┐any w program pon.

 

 Copyright © 2000 PTiK. Wszystkie prawa zastrze┐one.
 Kopiowanie tekst≤w w ca│o╢ci lub we fragmentach bez zgody redakcji i autor≤w zabronione.