Nie da się ukryć, że jeżeli chodzi o możliwości konfiguracyjne, to Linux zostawia daleko w tyle konkurencję. Można dostosować do swoich przyzwyczajeń praktycznie każdy element systemu, choć czasami może wymagać to odrobinę czasu i samozaparcia. W tym artykule chciałbym zająć się wizualną i estetyczną stroną systemu. Opiszę jak sprawić, by nasz system był przyjemniejszy dla oka i ducha.
Start komputera, czyli Grub splash
Za każdym razem, gdy włączamy komputer, wita nas ekran wyboru systemu. Domyślnie w rodzinie Ubuntu jest to GNU GRUB i nie da się ukryć, że piękny to on nie jest. Standardowo witają nas białe litery na czarnym tle, ale nie ma przeszkód, żeby to zmienić.
Można zamiast czarnego tła użyć obrazka. Wymagania są tylko takie, by obrazek miał 14 kolorów, wymiary 640 na 480 pikseli i by był zapisany w formacie xpm.gz. Do tego, by przygotować nasz obrazek do spełnienia tych wymagań, można użyć programu Gimp. Wykonujemy w nim następujące czynności:
otwieramy dowolny obrazek
skalujemy za pomocą opcji Obraz->Skaluj
zmieniamy głębię kolorów opcją Obraz->Tryb->Indeksowany i wpisujemy liczbę kolorów 14
zapisujemy obrazek podając jako rozszerzenie .xpm.gz
Teraz skonfigurujemy GRUB, by wykorzystał przygotowany plik. W tym celu edytujemy z prawami roota plik /boot/grub/menu.lst i dopisujemy tam taką linijkę:
splashimage=(hdx,y)/ścieżka/do/pliku/obrazek.xpm.gz
Trzeba tylko pamiętać, by zamienić x i y na odpowiednio numer dysku fizycznego i numer partycji liczone od zera. W moim przypadku, ponieważ plik znajduje się na partycji hda7, wpis wygląda tak:
splashimage=(hd0,6)/boot/grub/splash/blue2.xpm.gz
Efekt jest jakże odmienny od standardowego ekranu powitalnego.
Rys. 1 Grub splash
Warto pamiętać o kilku kwestiach. Po pierwsze dobrze jest, aby obrazek był utrzymany w jednej tonacji kolorystycznej. Dzięki temu zmniejszenie ilości kolorów nie wpłynie drastycznie na pogorszenie jakości. Po drugie może się okazać, że standardowe kolory liter i tła liter wykorzystane w menu nie komponują się z użytym obrazkiem. W tym przypadku można dopisać do pliku /boot/grub/menu.lst dwa wpisy, które zmieniają te kolorki. Oto przykład:
foreground = ffffff
background = 000000
Wartości kolorów wpisuje się w notacji szesnastkowej.
W sieci można znaleźć sporo miejsc, skąd można pobrać gotowe pliki .xpm.gz przygotowane od razu do użycia. Poszukiwania można rozpocząć od tych miejsc:
http://ruslug.rutgers.edu/~mcgrof/grub-images
GNOME-Look.org
Ładowanie Ubuntu - usplash
Podczas ładowania naszego systemu widzimy logo Ubuntu oraz pasek postępu. No dobrze. A jeżeli komuś się ten ekran nie podoba?
To, co widzimy na ekranie, to usplash. Personalizacja tego elementu systemu nie jest już taka łatwa, jak w przypadku Gruba. Jeszcze w Dapperze można było kilkoma poleceniami podstawić własny obrazek PNG jako tło dla usplasha, ale od Ubuntu 6.10 sprawa się dość mocno skomplikowała. Elementy graficzne użyte przez usplasha znajdują się w skompilowanej bibliotece ładowanej dynamicznie podczas startu systemu. Biblioteka zawiera nie tylko elementy wyświetlane na ekranie, ale także sposób ich wyświetlania. Żeby napisać własną bibliotekę dobrze jest znać podstawy języka C. Gdyby jednak ktoś był bardzo chętny do tego, żeby coś własnego stworzyć, może pójść na skróty i zamiast tworzyć bibliotekę od podstaw, może zmodyfikować istniejący kod źródłowy.
W tym celu należy zainstalować konieczne narzędzia i pobrać kod źródłowy standardowej biblioteki usplasha w Ubuntu:
sudo apt-get install build-essential libusplash-dev
apt-get source usplash-theme-ubuntu
W ten sposób na dysku pojawi się katalog usplash-theme-ubuntu, a w nim obrazki użyte przez usplasha, kod źródłowy biblioteki w pliku usplash-theme-ubuntu.c oraz opis kompilacji w pliku Makefile. Można do woli poprawiać istniejące rysunki, pamiętając jednak o kilku ograniczeniach: nie wolno zmieniać rozmiarów rysunków i głębi kolorów, a wszystkie rysunki muszą tę samą, 256-kolorową paletę barw. Następnie należy w pliku Makefile zastąpić wszystkie wystąpienia tekstu “usplash-theme-ubuntu.so” jakąś własną nazwą tworzonej biblioteki, np. “my-usplash-theme.so”. Na końcu wykonujemy polecenie
make
i otrzymujemy własną skompilowaną bibliotekę.
Teraz przekopiujemy gotowy plik do “normalnej” lokacji oraz skonfigurujemy system, by widział nasz plik. Wykonujemy trzy polecenia:
sudo cp my-usplash-theme.so /usr/lib/usplash/my-usplash-theme.so
sudo update-alternatives --install /usr/lib/usplash/usplash-artwork.so usplash-artwork.so /usr/lib/usplash/my-usplash-theme.so 10
sudo update-alternatives --config usplash-artwork.so
Ostatnie z powyższych poleceń wyświetli listę wszystkich bibliotek, które mogą być wykorzystane przez usplash, oraz pozwoli na wybór jednej z nich do użycia. Żeby przetestować, czy usplash będzie działał poprawnie wydajemy polecenie:
sudo usplash -c
Żeby wyjść z podglądu należy nacisnąć klawisze Alt+F7. Teraz pozostaje tylko wykonanie polecenia
sudo update-initramfs -u
i możemy cieszyć się własnym ekranem przy ładowaniu systemu.
Lekka modyfikacja jest o wiele szybsza i prostsza od tworzenia usplasha od podstaw, ale i tak dla niektórych z pewnością będzie to wyzwanie. Na szczęście w sieci można znaleźć sporo gotowych i skompilowanych bibliotek, które wystarczy tylko ściągnąć i podłączyć do systemu. Poszukiwania można zacząć od GNOME-Look.org. Pobrany plik podłączamy dokładnie tak, jak opisano powyżej.
Logowanie - GDM Login Manager
Ekran logowania GDM jest zapisany w archiwum .tar.gz. To archiwum zawiera dwie rzeczy: opis ekranu logowania w pliku xml oraz pliki graficzne z elementami użytymi do wyświetlenia ekranu, takimi jak tło, czy przyciski. Sam opis tworzenia takiego ekranu od podstaw wykracza dość znacznie poza ramy tego artykułu, więc opiszę tu tylko sposób wykorzystania gotowego ekranu logowania w systemie. Gdyby ktoś miał jednak ochotę, żeby stworzyć coś własnego, zapraszam do dokumentacji udostępnionej przez twórców Gnome lub do serwisu live.gnome.org.
Skąd można pobrać ekrany logowania? Jak zwykle niezawodny jest serwis GNOME-Look.org. Gotowce znajdziemy również na art.gnome.org.
Żeby wykorzystać ściągnięte archiwum z ekranem logowania wybieramy opcję System->Administracja->Ekran logowania, a następnie przechodzimy do zakładki Lokalny.
Rys. 2 Ustawienia ekranu logowania
Teraz przyciskiem “Dodaj…” wybieramy archiwum .tar.gz z nowym ekranem logowania, a następnie zaznaczamy go na liście dostępnych motywów i zamykany okno. Gotowe!
Ładowanie profilu - Gnome splash
Po wpisaniu nazwy użytkownika i hasła na ekranie logowania system pokazuje niewielki rysunek, na którym w miarę ładowania kolejnych elementów profilu pojawiają się nowe ikony. To element nazwany “Gnome splash”. W tym miejscu możemy użyć dowolnego obrazka - nie ma żadnych technicznych ograniczeń. Jedyne ograniczenie narzuca estetyka - osobiście uważam, że zarówno zbyt małe, jak i zbyt wielkie obrazki nie spełniają swojej roli.
Zarządzanie splashami jest łatwe dzięki programowi “gnome-splashscreen-manager”. Jeśli go nie ma, instalujemy go poleceniem
sudo apt-get install gnome-splashscreen-manager
a następnie uruchamiamy poprzez System->Preferencje->Splash Screen. Nowe obrazki dodajemy poprzez “Install…”, a wybrany obrazek ustawiamy jako aktywny poprzez kliknięcie go na liście i wybranie przycisku “Activate”. Proste.
Rys. 3 Gnome Splash Screen Manager
Dodam tylko, że gotowe splashe można pobrać między innymi z art.gnome.org i GNOME-Look.org.
Tapeta pulpitu
Z moich obserwacji wynika, że zmiana tapety to jedna z najczęstszych modyfikacji interfejsu użytkownika na każdym systemie. I nic dziwnego - jest to najbardziej zauważalny element pulpitu w trakcie pracy. ;)
Rys. 4 Zmiana tła pulpitu
Aby zmienić tło należy kliknąć prawym klawiszem myszy na wolny kawałek pulpitu i wybrać opcję “Zmień tło pulpitu” lub z menu wybrać opcję System->Preferencje->Wygląd, a następnie zakładkę Tło. Teraz można dodać do zbioru tapet systemowych nowy plik, a następnie wybrać go jako tapetę klikając na miniaturkę.
Jak zmienić wygląd okien? - Motyw systemowy
W Ubuntu możemy dowolnie zmieniać wygląd następujących części interfejsu użytkownika:
Elementy sterujące to nic innego, jak kontrolki, z których składają się okna. Mogą to być przyciski, listy rozwijane (ComboBox), suwaki, itd. W Gnome (czyli także w Ubuntu), za wyświetlanie interfejsu graficznego odpowiada biblioteka GTK+.
Kolory okien, zaznaczanych obiektów, itp.
Krawędź okna, czyli tytuł i obramowanie okna, a także ikony maksymalizacji, zamykania i zwijania okien. Za tą część interfejsu odpowiada Metacity - menadżer kompozycji okien wykorzystywany standardowo przez Gnome.
Ikony standardowych elementów interfejsu, np. katalogu czy dysku.
Wskaźnik, czyli zwykły kursor myszy.
Wszystkie te elementy można zmieniać za pomocą opcji System->Preferencje->Wygląd w zakładce Motyw. Instalacja nowego motywu jest prosta. Ściągamy archiwum (np. tar.gz) z jedną z powyższych części interfejsu i instalujemy za pomocą przycisku “Zainstaluj…”. Od tego momentu możemy - używając przycisku “Własne…” - wybrać zainstalowany zestaw ikon, czy obramowania okna, a na końcu - za pomocą przycisku “Zapisz jako…” - zapamiętać wybrany zestaw i zapisać jako gotowy motyw.
Rys. 5 Preferencje wyglądu - Motyw
Skąd pobrać gotowe do wykorzystania motywy? Na początek polecam art.gnome.org. W części “Application” znajdziemy elementy sterujące, w “Window Border” obramowanie okna, i wreszcie w “Icons” ikony. Duża baza gotowców znajduje się również w serwisie GNOME-Look.org.
O ile wykorzystanie gotowców nie jest uciążliwe, o tyle utworzenie swojego własnego motywu od podstaw może zająć trochę czasu (może poza kolorami). Nie jest to skomplikowane, ale dokładny opis wszystkiego, co jest potrzebne do tworzenia motywu, wykracza poza zakres tego artykułu. Chętnych odsyłam do dokumentacji, którą można znaleźć tutaj:
W przypadku elementów sterujących GTK+:
live.gnome.org
www.gtk.org
library.gnome.org
W przypadku obramowań okien (Metacity):
developer.gnome.org
live.gnome.org
W przypadku ikon:
live.gnome.org
Czcionki
Nie ma najmniejszych problemów, żeby zmienić czcionki używane podczas wyświetlania napisów w systemie. Z menu wybieramy opcję System->Preferencje->Wygląd, a następnie zakładkę Czcionki. Możemy w tym miejscu zdefiniować rodzaj używanych czcionek, a także sposób ich wygładzania. To ostatnie przydaje się, gdy np. na ekranie laptopa czcionki nie wyglądają tak, jak powinny.
Rys. 6 Preferencje wyglądu - Czcionki
Trójwymiarowy pulpit - Compiz Fusion
Od Ubuntu 7.10 Compiz Fusion, czyli kompozytowy menedżer okien powstały z połączenia projektów Compiz i Beryl, stał się częścią systemu. Paczki z kodami znajdują się w standardowym repozytorium Ubuntu. Wprawdzie już wcześniej można było skorzystać z czegoś, co nazywano “Efektami pulpitu”, a co w rzeczywistości było okrojoną wersją Compiza, ale dopiero od Gutsiego mamy do dyspozycji całość projektu.
Dobrze jest wykonać następujące polecenie:
sudo apt-get install compiz compiz-fusion-plugins-* compizconfig-settings-manager emerald
Gdy w menu System->Preferencje->Wygląd wybierzemy zakładkę Efekty wizualne, będziemy mogli włączyć Compiz Fusion i wybrać jeden z dwóch przygotowanych zestawów opcji lub klikając na Preferencje ustawić efekty według własnych potrzeb. Do dyspozycji są wszystkie wtyczki poza tymi zawartymi w paczce “unsupported” i “unofficial” - te nie zostały dodane do repozytorium.
Na koniec
Powyższe opcje to tylko początek tego, co można zmieniać w wyglądzie Ubuntu. Do tego dochodzą jeszcze programy zewnętrzne, które po instalacji potrafią podnieść estetykę (i funkcjonalność) pulpitu. Mogą to być widgety osadzane na pulpicie (gdesklets, adesklets), zegar (Cairo-Clock), programy monitorujące system (Conky), czy wreszcie docki ze skrótami do programów (Gnome dock, Kiba-dock, Avant Window Navigator). Warto też wspomnieć o programach, które pozwalają na zmianę swojego wyglądu przez skórkowanie. Takie możliwości ma np. popularny Firefox. Dzięki temu każdy użytkownik może skonfigurować własny i niepowtarzalny pulpit.
Inspirację do stworzenia własnego wyglądu systemu można szukać w sieci. Polecam wątek na polskim forum Ubuntu, na którym użytkownicy chwalą się swoimi pulpitami. Można tam znaleźć całkiem ciekawe przykłady. A jeżeli komuś uda się stworzyć coś niepowtarzalnego, zachęcam do pochwalenia się innym właśnie w tym miejscu.