sobota, 14 czerwca 2008

Pięć rzeczy, których brakuje mi w Windowsie

Wiele pulpitów
Do surfowania po necia, przeglądania newsów czy pisania jakiś listów to nie jest potrzebne. Możliwość zdefiniowania dowolnej liczby pulpitów (obszarów roboczych) doceniłem w momencie jakiś większych robót. Wtedy liczba otwartych okien programów, katalogów, terminali, przeglądarek itp zaczyna przytłaczać. Pewnym rozwiązaniem jest dodawanie dodatkowych pasków narzędziowych i organizowanie jednakowych aplikacji w karty. Ale w pewnym momencie i to przestaje wystarczać.
Tutaj wkraczają dodatkowe pulpity. To nie żadne raj-waj, nowość czy coś. W Linuksowych środowiskach graficznych istnieje to od dawana i jest czymś oczywistym. Chodź sceptycznie do tego podchodziłem na początku, okazało się genialne przy pierwszej dużej pracy. W prosty sposób zorganizowałem na pierwszym pulpicie elementy pakietu biurowego z których w danym momencie korzystałem (kilka arkuszy kalkulacyjnych, oowriter i oodraw) a z poziomu drugiego wyszukiwałem informacje w internecie i korzystałem z zasobów lokalnych (przeglądanie plików, podgląd i tworzenie archiwów, edycja obrazków).
Upchnięcie tego wszystkiego na jednym pulpicie i jednocześnie wygodna praca są niemożliwe. Dodatkowo liczba pulpitów jest nieograniczona. Można je dodawać w lot. Potrzebuje dodatkowego obszaru? Trzy kliknięcia i już jest. Nie potrzebuje więcej? Myk i nie ma. Ten sposób organizacji pracy jest bardzo wydajny. łatwo przełączać się pomiędzy aplikacjami. W obrębie jednego obszaru to znane ALT+TAB, a pomiędzy obszarami roboczymi: CTRL+klawisze kursorów.
Generalnie pracuję na dwóch obszarach roboczych. Główny - standardowy. Dodatkowy - zajęty przez terminal. A miarę potrzeb naturalnie dodaję sobie dodatkowe. Chyba najwięcej na 4 pracowałem. Ale to rzadkość. Dwa/trzy w zupełności wystarczają. Ewentualnie dodatkowy na aplikacje które mają działać sobie w tle, a nie da się ich do tray'a wrzucić.

Terminal i BASH
Panie i panowie, proszę wstać. Król wchodzi.
Tak tak, bez "trybu tekstowego" to nie jest to samo. Mnóstwo rzeczy można wykonać szybciej przez konsolę. W dodatku nie musi być to "Czarne okno z białymi literami". Tak jak wszystko w Linuksie, tak i okno terminala można dowolnie modyfikować i konfigurować. Na pierwszy ogień idzie kremowe tło, czarne litery oraz jakiś fajny znak zachęty, np:

dwimenor [⌚ 13:14] ~ $
Oczywiście wygląd to nie wszystko. Liczy się funkcjonalność. Dzięki prostemu językowi skryptowemu jakim jest BASH można w prosty sposób zautomatyzować codzienne pracę. Pierwszą rzeczą jaką sobie zautomatyzowałem były codzienne aktualizacje systemu. Biorąc pod uwagę, że Update Manager na moim złomie dojść topornie pracował, wyłączyłem go i zastąpiłem prostym wpisem w ~/.bashrc
update () {
sudo apt-get update;
sudo apt-get -y upgrade;
}
W ten sposób, gdzie bym nie był zawsze mogę wykonać aktualizację systemu przez wpisanie update. Jeżeli będą jakieś błędy - zatrzyma się i nie rozwali całego systemu...jak to prezentowałem parę wpisów temu ;)

Oczywiście Windows też ma swoją "konsolę" i język skryptowe. Chyba to nazwali PowerShell. Ale to nie dla mnie. Wystarczyło mi, że widziałem kilka prostych przykładów skryptów żeby się zniechęcić

