Wybrane środowiska graficzne
i menedżery okien
systemów uniksowych
Graficzny
interfejs
użytkownika (ang. Graphical User
Interface, GUI), często nazywany
też środowiskiem graficznym –
ogólne określenie
sposobu
prezentacji informacji przez
komputer oraz interakcji z
użytkownikiem, polegające na
rysowaniu
i
obsługiwaniu
widżetów.
Kolokwium z TI
Wykonał
WBiIŚ, PRz
Imię Nazwisko
Spis treści
I
Wstęp..........................................................................................................................................3
I.1
Interfejs graficzny..............................................................................................................3
I.2
Menedżer okien.................................................................................................................3
II
KDE............................................................................................................................................5
II.1 Przyszłość KDE.................................................................................................................5
II.2 Aplikacje KDE...................................................................................................................6
II.3 Loga i maskotki.................................................................................................................6
III GNOME ®..................................................................................................................................7
III.1 Informacje ogólne.............................................................................................................7
III.2 Cele....................................................................................................................................7
III.3 Organizacja.......................................................................................................................7
III.4 Platformy, na których działa GNOME..............................................................................8
IV Xfce.............................................................................................................................................9
IV.1 Wersje środowiska.............................................................................................................9
IV.2 Główne komponenty..........................................................................................................9
IV.3 Aplikacje..........................................................................................................................10
V
LXDE........................................................................................................................................11
V.1
Komponenty.....................................................................................................................11
VI Fluxbox.....................................................................................................................................12
VI.1 Możliwości.......................................................................................................................12
VII Enlightenment...........................................................................................................................13
VII.1 Historia............................................................................................................................13
VIII Window Maker..........................................................................................................................15
IX IceWM......................................................................................................................................16
X
Wzór..........................................................................................................................................17
I Wstęp
I.1
Interfejs graficzny
Interfejs graficzny został wymyślony przez firmę Xerox w latach 70. XX
wieku w laboratorium PARC.
W Polsce pierwsze interfejsy graficzne powstały w latach 70. do maszyn
Odra 1204. Używane m.in. na Wojskowej Akademii Technicznej. Do sterowania
służyło pióro świetlne oraz prototyp trackballa.
Środowisko graficzne jest grupą wzajemnie współpracujących
programów, zapewniającą możliwość wykonywania podstawowych operacji na
komputerze (takich jak uruchamianie programów, poruszanie się po
katalogach, dokonywanie ustawień itp.) w trybie graficznym, najczęściej
okienkowym. Zapewnia alternatywny dla konsoli sposób pracy na komputerze.
Najważniejszym elementem graficznego interfejsu jest okno programu
(lub kilka takich okien, choć takie konfiguracje są niezbyt lubiane przez
użytkowników). Wewnątrz takiego okna są rozmieszczone elementy
interakcyjne, zwane widżetami (lub "kontrolkami", nawiązując do pulpitów
sterowniczych). Użytkownik komunikuje się z aplikacją pośrednio przez te
widgety najczęściej za pomocą myszy i klawiatury. Mysz jest odpowiedzialna
za przesuwanie tzw. kursora myszy, wskazującego odpowiednią pozycję na
ekranie, a naciskanie przycisków jest związane z obszarem, w którym zawiera
się aktualna pozycja kursora. Klawiatura jest związana z kolei z pojęciem tzw.
"skupienia" (ang. focus). Skupienie jest stanem, który może posiadać w
jednym czasie dokładnie jeden widget w całym systemie okienkowym. Jeśli
użytkownik naciska klawisze na klawiaturze, to wtedy informacja o naciskaniu
klawiszy przekazywana jest do tego widżetu, który aktualnie "posiada
skupienie".
I.2
Menedżer okien
Menedżer okien to program kontrolujący położenie i wyświetlanie okien
aplikacji w X Window System, graficznym interfejsie użytkownika w systemach
uniksowych, pozwalającym użytkownikowi na interakcję z wieloma
programami równocześnie.
Każdy program posiada swoje własne niezależne okno, a kiedy dostępny
jest menedżer okien, interakcja między X-serwerem a jego klientami jest
przekierowywana przez menedżera okien. Inaczej niż na platformach
Microsoft Windows i Mac OS X, które zawsze dostarczały jeden własny system
kontroli i obsługi wyświetlanych na ekranie okien, X Window System pozwala
użytkownikowi na wybór jednego z wielu menedżerów okien.
Różnice między menedżerami okien dotyczą m.in.:
•
dostosowywalności wyglądu i funkcjonalności
•
tekstowych menu wykorzystywanych do uruchamiania programów lub
zmieniania ustawień
•
paneli i innych graficznych metod uruchamiania aplikacji
•
liczby pulpitów oraz wirtualnych pulpitów (pulpity większe niż fizyczny
rozmiar monitora) i metod przełączania się między nimi
•
wielkością zajmowanej pamięci i innych zasobów systemowych
•
stopnia integracji ze środowiskiem
Istnieją także alternatywne powłoki dla Windows. Przykładowo, LiteStep
zamienia interfejs użytkownika Windows 95/98/NT na zapożyczony z
menedżera okien AfterStep. Istnieją także różne powłoki graficzne dla OS/2.
II KDE
KDE (K Desktop Environment) – środowisko graficzne zrealizowane jako
wolne oprogramowanie dla systemów operacyjnych Unix i GNU/Linux.
Zawiera bogaty system bibliotek do tworzenia aplikacji w środowisku
graficznym. Obok GNOME jest jednym z dwóch najpopularniejszych
uniksowych środowisk graficznych. Początkowo projekt nosił nazwę Kool
Desktop Environment.
KDE korzysta z biblioteki graficznej Qt, a także z systemu obiektowego
KParts. System ten pozwala na współdzielenie elementów danego programu
pomiędzy różnymi aplikacjami KDE, np. emulator terminala Konsole może
zostać osadzony w Konquerorze.
W KDE menedżerem okien jest KWin, jednak aplikacje można uruchamiać
także pod innymi menedżerami.
II.1
Przyszłość KDE
Obecnie używana jest wersja 4.x środowiska KDE, bazująca na serii
bibliotek Qt 4.x. KDE 4 zostało przeniesione na Qt 4, co powinno powodować
wzrost wydajności o 20–30% w porównaniu z KDE 3.5.x.[3] Nowe KDE zawiera
nowe środowisko multimedialne, nazwane Phonon, zintegrowane środowisko
sprzętowe Solid i nowy schemat kolorów systemu i ikon Oxygen. Zawiera też
nowy interfejs pulpitu i pasek zadań, nazwany Plasma, który zawiera widgety
w stylu SuperKaramba lub Apple Dashboard. Udostępniono również wersje
KDE 4 na Microsoft Windows i Mac OS X.
Najważniejszymi cechami KDE 4.0 są:
•
Nowy wygląd środowiska dzięki zastosowaniu Oxygen.
•
Nowa architektura zawierająca udoskonaloną integrację z multimediami
i sprzętem (Solid i Phonon, moduł sprawdzania pisowni i gramatyki).
•
Nowe programy udoskonalone dzięki doświadczeniom użytkowników,
takie jak Dolphin, menedżer plików i Okular, program służący do
przeglądania dokumentów.
II.2
Aplikacje KDE
Najważniejszą aplikacją środowiska KDE jest przeglądarka WWW i
menedżer plików Konqueror. Aplikacje korzystające z KDE często mają nazwy
rozpoczynające się od litery "K" lub zawierają literę "k" zamiast "c" w środku
nazwy, ale nie jest to ścisłą regułą.
DigiKam
zarządzanie zbiorami zdjęć, przeglądarka i edytor
grafiki, obsługa aparatów cyfrowych
Dolphin
menedżer plików w KDE 4
K3b
program do nagrywania płyt CD/DVD
Kandy
narzędzie do komunikacji z telefonem komórkowym
Kate
zaawansowany edytor tekstu
Konsole
emulator terminali wyposażony w zakładki
Kopete
multikomunikator internetowy (obsługuje m.in.
IRC, Jabber i Gadu-Gadu)
Amarok
zaawansowany odtwarzacz muzyki
Koffice
pakiet programów biurowych
Plasma
przestrzeń robocza KDE 4 (pulpit i panel).
Środowisko KDE zawiera również programy narzędziowe, edukacyjne
oraz gry.
II.3
Loga i maskotki
Maskotką środowiska graficznego KDE był Kandalf, używany do wersji
2.x. Imię Kandalf nawiązuje do postaci z powieści J. R. R. Tolkiena Władca
Pierścieni o imieniu Gandalf.
W wersjach powyżej 2.x. maskotką KDE był smok Konqi (dokładnie Konqi
Konqueror). Jego imię pochodzi od nazwy przeglądarki Konqueror dla tego
środowiska graficznego. Można go zobaczyć na stronach poświęconych temu
środowisku oraz w wielu aplikacjach, m.in. podczas wyboru opcji wylogowania
(KDE 3) czy w oknie "informacje o KDE". Konqi występuje także w grze
WarMUX jako jedna z głównych postaci.
III GNOME ®
GNOME (ang. GNU Network Object Model Environment) – graficzne
środowisko użytkownika oparte na systemie X Window System oraz Widżetach
GTK+ i GDK. Działa na większości systemów typu Unix.
III.1 Informacje ogólne
GNOME stanowi część projektu GNU. Projekt został rozpoczęty w
sierpniu 1997 roku przez Miguela de Icaza w celu stworzenia w pełni
wolnodostępnego graficznego środowiska użytkownika dla systemu
GNU/Linux, jako alternatywa dla środowiska KDE, opartego na bibliotece Qt
(do listopada 1997 nie będącej wolnym oprogramowaniem).
Większa część środowiska GNOME została napisana w czystym C.
Możliwe jest jednak tworzenie aplikacji GNOME w innych językach
programowania dzięki możliwościom bibliotek opakowujących wywołania
(ang. wrappers) – m.in. Python, C++, C#, Ada95, Perl, Ruby.
III.2 Cele
Projekt GNOME stara się dostarczać dwóch rzeczy: środowiska
graficznego GNOME, mającego stanowić intuicyjny i atrakcyjny pulpit dla
użytkowników końcowych, oraz platformy rozwojowej GNOME, zespołu
bibliotek koniecznych dla budowania aplikacji, które integrują się z tym
środowiskiem.
Silny nacisk położony jest na prostotę oraz wygodę obsługi, a co za tym
idzie – internacjonalizację i ułatwienia dostępności.
III.3 Organizacja
Rozwój projektu GNOME jest dosyć luźno zorganizowany, podobnie jak
inne projekty wolnego oprogramowania. Większość dyskusji na temat rozwoju
środowiska prowadzona jest w otwartych listach dyskusyjnych.
W sierpniu 2000 r. utworzona została Fundacja GNOME (patrz Logo 1),
zajmująca się zadaniami administracyjnymi, kontaktami z prasą oraz
stanowiąca punkt kontaktowy dla firm zainteresowanych rozwojem lub
dystrybucją GNOME'a.
III.4 Platformy, na których działa
GNOME
Początkowo przeznaczone dla GNU/Linuksa, środowisko GNOME może
obecnie pracować na wielu systemach typu Unix (*BSD, AIX, IRIX, HP-UX).
Zostało także zaadaptowane przez firmę Sun Microsystems jako standardowe
środowisko graficzne dla jej dwóch systemów operacyjnych – Solaris
(zastępując przestarzałe CDE) oraz Sun Java Desktop System.
Istnieje także port GNOME'a dla środowiska Cygwin, dzięki czemu może
ono pracować w systemie Microsoft Windows. Udało się je także skompilować
w systemie Mac OS X.
L
OGO
1: O
FICJALNE
LOGO
GNOME.
IV Xfce
Xfce - środowisko graficzne dla systemów uniksowych, wzorowane na
CDE. Pierwotnie Xfce bazowało na XForms (Xfce, to akronim XForms Common
Environment[1]), jednakże po przepisaniu kodu źródłowego środowisko
przestało bazować na tej bibliotece. Obecnie bazuje na bibliotece GTK+.
Wszystkie pliki konfiguracyjne są napisane w XML-u, co ułatwia głębokie
zmiany w środowisku. Z założenia ma być ono proste w obsłudze, ładne i
szybkie. Xfce jest złożone z wielu modułów, między innymi z menedżera okien
Xfwm i menedżera plików Xffm (obecnie zastąpionego przez Thunara), które w
połączeniu oferują w pełni funkcjonalne środowisko. Xfce może też korzystać z
modułów innych środowisk graficznych zamiast swoich własnych.
IV.1
Wersje środowiska
•
Próbna wersja 2.0 (1997 r.)
•
Wersje 2.x (1998 r.)
•
Wersje 3.x (1999 r.)
•
Wersje 4.x
IV.2
Główne komponenty
•
Xfce4-panel - wyświetla listę aktywnych programów, zegarek,
aktywatory aplikacji itp.
•
Xfce4-session - menadżer sesji, kontroluje otwieranie i zamykanie
środowiska
•
Xfce4-settings - graficzny menadżer ustawień
•
Xfdesktop - menedżer pulpitu
•
Xfprint - menedżer wydruku
•
Xfwm4 - menedżer okien
IV.3
Aplikacje
Aplikacje rozwijane w ramach środowiska, bądź wspierane przez projekt:
•
Midori - przeglądarka internetowa
•
Mousepad - prosty edytor tekstu
•
Orage - kalendarz
•
Parole - oparty na GStreamer odtwarzacz multimedialny
•
Ristretto - przeglądarka grafiki
•
Terminal - emulator terminalu (wcześniej Xfce4 Terminal)
•
Thunar - menadżer plików
•
Xarchiver - obsługa archiwów (równolegle rozwijany jest Squeeze)
•
Xfburn - program do nagrywania płyt
•
Xfmedia - oparty na xine odtwarzacz (obecnie nie rozwijany, wyparty
przez Parole)
V LXDE
LXDE – środowisko graficzne zrealizowane jako wolne oprogramowanie
dla systemów operacyjnych Unix oraz innych zgodnych z POSIX systemów
takich jak Linux lub BSD. Nazwa LXDE oznacza "Lightweight X11 Desktop
Environment". LXDE zostało stworzone specjalnie z myślą o mniej wydajnych
komputerach (starszej generacji lub nowszej z mniejszymi zasobami jak np.
netbooki). LXDE jest szybkim i zarazem energooszczędnym rozwiązaniem.
V.1
Komponenty
W przeciwieństwie do innych graficznych środowisk, komponenty LXDE
nie są ściśle zintegrowane ze sobą. Mogą funkcjonować niezależnie od
powiązań. Dlatego też LXDE można bezproblemowo stosować na różnych
systemach. Środowisko zostało napisane w języku programowania C, a do
obsługi interfejsu użytkownika wykorzystywana jest biblioteka GTK+.
•
openbox
•
LXPanel
•
LXSession
•
LXAppearance
•
PCManFM
•
leafpad
•
xarchiver
•
GPicView
•
LXTerminal
•
LXTask
VI Fluxbox
Fluxbox - menedżer okien dla X Window System. Kod Fluxboksa bazuje na
kodzie Blackboksa 0.61.1, dzięki czemu zachowuje z nim pełną zgodność
stylów/tematów.
Priorytetem Fluxboksa jest lekkość oraz wysoka konfigurowalność.
Zapewnia on tylko minimum interfejsu graficznego w postaci paska narzędzi i
uruchamianego prawym przyciskiem myszy menu. Na pasek narzędzi składa
się wyświetlenie nazwy obecnie używanego obszaru roboczego, lista
otwartych okien, aktualny czas oraz tacka systemowa, w której dokowane są
aplikacje, np. Kadu. Za pomocą specjalnego menu Fluxbox umożliwia
tworzenie nowych i likwidacje starych obszarów roboczych.
VI.1
Możliwości
•
łączenie okienek w grupy
•
kilka obszarów roboczych i łatwe przełączanie się między nimi (np. rolką
myszy)
•
w pełni konfigurowalny pasek narzędzi i menu
•
w pełni konfigurowalne skróty klawiszowe
•
slit - obszar pulpitu, na którym można osadzać widżety stworzone dla
Window Maker
VII Enlightenment
Enlightenment (ang. oświecenie, nazywany też często e) - menedżer okien
dla środowiska X Window System, który może być używany samodzielnie lub
wraz ze środowiskami graficznymi takimi jak GNOME (swego czasu był to
domyślny menedżer okien tego środowiska) czy KDE. Jego głównym autorem
jest programista i grafik Carsten Haitzler (Rasterman). Wydany na licencji
BSD.
Enlightenment znany jest z dużych możliwości konfiguracji oraz
atrakcyjnej grafiki i efektów specjalnych. Dostępne są (na stronie domowej
projektu) niezwykle dopracowane pod względem graficznym tematy pulpitu
(themes) oraz statyczne i animowane tła pulpitu.
Menedżer dostępny jest w dwóch liniach – wydanej w 2000 roku, stabilnej
DR16 oraz rozwojowej DR17. Kod następnej serii, DR17 (lub inaczej E17), jest
napisany od początku i bazuje na silnie zmodularyzowanych bibliotekach EFL
(Enlightenment Foundation Libraries). DR17 ma być samodzielną powłoką
graficzną, przeznaczoną dla szerokiej gamy urządzeń od urządzeń
wbudowanych do stacji roboczych.
Powłoka graficzna to określenie twórców Enlightenment. Oznacza ono, że
poza zarządzaniem oknami program wykonuje też inne funkcje, ale nie jest tak
rozbudowany jak środowiska graficzne w rodzaju KDE czy GNOME, dla
których powstają często duże aplikacje. Podobne do niego są środowiska Xfce
czy Window Maker.
Enlightenment również posiada swój menedżer logowania – Entrance.
Jest to efektownie wyglądający odpowiednik bardziej znanych menedżerów
logowania takich jak XDM, GDM czy KDM.
Z Enlightenment domyślnie korzystają następujące dystrybucje
GNU/Linuksa: Elive, OpenGEU, OzOS, Maryan Linux, Yellow Dog Linux, gOS,
Ebuntu oraz Bodhi Linux.
VII.1 Historia
Pierwsza wersja Enlightenment została udostępniona przez Rastera
(Carsten Haitzler) dnia 30 października 1996. Enlightenment jest aktywnie
rozwijany od ponad dekady, ostatnia wersja uznawana za stabilną to 0.16.8.14.
Wersja 0.17, nazywana także DR17 albo E17, jest rozwijana od grudnia 2000
roku[1]. Jest ona pisana od podstaw i zaprojektowana aby być pełnoprawną
powłoką systemową, bazującą na nowych bibliotekach Enlightenment
Foundation Libraries (EFL).
VIII Window Maker
Window Maker to menedżer okien (ang. window manager) działający w
środowisku X Window. Jest częścią projektu GNUstep, którego celem jest
stworzenie otwartej implementacji specyfikacji OpenStep emulującej
środowisko graficzne systemu operacyjnego NeXTStep.
Natomiast OpenStep jest obiektowo zorientowaną strukturą do
budowania zaawansowanych graficznie i dostępnych na różne platformy
aplikacji.
Autorami Window Makera są: Alfredo Kojima, Dan Pascu i inni.
1. Zalety:
(i)
niewielkie zapotrzebowanie na pamięć operacyjną
(ii) prostota obsługi
(iii) estetyczny wygląd
(iv) możliwość przyporządkowywania aplikacjom parametrów okien
(v) prosta konfiguracja
2. Wady
Główną wadą menedżera jest niestandardowy sposób obsługi (á la
NeXTStep).
IX IceWM
IceWM (patrz ) jest menadżerem okien dla systemu X Window. Został
napisany w języku C++ przez Marko Mačka, a wydawany jest na licencji GNU
LGPL. Jego cechami charakterystycznymi jest duża szybkość działania i małe
wymagania sprzętowe. Dzięki temu działa wydajnie nawet na komputerach z
niewielką ilością pamięci RAM oraz starszymi procesorami.
Domyślny wygląd środowiska graficznego jest wzorowany na systemie
Microsoft Windows 98. Dzięki zastosowaniu motywów można dowolnie
zmieniać wygląd menadżera, np. żeby przypominał interfejs użytkownika
innych systemów takich jak Microsoft Windows, OS/2 i innych.
Możliwości konfiguracji menedżera IceWM są bardzo duże. Użytkownik
może dopasować do swoich potrzeb domyślne zachowane okien, pasków
zadań, czy nawet konkretnych aplikacji. Można również zdefiniować własne
klawisze funkcyjne i konfigurować proste aplety takie jak zegar, zużycie
baterii, czy wykorzystanie procesora. Zmian konfiguracji dokonuje się za
pomocą edycji plików tekstowych. W podobny sposób można dopasować do
własnych potrzeb menu programów, które domyślnie jest automatycznie
generowane przy instalacji nowych programów. Istnieją również szereg
zewnętrznych programów, które pozwalają na zmiany konfiguracji i menu
programów z wykorzystaniem graficznych interfejsów.
Należy zwrócić uwagę, że IceWM nie jest środowiskiem graficznym, lecz
menadżerem okien. W związku z tym np. nie obsługuje pulpitu. W celu
umieszczenia ikon na pulpicie należy skorzystać z zewnętrznych programów
takich jak Idesk, czy Rox.
IceWM jest dostępny w większości popularnych dystrybucji systemu
Linux w postaci pakietów. Jest również podstawową częścią środowiska
graficznego poniższych dystrybucji:
•
Absolute Linux
•
cdlinux.pl
•
Puppy Linux
X Wzór
tg
α
2
=−
(
cos
α
−
1
sin
α
)