#440 na kioscima

13.11.2013.

Zdenko Kremer  

Bijela slova na crnom zaslonu

Toliko smo naviknuti na grafičko sučelje i miša da se većini ljudi upisivanje naredbi u komandnu liniju čini kao neko ekspertno znanje


U današnje doba korisnici informatičkih tehnologija gotovo da i nisu čuli za pojmove character mode i character-mode aplikacija, tj. aplikacija koje rade u “karakter modu”, a radi se o načinu (modusu) rada grafičke jedinice kod kojega je zaslon podijeljen na pravokutnike određenih dimenzija (u slučaju “rada na konzoli” zaslon je obično predstavljen matricom dimenzija 80x25 (horizontalno x vertikalno) u koje se mogu upisivati samo slova, tj. znakovi određeni postavljenom “kodnom stranicom”. Ljudi su već odavno navikli raditi u “grafičkom modu”, tj. s grafičkim sustavom prozora (“windows”) i odgovarajućim “window managerima”, gdje sve, kao, ide automatski, i gdje se sve operacije izvode jednostavnim “klikovima” mišem. Malo se njih sjeća i DOS-a i onoga što se zvalo “command prompt”, a pojam shella (naredbene ljuske) potpuno im je nepoznat. Međutim, treba reći kako osjećaj da u “grafičkom okruženju”, tj. pod “windowsima” sve ide automatski i da je sve jednostavno, proizlazi jednostavno iz prakse u kojoj se korištenje kompjutera svodi na nevelik broj radnji za čije je izvršavanje sve prethodno veoma dobro podešeno.   

Tek u situaciji kad se počnu pojavljivati problemi, kad nešto počne “štekati” ili se pokvari, korisnik stječe pravi osjećaj o tome što kompjuteri i informatika zapravo jesu. Onda počinje shvaćati kako je ova stvar nešto veoma kompleksno i kako je on sam u takvoj situaciji nemoćan da učini išta korisno i pomogne sam sebi. Netko bi sad mogao reći da je to tako i gotovo te da je normalno da korisnik u slučaju problema pozove stručnjaka, ne bi li mu pomogao i riješio nastali problem. No, sad se možemo sjetiti situacije od prije dvadesetak godina kad takvih stručnjaka uopće nije ni bilo i kad su gotovo sve probleme “oko kompjutera” rješavali sami korisnici. Istina je da su se do sada stvari prilično promijenile (unaprijedile) i da su znatno kompleksnije nego ranije, a da je i krug “korisnika” danas daleko veći nego je bio u ono doba, no treba reći kako mnogi primjeri pokazuju da se i ovakvoj situaciji ipak može “doskočiti” te da pravi problem zapravo nije u kompleksnosti tehnologija s kojom se “običan čovjek” ne može nositi, nego u njihovoj “zatvorenosti”, zbog koje je i amaterima, a pogotovo laicima onemogućeno da sami rješavaju svoje informatičke probleme.

Tipkovnicom do slobode Priča o GNU/Linuxu, tj. slobodnom softveru i filozofiji slobode koja leži u njegovom podtekstu pokazuje na koje se sve načine svim ljudima, dakle ne samo stručnjacima, nego i amaterima, ali i laicima, može omogućiti da svoj kompjuter koriste “s razumijevanjem” pa prema tome posve autonomno i vrlo efikasno. Ova je priča također pokazala da to što se danas ljudi uglavnom “ne razumiju” ili “slabo razumiju” u informatiku, premda se intenzivno koriste njezinim dostignućima, nije posljedica toga što su informatičke tehnologije nešto strahovito komplicirano, nedostupno prosječnoj ljudskoj pameti niti je posljedica toga što su korisnici glupi ili lijeni, već pravi uzrok leži u sistematskom nastojanju određenih korporativnih krugova da se korisnicima ovih tehnologija namjerno onemogući, tj. oteža stjecanje znanja i iskustava koja bi im pomogla da svoje probleme vezane uz korištenje računala rješavaju sami ili u suradnji s osobama iz svoga užeg okružja.

Glavna prednost projekta GNU, tj. GNU/Linuxa, sastoji se upravo u tome što je ovaj operativni sustav zamišljen tako da zainteresirani pojedinci mogu relativno jednostavno sami napraviti sve stvari koje im trebaju u radu; da sami, na što lakši način, mogu razvijati vlastiti softver ili da onaj već postojeći sami mogu prilagođavati svojim potrebama, sami ga konfigurirati, (jednostavnim editiranjem konfiguracijskih fileova) te da u komunikaciji s drugim zainteresiranima (članovima GNU/Linux zajednice) sami mogu rješavati sve probleme koji se pojavljuju u njihovom radu. Inače, zamisao o “podršci zajednice” čini smisao onoga što je guru ove zajednice Richard Stallman označio frazom “helping your neighbour”, što predstavlja jedan od temeljnih principa GNU projekta, na kojemu se jedino i mogu graditi razne strategije borbe protiv prisvajanja javnog dobra, odnosno korporativizma uopće. Nije teško zaključiti da je za ostvarenje ovih ciljeva nužno da društvo na određeni način zadrži kontrolu nad tehnikom jer u suprotnom ono gubi možda i svoje najvažnije “atribute moći”, bez kojih nema nikakvih šansi u borbi sa snagama koje rade protiv njegovog interesa, i upravo se o tome u ovoj priči radi. Iz svih ovih razloga koncepcija GNU/Linuxa pretpostavlja jedan prilično “elementaran nivo” svoga korištenja, što međutim ne znači da se od korisnika traži da kompjutere upotrebljavaju na nekakav posebno sofisticiran, “hakerski način”, nego optimalno i kreativno.

Zabavno učenje u zajednici  No, s razvojem GNU/Linuxa, odnosno njegovih distribucija, stvari su se u ovom smislu počele odvijati prilično nepovoljno i na linuksaškom području. Korisnici su danas i ovdje zatrpani kojekakvim GUI-alatima koji im tobože olakšavaju rad, ali im zapravo kompliciraju stvari i ometaju ih u stjecanju znanja i vještina koje bi u drugim okolnostima mogli stjecati relativno lako pa onda s vremenom (prirodnim putem) postajati sposobni da se sami nose s većinom problema koji se javljaju pri korištenju slobodnih informatičkih tehnologija (pa da onda i pomažu onima manje iskusnima). Ovo je još jedan dovoljno jak razlog zbog kojega bi valjalo promovirati bavljenje informatikom, tj. konkretnim poslovima u kojima se služimo računalom, na elementarnijim nivoima, dakle rad u nekom od shellova (Bash, Bourne shell, C shell, Korn shellu i dr.), odnosno u karakter modu, što je mnogo zgodnije i primjerenije. Dakako, ne kažemo da bi trebalo odbaciti nove informatičke tehnologije, sasvim je primjereno koristiti se recimo X-windowsima i nekim od window managera, ali bi zgodno bilo da taj window manager bude što “rudimentarniji” (takav je primjerice fvwm pa i WindowMaker), jer je time omogućen i jednostavniji i manje zahtjevan način rada (i za korisnika i za računalo). Možemo primijetiti kako je u ovom slučaju za učenje potrebno uložiti malo više napora tek na početku, no da kasnije sve ide mnogo lakše i brže. Ovakva strategija zapravo omogućava da se stvari “uče same od sebe” pa onda učenje prestaje biti mučenje (što redovno biva ako imamo posla s zatvorenim, tj. vlasničkim softverom) i odvija se na prirodan način, kroz suradnju i komunikaciju među ljudima, zbog čega sve ide relativno lako i bez većih poteškoća, tim prije što je mnogo članova GNU/Linux zajednice spremno pomoći u svakom trenutku, a lako ih je i naći, ako ne u lokalnoj zajednici, onda preko interneta. Tako ova vrsta učenja postaje jedna veoma zanimljiva i zabavna aktivnost.

Natrag k informatičkim korijenima Treba reći kako za većinu poslova koji se obično obavljaju pomoću računala, barem na GNU/Linuxu, postoje character-mode aplikacije koje takve poslove uspješno izvršavaju. Tako recimo surfati internetom možemo pomoću lynxa, oslobodivši se nepotrebnog šarenila i grafičkih dodataka koji usporavaju učitavanje web stranica - možemo vidjeti “internet kakav bi trebao biti”. Elektroničku poštu možemo pregledavati pomoću mutta, jednostavne tekstove možemo pisati u vi/vim editoru (oni ambiciozniji mogu koristiti i emacs), a složenije u LaTeX-u, računati možemo pomoću bc-a, tablične proračune možemo raditi u sc-u, a sve moguće operacije, odnosno programe možemo izvoditi i iz shella, tj. s komandne linije, umjesto preko GUI-ja (grafičkog korisničkog sučelja) koji je i tako samo “maska prema van” iza koje često puta stoji upravo character-mode aplikacija. Bilo bi dobro da se u svakodnevnom radu ove aplikacije koriste što više. Također bi bilo dobro da i razvijatelji (slobodnog) softvera umjesto GUI programa (osim u slučajevima kad je to baš nužno), radije pišu character-mode (command-line) programe, i jer je to znatno jednostavnije, i jer su ovi programi manje zahtjevni, i jer rade brže, a korisničke perfomanse su praktički iste, s obzirom da karakter mod ne donosi nikakvo bitno smanjenje funkcionalnosti programa. U karakter modu isto možemo imati “prozore”, kao i u grafičkom modu (ako je to potrebno), i to ništa manje funkcionalne, a na primjedbu o “estetici” ili “nepreglednosti” možemo jednostavno konstatirati kako je to stvar navike. Dakako, ovdje možemo imati i više “fizički odvojenih” prozora, ako koristimo više terminala (pod X-Windowsima). Što se tiče estetike, možemo ustvrditi da korištenje character-mode aplikacija i u ovom smislu predstavlja prednost, jer se na taj način oslobađamo onog neukusnog šarenila koje redovno zatičemo na grafičkim ekranima, koje može samo smetati. U svakom slučaju, nema sumnje da crni terminal s bijelim (ili zelenim) slovima predstavlja vrhunski estetski doživljaj za svakog pravog informatičara.

S obzirom da čak i vrlo dobri i iskusni programeri nisu baš previše dobro obaviješteni, reći ćemo kako izvanredan alat za izradu aplikacija u karakter modu predstavlja programski paket ncurses (nasljednik starijih cursesa). U tome se paketu nalaze biblioteke s mnoštvom (C) funkcija koje možemo koristiti u programiranju vlastitih character-mode aplikacija – od onih za kreiranje character-mode prozora do onih za razna precizna podešavanja te rad s formama i menuima. Na internetu se može pronaći iscrpna literatura koja se odnosi na ncurses, a u slučaju problema razvijatelji se mogu javiti i njegovom maintaineru, američkom hakeru Thomasu Dickeyu na adresu dickey@invisible-island.net1. On će zasigurno spremno i s puno dobre volje priskočiti u pomoć ncurses programerima kad upadnu u probleme, kao što je pomagao i autoru ovoga teksta.

preuzmi
pdf