Repozytoria
Co to jest repozytorium? Generalnie to miejsce skąd pochodzą paczki z programami. Nie tylko sam program, ale też biblioteki potrzebne do uruchomienia, wtyczki itp. Repozytoria to najczęściej potężne serwery udostępniane przez społeczność opensource. Każdy może z nich korzystać, wystarczy połączenie z internetem. Naturalnie do naszej listy repozytoriów może dodać też oddzielną partycję na dysku, płytę dvd czy inne nośniki.
Co jest w tym takiego genialnego? Otóż załóżmy że szukamy jakiegoś programu. Google? wortale z oprogramowaniem? To dla windowsiarzy dobre.
Aby korzystać z repozytoriów, używa się najczęściej menadżerów pakietów. Uruchamiamy taki menadżer (to program z interfacem graficznym!) i sobie przeszukujemy jak na google. Przeszukujemy po nazwach (prawda, że istnieje spora szansa iż program do przeglądania pdfów będzie miał w nazwie frazę "pdf"?), autorach, wersjach opisach i czym chcemy. Znaleźliśmy? No to instalujemy. Dwa kliknięcia i już.
Repozytoriów jest sporo, ale menadżer pakietów pobiera dane jednocześnie z wszystkich które ustawimy w systemie. Nie trzeba więc latać po dziesiątkach portali z oprogramowaniem. Stan repozytoriów (co, jaka wersja, opis itp cechy programu) są zapisywane lokalnie na komputerze i co jakiś czas (w Ubuntu co jeden dzień) aktualizowane.
Dzięki takiej budowie systemu zarządzania oprogramowaniem mamy ogromne korzyści:
1. Szybkość. Przeglądanie i przeszukiwanie wszystkich źródeł oprogramowania w jednym miejscu
2. Szybkość. Repozytoria oprogramowania to bardzo wydajne serwery na dobrych łączach. Rzadko zdarza się, żebym ściągał wolniej niż 350kb/s chodź i to uważam że jest za wolno. Obstawiam winę starej karty sieciowej
3. Dostępność. Korzystnie z repozytoriów jest darmowe. Nie ma ograniczeń. Nie trzeba mieć nawet menadżera pakietów, ba nie trzeba mieć Linuksa żeby z nich korzystać.
4. Bezpieczeństwo. Wszystko jest podpisywane kluczami publicznymi. Nawet jeżeli nastąpi podmiana pliku w repozytorium (co się zdarzało w przeszłości) to nie dojdzie do infekcji maszyn z względu na to, że nowy plik nie będzie miał stosownego klucza.
5. Aktualność. W systemach user-friendly (Ubuntu, Mandriva) jesteśmy automatycznie informowani o nowych wersjach programów. Przy synchronizacji stanu repozytoriów z naszą bazą danych odpowiednie programy sprawdzają wersję paczek i wyświetlają stosowne informacje. Coś jak Windows-Update, tyle że nie będzie działać wbrew naszej woli, nie pobierze czego nie chcemy ani nie zresetuje komputera bez naszym chęcią.
6. I w końcu: Mnogość. W repozytoriach jest skolko-godno oprogramowania wszelkiej maści. Można też dodawać inne, mniej znane lub korzystać z oficjalnej listy dla naszej dystrybucji. W chwili obecnej w Ubuntowych repo jest blisko 25 tysięcy (!!) paczek z oprogramowaniem.

Co można jeszcze zaliczyć na plus? Cóż, z poziomu repozytorium można ściągnąć kod źródłowy oprogramowania i samodzielnie je skompilować (ale nie wszystkie repo to oferują). Ponadto repozytoria zawierają wszystkie wcześniejsze wersje oprogramowania. Jeżeli nowsza wersja z jakiś przyczyn nie działa, można użyć wersji wcześniejszych.

Wersja dla osób które jeszcze nie zrozumiały:
Wyobraź sobie program, który ma ustawione trzy strony:
www.download.net.pl
www.dobreprogramy.pl
download.chip.pl
Teraz, gdy chcemy zainstalować program X, w naszym programie nakazujemy jego instalację. Nasz program (menadżer pakietów) zadba o resztę: przeszuka stan wszystkich trzech wortali i wybierze ten na którym jest najnowsza wersja poszukiwanego programu.
Dodatkowo sprawdzi czy nie brakuje nam czegoś. Powiedzmy, że chcemy instalować najnowsze stery do karty graficznej. Wymagają one jakiegoś dodatkowego komponentu..jakiejś biblioteki systemowej, specjalnego instalatora...czegokolwiek. Nasz menadżer pakietów wyświetli monit o potrzebie zainstalowania tychże dodatków. Naturalnie poprosi o zgodę. Kiedy uzyska ją, pobierze wszystkie komponenty i je zainstaluje. W dodatku bez tego uciążliwego przekikowywania się przez instalator.

Sposób konfigurowania
Tu się rozbijają dwie rzeczy. Po pierwsze, żeby coś w Oknach zmienić najczęściej trzeba instalować osobny program. Każdy osobny program to zajęte miejsce na dysku, a przede wszystkim dodatkowe wpisy w rejestrze. Rozrastający się rejestr jest jedną z głównych przyczyn spowalniania systemu po pewnym czasie.
Po drugie - budowa samego rejestru. Jeżeli chodzi o standardowe klucze to nigdzie nie ma do tego porządnej dokumentacji. Oczywiście są opisy różnych kluczy, ale brakuje mi zbiorczego opisu wszystkich. Czegoś na zasadzie opisu klucz konfiguracji firefoxa
Nie zapominajmy też, że rejestr jest plikiem binarnym. To znaczy, że w momencie jego uszkodzenia nie ma możliwości poprawienia wadliwych wpisów. Można skorzystać z kopii zapasowych, ale w wielu przypadkach uszkodzenie rejestru uniemożliwia uruchomienie systemu a co za tym idzie - wykonania naprawy.
W systemach unixowych konfiguracja jest przechowywana w dwuch kataloagach.
/etc - główny katalog. Coś jak rejestr systemu windows, ale wszystko jest zwykłymi plikami
/home/user Pliki w katalogu domowym użytkownika (najczęściej ukryte, zeby nie przeszkadzały). Jeżeli urzytkownik uruchamia program, to najpierw sprawdzana jest konfiguracja własna a dopiero potem (w przypadku jej braku, uszkoadzenia, lub nie zdefiniowania niektórych wartości) jest sprawdzana wersja systemowa w katalogu /etc. W ten sposób preferencje własne mają pierszeństwo nad ustawieniami globalnymi.
Jeżeli jeden plik...ba nawet spora ich liczba się uszkodzi albo zniknie ciągle istneje możliwość poprawienia tego stanu rzeczy poprzez ręczne naprawienie.
Jeżeli nasza dystrybucja ma livecd, można uruchomić komputer z tej płytki i ręcznie naprawić uszkodzenia. Na przykład nadpisując uszkodzone pliki tymi z livecd. Może mało eleganckie, ale system ma sporą szansę się podnieść.

Żeby było jasne - mnie nie obchodzi czy konfiguracja to /etc czy rejestr systemowy. W windowsie brakuje mi możliwoście samodzielnego grzebania. Brakuje mi dokumentacji opisującej całość. Brakuje mi możliwości naprawienia, bez konieczności instalowania ponownie systemu.

Administrator z prawdziwego zdażenia
Niby jest konto administratora, ale to nie to. Używając go jakoś tak czułem, że nie jestem panem systemu. Że nie mogę wszystkiego. Że system, widząc że jestem adminem ciągle zachowuje się jakby nie dowierzał moim umiejętnością. Tak jakby zmieniała się tylko etykietka przy moim imieniu.

Brak komentarzy: