Explore Ebooks
Categories
Explore Audiobooks
Categories
Explore Magazines
Categories
Explore Documents
Categories
Sadržaj:
Uvodna reč 2
Sadržaj 2
Distribucije
Od nule do GNU/Linuksa 3
Malo, manje, najmanje 5
Softver
gDesklets 6
Zvezda je rođena 9
Hardver
Multimedijalne tastature 13
Drajveri, drajveri... 15
Stalne rubrike
Radionica
Gimp i crvene oči 21
Uvod u Piton (Python) 23
Srebrna Lisica 25
Pravna klinika
Legum servi summus ut liberi
esse possimus – deo 1. 27
Redakcija:
Ivan Jelić
Ivan Čukić
GNUzilla
Marko Milenović
Petar Živanić
Danilo Šegan
Aleksandar Urošević
Srđan Anđelković
Slobodan Kovačević
Saradnici:
Miloš Popović
Priređivač:
Mreža za Slobodan Softver
Sav materijal u ovom časopisu je
www.fsn.org.yu
objavljen pod Free Documentation
License. Autorska prava pripadaju
Kontakt adresa:
autoru.
gnuzilla@fsn.org.yu
Od nule do GNU/Linuksa
Predstavljanje distribucije Linux From Scratch
Ako ste nekada poželeli da distribuciju Linuxa koju koristite prila- Objašnjeno je zašto i gde treba sme-
godite svojim potrebama, verovatno ste naišli na prepreku tome — ili stiti sve pripremljene pakete za ka-
zbog straha da nešto ne pokvarite, ili zbog neznanja šta, kako i kada snije korišćenje u izgradnji.
da uradite. Još ako tek planirate da probate (i na dalje koristite) Linux,
verovatno vam nikad i nije palo na pamet nešto tome slično. Krojenje 4. Završna priprema
sopstvene distribucije zvuči kao težak, dugotrajan i rizičan posao; a U ovom delu je navedeno koje
kao najbolnije, nameće se pitanje da li će posle svega to uopšte raditi. sistemske promenljive treba posta-
Pre par godina je Žerard Bikmens (Gerard Beekmans) došao na sličnu viti kao i koje nove direktorijume
ideju, i nakon kompleksnog pokušaja došao do rešenja — distribucije treba napraviti. Objašnjeno je i zašto
po svojoj meri. Zbog suštine pravljenja, nazvao je ovaj posao je- pripremanje LFS-a ne treba raditi
dnostavno – Linux From Scratch. kao root već kao korisnik lfs i član
LFS je knjiga koja postupno opisuje korake koje treba preduzeti da grupe lfs, i kako ih napraviti. Tako-
bi se izgradila sopstvena distribucija unapređivanjem, podešavanjem, đe, naveden je način merenja vre-
prevođenjem i instaliranjem paketa iz izvornog koda. mena potrebnog za izgradnju poje-
Ali da počnemo od suštine. Uporedićemo LFS sa kompletnim pro- dinačnih paketa, odnosno komple-
jektom za izgradnju kuće. Za kuću imate projekat sa predračunom po- tnog sistema, pošto korisnici pre
trebnog materijala i nacrtima gde, šta i kako treba ugraditi. Kod LFS-a početka izgradnje nečega žele da
imamo knjigu u kojoj su popisani svi potrebni paketi i njihove po- znaju koliko će vremena utrošiti za
pravke (pečevi), sa adresama odakle se isti mogu preuzeti. Tu se tako- taj posao. Prisutan je i opis komple-
đe nalazi kompletan i detaljan opis šta sa kojim paketom i kojim redo- ta za testiranje prevedenih i pripre-
sledom treba raditi. mljenih paketa.
Knjiga je podeljena na tri celine, i to: Uvod, Pripremanje za izgra-
dnju i Izgradnja LFS sistema. U okviru ovih celina postoji ukupno se- 5. Izgradnja privremenog sistema
dam poglavlja. Ovde je opisan način pripremanja
privremenog sistema na kori-
1. Uvod sničkom sistemu (distribuciji koju
U uvodnom delu je ukratko opisano šta će se u kom poglavlju raditi, već koristite) za izgradnju konačnog
izmene postojećih i dodavanje novih paketa potrebnih za izgradnju LFS-a. Za ovo je pre svega potreban
LFS sistema, izvori pomoći i potrebnih paketa, uputstvo kako posta- kernel 2.6.2 ili noviji. U ovom po-
vljati pitanja u slučaju potrebe, koji su najčešći problemi prilikom glavlju se konačno prelazi na kon-
podešavanja paketa i sistema. kretan rad — izgradnju osnove
prevođenjem osnovnih paketa u
2. Pripremanje nove particije dva prolaza (prvo se pojedini alati
U ovom poglavlju je opisan način i preporučena struktura particija prevode jednom, korišćenjem alata
diska za novi LFS sistem, način pravljenja sistema datoteka i montira- sa glavnog sistema, a drugi put se
nje novonapravljenih particija. prevode korišćenjem tih novih ver-
zija, zbog kompatibilnosti sa novim
3. Materijal: Paketi i nadogradnje sistemom). Svi ovi paketi se smešta-
Ovde su navedeni svi paketi koje je potrebno pripremiti, kao i koje ju u privremeni /tools direktorijum
su sve nadogradnje neophodne a koje preporučljive i za koje pakete. na LFS particiji.
Koliko puta ste pogledali staru gomilu disketa na vašem stolu i pita- disketu. Prvi način je namenjen Wi-
li se zašto ih uopšte čuvate? Mali medijum za čuvanje podataka kojeg ndows™ korisnicima i podrazume-
je pregazilo vreme. No, možda im se još uvek može naći primena...ili va pokretanje EXE datoteke koja
bar jednoj od njih. vrši kopiranje podataka na disketu.
Drugi način je namenjen korisnici-
ma UNIX-sličnih sistema, i podra-
zumeva preuzimanje IMG datoteke
sa servera i kopiranje iste na disketu
putem komande: dd if=mos0xx.img
of=/dev/fd0.
način pristupanja podacima izvan sandbox-a, a za to se koristi biblioteka Ovde je potrebno da budemo
libdeskelts. pažljivi i da ne dodeljujemo os-
obine koje nemaju smisla. Do-
Delovi deskleta davenjm osobine boja proiz-
voljnom tekstu dovešće do greške.
Svaki desklet se sastoji iz dva dela: senzor (sensor) i Takodje je moguće više puta ga
displej (display). Korisnički interfejs je definisan u povezati na sledeći način:
display datoteci, dok se senzor koristi za obradu watch="value=s:text,
podataka. Drugim rečima dislpej definiše izgled,
dok senzor definiše mogućnosti jednog deskleta. Za
pravljenje novih deskleta nije potrebno nikakvo zn-
anje Piton programskog jezika, sve što treba je da
poznajete ADL (XML) i koristite već postojeće senzore. Suprotno tome,
pisanje novi senzora zahteva poznavanje programiranja u Pitonu, mada
ni to nije nije teško. Posle instalacije gDesklets sistema pojavljuje se
direktorijum ~/.gdesklets i u njemu se nalaze datoteke i direktorijumi
potrebni za rad. U direktorijumu Controls nalaze se kontrole koje je kor-
isnik instalirao, u direktorijumu Display nalaze se deskleti, a u direkt-
orijum Sensors senzori koje je korisnik instalirao.
ADL
izvršavati i kompleksije skripte tako što treba komande razdvajati sa Svakako treba posetiti:
tačka-zarezom(;). Postoji još jedan način da iz inline skripti pristupite www.gdesklet-
bilo kojim podatcima loristeći kontrole (Controls). Šta su kontrole? To su s.gnomedesktop.org
ustvari Piton moduli koji se lako koriste i mogu da se dele, a sistem www.gnomesupport.org/forums
gDesklets dolazi sa nekoliko ovih kontrola (vreme, datum ...). Da bi ste Vidimo se tamo.
pristupili nekoj kontroli morate uraditi sledeće:
<control id="vreme" interface="ITime:9y703dqtfnv4w373case- ~Srđan Anđelković
rz68r"/>
sada da bi dobili vreme možemo da koristimo skript na sledeći način:
<script>
h, m, s = vreme.time
print "Vreme je:"
print "%2d:%2d.%2d" % (h, m, s)
</script>
E sada da dodamo našem satu mogućnost konfiguracije. To ćemo uraditi
na sledeći način:
<prefs>
<page label="Prva strana">
<string label="Vremenskazona" bind="vreme.-
timezone"/>
</page>
<page label="Druga strana">
<string label="Nema nista"/>
</page>
</prefs>
Ovim smo dobili mogućnost podešavanja vremenske zone u dijalog pro-
zoru koji se bude otvorio. Još treba da dodamo funkciju koja pokreće sat
na sledeći naći način:
<script><![CDATA[
def kreni(new_value):
h, m, s = new_value
Dsp.okvir.value = "%2d:%2d.%2d" % (h, m, s)
vreme.bind("time", kreni)
]]></script>
O ADL se može napisati cela knjiga, tako da je ovo samo jedan jako mali
deo cele priče, koji će biti dovoljan da vas upozna i uvede u pisanje
novih deskleta ili možda razvijanje gDesklets sistema. Ovim se vraćamo
na pitanje sa početka, da li je sistem gDesklets ulepšavanje desktopa ili
Zvezda je rođena
Istorija razvoja projekta „The GIMP“
DAVNE 1995. GODINE IZ GLAVA DVA STUDENTA NASTAO JE DANAS JEDINI nisu očekivali veći uspeh svog pro-
OZBILJAN GNU PROGRAM ZA OBRADU BITMAPIRANE GRAFIKE. DESET GODINA grama, bili su zadovoljni činjenicom
SE ON RAZVIJAO OD ZAMISLI DO VELIKOG PROJEKTA KOJI NI GRAFIČKE da je njihov pionirski projekat koli-
PROFESIONALCE NEĆE OSTAVITI RAVNODUŠNIM. ČAK JE, PORED OSNOVNE ko toliko zaživeo.
NAMENE, OVAJ PIONIRSKI GNU PODUHVAT, SASVIM SLUČAJNO IZRODIO
POPULARNU GRAFIČKU PODLOGU I JOŠ POPULARNIJE RADNO OKRUŽENJE. ZOVU Predstavljanje javnosti
SE JEDNOSTAVNO: GIMP, GTK+ I GNOM. Jedan od prvih koraka u cilju pro-
mocije programa nakon izdanja 0.54
U početku beše želja... bio je organizovanje dopisnog
Dva studenta na Berkliju, jula 1995. godine umesto društva za razvojni tim.
da stečeno znanje u programiranju ulože na pisanje Autorima je bila potreb-
prevodilaca u lisp-u, rešila su da napišu pro- na povratna informacija
gram za obradu bitmapiranih slika. Iako o upotrebljivosti njihovog
nijedan od njih dvojice nije imao čeda, a dopisno društvo je
kontakta sa likovnom ume- bio jedan od načina da ko-
tnošću, imali su teh- risnici urade tako nešto.
ničkog predznanja za Kada su počela da
realizaciju takvog pro- pristižu pita-
jekta. Tako su Spenser nja vezana za
Kimbal (Spencer Kimball) i osnovnu upo-
Piter Matis (Peter Mattis) trebu programa,
utemeljili korene programa za 5. jula 1996. godine
manipulaciju slikama „General gimp-list je podeljen
Image Manipulation Program“ na gimp-user i gimp-de-
(GIMP). veloper. Ubrzo je pro-
Pre nego što su objavili prvu javnu jekat dobio podršku i u
verziju 0.54 (januar 1996.) koja je pred- sta- vidu glavne Internet prezentacije na
vljala funkcionalan prozivod, na GIMP- u su radili oko serverima Berklija. Zak Bin (Zach
deset meseci. U prvom izdanju, GIMP je imao dosta ugrađenih alata, Beane – Xach) kao i veliki broj dru-
sadržao je sistem dodataka (PlugIn), pa su drugi razvojni timovi mogli gih korisnika, počeli su sa pravlje-
da pišu samostalne programe koji se bezbedno mogu dodati u glavni njem uputstava tipa „korak po ko-
program bez narušavanja njegove funkcionalnosti. Postojali su osnov- rak“ kako izvesti neku operaciju u
ni alati za crtanje i operacije nad kanalima i opoziv akcije (Undo), što programu.
drugi programi ove namene nisu imali. GIMP je postao omiljen pro- Jedan od naprednijih korisnika,
gram među korisnicima, zaštićen GNUovom opštom javnom licen- Lari Juing (Larry Ewing), u prvom
com i imao je zanimljivo i jednostavno ime koje se lako pamti. Uprkos izdanju GIMP-a nacrtao je čuvenu
mogućnostima, program se često rušio što zbog grešaka u glavnom maskotu GNU/Linuks operativnog
programu, što zbog grešaka u dodacima. sistema – pingvina poznatijeg kao
U početku je bio baziran na Motif grafičkoj biblioteci, što je predsta- Tux1.
vljalo problem velikom broju korisnika, obzirom da je Motif veoma
skupa komercijalna platforma (radi se o hiljadama dolara). Iz istog ra- Nova grafička osnova - serija
zloga, veliki broj programera, koji su želeli da daju svoj doprinos pro- 0.60
jektu pišući sopstvene dodatke, nisu to mogli da rade. Piteru je bilo dosta Motif-a, pa je
Kao i svaki drugi projekat na početku razvoja i GIMP je imao veoma odlučio da napiše sopstvenu gra-
mali broj korisnika koji su podržavali njegov razvoj. Spenser i Piter fičku osnovu od početka. Nazvao je
gtk (za „Gimp Tool Kit“) i gdm (za „Gimp Drawing Kit“). Nikada nije projekte. Ipak, nije bilo većih pauza
ni zamišljao da bi jednog dana gtk mogao da postane jedna od najko- između njegovog odlaska i dolaska
rišćenijih grafičkih osnova; hteo je samo da napravi osnovu za GIMP. novog nosioca projekta.
Ubrzo nakon pojave gtk-a, došlo je do promene punog naziva GIMP-a
iz „General Image Manipulation Program“ u „GNU Image Manipulati- Nove komunikacije
on Program“. Dopisna društva su korisna kada
Razvoj 0.6x izdanja bio je eksperimentalan. Sistem dodataka nije bio funkcionišu a veb strane su odlične
kompatibilan sa starim API-jem iz 0.54, tako da dodaci pisani za to iz- za davanje saveta i predstavljanje
danje nisu mogli da se koriste u novom. Autori dodataka su sporo mogućnosti projekata. Međutim,
prevodili svoje radove na novi API. Problem je nastao i oko dokumen- ništa se ne može porediti sa raz-
tacije jer niko nije želeo da piše dokumentaciju za seriju 0.6x koja je govorom uživo. Februara 1997. go-
bila privremena i u razvoju. dine projekat GIMP je dobio IRC
Realno, ovo izdanje je imalo manju upotrebnu vrednost od pretho- kanal #gimp na serveru irc.freeno-
dnog 0.54 izdanja; program se učestalije blokirao. Broj preuzimanja de.org. Kanal je bio otvoren za
nove verzije znatno je opao i pored predstavljanja novih mogućnosti diskusije i otklanjanje otkrivenih
programa na berklijskoj prezentaciji (rad sa slojevima, automatizacija problema. Veoma brzo je postao je-
poslova skriptama, dobro osmišljene transformacije). dan od glavnih izvora tehničke
Serija 0.6x dala je razvojnom timu mogućnost da se ugradi veliki podrške za korisnike programa. Na
broj unapređenja, poveća stabilnost u radu kao i da se doda veći broj posletku je postao i izvor informaci-
alata za crtanje. Ovaj period evolucije GIMP-a najbolje je opisao ja o željama i potrebama korisnika
Andreas Dilger citatom: „It's good to see that the next version of za novim mogućnostima programa,
GIMP is here. Let the enhancing begin!“ kao i informisanje o načinu na koji
pojedinci mogu da pomognu pro-
Serija 0.99 - dug put do 1.0 jektu. Preko kanala je širena i ideja o
Izdanje 0.99 objavljeno je 26. februara 1997. godine. Osnovni cilj je održavanju projekta u životu od
bio prevođenje dodataka na novi API, koji je izostao u prethodnom strane članova razvojnog tima.
2
0.60 izdanju. Objavljeno je i novo izdanje gtk/gdk nazvano GTK+ . U
ovoj verziji su ugrađena revolucionarna unapređenja prethodnog gtk Podela posla
modela. Otišli su začetnici projekta, Spen-
Ubrzo je objavljeno osveženo izdanje 0.99.9, nakon čega je nastala ser i Piter, a potom i Kuartik. GIMP
duža pauza. Trent Žarvi (Trent Jarvi) je napravio veliki broj sitnih iz- se podelio u projekat razvoja gra-
mena na ovom izdanju, a Spenser i Piter su 9. juna 1997. godine obja- fičke osnove (GTK+) i projekat ra-
vili nova izdanja GTK+ i GIMP 0.99.10. To je bio njihov poslednji rad zvoja programa. Došao je trenutak
na projektu. da oba projekta dobiju nosioca.
Spenser i Piter su diplomirali, zaposlili se i više nisu imali vremena U novoj podeli, imenovani su čla-
da rade na projektu. Nisu odredili naslednika koji bi nastavio njihovo novi timova: Mains Sing (Mainsh
rukovođenje, a čak su zaboravili i da najave napuštanje projekta. Singh - yosh) je zadužen za objavlji-
vanje novih izdanja. Adrijan Likins
Pred-11 izdanja (Adrian Likins) za održavanje poda-
Napuštanje projekta od strane inicijatora usporilo je njegov razvoj. taka. Lari Juing (Larry Ewing - lew-
Pojavilo se nekoliko neoficijelnih predizdanja. Pošto je prikupljanje ing), Metju Vilson (Matthew Wilson -
zakrpa postao veliki problem, privremeni nosilac projekta Met Hoki- msw) i drugi su radili na pronalaže-
ns (Matt Hawkins) objavio je izdanje pre-11. nju i otklanjanju grešaka.
Novi nosilac projekta postao je Federiko Menja Kintero (Federico I sada je bilo dosta ljudi koji su is-
Mena Quintero – Quartic), koji je na prvo mesto stavio stabilnost i upo- tovremeno radili na više projekata,
trebljivost programa. Za izdanje 0.99.14, Kuartik je najavio zaustavlja- ali su svi oni radili kao tim bez
nje dodavanja unapređenja i otklanjanje grešaka, sve do izdanja 1.0. vođe. Svaki pojedinac je radio na
Neka od zanimljivih unapređenja, koja su većim delom bila gotova, svom doprinosu projektu i uvek se
nisu ugrađena zbog insistiranja na stabilnosti programa. znalo kome se treba obratiti za neki
Kuartik je održavao GIMP u razvoju, sve dok nije prešao na druge savet ili kada nešto zapne.
razvio u izuzetno stabilan i veoma korišćen program, kada je 24. de- Suma sumarum
cembra 2000. godine objavljeno stabilno izdanje 1.2.0. Ovo je bio poče- GIMP je sastavljen od preko
tak jednog novog poglavlja u istoriji GIMP projekta. Naime, naredne 230.000 linija C kôda, od čega je naj-
dve godine nije objavljeno ni jedno stabilno izdanje. Tek je 14. juna veći broj linija u toku evolucije izda-
2003. godine objavljeno izdanje 1.2.5 koje je sadržalo veliki broj is- nja 1.2 u izdanje 2.0 napisan od
pravki i poboljšanja. Posle toga započet je rad i među članovima ra- početka. Sa stanovišta korisničke
zvojnog tima objavljeno razvojno izdanje 1.2.6, ali ono nije ugledalo upotrebe programa, GIMP 2.x je u
svetlost dana za nas obične smrtnike. Međutim, razvoj GIMP-a sa iz- osnovi ostao sličan izdanju 1.x; mo-
danjem 1.2.0 nije stao. Tokom narednog perioda rađeno je na razvoj- gućnosti su slične onima koje su
noj seriji 1.3.x. Prvo stabilno izdanje ove serije, 1.3.0 objavljeno je 13. postojale na izdanjima iz 1.x serije,
novembra 2001. godine. Tokom naredne dve godine izdata su još 23 tako da se korisnici ranijih verzija
izdanja iz ove serije, a poslednje 1.3.23 je objavljeno 24. novembra mogu snaći i u novom okruženju.
2003. godine. Kompletan kod je napisan od početka, prešlo se na Gtk+ Kôd je prečišćen i omogućeno je la-
2.x grafičku podlogu, ispravljen je veliki broj grešaka, unapređene su kše dodavanje novih mogućnosti u
opcije podešavanja alata i dodat alat za vektore, dodate su podrška za program, mada se taj deo manje tiče
datoteke veće od 2GB, keširanje od preko 4GB i manipulacija EXIF in- korisnika.
formacijama u zaglavlju JPEG datoteka, interni pretraživač pomoći je Program je zahvaljujući projektu
prebačen na GtkHtml2. lokalizacije na srpski jezik16 preve-
U toku prošle 2004. godine, tačnije od 7. januara, razvijano je stabil- den na srpski tokom 2003. godine.
no izdanje 2.0. Posle četiri predizdanja i jednog kandidata (RC), 2.0.0 Trenutno aktuelna verzija u tre-
izdanje je predstavljeno javnosti 23. marta 2004. godine, implementi- nutku pisanja ovog teksta je 2.2.2.
ran je Gnom HIG standard (Human Interface Guidelines), unapređen
alat za pisanje teksta, otklonjeno je dosta sitnih grešaka. U sledećih se- ~ Aleksandar Urošević
dam meseci razvijana je stabilna serija 2.2. Izdanje 2.2.0 objavljeno je
19. decembra 2004. godine. Ispravljeno je dosta grešaka od prošlog
stabilnog izdanja, dodata mogućnost uvoza Photoshop14 (.act) paleta,
probni prikaz filtera i transformisanja, akcije koje su u toku sada se
mogu prekinuti pritiskom na Escape taster, dodati novi filteri, uvoz
SVG kontura kao putanje, podešavanja prečica sa tastature, „cut'n'-
paste“ između GIMP-a i drugih programa. Za ovo izdanje je bio orga-
15
nizovan konkurs za uvodni ekran (splash).
Multimedijalne tastature
Kako podesiti specijalne tastere da rade pod GNU/Linux sistemom
BEZ OBZIRA NA NASLOV OVOG TEKSTA, OVDE NEĆEMO UČITI TASTATURU KAKO način da mapirate taj taster. U ovom
DA ZAPEVA, A NI KAKO DA PRIKAZUJE FILMOVE ILI NEKE DRUGE MULTIMEDI- slučaju “magični broj” tastera koji je
JALNE SADRŽAJE. OVDE ĆEMO DA NAUČIMO NAŠ GNU/LINUX DA DETEKTUJE bio pritisnut je e005. Za svaki od
I PREPOZNAJE SPECIJALNE TASTERE KOJA NAŠA TASTATURA IMA. tastera koji nisu bili prepoznati
zapišite negde taj broj. Prekinite
U poslednje vreme, tastature više nemaju standardan skup tastera program pomoću Ctrl+C.
nego svaki model ima neke specijalne, kao što su, na primer, taster Sledeći korak je da saznamo koji
Internet, tasteri Volume Up, Volume Down i slični. Uz drajvere za ta- su key-kodovi slobodni da bi smo
staturu se isporučuju i programi koji će tim posebnim tasterima dati mogli da ih zauzmemo našim taste-
značenje koje vama odgovara. Naravno, proizvođači se uopšte ni ne rima. Unesite sledeće:
trude da naprave takve programe i za Linux. # getkeycodes
Da li to znači da bi trebalo da se pomirimo sa situacijom da ćemo Dobićete tabelu odnosa scan-ko-
moći da koristimo samo ovih stotinak standardnih tastera? Naravno dova i key-kodova. Tu vidite koji se
da ne. Posle ovog teksta videćete da imate mnogo veću kontrolu nad brojevi od 89-127 ne pojavljuju i
vašom tastaturom nego što je imaju oni smrtnici koji koriste Microsoft njih, po svom slobodnom nahođe-
Windows i originalne drajvere i programe proizvođača. nju, pridružujte scan-kodovima koje
ste napisali na papiru. Sada pomoću
Problemi sa kernelom komande setkeycodes mapirajte te
zapisane kodove. Obratite
Ako koristite kernel iz serije pažnju da se promene koje
2.4, ovaj, i sledeći odeljak, u pravi setkeycodes brišu
većini slučajeva, možete slo- posle restartovanja sistema,
bodno preskočiti. Jedan od tako da ne postoji mogu-
problema koji nastaje pri pre- ćnost da nešto upropastite.
lasku sa 2.4 na 2.6 seriju je taj Loša strana toga je da ćete,
da specijalni tasteri, opet u kada sve dobro podesite,
većini slučajeva, neće biti morati u inicijalizacioni
uopšte mapirani. Samim tim, skript za podizanje računa-
kernel neće prosleđivati in- ra da ubacite sve te ko-
formacije o njima. mande.
Da bi ste proverili koji su tasteri mapirani, a koji ne, idite u konzolni
režim i kucajte sledeće (obratite pažnju da znaci $ i # predstavljaju od- Nedovoljno neiskorišćenih
zivnik u konzoli i da se oni ne kucaju): key-kodova
$ su Ako se ispostavi da nemate
Sada ukucajte šifru root korisnika i pritisnite Enter. Unesite sledeću dovoljno neiskorišćenih key-kodova
komandu: da bi ste mapirali sve nepoznate ta-
# watch -n 1 “grep key /var/log/messages | tail” stere, onda nastaju muke jer set-
Na ekranu ćete dobiti spisak sa nekoliko poslednjih poruka kernela keycodes program ne dozvoljava da
u kojima se spominje reč “key” i taj spisak će se osvežavati svake unesete brojeve vece od 127.
sekunde. Počnite sa pritiskanjem specijalnih tastera. Za svaki taster Šta raditi u tom slučaju? Ili odu-
koji nije mapiran, dobićete sledeće poruke (ili slične): stati, ili skinuti izvorni kôd set-
... kernel: atkbd.c: Unknown key released (translated set 2, code keycodes programa i liniju u kojoj
0x85 on isa0060/serio0). se proverava da li je prosleđeni key-
... kernel: atkbd.c: Use 'setkeycodes e005 <keycode>' to make it kod manji od 127 jednostavno izbri-
known. sati ili, što je još bolje, ograničenje
Obratite pažnju na drugi red gde vam kernel daje uputstvo na koji promeniti u 255. Program kompajli-
xev, xkb
Ako ste, kojim slučajem, pomislili da je ovo kraj vašim mukama, gr-
dno ste se prevarili. Ostaje vam još da naučite X sistem da prepoznaje
te nove tastere.
Pokrenite iz emulatora terminala program xev. Ovaj program otvara
mali prozor i na standardni izlaz ispisuje sve informacije koje tom
prozoru šalje X server. Slično kao na početku, pritiskajte specijalne ta-
stere i zapisujte key-kodove koji se ispisuju u konzoli. Primetićete da
se ovi key-kodovi ne poklapaju sa onima koje ste unosili prilikom ku-
canja setkeycodes naredbe. Obratite pažnju na to da zapisujete ko-
dove samo onih tastera koji vraćaju NoSymbol poruku.
Sada otvorite /etc/X11/xkb/symbols/inet fajl vašim omiljenim edi-
torom. Odaberite neku od tastatura koja je najsličnija vašoj i dodajte
zapisane kodove koje vam je vratio xev. Ako je kod veći od 128, onda
od njega oduzmite 128, prebacite u heksadekadni sistem i dodajte slo-
vo I na početak.
Na primer, ako je xev vratio 139, onda u inet fajl dodajte red:
key <I0B> { [ XF86NekoImeTastera ] };
(139 – 128 = 11, a u heksadekadnom zapisu 11 je 0B)
Sada aktivirajte tu tastaturu, ponovo pokrenite xev program i pri-
tiskajte tastere. Umesto NoSymbol reči, u našem slučaju iz pretho-
dnog reda će se ispisati XF86NekoImeTastera. Ako vam se još negde
pojavljuje NoSymbol, to znači da ste u nekom koraku napravili gre-
šku. U tom slučaju, jedino što vam preostaje je da se igrate i eksperi-
mentišete sa brojevima dok vam tasteri ne prorade.
Zaključak
Ovo je, moram priznati, jedan od primera kod kog je nemoguće reći
da je GNU/Linux user-friendly operativan sistem. Naveden postupak
uopšte nije onoliko jednostavan koliko bi trebalo da bude. Većina
korisnika želi da samo uključi tastaturu i da ona radi.
Sa druge strane, postavlja se pitanje da li vredi truditi se oko
tastature samo da bi proradili još koji tasteri? Smatram da jeste,
pogotovo za one kojima su šake češće na tastaturi nego na mišu –
produktivnost i brzina rada se na taj način drastično povećavaju jer
svaki od tih tastera zamenjuje po nekoliko kliktaja mišem.
~ Ivan Čukić
Drajveri, drajveri...
Instalacija drajvera za modeme tri najpoznatija proizvođača
što se postiže jednom od sledećih komandi (u zavisnosti od vrste pa- #ln -s /dev/537 /dev/modem
keta): ovom komadnom se pravi simboli-
#tar -zxvf ime_paketa.tar čki link ka modemu kako bi ga pro-
#tar -zxvf ime_paketa.tgz grami koji će ga koristiti lakše pro-
#tar -zxvf ime_paketa.tar.gz našli (obično je podrazumevana lo-
#tar -jxvf ime_paketa.tar.bz2 kacija koju programi za povezivanje
Kada se arhiva raspa- na internet kori-
kuje dobićete novi di- ste /dev/mo-
rektorijum koji sadrži dem).
izvorni kod drajvera i Ovo bi trebalo
komandom da bude
#cd novi_direktori- dovoljno da mo-
jum dem proradi i
treba preći u novi di- gotovo uvek je
rektorijum i obaviti ovaj postupak
ostatak posla. dovoljan ukoli-
Intel modemi su naj- ko klasičan
bolje podržani modemi kada je u pitanju GNU/Linux platforma. Svi postupak instalacije zakaže. Narav-
noviji čipovi ovog proizvođača imaju drajvere kako za 2.4 tako i za 2.6 no, ako vaš modem nije 537,
verzije Linux kernela. Pored toga, izuzetno su laki za instalaciju i ret- poslužite se analogijom sa prime-
ko kada je potrebno dodatno intervenisati posle instalacije drajvera da rom. 537 zamenite modelom vašeg
bi modem radio. Pošto ste raspakovali arhivu sa drajverom i prešli u modema kao što je već objašnjeno.
novi direktorijum potrebno je izvršiti tri komande da bi drajver bio is- Link za preuzimanje drajvera
kompajliran (preveden) i instaliran, a to su: možete naći kako na www.linmo-
#make clean dems.org tako i na Intelovim strani-
#make IME_ČIPA cama posvećenim preuzimanju
#make install drajvera.
Lakoća instalacije Intel drajvera leži u tome što se postupaci instalacije
svih modela razlikuju samo u jednom segmentu, a to je komanda za Kada su u pitanju Lucent modemi
prevođenje koda koja zavisi od modela čipa. Prema tome, pri instala- sitaucija je malo komplikovanija. Na
ciji svog drajvera ćete IME_ČIPA zameniti odgovarajućon oznakom prvi pogled stvari ne izgledaju tako
čipa koji poseduje vaš modem, i to izgleda ovako: jer postoji jedan model Lucent mo-
#make 536 (za modeme za 536 ili 536EP čipom) dema (Lucent LT) koji uspešno radi
#make 537 (za modeme za 537 ili 537EP čipom) na GNU/Linux sistemima (i ne
#make ham (za modeme za ham čipom) samo Linuxima), ali je instalacija
Ovo će u 99% slučajeva biti dovoljno da modem proradi jer će sve po- drajvera malo kompikovanjija nego
trebne operacije (pravljenje device nod-a - uređaja koji predstavlja vaš kada su u pitanju Intel modemi.
modem i podešavanje startovanja modula pri podizanju sistema). Drajver za 2.4 kernele je dobro
Ukoliko se dogodi neka nepredviđena okolnost i modem ne proradi, urađen, postupak instalacije obavlja
uvek ostaje mogućnost da se stvar uradi “ručno”. Naravno, potrebno sve što je potrebno dok se to ne
je da se drajver uspešno iskompajlira (znači make 537 npr.), a ako može reći za drajver namenjen 2.6
skripta ne instalira drajver kako treba treba probati sledeće: kernelu.
#insmod -f Intel537.o (Intel537.ko za 2.6 verzije kernela) Ako još uvek koristite 2.4 kernel,
Ovom komandom se instalira modul dobijen kompajliranjem koda, nećete imati problema prilikom
#rm /dev/537 instalacije drajvera. Potrebno je sve-
uklanja se device nod 537 ako postoji, ga tri koraka da bi drajver bio insta-
#mknod /dev/537 c 240 1 liran i to su:
mknod komanda će napraviti novi device nod za vaš modem (240 je #./build_module
podrazumevana vrednost, a ako ne proradi podledati #./ltinst2
/proc/devices gde će pisati koji broj odgovara vašem modemu) , #./autoload
Ukoliko se ove tri komande uspešno izvrše, modem je spreman za prilikom editovanja fajla Makefile, a
upotrebu. Nakon instalacije je preporučljivo pogedati dobija se komandom uname -r. Da-
/etc/modules.conf fajl u kom bi trebalo da postoje sledeće tri linije: kle, komande koje treba izvršiti su
alias char-major-62 lt_serial sledeće:
alias /dev/tts/LT0 lt_serial #mkdir /
alias /dev/modem lt_serial lib/modules/ime_vašeg_kerne-
Ove linije obezbeđuju da se modul učita pri podizanju sistema, ako ne la/other
postoje unesite ih. Ova verzija drajvera radi veoma pouzdano i ne bi ovom komandom se pravi direkto-
trebalo da prouzrokuje probleme. Ovaj postupak za instalaciju nije je- rijum other u
dini, već je na početku instalacije moguće kreirati odgovarajući .rpm /lib/modules/ime_vašeg_kerne-
ili .deb paket komandom la/ direktorijumu,
#./build_deb ili #cp ltmodem.ko /
#./build_rpm lib/modules/ime_vašeg_kerne-
i instalirati prema upustvu za instalaciju drajvera iz binarnih paketa. la/other
Ukoliko koristite 2.6 kernel, trebaće malo više (ali ne i previše) truda #cp ltserial.ko /
da biste instalirali drajver. Kada se pojavio Linux kernel u 2.6 verziji, lib/modules/ime_vašeg_kerne-
pokušaji osposobljavanja Linucent LT modema su se svodili na la/other
podršku 2.6 kernela da učita module namenjene 2.4 kernelima, što a ovim komandama se kopiraju mo-
nije davalo korisne rezultate. Na sreću, ubrzo su se pojavili drajveri duli u direktorijum iz kog će se uči-
koji su omogućavali korišćenje ovog modema na 2.6 kernelima. Jedina tavati.
stvar koja nije bila tako dobra je instalacija. Naravno, iskusnijim kori- Nakon što su moduli smešteni na
snicima ovo nije problem, ali onima sa malo manje znanja i iskustva svoje mesto, treba napraviti device
može biti. nod za vaš modem komandom
Na adresi http://linmodems.technion.ac.il/packa- #mknod --mode=0640 /
ges/ltmodem/kernel-2.6/ mogu se pronaći arhive sa drajverima dev/ttyLT0 c 62 64
među kojima se najbolje pokazao izvorni kod drajvera zapakovan u Potrebno je podesiti da dozvole
arhivu sa imenom ltmodem-2.6-alk-6.tar.bz2. Prvi korak u instalaciji za /dev/ttyLT0 budu identične do-
ovog drajvera predstavlja zvolama fajla /dev/ttyS0, što se
kompajliranje modula. U može uraditi uz pomoć Konquerora
nekim ranijim verzijama ili Nautilusa, u tabu premissions,
drajvera je potrebno da properties prozora koji se dobija od-
znate koju verziju kernela abirom istoimene opcije u meniju
imate na sistemu, što je koji se dobija klikom desnog tastera
moguće saznati komandom miša na fajl. Poželjno je napraviti
#uname -r link ka modemu komandom
Nakon toga, potrebno je editovati fajl pod imenom Makefile u kom #ln -s /dev/ttyLT0 \
ćete pri počektu naići na liniju: /dev/modem
KERNEL_DIR := /usr/src/linux-2.6/ Ostalo je da se moduli učitaju i
Umesto dela linux-2.6.6 u ovoj liniji treba uneti informaciju o vašem obezbedi njihovo učitavanje prili-
kernelu, odnosno ono što ste dobili kada ste otkucali komandu uname kom podizanja sistema. Moduli se
-r i sačuvati promene. Nakon što je Makefile editovan, treba izvršiti učitavaju komandom
komandu
GNUzilla
#make
da bi ste iskompajlirali module potrebne za rad vašeg modema. Kada
je verzija drajvera koja je pomenuta u pitanju (ltmodem-2.6-alk-
6.tar.bz2), nije potrebno editovati Makefile jer je problem rešen na bo-
lji način, tako da sada skripta sama pronalazi putanju ka izvornom
kodu kernela. Pošto se komapjliranje završi, treba prekopirati module
ltmodem.ko i ltserial.ko u /lib/modules/ime_vašeg_kernela/other
direktorijum. Naravno, ime_vašeg_kernela je isto ono što je upisano
uzdanom, ali za 2.6 kernele se mora koristiti finalna verzija, odnosno sistemu. Prvi način predstavlja pre-
treba platiti 15 dolara za surf na 56K. GNU filozofija je zasnovana na uzimanje binarnog paketa sa eks-
slobodi, što znači da je bitno da softver bude slobodan (ali ne i uvek tenzijom .tbz i instalaciju koma-
besplatan), a čitajući licencu prilikom preuzimanja drajvera jasno se ndom
daje do znanja korisniku da su ovi drajveri sve, samo nisu slobodni, a #pkg_add ltmodem-1.4.tbz
još se i plaćaju. Već viđeno, ali ne na GNU/Linuxu. dok drugi način predstavlja preuzi-
Instalacija je veoma laka i svodi se dve komande od kojih je prva za- manje izvornog koda drajvera sa
jednička za sve modele i glasi: FreeBSD servera. Ovakav drajver se
#make install instalira na sledeći način:
a druga zavisi od tipa modema. #cp ltmodem-1.4.tar.gz
#hcfpciconfig /usr/ports/distfiles
će obaviti ostatak posla oko instalacije i podešavanja modema ukoliko #cd /usr/ports/comms/ltmdm
je on HCF model, dok je za HSF model potrebno otkucati komandu #make install clean
#hsfpciconfig Naravno, da biste instalirali novi,
koja će završiti posao kod ovog modela. Ako posedujete USB eksterni teba prvo deinstalirati stari drajver
model modema, umesto prethodnih komandi potebna je jedna od ove što se može uraditi pozivanjem
dve u zavisnosti od modela: sistemskoog instalacionog progra-
#hcfusbconfig ma komandom
#hsfusbconfig #sysinstall
Pošto je modem instaliran i konfigurisan može mu se pristupiti na U trenutku pisanja teksta LT draj-
lokaciji /dev/ttySHCF0 (/dev/ttySHCFUSB0 za USB modele) ili / ver postoji u verziji 1.4.
dev/ttySHSF0 (/dev/ttySHSFUSB0 za USB modele), u zavisnosti od Surfovanje internetom na FreeB-
modela modema, naravno. Može bili veoma korisno napraviti link ko- SD-ju uz pomoć Lucent LT modema
mandom je krajnje komforno, a veza je stabil-
#ln -s /dev/ttySHCF0 /dev/modem na što pokazuje da je drajver veoma
#ln -s /dev/ttySHCFUSB0 /dev/modem dobro razvijen i pouzdan.
#ln -s /dev/ttySHCF0 /dev/modem
#ln -s /dev/ttySHCFUSB0 /dev/modem Na kraju
radi lakšeg pronalaženja modema od strane programa za povezibanje Svi drajveri predstavljeni u ovom
na internet, opet u zavisnosti od modela modema. takstu se instaliraju iz konzole sa
Ovo je dovoljno da vaš Connexant proradi na 14.4Kbps, a može li root privilegijama. Znak # u prime-
brže? Na vama je da odlučite. rima komandi ne treba kucati jer on
predstavlja indikator root dozvola
FreeBSD... (kada ste običan korisnik pisaće $).
Ceo tekst, osim ovog dela, se tiče GNU/Linux sistema jer su softver- Kao što je pomenuto na početku,
ski modemi najbolje podržani na njima, ako se izuzme operativni ukoliko instalirate drajver iz izvor-
sistem zbog kog oni i jesu takvi kakvi su. FreeBSD je po zastupljenosti nog koda, biće vam neophodan iz-
na drugom mestu među Unixolokim sistemima, ali su softverski mo- vorni kod kernela koji se na većini
demi daleko manje zastupljeni na njemu nego na GNU/Linuxu. distribucija instalira sa instalacionih
Tačnije, samo jedan model softverskih modema je podržan kada je u diskova. Potrebno je u menadžeru
pitanju FreeBSD, a to je Lucent LT. Drajver za ovaj modem je veoma paketa pretražiti pakete koji u nazi-
dobro razvijen, a od 5.3 verzije FreeBSD-a je uvršten u grupu paketa vu sadrže reč kernel-source i instali-
koji se nalaze na instalacionim disku, tako da se može instalirati pri rati odgovarajući, a koji je odgova-
instalaciji sistema. No, ta verzija drajvera može prouzrokovati od- rajući znaćete komandom uname -r,
ređene probleme u kernelu (kernel trap 12) tako da je treba koristiti jer će paket koji bude pronađen sa-
samo za preuzimanje novije verzije. Kada se drajver instalira modemu držati oznaku dobijenu ovom ko-
možete pristupiti na lokaciji /dev/cual0, ali je bitno napomenuti da mandom u svom imenu. Grafičkih
kppp neće raditi, već je konekciju potrebno obaviti pomoću ppp ko- frontenda za instaliranje drajvera
mandne linije. Preuzimanje, odnosno instalacija nove verzije drajvera još uvek nema, osim kada su u pita-
se može obaviti na dva načina, u duhu instalacije softvera na FreeBSD nju drajveri u binarnom odliku koji
~Ivan Jelić
Gimp tip
~Miloš Popović
POŠTO JE NAPISAN U C-U POSTOJI I MOGUĆNOST PROŠIRIVANJA U SAMOM C-U ILI C++. u filozofiji Pitona. Neke od najzna-
PORED SVEGA TOGA POSEDUJE VEOMA ČISTU SINTAKSU KOJU JE VEOMA LAKO NAUČITI, TE čajnijih su Python Imaging Li-
KAO TAKAV JE PRAVI IZBOR ZA POČETAK PROGRAMIRANJA.. brary, VTK, MayaVi, Numeric
Python, ScientificPython.
Sa Pitonom ste u mogućnosti da pišete proste skripte ili razvijate složene Kratko poređenje sa dru-
programe ili programske pakete. Sa njime će te lako razvijati Web servi- gim jezicima
se, kontrolisati procese, obrađivati tekst ili XML dokumente. Piton pose-
duje sve internet protokole (HTTP, FTP, SMTP, POP ...) i omogućava Perl
pristup raznim bazama podataka (DB/2, MySQL, DCOraqkle, DCOra- Perl je još jedan slobodan i veoma
kle2 i mnogim drugim). Za izradu Grafičkog korisničkog interfejsa moćan programski jezik. Piton i
(GUI) najčešće se koriste wxPython, PyQT i PyGTK, pored njih postoji i Perl imaju neke sličnosti (Unix
podrška za TK, Delphi i mnoge druge. skripte itd.), ali imaju i neke razli-
ke. Ako ste nekada videli ili
Osnovne odlike možda pokušali napisati Perl i Pi-
Jednostavnost ton skriptu razlika bi vam se sama
Piton poseduje jednostavnu sintaksu. Svako ko zna Englaski jezik će pokazala. Takođe se može pronaći
sigurno shvatiti veći deo programa samo čitanjem. mišljenje da je Perl prava
Lakoća učenja stvar za iskusne programe-
Možda stvar diretno povezana sa
Python is a freely available,
re koji su probali skoro sve
predhodnom, ali takođe veoma bi- very high level, interpreted i uvek im je nešto smetalo
tna za omasovljavanje. language developed by Guido ili nedostajalo, dok je Piton
Slobodan i otvorenog koda van Rossum. It combines a idealan za početnike koji
Da, Piton je 100 % slobodan, što je clear syntax with powerful (but žele veoma lako da savla-
presvega bitno za njegov razvoj. daju objekte i objektno ori-
optional) object-oriented
Piton je jezik visokog nivoa (hi- jentisano programiranje.
ght-level) semantics. Programi napisani u Pitonu
U jednom napisanom Piton progra- u odnosu na one napisane
mu nemorate da se bavite stvarima poput memorije koju on koristi. u Perlu su definitivno kraći, lakši
Portabilnost za pisanje i shvatanje. Značajna
Svojstvo koje proističe direktno iz trećeg, tako da postoji u verzijama za prednost koji Perl možda ima u
sve poznate operativne sisteme (Windows, MAC, i naravno GNU/Linux odnosu na Piton je biblioteka zva-
i Unix). Jedan te isti byte code se može pokrenuti na svim platformama. na “CPAN - the Comprehensive
Interpretirani Perl Archive Network” i kako joj
U ovom jeziku ne postoji poseban korak vezan za prevođenje, komplaci- samo ime kaže to je ogromna ko-
ju (compilation), nego se program izvršava direktno iz izvornog koda lekcija Perl modula. Jedan od
(source code). Piton često sam iz izvornog koda pravi takozvani byte co- glavnih razloga za ovo po mom
de. Ovim se dobija na brzini ali i jednostavnosti jer nemorate da brinete mišljenu to što je Perl mnogo više
oko stvari kao što su linkovanje nekih biblioteka itd. u upoterbi od Pitona.
Objektno orijentisani Java, C++
U Pitonu je moguće i takozvano proceduralno, funkcionalno i objektno Generalno Piton programi bi tre-
orijentisano programiranje. U Pitonu sve je objekat. bali biti sporiji od onih razvijenih
u Javi (pominje se negde 3-5 puta) ali je potrebno značajno manje vreme- from imemodula import *
na za razvoj. Ta razlika se može pripisati razlici novoa, naprimer Piton Sve što je potrebno je da se modul
programeri nemoraju da se bave deklaracijom tipova i argumenata pro- nalazi na određenom mestu, da ga
menljivih. Uzmimo za primer računanje izraza a+b, Piton mora prvo Piton može pronaći. To može biti
proveriti objekat a i b i utvrditi njihov tip, koji nije poznat u vreme iz- trenutni direktorijum, PYTHON-
vršavanja. Za C++ važi otprilike sve gore rečeno samo što je razlika u br- PATH (/usr/lib/python2.3 ...) ili
zini sada 5-10 puta, ali takođe bitna stvar koja se pominje je da ono što instalacioni direktorijum.
Piton programeri urade za dva meseca C++ programerima je potrebno Za detaljnije informacije svakako
oko godinu dana. Svakako ovi programski jezici zajedno čine najbolju treba pogledati “Python Library
kombinaciju. Reference”
Da se vratimo sa pitanje sa počet-
Piton u upotrebi ka da li je Piton za početnike ili
profesionalce? Apsolutno fleksibi-
Stabilnost lan programski jezik koji podje-
Možda je razumno postaviti pitanje stabilnosti, Koliko je Piton stabilan? dnako mogu koristiti i jedni i dru-
Sa sigurnošću se može reči da je veoma stabilan, nova stabilna verzija gi. Početnici koji žele da nauče
izlazi na svakih 6-18 meseci i ovakav trend će se nastaviti i u budoćnosti. programiranje ali i profesionalci
Koliko se Piton koristi? koji žele brzo da razvijaju aplika-
Na to pitanje je teško dati odgovor, jer je programski jezik potpuno slo- cije.
bodan i može se preuzeti sa različitih lokacija. Takođe svaka GNU/Li-
nuks distribucija dolazi sa nekom verzijom Pitona, a i mnogo stvari je Korisna adresa
napisano u ovom jeziku. Čuveni RedHat instaler (Anaconda) je u potu- www.python.org
nosti napisan u Pitonu, a mnoge distribucije koriste ovaj, doduše malo ~ Srđan Anđelković
izmenjeni ili ne instaler. Pomenuo bih još samo i Bleder projekat.
Nadogradnja
Da, moguća je nadogradnja stare verzije Pitona novom. Počev od verzije
2.3 uključen je paket PySDDB, kao zamena za stari bsddb modul. Zbog
te zamene procedura nadogradnje 2.2 verzije 2.3 je nešto kompilkovanija
ali nije teška. Zajedno sa Pitonom 2.3 dolaze dve skripte db2pickle.py i
picle2db.py, one se nalaze u Tools/scripts direktorijumu. Sa njima
možete konvertovati vaše stare fajlove u novi format, na sledeći način
python2.2 <putanjado>/db2pickle.py database.db database.pck
sada treba preimenovati na sledeći način
mv database.db olddatabase.db
i na kraju
python2.3 <putanjado>/pickle2db.py database.bd database.pck
Kao što se vidi tačna komanda se razlikuje, odnosno može se razlikovati
u zavisnosti od instalacije Pitona.
Moduli
Moduli se koriste onda kada ne želite da pišete neke funkcije više puta,
odnosno kada se neke funkcije ponavljaju na više različitih mesta. Mo-
dul je u suštini datoteka sa ekstenzijom .py (datoteka.py), koji sadrži de-
vinisane funkcje. Modul možete koristiti u nekom drugom modulu ili
programu, sve što je potrebno je samo da ga pozovete. Za ovo u Pitonu
postoji više načina:
import ime_modula
primetite da nema ekstenzije. Tada neku funkciju u tom modulu poziva-
te na sledeći način:
ime_modula.ime_funkcije
drugi način za pozivanje modula je
Radionica
Srebrna lisica
Kako prilagoditi izgled Firefox pretraživača
TOKOM ISTORIJE, MNOGI LJUDI SU POKUŠAVALI DA LOVE NORMALNE LISICE, DA (Cascade Style Sheet). Ovaj princip
IM FARBAJU KRZNO U BOJU SREBRNE LISICE I DA IH TAKVE PRODAJU PO DESET možete koristiti i za menjanje izgle-
PUTA VEĆOJ CENI. MI ĆEMO SE U OVOJ RADIONICI BAVITI SLIČNIM POSLOM, da Thunderbird klijenta za e-poštu
SAMO ŠTO ĆE NAM NAGRADA BITI LIČNA SATISFAKCIJA, A NE NOVAC. samo što, u tom slučaju, morate sa
interneta preuzeti DOM Inspector
Ekstenzije proširenje za Thunderbird.
Jedna od najlepših strana Firefox pretraživača je mogućnost da ga Svaki element u oba programa
promenite u toj meri da ga ni rođena majka (Mozilla fondacija) ne bi podleže zakonima koje je propisao
prepoznala. Na početku ovog teksta ćemo se pozabaviti nekim od W3C (www.w3c.org) u CSS sta-
interesantnijih ekstenzija koje se tiču izmene samog izgleda programa. ndardu. To znači da skoro svakom
elementu grafičkog okruženja mo-
Compact menu žete menjati font, pozadinu, okvir,
Pomoću ovog proširenja ćete margine... Ovde ćemo se pozabaviti
moći da sklonite kompletan meni nekim sitnijim trikovima tek da
sistem programa i da ga “stavite” vidite koji je princip, pa da možete
pod jedno jedino dugme. Imate kasnije sami da eksperimentišete.
mogućnost biranja da li želite da to
dugme bude dugme sa stilizova- Pozadina
nom sličicom ajkule ili da na njemu Prvo ovtvorite fajl userChrome.css
piše samo “Menu”. koji se nalazi u chrome poddirekto-
Ako niste zadovoljni sličicom aj- rijumu vašeg profila (za Firefox
kule, otvorite fajl compact.jar (Java ~/.mozilla/firefox/ime, i ~/.thun-
Archive je zapravo ZIP arhiva sa derbird/ime za Thunderbird) ili ga
promenjenom ekstenzijom) i zamenite fajl compact.png koji se nalazi kreirajte ako on ne postoji.
u skin/classic/compact/ direktorijumu arhive. Dodajte sledeće redove u njega:
Stop/Reload toolbar,
Zbog čega bi ste imali dva dugmeta – jedno za Stop, a jedno za Relo- menubar,
ad – kad možete imati samo jedno kao što je to, na primer, u Safari toolbar#toolbar-menubar,
pretraživaču za MacOS X. Dok se neka strana učitava, prikazivaće se statusbar#status-bar,
dugme Stop, a u suprotnom Reload. Potrebno je napomenuti da ova hbox#browser,
ekstenzija ne izgleda lepo kad se koristi neka tema za Firefox koja je #sidebar-splitter,
ne podržava. Sa podrazumevanom temom sve radi kao podmazano. #sidebar-box {
background-image: \
Tabbrowser Extensions url("bkg.png") !important;
Ovo je jedno od najbolje urađenih proširenja pravljenih za Lisicu border: 0px solid black \
koje vam, pored ostalog, dodaje dugme za zatvaranje na svaki tab u !important;
programu. Ako vam nisu potrebne sve mogućnosti ove ekstenzije, a }
želite malo “x” dugme u desnom ćošku svakog taba, skinite Tab X
proširenje. bkg.png zamenite putanjom do
fajla koji želite da bude prikazan u
CSS pozadini.
Sada kad smo napravili nekoliko hirurških zahvata i sabili ceo meni Obratite pažnju na to da se pro-
i paletu sa alatkama (toolbar) u jedan red, možemo da počnemo sa mene neće videti u programu dok
farbanjem krzna. Za farbanje će nam biti potrebno malo znanja CSS-a ga ne restartujete.
Margine
Ako želite da sklonite prazan prostor između dugmića u paleti sa
alatkama, u userChrome.css fajl unesite sledeće CSS naredbe:
toolbarbutton {
padding: 0px !important;
margin: 0px !important;
}
Naprednija podešavanja
Ako znate CSS, onda se ne morate zaustaviti na ovim, i na trikovima
na koje naletite na internetu. Možete uraditi šta god poželite. Princip
rada ću pokazati na sle-
dećem primeru – dodaćemo
okvir onoj maloj sličici koja
se animira kada se učitava
stranica a koja se zove trober
(throbber).
Prvi korak svake izmene se
sastoji u tome da nađete ele-
ment kome želite da prome-
nite osobine. To možete ura-
diti na sledeći način:
Pokrenite DOM Inspektora (Menu > Tools > DOM Inspector, ili
kombinacijom tastera Ctrl+Shift+I). U inspektoru idite na File > In-
spect a Window i tu odaberite prozor na kome se trober nalazi.
Sada idite na Search > Select Element by Click i posle toga pređite u
glavni prozor i kliknite na trober. U DOM Inspektoru će biti obeležen
traženi element – button čvor sa id atributom “navigator-throbber”.
Kliknite desnim dugmetom miša na tabelu sa kolonama nodeName i
nodeValue, pa kad se otvori meni, kliknite na Insert. Bićete upitani da
unesete ime atributa koji želite da dodate. Tu unesite “style” (bez zna-
kova navoda). Sada ćete biti u prilici da unesete CSS osobine za taj
element. U našem ćemo tu ukucati “border: 1px solid black;”. Stavite
OK i pogledajte vaš glavni prozor.
Ništa se nije desilo!? Nije. To znači da smo naleteli na element kome
ne možemo da promenimo osobine. Sada dolazi na red tehnika po-
kušaja i promašaja – odabraćemo u DOM drvetu element koji je
“otac” našeg elementa – to će biti toolbaritem čvor sa id atributom
“throbber-box”. Probaćemo prethodni postupak na njemu – stavljamo
style=“border: 1px solid black;” idemo na OK. Eto, dobili smo punu
crnu ivicu debljine 1px (piksel).
Sada je došlo na red da te izmene zapamtimo. Otvorite userChro-
me.css i dodajte sledeći red:
toolbaritem#throbber-box { border: 1px solid black; }
Za one koji ne znaju CSS, reč koja se nalazi ispred “tarabe” označava
ime čvora u DOM drvetu, a reč koja je iza označava vrednost id atri-
buta čvora na koji primenjujemo stil koji se nalazi između vitičastih
zagrada.
~ Ivan Čukić
GNU je iz ideje u stvarnost pretočio slobodu. Ipak, jednom jativa za Otvoreni kod (Open So-
ostvarena sloboda se mora štititi svim sredstvima jer tek tako urce Inititative - OSI), jer ćemo
sva njena suština dolazi do izražaja a trud velikog broja dobrih se u priči o licencama jako često
ljudi ne gubi na smislu. vraćati na njih. Neka mi svi
poštovaoci GNU ideje oproste
GNUUUU! ako smatraju da ih ne treba po-
Svoj logični početak ova priča ima u upoznavanju sa GNU minjati - sa pravne strane su oni
projektom. Ulaziti u kompletnu analizu istorijske pozadine bi jako važni, a ovo je ipak pravna
nas odvelo u stranputicu te ću se ovde samo na kratko zadrža- strana slobode.
ti na tome šta je to GNU i kako je nastao. Ozbiljnije razmatranje Suštinska razlika između ova
ostavljam nekom drugom za neku drugu priliku. dva pokreta leži u pogledu na
Cilj GNU (GNU's Not Unix) projekta je razvijanje slobodnog vrednosti i u pogledu na svet.
a Unix kompatibilnog softvera tj. operativnog sistema a svoju Za ljude u OSI-ju je pitanje soft-
istoriju započinje davne 1983. vera otvorenog koda praktično
pitanje, a ne etičko. Jednom je
Mnogi ljudi pogrešno shvataju reč sloboda u kontekstu Slobo- neko to lepo postavio:"Otvoreni
dnog softvera. Ako kažemo "sloboda" to ne znači i besplatno. kod je metodologija razvoja, Slo-
Za svoj Slobodni softver bodni softver je društveni po-
vi možete ali i ne morate *“Da bi smo bili slobodni kret". Dakle, suštinska razlika
platiti neku cenu. U sva- moramo biti potčinjeni leži u tome kako ko gleda na
kom slučaju su vam na zakonima” svet. Dok GNU pokret otvoreno
raspolaganju tri(četiri) Latinska izreka govori o etici i slobodi, Otvoreni
različite slobode: kod je tiši na tu temu jer smatra
1) Sloboda da softver kopirate i delite sa prijateljima ili sara- da ća na taj način biti prihvatlji-
dnicima. viji u poslovnom svetu. A
2) Sloboda da program menjate po sopstvenoj volji i da imate poslovni svet ne voli previše pri-
uvid u izvorni kod softvera. če o slobodi, moralu i etici. Neko
3) Sloboda da jednom izmenjen softver distribuirate i na taj na- će reći da se ne živi od ideja već
čin pomognete razvoju zajednice. od para. Tačno. Određena količi-
na tihog rada može da koristi
Do početka devedesetih je ostvaren osnovni cilj - razviti zajednici da bude bliža poslov-
UNIX sličan operativni sistem. Do tog trena su sve kompon- nim saradnicima, ali niko ne
ente, sem kernela, bile razvijene. Onda je stvoren Linux, sme da odstranjuje slobodu da
slobodni kernel, i označio početak prave GNU revolucije. se o slobodi govori i da se ona
promoviše.
Ipak, GNU nije ograničen samo na operativne sisteme. Kao Ova dva pokreta se razlikuju u
što je već navedeno, cilj jese slobodan softver u svakom obliku. osnovnim principima što ih ne
Slobodan softvera je praktično ograničena samo jednim - za- čini zaraćenim taborima. Zami-
konima o patentima koji zabranjuju slobodu istog time što slite ih kao dva politička tabora
sputavaju 3(4) osnovne slobode koje promoviše GNU. unutar jedne te iste zajednice.
Baš zbog toga se neću libiti da u
Strah od Slobode! ovoj priči pominjem i koristim
Ne bi bilo pošteno kada u ovoj priči ne bi bila pomenuta Inici- informacije koje nosi pokret