estern">vydelyaet faktory, sposobstvovavshie ee "triumfu" ("konceptual'naya celostnost' cherez metaforu" "rabochego stola"; ekvivalentnost' klaviaturnyh komand punktam menyu, obespechivayushchaya postepennyj perehod ot novichka k opytnomu pol'zovatelyu; navyazyvanie arhitektury cherez sredstva razrabotki),

  • nazyvaet ogranicheniya metafory "rabochego stola" ("problema dvuh kursorov"), a takzhe

  • predrekaet ustarevanie WIMP pri vnedrenii rechevogo interfejsa ("WIMP cherez pokolenie stanet dostoyaniem istorii. Ukazanie kursorom ostanetsya sposobom zadaniya sushchestvitel'nyh pri upravlenii nashimi komp'yuterami. Dlya vyrazheniya glagolov stanet ispol'zovat'sya rech'").

  • Proshlo eshche pyat' let, i my mozhem otmetit', chto:

    "Sploshnoj" zhe WIMP-sredy i vovse net nigde, krome vstroennyh/specializirovannyh sistem: v lyubom okruzhenii, pretenduyushchem dazhe ne na universal'nost', a prosto na shirokuyu sferu primeneniya, elementy WIMP sochetayutsya s elementami drugoj interfejsnoj modeli -- komandno-strochnoj -- inogda bolee organichno (OFM, AppleScript i t.p.), a chashche eklektichno, protivorechivo i s fatal'nym dlya proizvoditel'nosti ishodom (fragmenty "rvanoj" komandnoj stroki v "dialogovyh oknah", raznoobraznye Wizards i "okna ustanovki predpochtenij").

    Esli perechitat' tekst doklada, v kotorom idei WIMP vpervye byli predstavleny shirokoj publike [16], stanet ponyatno, pochemu: model' WIMP predlagalas' kak sredstvo neposredstvennogo manipulirovaniya konkretnymi ob容ktami ("vzyat' eto i polozhit' tuda", "izmenit' takoe-to svojstvo togo-to ob容kta", a ne kak sredstvo formulirovaniya abstraktnyh polozhenij i komand ("vse li fajly, lezhashchie v kataloge X, imeyut format Y?", "udalit' vse fajly, sozdannye do 01.01.2000 v kotoryh upominaetsya Boris El'cin" i t.p.). Sootvetstvenno, sdelat' WIMP-rabochee mesto dlya vypolneniya tehnicheskih procedur, "rabskogo", nekvalificirovannogo truda mozhno, a vot sistemu podderzhki polnocennoj svobodnoj praktiki -- zatrudnitel'no.

    7.7 Ot kakogo nasledstva nam ne stoit otkazyvat'sya?

    Viktor Vagner [18] protivopostavlyaet "ryhlosti" modeli WIMP, pust' i celostnoj metaforicheski, konceptual'nuyu celostnost' komandno-strochnogo interfejsa (sm. takzhe nashu predydushchuyu "lekciyu"), osnovyvayushchuyusya na chetyreh principah:

    Po Vagneru, po-nastoyashchemu uspeshnym graficheskim interfejsom (true UNIX GUI) budet interfejs, predlagayushchij ne menee celostnuyu i posledovatel'no realizovannuyu konceptual'nuyu osnovu. Prichem, predlagayushchij ne tol'ko i ne stol'ko konechnomu pol'zovatelyu, skol'ko razrabotchiku, t.e. realizovannyj nachinaya s sistemy bystroj razrabotki (RAD). V upomyanutoj stat'e Vagner rassmatrivaet neskol'ko kandidatov na rol' universal'noj formy predstavleniya informacii v graficheskoj srede i rassuzhdaet o tom, kakie principy mogli by stat' analogami drugim "kitam", na kotoryh pokoitsya komandno-strochnyj interfejs.

    Na samom dele, sushchestvuet celyj ryad sistem, v toj ili inoj stepeni zakladyvayushchih osnovu "interfejsov sleduyushchego pokoleniya". K sozhaleniyu, ni odnu iz nih nel'zya nazvat' na segodnya massovoj, krome, vozmozhno, yazyka opisaniya interfejsa XUL, ispol'zovannogo v Mozilla (www.mozilla.org) i, sootvetstvenno, v Netscape 6 (www.netscape.com), no i dlya XUL poka net RAD. No eto uzhe sovsem drugaya tema (sm. "Lekciyu" 10).

    Lekciya 8. GIP II: "Legkie" graficheskie sredy

    V to vremya, kak sama graficheskaya platforma X Window System mnogo let yavlyaetsya fakticheskim otraslevym standartom, lezhashchie "nad" neyu sloi graficheskoj sredy ne standartizovany.

    Kakuyu-libo klassifikaciyu graficheskih sred dat' zatrudnitel'no, odnako samym grubym obrazom ih mozhno razdelit' na "integrirovannye" i "legkie".

    8.1 Zachem nuzhny "legkie" sredy?

    Oborotnoj storonoj integrirovannosti yavlyaetsya dostatochno vysokaya ih trebovatel'nost' k resursam. Komfortnaya rabota s KDE ili GNOME "svezhego razliva" nachinaetsya primerno ot proizvoditel'nosti, ekvivalentnoj proizvoditel'nosti 800 MGc processora Celeron, otkaz ot nekotoryh resursoemkih svojstv (animaciya izmenenij v srede i t.p.) pozvolyaet "snizit' planku" primerno do 500 MGc pri ob容me operativnoj pamyati ot 128 MB. Razumeetsya, eti cifry dazhe nizhe harakternyh dlya komp'yuterov "startovogo urovnya", postavlyaemyh segodnya proizvoditelyami, odnako park mashin, nahodyashchihsya v eksplutacii, kak v ofisah, tak doma i v shkole, vklyuchaet i komp'yutery s bolee nizkimi harakteristikami.

    Tak, v shkole ves'ma zhelatel'no predostavit' vozmozhnost' raboty v graficheskoj srede na menee moshchnyh mashinah. Zdes' pomogut "legkie" graficheskie sredy, predstavlyayushchie soboj okonnye menedzhery s neskol'ko rasshirennymi vozmozhnostyami (bazovaya i rasshirennaya funkcional'nost' tipichnyh okonnyh ienedzherov opisana nizhe).

    Obsuzhdaemye segodnya IceWB, BlackBox i fluxBox (a takzhe chut' bolee trebovatel'nyj k resursam WindowMaker)8 pozvolyayut dostatochno komfortno rabotat' s grafikoj na mashinah proizvoditel'nost'yu (v ekvivalente Intel Pentium) primerno ot 100 MGc i s pamyat'yu ot 32M (tekst odnoj iz predydushchih "lekcij" nabiralsya v poezde, s odnovremennoj "s容mkoj" izobrazhenij s ego ekrana graficheskim redaktorom GIMP (sm. "lekciyu" 3) na noutbuke s processorom Intel Pentium MMX 166 i OZU ob容mom 64MB).

    Sleduet ogovorit'sya, chto otkaz ot integrirovannyh graficheskih sred ne yavlyaetsya "volshebnoj palochkoj": konkretnye prikladnye programmy mogut byt' sami po sebe dostatochno trebovatel'nymi k resursam. Tak, na upomyanutom noutbuke zapusk word-processora OpenWriter, obsuzhdavshegosya v pervoj "lekcii", zanimaet bolee minuty (hotya dal'nejshaya rabota ne sopryazhena s sushchestvennymi zaderzhkami). Krome togo, esli prikladnaya programma iznachal'no sozdana v orientacii na opredelennuyu integrirovannuyu sredu, ona mozhet intensivno ispol'zovat' sootvetstvuyushchie biblioteki, dazhe esli zapuskaetsya v "legkoj" srede. Naprimer, zapusk programm iz paketa KOffice, kotoryj budet obsuzhdat'sya v odnoj iz sleduyushchih lekcij, v "legkoj" srede, na samom dele, daet nebol'shoj vyigrysh po sravneniyu s ego zapuskom iz "rodnoj" dlya nego sredy KDE.

    (Esli neobhodimo zadejstvovat' imeyushchijsya park "slaboj" tehniki dlya takih zadach, a takzhe, esli neobhodimo sohranyat' v ekspluatacii eshche menee proizvoditel'nye mashiny (naprimer, starshie modeli IBM PC-sovmestimyh komp'yuterov na baze processorov Intel 486 ili AMD 586 ili "Makintoshi" na processorah Motorola 68K), sleduet podumat' ob ispol'zovanii takoj tehniki v rezhime graficheskih terminalov ili, po krajnej mere, variante zapuska naibolee "tyazhelyh" prikladnyh programm na servere. Ob etom u nas budet vozmozhnost' pogovorit' v "lekcii", posvyashchennoj oborudovaniyu pod svobodno-programmnye resheniya.)

    Sleduet ogovorit' takzhe, chto ogranichennost' apparatnyh resursov ispol'zuemogo oborudovaniya ne yavlyaetsya edinstvennym motivom ispol'zovaniya "legkih" graficheskih sred. Kazhdaya graficheskaya sreda, integrirovannaya ili legkaya, obladaet sobstvennymi unikal'nymi osobennostyami, sobstvennym stilem, i umestnost' pol'zovaniya konkretnoj sredoj v znachitel'noj stepeni zavisit ot nabora zadach, reshaemyh na komp'yutere konkretnym pol'zovatelyam, i ot ego lichnyh predpochtenij.

    8.2 Bazovaya funkcional'nost' okonnogo menedzhera

    Kak govorilos' v proshloj "lekcii", klyuchevoj komponent graficheskoj platformy -- X Window Server:

    V "goloj" srede, obrazuemoj X Window Server bez okonnogo menedzhera, okno, vydelyaemoe klientu, yavlyaetsya fiksirovannym: ego geometriya (mestopolozhenie na ekrane i razmer) zadaetsya pri zapuske klienta i sohranyaetsya v techenie vsego seansa raboty s etim klientom. |to vpolne sootvetstvuet celi sozdaniya specializirovannyh sistem s graficheskim interfejsom pol'zovatelya (takih, kak mul'timedijnye kiooski i t.p.), no sovershenno nedostatochno dlya universal'nogo "nastol'nogo" primeneniya.

    Pri universal'nom primenenii komp'yutera harakterna poocherednaya rabota s razlichnymi programmami (inogda dostatochno bol'shim ih kolichestvom), prichem pol'zovatel' mozhet otryvat'sya, dopustim, ot redaktirovaniya teksta, chtoby porabotat' drugoj programmoj s illyustraciej, prochitat' pochtu ili zaglyanut' na WWW-stranicu, zatem vozvrashchat'sya k redaktirovaniyu teksta i t.d. Graficheskaya operacionnaya sreda dolzhna byt' dostatochno gibkoj, chtoby dopuskat' i podderzhivat' takoj, "sub容ktno-orientirovannyj", a ne orientirovannyj na strogo posledovatel'noe vypolnenie predzadannyh procedur, stil' raboty.

    V chastnosti, dolzhno podderzhivat'sya upravlenie (s pomoshch'yu klaviatury ili "myshi") oknami, t.e. vozmozhnost' izmenyat' "na letu" ih geometriyu (polozhenie i razmery), a takzhe (obychno ne otnosimoe k geometrii) polozhenie v voobrazhaemoj "stopke" okon, t.e. opredelenie togo, kakoe iz okon budet "verhnim" (vidimym polnost'yu), esli okna perekryvayut drug druga na ploskosti ekrana.

    Upravlenie oknami i sostavlyaet bazovuyu funkcional'nost' okonnogo menedzhera (ustoyavshijsya termin window manager, otnosyashchijsya k etomu klassu programm, budet peredavat'sya dalee slovosochetaniem-kal'koj "okonnyj menedzher", kotoroe, vprochem, ne predstavlyaetsya osobenno udachnym, tak zhe, kak i vstrechayushchiesya v literature "menedzher okon" i "administrator okon").

    Tehnicheski ogranichenie na izmenenie geometrii raz vydelennogo okna preodolevaetsya okonnym menedzherom za schet togo, chto emu v kachestve okna vydelyaetsya ves' ekran.

    Prikladnym programmam, takim obrazom, vydelyayutsya dalee uzhe ne okna sobstvenno X, a okna okonnogo menedzhera. Dlya nih eto sovershenno prozrachno, hotya zhelatel'no, chtoby programma byla dostatochno "soobrazitel'noj", chtoby izmenit' svoe povedenie pri izmenenii razmerov vydelennogo ej okna "na letu" (izmenenie polozheniya okna v podavlyayushchem bol'shinstve sluchaev nichego ot klienta ne trebuyut), eto spravedlivo dlya bol'shinstva, no ne dlya vseh programm (v chastnosti, etogo ne "umeyut" mnogie starye programmy i nekotorye komp'yuternye igry).

    V svoyu ochered', i okonnyj menedzher mozhet byt' dostatochno "umen", chtoby ponyat', chto programma ne reagiruet na izmenenie geometrii, i zablokirovat' vozmozhnost' izmeneniya razmerov okna pol'zovatelem (chtoby on ne okazalsya v situacii, kogda emu vidna lish' chast' oblasti vyvoda programmy ili naoborot, chast' okna prikladnoj programmy pusta). Odnako takoe reshenie mozhet privesti k ves'ma diskomfortnym situaciyam (naprimer, esli pri zapuske programmy ee okno okazyvaetsya bol'she ekrana)9.


    8.3 "Vidzhety"

    Bazovaya (a takzhe rasshirennaya) funkcional'nost' okonnyh menedzherov dostupna pol'zovatelyu prezhde vsego za schet vvedeniya v interfejs tak nazyvaemyh "vidzhetov" (widgets = window gadgets, "okonnye prisposobleniya") -- takih vizual'nyh elementov, kak ramki, knopki, menyu i pr., kotorye sluzhat "organami upravleniya" okna. Tehnicheski vidzhety predstavlyayut soboj otdel'nye okna (v terminah X Window System), primykayushchie k oknu prikladnoj programmy i, kak pravilo, peremeshchayushchiesya vmeste s nim.

    V pol'zovatel'skoj perspektive vidzhety, sostavlyayushchie obramlenie okna, chasto vosprinimayutsya kak ego chast'. Odnako ne sleduet zabyvat', chto vnutri okna (soderzhimym kotorogo upravlyaet prikladnaya programma) zachastuyu tozhe est' svoi vidzhety: knopki, polosy prokrutki, pereklyuchateli, menyu i t.p. V obshchem sluchae, ispol'zuemye okonnym menedzherom i prikladnoj programmoj biblioteki vidzhetov mogut i ne sovpadat'.

    (Zachastuyu pri proektirovanii vydvigaetsya trebovanie edinstva stilya organov upravleniya i soglasovannogo upravleniya izmeneniem etogo stilya (naprimer, dlya nastrojki sredy dlya pol'zovatelya s ogranichennymi vozmozhnostyami: so slabym zreniem, narusheniem motoriki i t.p.), i v etom sil'no vyigryvayut integrirovannye graficheskie sredy GNOME i KDE, ispol'zuemye sovmestno s prikladnymi programmami, osnovannymi na teh zhe graficheskih bibliotekah i nasleduyushchimi te zhe nastrojki. Odnako na praktike ogranichit'sya naborom programm, osnovannyh na odnoj biblioteke graficheskih primitivov, byvaet trudno, poetomu razumno poznakomit' uchenikov s osobennostyami po krajnej mere samyh rasprostranennyh iz nih.)

    Obramlenie okna obychno vklyuchaet:

    Detali realizacii obramleniya okna mogut byt' ves'ma razlichnymi v zavisimosti ot konkretnogo okonnogo menedzhera i ego nastroek.

    8.4 Rasshirennaya funkcional'nost' okonnogo menedzhera

    Sobstvenno, perechislennymi funkciyami okonnyj menedzher, prednaznachennyj dlya raboty v sostave integrirovannoj operacionnoj sredy, mozhet i ogranichit'sya. Pri ispol'zovanii zhe v kachestve operacionnoj graficheskoj sredy samogo okonnogo menedzhera, krajne poleznoj mozhet okazat'sya ego rasshirennaya funkcional'nost'. K nej mozhno otnesti:

    * * *

    Vyshe pri harakteristike teh ili inyh (predpolozhitel'no, obshchih) harakteristik okonnyh menedzherov chashche obychnogo upotreblyalis' slova "obychno", "kak pravilo", "mozhet" i t.p. |to svyazano s chrezvychajnym raznoobraziem reshenij na baze rasprostranennyh okonnyh menedzherov. Nizhe samye rasprostranennye iz nih harakterizuyutsya bolee podrobno i opredelenno.

    8.5 Okonnye menedzhery BlackBox i FluxBox


    BlackBox (BB) -- odin iz samyh kompaktnyh, "minimalistichnyh" i bystrodejstvuyushchih okonnyh menedzherov. On pozvolyaet effektivno organizovat' rabotu na "rabochem stole", ne "zahlamlyaya" ego nenuzhnymi ssylkami i ne rashoduya ekrannoe prostranstvo na otobrazhenie gromozdkih elementov oformleniya.

    Naryadu s bazovoj funkcional'nost'yu, BB predostavlyaet (fakul'tativno) panel', soderzhashchuyu knopki pereklyucheniya mezhdu "rabochimi stolami" (po umolchaniyu ih chetyre) i zagolovki otkrytyh okon. Obshchee menyu vyzyvaetsya "shchelchkom" pravoj knopkoj "myshi" na svobodnom ot okon meste "stola". Menyu (ili lyuboe iz vlozhennyh v nego menyu) "shchelchkom" po zagolovku mozhet byt' prevrashcheno v okno, ostayushcheesya na ekrane do yavnogo ego zakrytiya shchelchkom na sootvetstvuyushchej knopke.

    Po umolchaniyu na polose zagolovka kazhdogo okna prisutstvuyut knopki svorachivaniya (svorachivanie mozhno vypolnit' takzhe dvojnym "shchelchkom" na samom zagolovke), maksimizacii i zakrytiya okna. Svernutoe okno prisutstvuet na ekrane v vide polosy zagolovka, razvernut' ego mozhno povtornym dvojnym "shchelchkom" na polose zagolovka ili iz menyu Workspaces ("rabochie prostranstva"), dostupnogo po "shchelchku" srednej knopkoj myshi na svobodnom ot okon meste "stola". |to zhe menyu pozvolyaet perejti na drugoj "stol", dobavit' ili udalit' "stol" iz rabochego prostranstva.

    BB podderzhivaet razlichnye modeli fokusirovki vvoda. Click to focus ("fokusirovka po shchelchku") pozvolyaet realizovat' stil' raboty, privychnyj dlya pol'zovatelej GNOME, KDE ili Microsoft Windows: akno stanovitsya aktivnym (prinimayushchim tekushchij vvod s klaviatury i ot "myshi") posle "shchelchka" na nem. Aktivnoe okno avtomaticheski stanovitsya "verhnim" (vidimym polnost'yu, dazhe esli ono chastichno perekryvaetsya s drugimi oknami). Model' Sloppy focus ("nebrezhnaya fokusirovka") predpolagaet aktivizaciyu okna pri popadanii na nego kursora myshi (okno pri etom ne "vsplyvaet" avtomaticheski naverh).

    Naryadu s panel'yu i konvertiruemymi v dopolnitel'nye okna-"paneli" menyu, BB realizuet eshche odin avtonomnyj vidzhet -- tak nazyvaemuyu "shchel'" (Slit). "SHCHel'" raspolagaetsya na krayu vidimogo ekrana i mozhet soderzhat' malen'kie (bez obramlenij) okna specializirovannyh programmok (ih rasprostraneno poryadka desyatka), indiciruyushchih kakie-libo sostoyaniya sredy ili pozvolyayushchih bystro vypolnit' chasto ispolnyaemye dejstviya.

    Na osnove BB sozdany dva bolee razvityh okonnyh menedzhera -- OpenBox i bolee populyarnyj FluxBox.

    "Naibolee harakternaya osobennost' Fluxbox -- realizaciya zakladok (tabs) v kontekste rabochego stola. Esli zakladki v brauzere pozvolyayut odnovremenno otkryt' neskol'ko stranic v odnom okne, to zakladki fluxbox pozvolyayut udobno sgruppirovat' neskol'ko okon na stole. Vse okna v gruppe imeyut odinakovye razmery i raspolozheny strogo odno pod drugim. Dlya pereklyucheniya na kakoe-libo iz nih dostatochno navesti kursorom myshi ili shchelknut' (v zavisimosti ot nastroek) po sootvetstvuyushchej zakladke. K primeru, mne prihoditsya rabotat' s neskol'kimi razlichnymi pochtovymi klientami. Sovmestiv ih v odnu gruppu, ya mogu legko pereklyuchat'sya mezhdu nimi i pri etom ya vsegda znayu, gde raspolozheno kazhdoe okno. Na slovah ob座asnit' preimushchestva etogo original'nogo podhoda ne ochen' legko, no posle neskol'kih dnej prakticheskogo ispol'zovaniya, stanovitsya trudno bez nego obhodit'sya: k horoshemu privykaesh' bystro." [3]

    Vneshnij vid BB, FluxBox i OpenBox legko nastraivaetsya s pomoshch'yu mehanizma "tem" rabochih stolov.

    8.6 Okonnyj menedzher WindowMaker


    WindowMaker (WM) -- eto svobodnaya realizaciya (v ramkah proekta GNUStep) koncepcij NextSTEP -- pervoj poluchivshej bolee ili menee shirokuyu izvestnost' realizacij idej universal'noj graficheskoj sredy pol'zovatelya. Za nedostupnost'yu original'noj NextSTEP dlya sovremennyh platform, poznakomit'sya s WM polezno i pouchitel'no vne zavisimosti ot togo, sobiraetes' li vy s nim rabotat' -- eto pozvolit uvidet' ishodnuyu tochku razvitiya graficheskih sred i ocenit' produktivnost' (ili kontrproduktivnost') togo, chem eti idei "obrosli" so vremenem.

    Osnovnym avtonomnym vidzhetom WM, kak i NextSTEP, yavlyaetsya "pirs" prikladnyh programm, predstavlennyj pri zapuske piktogrammoj so skrepkoj. Pri zapuske lyuboj "korrektnoj" (s tochki zreniya WM), a takzhe nekotoryh "nekorrektnyh" programm, krome ee okna na ekrane poyavlyaetsya ee piktogramma. Esli "prishvartovat'" etu piktogrammu k "pirsu", ona tam i ostanetsya, pozvolyaya zapuskat' etu programmu vnov' i vnov' prostym shchelchkom po nej -- eto "rodnoj" nekststepovskij integriruyushchij interfejs.

    WM pozvolyaet rabotat' s neskol'kimi "stolami" (pereklyuchenie po umolchaniyu po Alt-n ili cherez menyu, dostupnoe po "shchelchku" pravoj knopkoj na svobodnom peste "stola"). WM ochen' gibko nastraivaetsya, kak v chasti vneshnego vida, tak i v chasti "povedeniya", prichem bol'shaya chast' nastroek dostupna iz programmy Wprefs.app, dostupnoj po shchelchku na piktogramke "so stupen'koj".

    8.7 Okonnyj menedzher IceWM



    IceWM -- prostoj okonnyj menedzher, ochen' chasto vybiraemyj pol'zovatelyami, prihodyashchimi iz-pod Microsoft Windows ili OS/2, poskol'ku on sposoben dostatochno tochno imitirovat' ih osnovnye cherty.

    Iz avtonomnyh vidzhetov prezhde vsego stoit otmetit' panel' s knopkoj, vyzyvayushchej glavnoe menyu (podobno tomu, kak eto delaet knopka v Microsoft Windows, GNOME ili KDE). S pomoshch'yu paneli mozhno takzhe upravlyat' tekushchim seansom i nastraivat' IceWM. Vprochem, osnovnoe menyu tazhe dostupno i po "shchelchku" pravoj knopkoj na svobodnom meste "stola", chto bolee privychno dlya pol'zovatelej WindowMaker, Sawfish, Blackbox ili Enlightenment.

    Panel' takzhe soderzhit spisok zapushchennyh programm (vklyuchaya te, okna kotoryh minimizirovany), na nee mozhno vyvesti i "mini-terminal", pozvolyayushchij operirovat' komandnoj strokoj. Lyubye dejstviya mogut vypolnyat'sya s pomoshch'yu associirovannyh klaviaturnyh kombinacij.

    IceWM takzhe pozvolyaet rabotat' s mnozhestvom "stolov" ("rabochih mest"), kotorye numeruyutsya ili imenuyutsya pol'zovatelem.

    8.8 Resursy

    Upomyanutye okonnye menedzhery prisutstvuyut prakticheski v lyubom distributive svobodnoj OS, nachinaya s odnodiskovyh. Isklyuchenie sostavlyat FluxBox, obychno ne vklyuchaemyj v "malen'kie" distributivy (esli ochen' hochetsya ego posmotret', a dostupa k Internet net, popytajtes' najti disk, prilagavshijsya k zhurnalu [19] -- pri zakaze etogo odnodiskovogo distributiva redakciya special'no poprosila vklyuchit' etu nespravedlivo "obizhaemuyu" programmu.

    Upomyanutyj vypusk zhurnala soderzhit, pomimo prilagaemogo distributiva ALT Linux Junior 2.1 (www.altlinux.ru), podborku statej, posvyashchennyh ispol'zovaniyu svobodnyh programm doma.

    Lekciya 9. GIP III: Integrirovannye graficheskie sredy

    Zapusk graficheskoj sredy (tochnee, "buterbroda" iz X Window System, okonnogo menedzhera i graficheskoj sredy) v otkrytoj operacionnoj sisteme mozhno sravnit' s zapuskom Microsoft Windows v MS-DOS10.

    Odnako, shodstvo zakanchivaetsya, ne uspev nachat'sya. MS-DOS -- eto odnozadachnaya i odnopol'zovatel'skaya sistema, i zapushchennaya obolochka zahvatyvaet vse ee resursy. Iz-za nepolnocennosti OS obolochke prihoditsya brat' na sebya nesvojstvennye ej funkcii (naprimer, imitaciyu mnogozadachnosti), s kotoroj ona spravlyaetsya ploho (tak, "zavisanie" odnoj programmy vpolne mozhet privesti k nerabotosposobnosti vsej sistemy).

    Pri zapuske graficheskoj sredy pod polnocennoj OS, ona, s tochki zreniya poslednej, predstavlyaet gruppu obychnyh processov, upravlenie kotorymi proizvoditsya obshchesistemnymi sredstvami. Tochno tak zhe, obshchesistemnymi sredstvami proizvoditsya i upravlenie processami, zapuskaemymi "iz-pod" etoj graficheskoj sredy. Bolee togo, poskol'ku platformoj dlya zapuska konkretnoj sredy yavlyaetsya iznachal'no setevaya X Window System, prikladnaya programma dazhe ne obyazana zapuskat'sya na tom zhe komp'yutere.

    Sreda otnyud' ne monopoliziruet ispol'zovanie etogo komp'yutera; parallel'no s ee rabotoj prodolzhaet ispolnyat'sya mnozhestvo sluzhebnyh sistemnyh processov; s drugih terminalov (esli sistema mnogoterminal'naya) mogut zapuskat'sya drugie programmy ili dazhe drugie graficheskie sredy (ili dopolnitel'nye ekzemplyary toj zhe sredy). Bolee podrobno ob etom budet rasskazano v "lekcii", posvyashchennoj operacionnym sistemam.

    9.1 Plyusy i minusy integrirovannyh sred

    Odnorodnost' opyta i svyazannaya s neyu privychnost' (inogda oshibochno nazyvaemaya "intuitivnost'yu", hotya ona ne imeet otnosheniya k filosofskomu i psihologicheskomu ponyatiyam intuicii) pozvolyayut pri osvoenii novogo instrumenta-programmy sosredotochit'sya na ee prikladnoj logike (aspektami, svyazannymi s konkretnym prilozheniem IT, kotoroe ona realizuet), ne zadumyvayas' i special'no ne fokusiruya vnimaniya na aspektah, obshchih dlya raznogo instrumentariya. |to delaet bolee "krutoj" preslovutuyu "krivuyu obucheniya" novogo pol'zovatelya.

    (Razumeetsya, eto sil'no idealizirovannaya kartina. Inogda prikladnaya logika diktuet nekotorye elementy ergonomiki; naprimer, interfejsy bol'shinstva sistem avtomatizirovannogo konstruirovaniya i proektirovaniya (CAD, SAPR) ves'ma shodny, vne zavisimosti ot sredy, v kotoroj rabotayut eti programmy.)

    Kak ni paradoksal'no, osnovnoj nedostatok raboty v integrirovannoj srede yavlyaetsya oborotnoj storonoj osnovnogo dostoinstva: zhestko zakreplennye navyki meshayut pri vyhode za ee predely. Konechnomu pol'zovatelyu, ogranichennomu opytoj raboty v odnoj srede, nedostaet "stereoskopichnosti" videniya, glubiny ponimaniya; elementy ergonomicheskoj logiki mogut napryamuyu associirovat'sya s opredelennymi vizual'nymi elementami i "zhestami", s pomoshch'yu kotoryh podayutsya komandy.

    Obshcheizvestny slozhnosti, s kotorymi stalkivayutsya lyudi, nekol'ko let pol'zovavshiesya MacOS ili Microsoft Windows pri neobhodimosti porabotat' v drugoj (pust' dazhe i ves'ma shozhej) srede. Podobnaya "rigidnost'" opyta mozhet formirovat'sya i pri rabote v lyuboj iz svobodnyh sred, hotya kak pravilo pol'zovatel' v nih ne ogranichen (v otlichie ot specificheski personal'no-komp'yuternyh sred) prikladnymi programmami, special'no razrabotannymi dlya dannoj sredy i delyashchimi s nej nabory elementov interfejsa ("vidzhetsety"), poetomu ego opyt iznachal'no bolee raznoobrazen.

    V etom smysle, krajne poleznym predstavlyaetsya znakomstvo uchashchihsya s raznymi sredami uzhe na nachal'nom etape osvoeniya graficheskih interfejsov. |to ne obyazatel'no dolzhny byt' raznye integrirovannye sredy, no samo predstavlenie o tom, chto odin i tot zhe rezul'tat mozhet dostigat'sya s pomoshch'yu raznyh interfejsnyh sredstv, dolzhno byt' peredano obyazatel'no. V obshchem sluchae eto vozmozhno i v ramkah odnoj integrirovannoj sredy iz chisla rassmatrivaemyh nizhe -- i KDE, i GNOME v vysshej stepeni gibki v otnoshenii nastrojki vneshnego vida i "povedeniya". |ta gibkost' takzhe ves'ma polezna dlya obespecheniya dostupnosti i maksimal'no dostizhimogo komforta uchashchimsya s fiziologicheskimi osobennostyami i fizicheskimi nedostatkami (dal'tonizmom, slabym zreniem, ogranichennoj podvizhnost'yu ili rasstroennoj koordinaciej dvizhenij i t.p.).

    9.2 Obshchie cherty integrirovannyh sred

    Skol'ko-nibud' posledovatel'noj teorii integrirovannyh graficheskih sred ne sushchestvuet. Izuchaya otdel'nye sredy v dinamike ih razvitiya, mozhno, tem ne menee, vydelit' neskol'ko obshchih chert:

    (Za ogranichennost'yu ob容ma "za bortom" ostayutsya bolee slozhnye voprosy, takie, kak komponentnaya ob容ktnaya model' i modeli setevogo vzaimodejstviya, tak ili inache "vtyagivaemye" v proekty integrirovannyh sred.)

    Na segodnya sushchestvuyut i razvivayutsya dve svobodnyh integrirovannyh graficheskih sredy obshchego naznacheniya: KDE i GNOME. Oni vhodyat v postavku bol'shinstva standartnyh (otkrytyh) OS, kak svobodnyh, tak i nesvobodnyh. Hotya GNOME na polgoda molozhe KDE, my nachnem obsuzhdenie imenno s GNOME.

    9.3 GNOME (Model'naya sreda setevyh ob容ktov GNU)



    GNOME (GNU Network Object Model Environment -- "Sreda GNU, osnovannaya na modeli setevyh ob容ktov", no takzhe i "Obrazcovaya sreda dlya setevyh ob容ktov GNU") -- odin iz samyh ambicioznyh i masshtabnyh proektov v programmistskom soobshchestve.

    Krome realizacii funkcional'no polnoj graficheskoj sredy (vozmozhno, umestnee govorit' o sensual'nyh sredah, uchityvaya to, chto zvuk stal ih polnopravnoj chast'yu), "Gnom" pretenduet na to, chtoby polnost'yu realizovat' specifikacii promyshlennoj platformy setevogo vzaimodejstviya CORBA i polnost'yu abstragirovat' sloj "menedzhera rabochego stola" (ili "graficheskoj sredy") ot nizlezhashchego sloya upravleniya oknami ("okonnogo menedzhera").

    GNOME podderzhivaet ryad okonnyh menedzherov, sredi kotoryh: Sawfish ("shtatnyj" okonnyj menedzher po umolchaniyu), Enlightenment, IceWM, WindowMaker, AfterStep i FVWM2, sovmestimye s GNOME, vprochem, v raznoj stepeni.

    Segodnyashnyaya versiya "Gnoma" (GNOME 2.1) -- polnocennaya integrirovannaya sreda, vklyuchayushchaya realizaciyu povsednevno neobhodimyh funkcij i pozvolyayushchaya ispol'zovat' storonnie resheniya dlya realizacii funkcional'nosti, kotoraya v nej otsutstvuet.

    GNOME ispol'zuet odin iz samyh razvityh interfejsnyh paketov GTK+, realizovannyj dlya raznyh platform. Nad nim nadstraivaetsya massa komponentov i bibliotek, obespechivayushchih setevuyu funkcional'nost', interfejsy k razlichnym yazykam programmirovaniya, rabotu so zvukom cherez mehanizmy OS i pr. Sam "Gnom" stremitsya ostavat'sya mobil'nym i dostupnym vo vseh otkrytyh sistemah. On stabil'no rabotaet v Linux, BSD, AIX i Solaris; poslednee obstoyatel'stvo sposobstvovalo podderzhke razrabotki GNOME, kotoruyu okazyvaet Sun Microsystems cherez sozdannyj v 2001 g. godu Fond GNOME, sredi uchreditelej kotorogo takzhe krupnejshie postavshchiki svobodnyh OS.

    S pol'zovatel'skoj tochki zreniya GNOME predstaet kak nabor bazovyh komponentov interfejsa i "appletov", utilit i prikladnyh programm. K bazovym komponentam otnosyatsya menedzher fajlov i poverhnosti stola Nautilus, paneli upravleniya i menyu GNOME Panel i centr upravleniya (Gnome Control Center).

    "Nautilus". Menedzher fajlov Nautilus pozvolyaet otobrazhat' soderzhimoe fajlov i katalogov v oknah i vypolnyat' nad fajlami obychnye dejstviya (udalenie, pereimenovanie, kopirovanie i peremeshchenie i t.p.), a takzhe osushchestvlyat' predvaritel'nyj prosmotr mnogih tipov dannyh. "Nautilus" effekten, no rabota s nim ne bolee effektivna, chem s prochimi brauzerami fajlov, vklyuchaemymi obychno v graficheskie sredy (menedzher fajlov CDE ili Microsoft Windows Explorer).

    Pomimo otobrazheniya soderzhimogo katalogov v oknah, "Nau" takzhe mozhet otobrazhat' odin iz katalogov na poverhnosti "rabochego stola": razmeshchennye na nem ikonki kak by prikleeny k monitoru, i pri smene tekushchego ekrana ostayutsya na tom zhe meste otnositel'no nablyudatelya (tak zhe, kstati, vedut sebya i otkrytye okna, esli ih "prikleit'").

    Podderzhivaetsya shirokij spektr operacij perenosa mysh'yu (drag'n'drop), prichem "peretaskivaniyu" podverzheny ne tol'ko ob容kty (fajly, punkty menyu i t.p.), no i nekotorye ih svojstva: tak, mozhno "vzyat' cvet" v okne vybora cveta i perenesti ego na panel', kotoraya vosprimet ego. Est' dazhe operacii, pozvolyayushchie naznachit' odin ob容kt svojstvom drugogo: naprimer, esli na panel' "peretashchit'" ne cvet, a fajl s kartinkoj, poslednyaya stanet ee fonom. "Taskat'" fajly mezhdu oknami "Nau", na rabochij stol i paneli mozhno prakticheski bez ogranichenij.

    Paneli i menyu. Uzhe upomyanutye paneli yavlyayutsya, naryadu s menedzherom fajlov, vazhnejshej sostavnoj chast'yu interfejsa GNOME. Panelej mozhet byt' neogranichennoe kolichestvo. Panel' mozhet otnosit'sya k odnomu iz pyati tipov, no na samom dele ih dva: panel'-menyu (menu panel) i ob容ktnaya panel'. Pervaya iz nih soderzhit punkty menyu i mozhet soderzhat' piktogrammy, a vtoraya -- tol'ko piktogrammy. Poslednyaya mozhet byt' kraevoj (edge), vyravnennoj (aligned), skol'zyashchej (sliding) ili plavayushchej (floating), no eto skoree svojstvo paneli (kotoroe mozhno menyat' "na hodu"), opredelyayushchee osobennosti ee povedeniya, chem tip.

    Vneshnij vid i povedenie panelej yavlyaetsya v vysshej stepeni konfiguriruemym. Pol'zovatel' mozhet zadavat' kak global'nye predpochteniya (animaciya dvizheniya panelej, otobrazhenie panel'nyh ob容ktov i pr.), tak i individual'nye predpochteniya dlya kazhdoj iz nih (ee tip i polozhenie na ekrane, shirina, vozmozhnost' avtosokrytiya i prinuditel'noj minimizacii, cvet i fonovoe izobrazhenie i t.p.) Nu i, razumeetsya, pol'zovatel' mozhet "nabivat'" paneli temi ob容ktami, kotorye emu nuzhny.

    Na panelyah mogut prisutstvovat' ob容kty pyati tipov: