2009

Tapasztalatok két világból

Elég sokat használtam a különböző Windows verziók mellett a különböző Linux disztribúciókat is és az ezek során szerzett tapasztalataimat írom le ebben a kis cikkben. Ha valaki most gondolkodik a kipróbáláson, váltáson vagy csak egyszerűen kíváncsi, érdemes lehet elolvasni. Leginkább az asztali felhasználás szempontjából közelítem meg a kérdést, de néhol kitérek más területekre is.

Mielőtt elkezdeném, fontos lehet néhány dolgot tisztázni. A Linux tulajdonképpen egy kernel és néhány köré fejlesztett kiegészítő neve. Mégis gyakran használják a különböző, ezekre épített disztribúciók szinonímájaként is. Bár ezzel a gyakorlattal lehetne vitatkozni, de én is így fogom az egyszerűség kedvéért ebben a cikkben használni. Az elsődlegesen Linuxon működő grafikus felhasználói felületeket grafikus felületként, környezetként fogom nevezni. A pontos felépítés és elnevezések itt nem annyira egyértelműek, mert ahhoz, hogy mondjuk egy KDE-ablakot meg tudjunk nyitni számítógépünkön, több, grafikával kapcsolatos rendszert is működésre kell bírni (X11, QT). Ugyanez igaz lehet más esetekben is. Én mégis a grafikus környezet illetve felület említésekor mindig a "legfelső" rétegre fogok gondolni. Windows említésekor szintén nem egyértelmű a helyzet. Amikor én a Windowst verzió vagy jelzők nélkül emlegetem, mindig a Windows XP-re vagy annál újabbra gondolok.

Nem tudom már, melyik volt az első, amit a Linuxok közül használtam, talán egy korai Mandrake (aztán a szép reményű Corel Linux következett). A Microsoft operációs rendszerek terén én szerencsésnek mondhatom magam, mert már a Win95 OSR2 használatába csöppentem bele. A DOS világ kimaradt az életemből, de nem is hiányzik (a Commodore 64 viszont nem, hiszen a PC előtt évekig azt nyúztam). Mi az, ami a másik világ kipróbálására vezet? Leginkább a kíváncsiság. De hogy melyek voltak ezen kívül azok a tényezők, amelyek miatt olyan sokáig foglalkoztam, vagy inkább kísérleteztem a nyílt forrású világgal?

Grafikus felület

Legelőször talán a külső, a grafikus felület. Szerintem egyáltalán nem mindegy, hogy milyen látványt nyújt a monitoron elénk táruló világ. Izgalmas dolog felfedezni egy új grafikus környezetet - még akkor is ha az általam leginkább ismert KDE vagy GNOME környezet is két további reinkarnációja a hagyományos desktop-elképzelésnek. 1997-98 környékén persze még nem úgy néztek ki ezek sem, mint manapság, de mégis valami más, új érzést nyújtottak (a nem sokkal korábban felfedezett Windows-desktop után is). Ugyanezen okból próbáltam ki az OS/2 Warp nevű operációs rendszert is, de az egy külön téma. Ami ezután rögtön kiderült, az a jóval nagyobb testreszabhatóság. Nyilván a Windows rendszereken is le lehet cserélni a desktop-környezetért felelős explorer nevű programot (nem tévesztendő össze az Internet Explorerrel), de ott a grafikus felület mégis annyira integrált az operációs rendszerbe, hogy ezen kívül komolyabb módosításról nem lehet szó. A nyílt forrású környezet ezzel szemben a bőség zavarát nyújtja - legalább tucatnyi elterjedt vagy kevésbé elterjedt grafikus felületet lehet kipróbálni, amelyek mind kisebb vagy nagyobb mértékben eltérnek egymástól és mind igen komolyan testre szabhatóak. Aki egy kis időt rászán, az annyira át tudja alakítani az egész felületet, hogy szinte meg sem lehet ismerni, melyik ablakkezelő rendszerről van szó. És különösen igaz ez az újabb verziókra. Ez nagyon tetszett. Ehhez a KDE és GNOME rendszerekben nagyon ritka eseteket kivéve nem kell még konfigurációs fájlokban sem turkálni, minden az egeret használva történik - és az ablakkezelők alapesetben nyújták ezt a szolgáltatást. Ezzel szemben a Windows különböző verzióin leginkább csak a gyártó által kitalált felületet és környezetet használhatjuk, az XP esetén ráadásul igen szegényes színskálát kínálva. Ha valaki mást szeretne, szinte csak az explorer.exe cseréjére van lehetőség, igazán mélyreható változtatásokra nincs. Ugyanakkor ez azt is eredményezi, hogy a Windows ablakkezelője és egész grafikus rendszere erősen integrálódott az operációs rendszerbe, így adott esetben jobb teljesítményt nyújthat. Az a szabadság, amit a Linux nyújt e tekintetben, egyben némi problémát is jelent. Mi van akkor, ha egy másik ablakkezelőre írt programot szeretnék az általam használt alatt futtatni? Lehetséges, csak a kívánt eszközkészlet, ami a grafikus felület alapja legyen telepítve.

Parancssor

A Linux egyik legfontosabb felülete a parancssor. Nekem nem voltak ellenérzéseim a parancssorral szemben, sőt tetszett az elegáns használhatósága, széles lehetőségei. Ha az ember elég jól ismeri valamelyik parancssort (merthogy ebből is több fajta van) és a hozzá szorosan kapcsolódó programokat (fájlkezelő, szövegszerkesztő, stb), akkor gyorsan és elegánsan tud sok problémát, feladatot megoldani és talán sokkal jobban átlátja ebből a szemszögből a rendszer felépítését, teljesebb mentális képe lesz róla, mint grafikus felületről nézve. Viszont ez tanulást és gyakorlatot igényel. Erős programozhatósága segítségével nagyon sok feladat automatizálható, ennek egy átlagos felhasználó számára lehet, hogy nem sok haszna van, de néha jól jöhet. A Linux alapértelmezett fájlrendszere az ext2 és naplózott változata az ext3, amely alapértelmezettként egy jól felépített, nagy múltú jogosultsági rendszert nyújt, ami otthoni rendszeren is hasznos lehet. Rendszergazdaként (root-ként) bejelentkezni egy telepített, beállított rendszerre szinte sosem kell, minden felhasználói program a felhasználó saját könyvtárába ír, a rendszert és más felhasználók adatait nem éri el, megbízható és jól használható. Ezzel szemben a Windows DOS-ra épülő verziói semmilyen biztonsági funkciót nem nyújtanak, az ebből az irányból érkező programok pedig az NT-vonal komplexebb biztonsági funkcióival nem tudnak mit kezdeni. Windows XP-n a korlátozott fiók otthoni használatra szinte alkalmatlan, egy komolyabb játék sem indul el például alatta, csak rendszergazdai módban. Az újabb Windowsok megpróbálják orvosolni a legnagyobb anomáliákat, de valahogyan nem annyira egyértelmű és szembeötlő a biztonság használata Windows alatt.

Felhasználói programok

Nagyon sok - legtöbbször ingyenes és nyílt forrású - program közül lehet kiválasztani egy feladatra a megfelelőt. Ez azzal is jár, hogy végig kell gondolnom; mire akarom pontosan használni, milyen elvárásaim vannak egy eszközzel kapcsolatban. Viszont számomra szórakoztató volt több programot kipróbálni, összehasonlítani.

Programozás

A Linux ebben nagyon erős. Nagyon komoly programnyelvek érhetőek el alatta, viszont a fejlesztői eszközökkel nincs nagy tapasztalatom, úgy tűnt, ebben nem annyira erős, bár nagy múltú, komoly fejlesztőeszközök vannak - ha valaki nem grafikus felületre akar fejleszteni. Ellenkező esetben az Eclipse vagy valamelyik Sun-os IDE jöhet igazán szóba, a Borland Kylix nevű próbálkozása - hogy a Delphi-szerű "élményt" Linux alatt is elérhetővé tegye, hamar kimúlt. A nyílt forráskódnak is köszönhetően nagyon sok jól megírt kódot találni, ami tapasztalatszerzés céljából is nagyon jó. Egyébként nagyon tetszik a Linuxos környezet filozófiája, szellemisége nem csak programozás szempontjából, hanem általában. A 64 bitre átállás is gyakran egyszerűbb lehet, hiszen a legtöbb programból, sőt meghajtóprogramból készült vagy készülni fog 64 bites változat, míg Windows esetében ez egyáltalán nem biztos; a régi hardvereink szinte biztosan használhatatlanok lesznek 64 bites Windows alatt.

