Pingwin na biurku
Całkiem niedawno (17 III 07), na kanale #fluxboxpl.org w sieci PolNetu, w trakcie rozmowy jak bumerang powrócił temat użyteczności i łatwości obsługi Linuksa. Oczywiście od razu pojawiły się porównania do Windowsa, niedługo potem temat zszedł na GUI vs. CLI. Słowem - dyskusja o wyższości Świąt Bożego narodzenia nad Świętami Wielkiej Nocy (lub odwrotnie) w wydaniu użytkowników FLOSS.
Zupełnie przypadkowo dzień później „obchodziłem” rocznicę. Dokładnie 18 III 06 po raz pierwszy zainstalowałem Gentoo na moim komputerze. Dlaczego ten właśnie dzień uważam za rocznicę, skoro Linuksa poznałem prawie pół roku wcześniej, w listopadzie 2005? Ponieważ mniej więcej od pierwszej instalacji Gentoo uważam się za w miarę świadomego użytkownika systemu spod znaku pingwina. Od tego momentu nie zmieniałem już dystrybucji jak rękawiczek (nie licząc krótkiego epizodu w listopadzie 2006 r.), potrafię sobie również radzić z większością problemów, gdy już wystąpią (co zdarza się również znacznie rzadziej niż dawniej).
Wydaje się więc, że jest to idealny moment, aby wypowiedzieć się o sprawności Linuksa na zwykłym stacjonarnym komputerze w domu. Tej samej, o której ERS wypowiadał się tak krytycznie.
Na potrzeby tekstu dokonałem pewnego uproszczenia - zwroty Linux, dystrybucja Linuksa oraz oprogramowanie dla Linuksa stosowane są zamiennie.
Linux jest nieintuicyjny!
Jest to pierwsze wrażenie, jakie odbiera większość osób migrujących z innych systemów operacyjnych. Stwierdzenie to jest tylko po części prawdą.
Przede wszystkim należy pamiętać, że Linux to nie jest Windows. Nigdy nim nie był, nie jest i... czy aby na pewno nie będzie? O tym jednak może innym razem. Najczęstszym błędem popełnianym przez nowych użytkowników jest oczekiwanie, że dystrybucja Linuksa będzie przypominała system Microsoftu. Pal licho wygląd, który może być całkiem podobny - użytkownik przychodzi z pewnymi przyzwyczajeniami (wymienię jedynie nagminne format C:\) oraz filozofią działania (instalacja oprogramowania, podział na partycje, rozwiązywanie problemów). Tymczasem taki typ myślenia nie tylko nie sprawdza się w nowym systemie, ale może mu nawet zaszkodzić. Przede wszystkim zaś szkodzi użytkownikowi, który niepotrzebnie się irytuje. Początki używania Linuksa przez kogoś, kto wcześniej miał do czynienia jedynie z systemem Microsoftu przypomina wbijanie śrubek młotkiem. Potrzeba trochę czasu by zrozumieć, że problem tkwi w złym podejściu.
Nie są mi znane żadne badania odnośnie prawdziwej intuicyjności różnych interfejsów. Jestem jednak pewien, że gdyby ktoś swą przygodę z oprogramowaniem zaczął od Linuksa właśnie, Windows byłby dla niego równie nieintuicyjny co Linux dla dotychczasowych użytkowników Windowsa.
Dowodzi to, że rzekoma nieintuicyjność Linuksa wynika z jego odmienności względem najpopularniejszego systemu operacyjnego i tak naprawdę oznacza inną filozofię działania
. Jednak czy aby na pewno?
Plug & Pray
Podstawową cechą wymaganą przez użytkownika komputera jest łatwość obsługi. Dziki używa trafnego porównania do innych sprzętów domowych, których obsługa nie wymaga specjalnych umiejętności ani znajomości działania sprzętu. Podczas gdy Dziki postuluje uświadamianie ludzi, ja komentuję całą sytuację jednym zdaniem: Komputer jest dla mnie, nie ja dla komputera
.
Rozumowanie Dzikiego, w którym nie jest odosobniony, jest całkiem głęboko zakorzenione w świadomości ludzi, którzy mają do czynienia z komputerami na co dzień:
Myślę, że zapotrzebowanie światowych rynków wynosi około pięciu komputerów
Thomas Watson z IBM-u w roku 1943
Przesyłanie dokumentów przez kable telefoniczne jest w zasadzie możliwa, jednak potrzebne urządzenia są tak drogie, że nigdy nie znajdzie ono zastosowania w praktyce.
Dennis Gabor w roku 1962
Nie ma żadnego powodu, aby jednostka posiadała komputer w domu.
Ken Olson z Digital Equipment w roku 1977
Widzę niewielki potencjał komercyjny Internetu przez najbliższe przynajmniej dziesięć lat.
Bill Gates w roku 1994
Chyba najlepsze podsumowanie, jakie można sobie wyobrazić, zostało wypowiedziane zanim większość z powyższych zdań została pomyślana:
Wygląda na to, że osiągnęliśmy wszystko to, co można osiągnąć w technologii komputerowej, jednak należy być ostrożnym z takimi twierdzeniami - mają tendencję do brzmienia głupio po upływie pięciu lat.
John von Neumann w roku 1949
Komputer osiągnął to, do czego nigdy nie został stworzony. Jakkolwiek można się z tym nie zgadzać, stoi się przed faktem - komputer (zazwyczaj w duecie z połączeniem internetowym) na dobre zadomowił się pod strzechami i uznawany jest za część standardowego wyposażenia mieszkania. To nie ludzi należy zmieniać - to komputery muszą wyjść obronną ręką z kolejnego zadania, jakie przed nimi postawiono - przystosowania się do bycia użytecznymi w warunkach domowych.
Jak na tle tych informacji wygląda GNU/Linux? Wiele dystrybucji, nastawionych na przyjazność użytkownikowi, całkiem nieźle. Wymienię tutaj tylko SuSE, Ubuntu czy Fedora Core - instalacja wszystkich z nich jest uproszczona do tego stopnia, że wystarczy klikanie Dalej na kolejnych ekranach. Również użytkowanie ich nie powinno sprawić wielu kłopotów - graficzne narzędzia pozwalają zainstalować nowy program albo zmienić ustawienia systemu bez konieczności dotykania wiersza poleceń (o którym będzie później). Wiele z podłączonego sprzętu jest wykrywana i czasem konfigurowana tak, że użytkownik po prostu podłącza i używa. Gorzej, gdy z dowolnego powodu wystąpi jakiś problem.
Praktycznie żadna z tych dystrybucji nie daje użytkownikowi prostych narzędzi do radzenia sobie z problemami. Windows posiada bardzo przydatną, jednak znaną nielicznym funkcję przywracania systemu - w żadnej dystrybucji Linuksa nie widziałem czegoś chociażby podobnego. Dokumentacja często nie opisuje najbardziej trywialnych zagadnień (początkujący użytkownik nie wie nawet, czym jest terminal, nie wspominając o jego włączeniu lub używaniu), co prowadzi do irytacji użytkownika. W efekcie najprostszym lekarstwem na wiele z problemów jest ponowna instalacja systemu, za co winę po części ponoszą wspomniane juz przyzwyczajenia z Windowsa. Bardziej zaawansowani użytkownicy mogą pokusić się o reanimację systemu przy pomocy niezwykle zachwalanego wiersza poleceń Linuksa.
Ph34r my l337 h4x0r 5k!llz
Powłoka bez funkcji dopełniania nazw poleceń oraz ścieżek jest totalnie bezużyteczna. Powłoka nie dopełniająca flag oraz ich opcji jest tylko bezużyteczna. Taka właśnie domyślnie jest powłoka bash, będąca domyślną powłoką znacznej większości dystrybucji Linuksa oraz zarazem najpopularniejszą powłoką systemów unixowych w ogóle. Niestety, często użytkownik jest zmuszony do jej używania. Co więcej, jest ona przedstawiana jako alternatywa, nierzadko lepsza, dla zwykłego, graficznego interfejsu użytkownika. Raz nawet spotkałem się z twierdzeniem, że Linux jest lepszy od Windowsa, gdyż posiada normalny wiersz poleceń
.
Normalny (czyt. nowoczesny i doskonale sprawujący się w użytku domowym) system operacyjny nie potrzebuje wiersza poleceń!
Czy zastanawiałeś się kiedykolwiek, dlaczego większość najprzydatniejszych, a nierzadko podstawowych, programów w wierszu poleceń Linuksa ma aż tak enigmatyczne i niemożliwe-do-zapamiętania nazwy? cp, mv, rm, grep, ps, cd, su(-do), vi czy man to przykłady, które można mnożyć niemal w nieskończoność. Nie? Szkoda. Śpieszę donieść, że w UNIX-HATERS Handbook znaleźć można odpowiedź.
Unix (który stanowi protoplastę GNU/Linuksa) został zaprojektowany dla maszyny zwanej PDP-7 w czasach, gdy nowoczesny komputer był rozmiarów dzisiejszej lodówki. PDP-4 (jak nietrudno się domyślić, wcześniejsza wersja) miał niesamowitą ilość 8000 słów (notabene bardzo oryginalna jednostka) pamięci. Późniejsza wersja - PDP-11 - miał jej dwa razy więcej (16 000 słów). To było na dekadę przed słynnymi słowami Billa Gatesa, które przytoczyłem wyżej. Na dzisiejsze standardy wydaje się, że jest to ok. 8 kB pamięci. Unix miał nie tylko uruchomić się na takiej maszynie (o parametrach nie do wyobrażenia jak na dzień dzisiejszy) - on miał dodatkowo obsługiwać wielu użytkowników jednocześnie, oraz, przede wszystkim, służyć do wymiany danych między nimi. Konieczność pisania copy było już marnotrawieniem bardzo ograniczonej pamięci (dlatego zastąpiono je dwa razy krótszym cp). Prawdopodobnie nikomu nawet nie przeszło przez myśl, że komenda change directory mogłaby służyć do zmiany obecnego katalogu, gdy to samo zadanie może spełniać nieporównywalnie krótsze cd. Znaczna większość podstawowych poleceń wykorzystywanych w powłoce ma na sobie takie brzemię - pamięta okres, gdy liczył się każdy znak (dlatego również większość programów posiada flagi składające się z jednej litery oraz jednego myślnika). Stosowanie tego minimalizmu w czasach, gdy każdy nowy komputer ma nie mniej niż 512 MB jest równie śmieszne, co zastanawiające.
Najbardziej jednak zastanawiające jest, że praca w powłoce ma status szybszej (przy odpowiedniej wprawie można ją za taką uznać) oraz wygodniejszej (czego mój rozum pojąć już nie może). W jednym narożniku stoi graficzny interfejs oraz myszka - możliwość zaznaczenia plików, klikania różnych przycisków albo wybierania odpowiednich komend z pogrupowanych menu rozwijanych. W drugim zaś stoi wiersz poleceń z programami apropos oraz whatis które (jak na ironię) pozwalają wyszukać polecenie wykonujące odpowiednie zadanie. Do duetu dochodzą strony man (podręczników) dokładnie opisujące składnię oraz opcje każdego z poleceń, które potrafią być bardzo rozwlekłe. Dla przykładu strona man dla find liczy sobie 21988 znaków, a dla cp (mającego z definicji mniej opcji) - 12554 znaki. Trio to jest nieocenioną pomocą w chwili, gdy chce wykonać się coś, czego nie robiło się często w powłoce. Pozwala również poświęcić wiele czasu (nierzadko liczy się go w godzinach) na przyswojenie sobie podstaw niezbędnych do obsługi programu, który ma wykonać jakieś określone zadanie. Zaiste, tak właśnie definiuję wygodę użytkownika
.
Przyzwyczajenie jest wrogiem postępu
Paradoksalnie największym wrogiem każdego systemu operacyjnego (tyczy się to również wielu innych dziedzin) są jego najwięksi fani. Zapatrzeni w swój ulubiony produkt zdają się nie dostrzegać jego wad. Nie jest to jeszcze takie złe - wady prędzej czy później, nierzadko brutalnie, wypunktują fani innych systemów. Czasami jednak w swej miłości do oprogramowania użytkownicy wdają się w zaślepienie tak daleko, że przyzwyczajają się do pewnych ułomności. Jest to najgorszy rodzaj wady, gdyż nie jest ona wtedy dostrzegana, a co za tym idzie - nie można jej zniwelować.
Niektórzy posuwają się tak daleko, że część z udziwnionych zachowań postrzegają wręcz jako zalety.
Jest to największy problem Linuksa. Zaawansowany użytkownik będzie potrafł usprawnić wiele z powtarzalnych procedur, jednak początkujący zmuszony jest żyć z dziwnym zachowaniem systemu. Osławiona konfigurowalność Linuksa jest faktem - wymaga co prawda nakładów czasu oraz pracy, jednak system da się dostosować na wiele sposobów (doskonale obrazuje to 196. pasek xkcd). Czasem, niestety, to nie wystarcza.
Oczywiście Linux nie jest wyjątkiem, a wiele z wad mu przypisywanych wynika tylko z odmienności od popularniejszych systemów operacyjnych (o czym pisałem na początku). Nie zmienia to jednak faktu, że część z jego cech nie spełnia wymagań stawianych przez zwykłych użytkowników.
Tresura pingwina
Początki używania Linuksa stanowią pasmo przeszkód i niepowodzeń. Z czasem krnąbrne zwierzę przyzwyczaja się do nowego pana (i odwrotnie). Zaczyna nawet sprawiać mu niespodzianki, ukazując drzemiącą w sobie moc. Innym razem pomimo próśb i gróźb nie daje nad sobą zapanować.
Czy GNU/Linux jest dobrym systemem operacyjnym? Nie. Czy Linux jest godny polecenia? Nie bardziej niż dowolny inny system. Dlaczego mimo to wciąż go używam? Ponieważ jest najlepszym systemem, z jakim do tej pory miałem styczność.