Fluxbox - instalacja i konfiguracja
1.
Wstęp
Wprowadzenie do menedżera okien Fluxbox
Menedżery okien to programy, które są uruchamiane przez serwer X11 w celu
zarządzania aplikacjami graficznymi. Programy te (określane czasami skrótem WM
od ang. Window Manager) kontrolują gdzie poszczególne okna są umieszczane, jakie
mają rozmiary i które pulpity wirtualne mają do nich dostęp. Może to być
egzekwowane w sposób automatyczny, na podstawie zbioru reguł zdefiniowanych
przez użytkownika lub też wykonywane w reakcji na polecenia wydane za pomocą
myszki i/lub skrótów klawiszowych, w zależności od specyfiki menedżera okien.
Niektóre menedżery okien oferują funkcjonalność znacznie wykraczającą poza
zwykłe rozmieszczanie okien. Fluxbox dostarcza także platformę do uruchamiania
aplikacji, konfigurowania skrótów klawiszowych i obrazów tła jak również
wyświetlanie informacji. Program Metacity, który jest domyślnym menedżerem okien
w środowisku graficznym Gnome, nie dostarcza tych funkcji - są one dostępne
poprzez inne programy tego środowiska. Dlatego nie można powiedzieć, że Fluxbox
jest minimalistyczny w porównaniu do Metacity. Jednakże Fluxbox poza funkcjami
menedżera okien zawiera wszystkie inne niezbędne komponenty środowiska
graficznego i dlatego wiele osób używa go zamiast dużych środowisk jak KDE czy
Gnome.
Sprawa staje się jeszcze bardzie skomplikowana, gdy weźmiemy pod uwagę fakt, że
Fluxbox może zastąpić domyślnego menedżera okien w innych środowiskach
graficznych jak wspomniany już Gnome czy KDE. Niektórzy użytkownicy uważają, że
Metacity, menedżer okien w Gnome, nie posiada wystarczającej elastyczności, a z
drugiej strony Fluxbox nie ma wbudowanych wszystkich potrzebnych aplikacji i nie
oferuje takiego poziomu ich integracji, jakiego chcielibyśmy od kompletnego
środowiska graficznego. W takim przypadku uzasadnione jest używanie Fluxboksa
jako menedżera okien i środowiska Gnome dla pozostałych funkcji. Należy jednak
pamiętać, że w takim przypadku mogą wystąpić problemy związane z nakładaniem się
pewnych elementów.
Użytkownicy wybierający Fluxboksa jako środowisko graficzne mogą rozszerzyć jego
możliwości przez programy zewnętrzne. Taka kombinacja jest doskonałe w przypadku
dysponowania ograniczonymi zasobami sprzętowymi. Poza tym często jest to także
połączenie, które odpowiada najbardziej osobistym preferencjom użytkownika.
Przewodnik ten skierowany jest do osób nie znających Fluxboksa, zainteresowanych
nim oraz chcących go wykorzystać w swoim systemie. Pokażemy w nim jak za pomocą
zewnętrznych aplikacji rozszerzyć Fluxboksa o wiele przydatnych funkcji.
2.
Instalowanie Fluxboksa
Instalacja podstawowa
Dzięki odpowiedniemu ebuildowi instalacja Fluxboksa jest dość prosta i szybka.
Poprzez dodanie flag USE gnome i kde można zapewnić zgodność
naszego menedżera z jego konkurentami. Z doświadczenia wiemy jednak, że nie jest
to konieczne. Wszystkie aplikacje związane z KDE i GNOME można zainstalować i
skonfigurować osobno. Z powodzeniem będziemy mogli używać np. k3b (programu ze
środowiska KDE) do nagrywania płyt pod Fluxboksem.
Warto zaopatrzyć się w program, który będzie blokował sesję środowiska X przed
nieautoryzowanym dostępem - xlockmore. Większość użytkowników na pewno
zechce również mieć możliwość zmiany tła pulpitu. W tym celu należy
zainstalować program eterm, który jednocześnie jest ładnym terminalem
dla X11.
Listing 2.1: Instalacja Fluxboksa |
# emerge fluxbox xlockmore x11-terms/eterm
|
To wszystko - Fluxbox jest już zainstalowany! Jednak z domyślnym zestawem
narzędzi nie można w pełni korzystać z jego zalet. Kolejne paragrafy opisują
instalację innych, potencjalnie potrzebnych pakietów oraz proces konfiguracji
Fluxboksa i zewnętrznych programów, aby odpowiadały naszym wymaganiom. Należy
pamiętać o tym, że żaden z opisanych poniżej kroków nie jest obowiązkowy -
możemy dowolnie wybierać te elementy, które uznamy za przydatne.
3.
Konfigurowanie Fluxboksa
Przygotowanie środowiska X11
Fluxboksa można traktować jak każdą inną aplikację uruchamianą w środowisku
X11. Aby go uruchomić, możemy uruchomić w konsoli polecenie startx, a
następnie w terminalu serwera X wpisać fluxbox. Jest to jednak dość
niewygodna metoda. Możliwe jest ustawienie automatycznego startowania fluxboksa
przy każdym uruchomieniu serwera X. Dokonuje się tego poprzez wydanie (z konta
zwykłego użytkownika) polecenia:
Listing 3.1: Edytowanie pliku xinit |
$ echo exec startfluxbox > ~/.xinitrc
|
Takie rozwiązanie nie jest jednak wygodne dla większości użytkowników, którzy
przez cały czas chcą pracować w środowisku graficznym. Wpisywanie startx
za każdym razem po starcie komputera, aby dostać się do środowiska graficznego
jest bardzo uciążliwe. Takie postępowanie stanowi też potencjalne zagrożenie dla
nieświadomych użytkowników. Jeżeli ktoś zablokował ekran za pomocą
xlock, ale środowisko X11 uruchomił z konsoli, to ktoś inny, kto posiada
fizyczny dostęp do komputera może przełączyć się na konsolę z której uruchomiono
sesję X11, zabić ją i używać konta użytkownika. Aby zapobiec takiej sytuacji
można albo uruchomić sesję X11 w tle lub uruchomić ją w sesji programu screen,
po czym odłączyć screen i wylogować się. Zdecydowanie nie jest to
najwygodniejsze rozwiązanie. Problem ten możemy rozwiązać używając graficznego
menedżera logowania. W takim jednak przypadku sesja X11 będzie uruchomiona z
konta superużytkownika (root) co również może nie być dobrym rozwiązaniem. W
momencie powstawania tego przewodnika nie są znane żadne sposoby nadużyć,
związane z tym faktem. Jeżeli jednak martwimy się, że może to powodować
zagrożenie dla bezpieczeństwa systemu, to albo zrezygnujmy z graficznego
menedżera logowania albo stosujmy podane wyżej rozwiązanie z programem
screen. Należy przy tym pamiętać, że nie jest to kwestia dotycząca samego
Fluxboksa, ale całego środowiska X11.
Mamy do wyboru kilka graficznych menedżerów logowania. Tutaj zajmiemy się
programem SLiM. Możemy korzystać z
innych menedżerów logowania, ale SLiM pracuje poprawnie zarówno z Fluxboksem
jak i z innymi menedżerami okien, które możemy posiadać zainstalowane jak np.
GNOME, KDE czy xfce.
Listing 3.2: Menedżer logowania |
# emerge slim
# rc-update add xdm default
|
Ważne:
Należy zwrócić uwagę na fakt, by najpierw zainstalować slim, a dopiero
potem dodawać skrypt xdm do poziomu startowego. Odwrócenie kolejności
wykonania tych poleceń zakończy się niepowodzeniem. Poza tym należy
zmodyfikować jeden systemowy plik konfiguracyjny.
|
Listing 3.3: Edycja /etc/conf.d/xdm |
DISPLAYMANAGER="slim"
|
Wystroje pulpitu i grafika
Jeśli chcemy pozostać przy minimalistycznej wersji Fluxboksa, możemy ten
rozdział pominąć. W innym przypadku przyjrzymy się możliwości zmiany wyglądu
menedżera okien. W tym celu zainstalujemy wystroje pulpitu dla Fluxboksa,
grafiki związane z Gentoo do wykorzystania w dowolnym menedżerze okien i
wystroje dla menedżerów okien z rodziny *box.
Listing 3.4: Instalowanie wystrojów i grafik |
# emerge commonbox-styles commonbox-styles-extra \
fluxbox-styles-fluxmod gentoo-artwork
|
Kolorowanie składni Fluxboksa w edytorze Vim
Jeśli korzystamy z edytora vim, warto zainstalować specjalny schemat
kolorowania składni plików konfiguracyjnych Fluxboksa dla tego
edytora. Umożliwia on łatwiejsze i bardziej czytelne edytowanie zawartości
plików takich jak keys i init. Jest to bardzo mała wtyczka dla edytora vim,
dlatego też zaleca się jej zainstalowanie (no chyba, że jesteśmy fanami emacsa,
wtedy zaleca się wykonanie polecenia emerge -C emacs && emerge
gvim ;-).
Listing 3.5: Instalowanie wtyczki do kolorowania składni plików Fluxboksa |
# emerge fluxbox-syntax
|
Uruchamianie aplikacji
Każdy menedżer okien wyposażony jest (albo powinien być wyposażony) w specjalny
program, za pomocą którego można uruchamiać programy bez konieczności otwierania
konsoli specjalnie do tego celu. We Fluxboksie takim specjalnym programem jest
fbrun i jest on zawsze zainstalowany wraz z Fluxboksem. Program ten można
wywołać poprzez wpisanie w linii poleceń fbrun, jednak uruchamianie z
konsoli programu fbrun po to, aby za jego pomocą uruchomić inny program
jest jeszcze gorszym rozwiązaniem niż po prostu uruchomienie tego innego
programu wprost z konsoli. Dlatego też warto zdefiniować klawisz skrótu albo
dodać odpowiednią pozycje do menu, która będzie uruchamiała fbrun, a
najlepiej wykonać obie te czynności.
Aby dodać do menu pozycję "Uruchom..." należy do pliku
~/.fluxbox/menu dopisać linię:
Listing 3.6: Dodawanie do menu pozycji uruchamiającej fbrun |
[exec] (Uruchom...) {fbrun}
|
Więcej informacji na temat menu Fluxboksa znajduje się w dalszej części tego
przewodnika.
Więcej informacji, takich jak opcje uruchamiania, można uzyskać czytając
instrukcję lub wpisując man fbrun. Należy przy tym pamiętać, że w celu
wykorzystania opcji uruchamiania trzeba będzie ponownie edytować plik keys lub
menu, aby te opcje wprowadzić.
Klawisze skrótów we Fluxboksie
Standardowo Fluxbox wyposażony jest w bardzo ubogi zestaw klawiszy skrótu.
Pozwalają one jedynie na przełączanie między oknami oraz między pulpitami.
Zanim jednak zaczniemy modyfikować ten zestaw, należy wiedzieć kilka rzeczy. W
pliku keys jest kilka dziwnych modyfikatorów. Mod1 to powszechne znany klawisz
"Alt", a Mod4 jest klawiszem bez nazwy (klawisz windows). Control i Shift to
po prostu klawisze Control i Shift. Lepiej jest jednak stosować klawisze
Alt/Windows ponieważ inne aplikacje środowiska graficznego zwyczajowo
korzystają z klawiszy Control i Shift dla swoich własnych klawiszy skrótu.
Przedstawione przykłady są zupełnie dowolne. Użytkownik może dowolnie
modyfikować je w zależności od swoich potrzeb. Przewodnik ten uwzględnia
programy, które według autora są najczęściej używane, dlatego też również nazwy
programów można zastąpić tymi, które są stosowane przez użytkownika. Więcej
informacji można znaleźć w instrukcji Fluxboksa.
Mając tą świadomość, należy uruchomić edytor tekstu (jako zwykły użytkownik, nie
root), otworzyć plik ~/.fluxbox/keys i zacząć udoskonalać klawisze
skrótu!
Listing 3.7: Modyfikowanie skrótów klawiaturowych. |
Mod4 l :ExecCommand xlock
Mod1 f :ExecCommand firefox
Mod1 t :ExecCommand thunderbird
Mod1 o :ExecCommand oowriter
Mod1 v :ExecCommand gvim
Mod1 e :ExecCommand Eterm -name alsa -e alsamixer
Mod1 r :ExecCommand fbrun
Mod1 4 :Close
Mod1 m :Minimize
Mod1 a :ExecCommand aterm -name aterm -sl 3000 -tr +sb -sr -sk -bg black -fg \
white -fade 90 -bl -tn xterm -fn \
-misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-2 -g 116x57
Mod1 s :ExecCommand aterm -name aterm -sl 3000 -tr +sb -sr -sk -bg black -fg \
white -fade 90 -bl -tn xterm -fn \
-misc-fixed-medium-r-normal-*-*-120-*-*-c-*-iso8859-2 -g 116x57 -e su -
|
Monitoring systemu
Powszechnym życzeniem użytkowników jest posiadanie monitora systemu w środowisku
graficznym. Najbardziej popularnym narzędziem służącym do monitoringu systemu
jest Gkrellm, ale zgodnie z zasadą minimalizmu jakiej hołduje Fluxbox,
zastosowany zostanie prostszy program: conky. Warto pamiętać, że w Internecie
znajduje się znacznie więcej programów tego typu.
Listing 3.8: Instalowanie conky |
# emerge conky
|
Domyślny plik konfiguracyjny dla Conky jest kiepsko opisany. Więcej informacji
można znaleźć w instrukcji do programu lub czytając tekst Konfiguracja conky.
Ikony
Standardowo Fluxbox nie jest wyposażony w żadne narzędzie do wyświetlania ikon
na pulpicie. Wszystkie czynności załatwiane są za pomocą klawiszy skrótu lub za
pomocą menu wywoływanego kliknięciem prawym klawiszem myszy. iDesk to program
pozwalający na zaspokojenie potrzeby posiadania ikon, przeznaczony dla
użytkowników z minimalistycznymi menedżerami okien i umożliwiający wyświetlanie
ikon w głównym oknie. Posiada też kilka świetnych dodatkowych funkcji, na
przykład związanych z przezroczystością. Pomijając nazwę, produkt ten nie ma nic
wspólnego z Apple i Macintoshami (a przynajmniej my nic o tym nie
wiemy). Instalowanie iDesk jest proste:
Listing 3.9: Instalowanie iDesk |
# emerge idesk
|
Po zainstalowaniu należy wybrać zestaw ikon do wyświetlania. IDesk informacje o
wyświetlanych ikonach przechowuje w pliku ~/.ideskrc. Dodawanie
ikon jest zadaniem raczej pracochłonnym i nie może zostać dobrze opisane w tym
przewodniku. Aby uzyskać więcej informacji można przeczytać man idesk lub
skorzystać z następujących stron: iDesk's Usage
Guide oraz tego wątku na
oficjalnym forum Gentoo.
Graficzny menedżer plików.
Należy zauważyć, że Gentoo nie potrzebuje graficznego menedżera plików. Wedle
skromnej opinii autora, możliwym i w istocie prostszym sposobem jest
przeprowadzanie wszelkich operacji na plikach z linii poleceń. Nie każdy jednak
musi się z tym zgadzać...
Wielu nowych użytkowników Gentoo/Fluxboksa jest zniechęconych brakiem
graficznego menedżera plików takiego jak np. nautilus w Gnome. Fluxbox
sam w sobie nie posiada takiego menedżera, ale jak zwykle, bardzo łatwo można
doinstalować taki menedżer plików. Wybór jest bardzo szeroki, ale w tym
przewodniku ograniczymy się do dwóch. Jeden dla minimalistów, którzy lubią proste tekstowe podejście i dwa
dla wszystkich, którzy lubią klikać w ikony, Rox i Thunar. Można oczywiście zainstalować i wypróbować
wszystkie trzy.
Menedżer plików gentoo - minimalizm
Gentoo jest menedżerem plików, który posiada wszelkie atuty graficznego
menedżera plików, ale pozbawiony jest kolorowych wodotrysków jakie zwyczajowo są
dołączane do takiego programu.
Listing 3.10: Instalowanie graficznego menedżera plików |
# emerge gentoo
|
Uwaga:
Menedżer plików Gentoo jest projektem zupełnie niezwiązanym z dystrybucją Gentoo
Linux. Więcej informacji na ten temat można znaleźć w dokumencie Wytyczne dotyczące używania nazwy i logo
Gentoo.
|
Z założenia menedżer plików Gentoo ma być w pełni konfigurowalny, a więc można
go dowolnie dopasować do własnych potrzeb.
Menedżer plików Rox - zawiera ikony
Menedżer plików Rox korzysta z ikon oraz tekstu i w bardzo dużym stopniu
przypomina Eksploratora Windows.
Listing 3.11: Instalowanie menedżera plików Rox |
# emerge rox
|
Działanie menedżera plików Rox jest w zasadzie takie jak wielu innych
tradycyjnych graficznych menedżerów plików, a więc jego obsługa powinna być
intuicyjna. Jeżeli tak nie będzie to zawsze można skorzystać z instrukcji do
programu.
Thunar jako menedżer plików
Thunar to lekki i szybki menedżer
plików. Podobnie jak Rox, bardziej przypomina starsze, tradycyjne menadżery
plików. Posiada ikony i tekst, jest łatwy w obsłudze. Początkowo był
zaprojektowany dla Xfce, ale świetnie
nadaje się również do Fluxboksa.
Listing 3.12: Instalacja Thunara |
# emerge -avt thunar
|
Przeglądarka obrazów
Wiele menedżerów okien wyposażonych jest w narzędzie do przeglądania obrazów. Są
to małe, nie rozbudowane aplikacje, które nie dają możliwości edytowania plików
(co z kolei jest zadaniem aplikacji takich jak gimp i
podobnych). Aplikacja taka jest konieczna jeżeli korzystamy tylko z linii
poleceń lub z menedżera plików takiego jak gentoo lub rox.
thunar ma własną przeglądarkę obrazków, ale wiele osób woli doinstalować
sobie jakiś inny, lekki i wygodniejszy program do tego celu.
Listing 3.13: Instalowanie gqview |
# emerge gqview
|
gqview może zostać uruchomiony w każdym katalogu i można nim przeglądać
obrazy we wszystkich obsługiwanych formatach.
Ustawienie schematu wyglądu, tła i skryptu startowego
Fluxbox posiada wiele schematów wyglądu. Są one dostępne z menu wywoływanego
prawym kliknięciem myszy, w pozycji "Fluxbox menu", a potem "System Styles".
Każdy z nich ustawia własne tło, które jest albo jednolitym kolorem albo jakimś
rodzajem gradientu koloru. Bez względu na to jaki schemat wyglądu jest wybrany
to i tak większość użytkowników woli ustawić własny typ tła. Aby to zrobić
należy poddać edycji kolejny plik konfiguracyjny Fluxboksa, który odpowiada za
to co dzieje się podczas jego startu. Należy więc uruchomić edytor tekstu i
otworzyć plik ~/.fluxbox/startup.
Jeżeli plik ten już istnieje to należy wykasować jego zawartość. Do
nowo utworzonego pliku należy dodać poniżej przedstawioną treść, usuwając wedle
potrzeb znaki komentarza z interesujących użytkownika linii oraz uzupełniając
wartości dla pól wypełnionych DUŻYMI LITERAMI.
Listing 3.14: Edytowanie skryptu startowego Fluxboksa. |
exec /usr/bin/fluxbox -log ~/.fluxbox/log
|
Generowanie menu
Do stworzenia menu możemy użyć edytora tekstu. Jeżeli takie podejście nas
interesuje możemy pominąć tę część i przejść od razu do
rozdziału Ręczne edytowanie menu..
Po utworzeniu menu za pomocą automatycznego generatora (co zostało opisane w
kolejnym paragrafie) można edytować ~/.fluxbox/menu ręcznie, aby
dodać pozycje lub usunąć programy, z których nie korzystamy. Zauważyć przy tym
należy, że usunięcie z menu określonej pozycji nie usuwa z systemu
odpowiadającej tej pozycji aplikacji. Dana aplikacja nadal może być uruchomiona
z linii poleceń.
W systemie, w którym zainstalowano Fluxboksa znajduje się też program o nazwie
fluxbox-generate_menu, który służy do automatycznego generowania
menu. Uruchamiamy go w poniższy sposób (z konta zwykłego użytkownika):
Listing 3.15: Generowanie menu |
$ fluxbox-generate_menu -is -ds
|
Polecamy uaktualnienie Fluxboksa i skorzystanie z polecenia
fluxbox-generate_menu -is -ds zamiast pracy z innymi programami tego
typu, ponieważ nie są one dostosowane do struktury katalogów w Gentoo.
Uwaga:
Po zastosowaniu tej metody, nadal istnieje możliwość ręcznego sterowania
zawartością menu. Ręczne utworzenie i edycja ~/.fluxbox/usermenu
(patrz następny rozdział) pozwala na stworzenie menu dopasowanego do wymagań
użytkownika, które nie zostanie skasowane przy następnym uruchomieniu skryptu
fluxbox-generate_menu.
|
Ręczne edytowanie menu.
Menu Fluxboksa znajduje się w pliku tekstowym o bardzo prostej składni, którą
poznamy w tym rozdziale. Domyślnym miejscem przechowywania pliku menu jest
~/.fluxbox/menu.
Pozycje w menu, które uruchamiają aplikacje, definiowane są za pomocą elementu
[exec]. Pozycje menu definiuje się po elemencie [begin] (pozycje
główne) lub między elementami [submenu] i [end] (podmenu), np.:
Listing 3.16: Definiowanie nowej pozycji w menu. |
# Custom fluxbox menu
[begin] (Fluxbox)
[exec] (XTerm White on Black) {xterm -ls -fg white -bg black}
[submenu] (More terminals)
[exec] (Aterm default) {aterm}
[exec] (Rxvt default) {rxvt}
[end]
[end]
|
Główne pozycje menu zaczynają się tagiem [begin], po którym w
nawiasach umieszczona jest nazwa menu. Główne menu kończy się tagiem
[end]. Wszystkie polecenia menu (zwane tutaj tagami) zamknięte są w
nawiasy prostokątne, nazwy pozycji w nawiasy, a właściwe polecenie zamknięte
jest w nawiasy klamrowe. Składnia pliku dopuszcza stosowanie komentarzy w
postaci linii rozpoczynających się od #.
W powyższym przykładzie pierwsza linia z elementem [exec] definiuje nową
pozycję w menu o nazwie "XTerm White on Black", która będzie uruchamiała
polecenie xterm -ls -fg white -bg black zupełnie tak samo jak gdyby to
miało miejsce w linii poleceń. Dalej mamy podmenu zdefiniowane za pomocą tagu
[submenu] o nazwie "More terminals", w którym znajdują się dwie kolejne
pozycje z poleceniami [exec]. Każda definicja podmenu musi być zakończona
tagiem [end].
Istnieją też inne polecenia, które można zastosować w pliku
~/.fluxbox/menu. Więcej informacji na ten temat można znaleźć w
oficjalnej dokumentacji.
Zasoby
- Fluxbox wiki
- Użytkownicy i deweloperzy na kanale #fluxbox w sieci irc.freenode.net
Podsumowanie
Gratulacje! Fluxbox jest już zainstalowany, skonfigurowany i gotowy do pracy.
Pytania i sugestie można kierować poprzez e-mail do autora. Można też zgłosić
raport o błędzie na Bugzillę.
Zawartość tego dokumentu jest rozpowszechniana na podstawie licencji Creative Commons -
Attribution / Share Alike.
|