Hardverek

Bár elsőre talán nem ez jut az ember eszébe, de van olyan eset, hogy hardvertámogatás szempontjából a Linux előnyben van. Főként régi, már nem támogatott hardverekhez olyan meghajtóprogramokat találni, amelyek sokkal jobban kihasználják és elérhetővé teszik a hardver által nyújtott szolgáltatásokat, mint a Windowsba épített párja. Ilyen például az én Diamond MX300-as hangkártyám, amelyhez Windows XP-s meghajtóprogram már nincs külön, csak a telepítéskor automatikusan telepített változat, ami semmi extrát nem nyújt. Ezzel szemben az ALSA meghajtóprogram lehetővé teszi hardveres hangszínszabályzójának, erősítőjének, 3D-s támogatásának használatát is.

Következtetés

Az évek során használtam a SuSE, Mandrake, Red Hat, Corel Linux, Fedora disztribúciók különböző változatait, legutoljára pedig a Slackware 11-es és 12-es verzióját (nekem ez a disztribúció tetszett a legjobban). Amikor véleményt alkotok egy operációs rendszerről (és a rá épülő informatikai környezetről), nagyon fontos leszögezni, milyen feladatokra is akarom használni, mert csak ebből a szemszögből lehet érdemi következtetéseket levonni.

Elég szerteágazó dolgokra használom én a számítógépet: dokumentumok szerkesztése, karbantartása, saját adatbázis karbantartása, honlap szerkesztés, fényképek tárolása, szerkesztése, áttöltése a fényképezőgépről; olvasás, tanulás, internet, zenehallgatás, DVD nézés (és DivX), video- és hangszerkesztés, nyomtatás, scannelés, banki ügyek internetes intézése és természetesen játék valamint programozás. Ezek az elsődleges feladatok, aminek meg kell felelni.

Összességében nézve nem látok okot arra, hogy akár informatikusként akár magánemberként jelenleg a Linuxal foglalkozzam, arra időt szánjak a szabadidőmből. Hogyan van ez, mikor az előbb a másik tábor előnyeit soroltam? Nos, leírom az okokat.

Negatív tapasztalatok

Talán máshogy döntöttem volna, ha még mindig a Windows 98 lenne az otthoni Microsoft operációs rendszer. De már 2009-et írunk. És az összes fenti feladatra jelenleg nem alkalmas a Linux-világ. Vannak dolgok, amikben jobb, de összességében a Linux használata a Windows-al szemben nehézkes, gyakran kényelmetlen és hátráltató.

Nagyon fontos a döntésben az is, hogy ki honnan jön, milyen tudást, szokásokat hoz magával. Aki már gyerekkorától fogva Linux mellett nőtt fel, az sok esetben egyszerűbbnek, kézenfekvőbbnek fogja találni a használatát és bosszantani fogja a Windows néhány tulajdonsága. Azonban még ő is találkozni fog a leírt hátrányok jelentős részével, mert ezeket nagyon nehéz vagy egyes esetekben lehetetlen megkerülni.

Programok használata

Említettem, hogy milyen sokféle programból lehet Linux alá egy feladatra választani. Ez egyrészt a Windowsra is igaz, sőt még inkább (hiszen a Linux alá elérhető - akár ingyenes - programok közül a legfontosabbak Windows alatt is használhatók). Persze Windows alatt nem annyira jellemző az ingyenesség és a nyílt forráskód, de ha egy eszköz jól használható és gyakran szükség van rá, akkor én fizetni is hajlandó vagyok érte (mind például magáért a Windowsért is). Hiába van ingyenes változat rá, ha annak a használata esetleg nehézkesebb, utánajárást igényel, beállítása körülményes vagy egyszerűen csak a fizetős program használatát már megtanultam és számomra az az egyszerűbb. Én az adott feladatra használni akarom a számítógépet nem pedig tucatnyi egyéb dolgot megtanulni vagy megkeresni még azért, hogy azt a feladatot el tudjam végezni. A nagy szabadság ebben az esetben tehát hátráltató tényező. Csak egy példa: a GIMP nyilván nagyszerű és komoly program (és a fentebb leírt betegségekben sem szenved), de ha én már például megszoktam a Paint Shop Pro használatát (ami csak Windows alatt érhető el), akkor nem fogom megtanulni a GIMP kezelését, nem fogok egy funkcióra percekig keresni, utánajárni, amikor az adott feladatot; képszerkesztést a másik programmal két perc alatt el tudom végezni. A GIMP ettől függetlenül jó lehet alkalmi feladatok ellátására például céges gépen (bár a licence nem tudom, ad-e lehetőséget erre).

