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 ).
Wstaw w pliku .Xmodmap linijkΩ: keycode 22
= 0xff08
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 .
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
W pliku .bashrc (je╢li u┐ywasz bash):
$ alias ls='ls --color=auto' Definicja kolor≤w
znajduje siΩ w /etc/DIRCOLORS
U┐yj
Shift-PgUp
. Opr≤cz tego w xtermach mo┐esz u┐yµ suwaka z boku okienka
(nie we wszystkich window-managerach).
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±).
TΩ sekcjΩ napisa│ w ca│o╢ci Tomasz Ka╝mierski, kt≤remu
niniejszym dziΩkujΩ!
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.
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... ;-)
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
''
-------------------------------------------------------------------------
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.
|