Hardver

Bár írtam az előbb előnyöket, a legnagyobb hátrányokat mégis ezen a téren tapasztaltam - és ez komolyan befolyásolt a döntésben. Igaz ugyan, hogy először valódi plug and play-el Linux alatt találkoztam; újraindítás nélküli hardver-telepítés, teljes konfiguráció változása esetén is bootolás. Ez még a Windows 98-as időkben volt, nagyon meglepett, hogy a nyílt forrású világ már itt tart. A problémák azonban gyorsan elhomályosítják a sikereket.

Diamond MX300-as hangkártyámat évekig nem tudtam használni Linux alatt, mert az egyetlen elérhető meghajtóprogram a hangkártya használata során 1-2 perc alatt csonttá fagyasztotta a rendszert. Ezen a fórumok olvasására és a probléma megoldására szánt órák sem javítottak. Az ALSA meghajtóprogramja ma már jól működik, bár telepítése nem triviális, de elég egyszerű. És ez még csak egy hardver. Általános tapasztalatom az, hogy egy hardver telepítése sosem olyan kézenfekvő, mint Windows alatt. Nem kötelező persze, hogy az legyen, de ha én megveszek egy scannert például, akkor a telepítő lemezéről vagy az internetes honlapjáról pillanatok alatt telepítem Windows alá és használom. Ezzel szemben könnyen lehet, hogy a Linuxos életre keltése több órányi internetes keresést, fórum- és dokumentáció olvasást jelent. Én használni akarom azt a hardvert, nem pedig a rendszer problémáival foglalkozni! Ez persze nem feltétlenül a Linuxos közösség hibája, hanem a hardvergyártóé, de ez engem mint felhasználót nem érdekel.

Forrás

Előnyként szokták még említeni, hogy a programok a nyílt forráskódnak köszönhetően a felhasználó saját gépére optimalizálhatja, amikor fordítja. Eltekintve attól, hogy ez szerintem egyáltalán nem nyújt jelentős sebességnövekedést - ha ad egyáltalán, ennek kivitelezése egyáltalán nem triviális. Első lépés lehetne ebben a kernel saját gépre fordítása. Ez a nagy, integrált disztribúciókon szinte biztosan nem fog menni csak akkor, ha a disztribúció saját kernelforrását használjuk. Azt ugyanis a nagy kiadók annyira modifikálják, hogy egy újabb, általános kernel forrás fordítása után szinte biztos, hogy a rendszer nem fog elindulni vagy ha igen, problémák jönnek elő. Itt megint indulhat az órákat felemésztő buherálás - vajon mi lehet a hiba? Ha "szabványosabb" disztribúciót használok (például a Slackware), akkor a kernel fordítása több sikerrel járhat. De a konfigurálás ebben az esetben is gondot fog okozni. A sok ismeretlen opció közül mit hogyan konfiguráljak? Hagyjam alapbeállításban? Akkor meg minek új kernelt fordítani? Vagy pazaroljak el órákat azért a kicsi és bizonytalan sebességnövekedésért? A felhasználói programok fordítása szintén problémákat okozhat. Ezekhez ugyanis sok kiegészítő, fejlesztői (dev) csomagra van szükség. Ezek beszerzése, függőségeik megállapítása szintén időrabló és kétes kimenetelű.

Bár talán még nem annyira köztudott, de a Microsoft ma már programozási modell és programnyelv tekintetében is korszerű, jól használható és robusztus platformmal és API-kkel rendelkezik (Linux alatt az egységes API egyébként sem megszokott szinte semmilyen tekintetben).

A nyílt forrás modifikálása szintén hatalmas előnyként szokott előkerülni a Linux említésekor. De ez egy átlagos felhasználónak vagy egy fejlesztőnek tényleg fontos? Ha nem közvetlenül ezzel kapcsolatos a munkája, akkor szerintem nem. A nyílt forrás tehát felhasználói szempontból semmi előnyt nem jelent. A kutatásokból kiderült (cikk itt), hogy a Linux fejlesztésében pedig főként a nagy informatikai vállalatok fizetett programozói vesznek részt, tehát az önkéntesek hadának képzete lényegében egy alaptalan mítosz.

A rendszer és egyébként a programok konfigurálásával kapcsolatban is egymásnak szoktak esni a vélemények. Én azt mondom, hogy lényegében mindegy, melyik utat használjuk, ha annak a működésével tisztában vagyunk és jól tudjuk alkalmazni. Ezért ha már a Windows kezelésében elég jártasságom van, nem éri meg csak az újdonság varázsáért a Linux kezelésének és megismerésének érdekében energiát és időt szánni a megtanulására. Vannak ennél szerintem hasznosabb időtöltések (akár inkább valami mást tanulni).

Alkalmazások

A felhasználói programok között nagy a választék szinte minden feladatra. Ezek miatt sem érdemes azonban a Linuxot választani. A fontos programok egyrészt Windows-ra is elérhetőek, másrészt az elterjedt és/vagy már megszokott programok használata helyett valami kevésbé kiforrott és/vagy ismeretlen program használatával szertintem a saját munkánkat nehezítjük meg fölöslegesen. Játékok terén a Linux nem áll olyan rosszul; rengeteg logikai, ügyességi, stratégiai vagy lövöldözős játék érhető el. Ezek használatához sok esetben szintén kiegészítő csomagok telepítésére van szükség, ami megint bonyolítja a helyzetet. A videokártyák 3D-s támogatásának teljes kihasználása szintén nem triviális, sok problémába ütközhetünk, mire sikerül működésre bírni. Az új, komolyabb hardverigényű, nagyobb játékok használata sok esetben gyakorlatilag lehetetlen, mert a gyártó csak Windows platformra készíti. A programok használatát lehet ugyan segíteni egy Windows-emulátor vagy virtuális gép használatával, de akkor meg - a teljesítménybeli hátrányokon kívül - az egész Linuxozásnak nem sok értelme van.

Az a tény, hogy a Linuxok esetén sokkal szabadabban választhatjuk meg a rendszerbe kerülő összetevőket, szintén jelenthet hátrányt is. Egy program vagy környezet használatához (a fordításáról nem is beszélve) rengeteg kiegészítő csomag telepítésére szükség lehet. Ezek beszerzése és esetenként konfigurálása szintén időbe kerül és a problémák végén az ember nem is érzi olyan nagy előnynek ezt.

A magyar kódlapok támogatása Linux alatt jelentősen javult az évek során, de ezzel is lehet probléma különösen parancssoros programok használata esetén és vegyes környezetben.

A biztonság szokott még érv lenni a Linux használata mellett. Ez kicsit csalóka, mert szerintem akik Linuxot használnak, már járatosabbak biztonság terén is és megfelelő rendszerismerettel valamint felhasználói kultúrával rendelkeznek ahhoz, hogy biztonságosan beállíthassák és használhassák a rendszert. A Linux kisebb elterjedtsége sem teszi a támadások során annyira célplatformmá, mint a Windows-t. Tehát a biztonság igazából nem a használt operációs rendszertől függ, hanem a hozzáértő beállításból és használatból. Erre pedig Windows-t használva is van lehetőség, sőt a Microsoft operációs rendszere az utóbbi időben jelentősen fejlődött ezen a téren is. (Egy cikk, ami szintén alátámasztja, hogy a felhasználó a gyenge láncszem)

Következtetés

Következtetésemet már leírtam az előző bekezdésben. Természetesen Windows használata esetén is vannak problémák, egyik rendszer sem tökéletes. Vannak természetesen olyan területek, ahol a Linux nagyon erőteljes alternatíva tud lenni és ahol használata rengeteg előnnyel kecsegtet, ez látható is a cégek erőfeszítéseiből, de ez szerintem nem a mindennapi desktop felhasználás.