Instalacja i konfiguracja

Spis treści

Wstęp

I. Instalacja Fluxboksa

II. Konfiguracja Fluxboksa

1. Wybór stylu i czcionki

2. Menu

3. Skróty klawiszowe

4. Zachowanie okien

- grupowanie okien

5. Autostart

6. Tapeta

Wstęp

Na początku warto zauważyć, że Fluxbox to tylko menedżer okien - nie posiada on wbudowanych aplikacji do modyfikowania styli GTK czy QT, graficznych konfiguratorów, narzędzi służących do operacji na plikach i katalogach czy innych programów znanych chociażby z KDE. Zdecydowanie się na tego menedżera okien, to jednocześnie rezygnacja ze środowiska graficznego typu “all in one” i potrzeba “przegrzebania” się przez gąszcze linuksowych aplikacji celem wybrania czegoś dla siebie.
Co otrzymujemy w zamian? - W pełni funkcjonalne i wygodne środowisko pracy, stworzone właściwie od podstaw i dostosowane dokładnie do naszych potrzeb.

W tym tekście dowiesz się jak skonfigurować Fluxboksa aby uzyskać mniej więcej taki efekt:

flux1

Czyli jak Fluxboksa zamienić na owo funkcjonalne i w dodatku ładnie wyglądające środowisko pracy.
Postanowiłem zainstalować od podstaw Fluxboksa skompilowanego ze źródeł i razem z Tobą, drogi czytelniku, prześledzić proces jego konfiguracji.

I.Instalacja Fluxboksa

Źródła Fluxboksa dostępne są na stronie www.fluxbox.org. Najnowsza wersja stabilna obecnie to 1.0. Po ściągnięciu źródeł należy je rozpakować i przejść do rozpakowanego katalogu. Całość instalacji nie odbiega od schematów instalacji programów pod Linuxem (./configure && make i make install jako root).

Przy ./configure warto dodać –help na końcu. Wyświetli nam się lista opcji dostępnych podczas instalacji. Więc ostatecznie:

./configure && make
make install (jako root)

Fluxbox domyślnie jest instalowany w /usr/local/share/fluxbox pliki binarne w /usr/local/bin. Uruchamiamy go poleceniem startx (po wcześniejszym dodaniu exec startfluxbox do pliku .xinitrc z katalogu domowego) lub z poziomu managera logowania - jeśli takowy preferujemy przy uruchamianiu sesji X11.

II.Konfiguracja Fluxboksa

Fluxbox po pierwszym uruchomieniu wita nas czarnym ekranem, toolbarem u dołu ekranu i brakiem polskich znaków.

flux2

Niezbyt zachęcająco? - Spróbujemy coś na to poradzić :)

1. Wybór stylu i czcionki

Zacznijmy od zmiany domyślnego stylu i czcionki Fluxboksa, aby nas nie raził brak polskich znaków w dalszej konfiguracji ;)

Powodem braku polskich znaków jest fakt, że czcionka “glisp” domyślnego stylu ich nie posiada (zakładam ze Fluxbox jest instalowany w spolonizowanym systemie). Łatwo sobie z tym poradzić zmieniając styl na “emerge” na przykład (prawy przycisk na pulpicie -> menu fluxbox -> style systemowe -> emerge) lub edytując plik konfiguracyjny domyślnego stylu i zmieniając czcionkę na taką która ma polskie znaki.

Możemy pokusić się również, o ściągnięcie stylu Fluxboksa, który nam się spodoba (dział z linkami na mojej stronie). Ściągnięty styl rozpakowujemy/przegrywamy do /home/user/.fluxbox/styles i następnie wybieramy go z menu (prawy przycisk na pulpicie -> menu fluxbox -> style użytkownika -> nowy_styl).

Jeśli czcionka stylu nie posiada polskich znaków lub nam nie odpowiada, edytujemy plik konfiguracyjny stylu (zazwyczaj /home/user/.fluxbox/styles/nazwa_stylu/theme.cfg lub
/usr/local/share/fluxbox/styles/nazwa_stylu/theme.cfg) , “haszujemy” wszystkie linie z ciągiem znaków “font” i dodajemy linię definiującą czcionkę dla wszystkich elementów Fluxboksa:

*Font: nazwa_czcionki

Uwaga: Od wersji 0.9.15 funkcję nadrzędną nad plikami konfiguracyjnymi styli spełnia plik /home/user/.fluxbox/overlay

Tak więc np wpis *font: sans-10 zmieni wszystkie czcionki we Fluxboksie na “Sans” rozmiar 10 - niezależnie od tego jakie są zdefiniowane w plikach konfiguracyjnych styli.

2. Menu

Przy pierwszym uruchomieniu menu generowane jest automatycznie, dzięki aplikacji fluxbox-generate_menu (jest ona domyślnie instalowana razem z Fluxboksem). Warto przyjrzeć się jej bliżej.

Po wydaniu w terminalu polecenia

fluxbox-generate_menu -h

wyświetli nam się szereg opcji które warto prześledzić i wybrać te które nam odpowiadają. Dzięki nim do naszego menu Fluxboksa możemy dodać menu KDE (opcja -k) i Gnome (opcja -g), możemy wybrać domyślny terminal (opcja -t), przeglądarkę (opcja -b) a nawet tytuł menu (opcja -m).

W ten sposób otrzymamy gotowe do pracy menu w którym aplikacje są sensownie pogrupowane. Nie ma się jednak co łudzić, że dodane zostaną wszystkie interesujące nas aplikacje, zainstalowane w naszym systemie.

W celu uzupełnienia braków edytujemy plik /home/user/.fluxbox/menu. Struktura tego pliku jest na tyle prosta, że nikt nie powinien mieć problemu z jego edycją.
Standardowe polecenie uruchamiające aplikacje wygląda w ten sposób:

[exec] (nazwa aplikacji) {polecenie uruchamiające aplikację}

natomiast tag dodający nową kategorię w menu wygląda tak:

[submenu] {nazwa submenu}

Po dodaniu niezbędnych aplikacji do pliku menu i zapisaniu go, menu pulpitu zostanie zaktualizowane o te wpisy.

3. Skróty klawiszowe

Sensowne zdefiniowanie i nauczenie się skrótów klawiszowych we Fluxboksie bardzo ułatwia pracę z tym window managerem. Definiowanie skrótów sprowadza się do edycji pliku /home/user/.fluxbox/keys. Plik ten, podobnie jak plik menu ma jasną i klarowną strukturę.

Pod skróty klawiszowe, oprócz poleceń uruchamiających aplikacje (tych z execcommand na początku) możemy przypisać również wszystkie akcje obsługiwane przez Fluxboksa. Ich pełną listę znajdziecie w dokumentacji Fluxboksa (dział z linkami na mojej stronie).

Standardowa definicja skrótu wygląda tak:
modyfikator klawisz :polecenie
czyli np skrót alt + F1 uruchamiający przeglądarkę Firefox wygląda tak:
Mod1 F1 :execcommand firefox

Należy pamiętać że klawisz Alt to Mod1 w pliku definiującym skróty klawiszowe, natomiast klawisz Windows to Mod4. Reszta modyfikatorów wygląda standardowo (Shift, Control, Menu)

4. Zachowanie okien

Ten fragment w zasadzie przy standardowej konfiguracji Fluxboksa można opuścić, zachęcam jednak do “przebrnięcia” przez niego - zawiera kilka użytecznych informacji.

Na początku tej części zajmijmy się sposobem aktywowania okien. Ustawień tych dokonujemy z poziomu menu (prawy przycisk na pulpicie -> menu fluxbox -> konfiguracja -> focus model). Przyjrzyjmy się dostepnym opcjom.
Standardowo okna na pulpicie stają sie aktywne po kliknięciu na nie Click To Focus. Możemy jednak sprawić aby okna aktywowały się po najechaniu na nie kursorem myszy Mouse Focus i jeśli chcemy aby aktywowane okno było na wierzchu zaznaczamy Auto Raise.

Zanim napiszę o ClickTabFocus i MouseTabFocus, musisz drogi czytelniku, zapoznać się z bardzo wygodną funkcją Fluxboksa jaką jest grupowanie okien.

- grupowanie okien

Jeśli mamy dwa lub więcej okien otwartych na pulpicie, możemy je wszystkie pogrupować - tak aby miały ten sam rozmiar, położenie i stanowiły jedno “multiokno” z zakładkami na belce tytułowej. Wybierając teraz zakładkę odpowiadającą danemu oknu sprawiamy, że pojawia się ono na wierzchu.

Brzmi skomplikowanie ale w praktyce jest bardzo proste – mając dwa okna klikamy na belce tytułowej jednego z nich środkowym przyciskiem myszy i przesuwamy na belkę tytułową drugiego. Okna się łączą i możemy przełączać pomiędzy nimi przy pomocy zakładek na belce tytułowej.

flux3

Okna określonych aplikacji mogą być grupowane automatycznie - aplikacje takie zapisujemy w pliku /home/user/.fluxbox/groups

Wróćmy teraz do ClickTabFocus i MouseTabFocus – analogicznie do sposobu aktywacji okien opcje te określają sposób aktywacji zakładek. Po zaznaczeniu pierwszej zakładka jest aktywowana po kliknięciu, po zaznaczeniu drugiej opcji zakładka jest aktywowana po najechaniu na nią kursorem myszy.

Fluxbox ma również możliwość zapamiętania rozmiaru, położenia i zachowania okna danej aplikacji. Wystarczy kliknąć PPM na belce tytułowej okna danej aplikacji, i z podmenu “Remember” wybrać opcje które mają być zapamiętane. Ustawienia te są zapisywane w pliku /home/user/.fluxbox/apps .

5. Autostart

Polecenia i aplikacje które maja być uruchamiane przy starcie Fluxboksa można zdefiniować na dwa sposoby. W pierwszym, starym sposobie aplikacje startowe dodajemy do pliku /home/user/.fluxbox/startup. Przy dodawaniu kolejnych poleceń należy na ich końcu zamieścić znak “&”, w przeciwnym wypadku kolejne polecenia nie zostaną wykonane, a Fluxbox nie uruchomi się. Na końcu winno znajdować się polecenie uruchamiające Fluxboksa exec fluxbox.

Jeżeli do polecenia exec fluxbox z pliku startup dodamy opcje -log ~/.fluxbox/log, utworzony zostanie plik dziennika o nazwie “log”, w którym oprócz informacji o wersji i ustawieniach Fluxboksa zapisywane są również ewentualne błędy.

W drugim, nowym sposobie (od wersji 0.9.4) zostawiamy w spokoju plik startup, a aplikacje startowe dodajemy do znanego nam już pliku home/user/.fluxbox/apps. Polecenia uruchamiane przy starcie Fluxboksa wpisujemy na początku tego pliku w formie:

[startup] {polecenie}

Nie wiem szczerze mówiąc (pisząc ;) ), dlaczego deweloperzy Fluxboksa zdecydowali się na zmianę sposobu dodawania aplikacji do autostartu i nie dostrzegając wyższości (być może) tego rozwiązania, wciąż używam pliku startup.

W tym miejscu czytelnikowi należy się małe wyjaśnienie. Otóż nadrzędną funkcję nad plikami startowymi Fluxboksa pełnią pliki startowe sesji xwindow - .xinitrc i .xsession (odpowiednio dla “startx” i graficznego menedżera logowania). Te pierwsze służą do startu aplikacji przy starcie menedżera okien Fluxbox, natomiast w drugich zapisuje się aplikacje startowe sesji X.

6. Tapeta

I na koniec zróbmy coś z tym czarnym tłem.

Jest wiele sposobów na ustawienie tapety we Fluxboksie i wiele programów których można do tego użyć. Można to zrobić z poziomu pliku init, startup czy pliku konfiguracyjnego używanego stylu. Zawsze jednak w tych sposobach jest jeden mankament – potrzeba edycji tych plików gdy chcemy zmienić tapetę. Sposób który podam tego nie wymaga.

Aplikacja której użyjemy do ustawienia tapety to fbsetbg (jest instalowana razem z Fluxboksem). Program ten wykonuje wpis do pliku /home/user/.fluxbox/latstwallpaper – dzięki któremu raz załadowana tapeta zostanie użyta po każdym uruchomieniu Fluxboksa.

Wystarczy więc w terminalu wydać polecenie fbsetbg -f /scieżka/do/tapety (opcja -f ustawia tapetę na całym ekranie), aby już przy każdym uruchomieniu Fluxboksa oglądać nasz ulubiony obrazek na pulpicie. Za ukazanie się owego obrazka przy każdym uruchomieniu odpowiada wpis:

session.screen0.rootCommand: fbsetbg -l

w pliku /home/user/.fluxbox/init i w razie problemów polecam sprawdzić czy ten wpis się tam znajduje.

Fbsetbg to tzw wrapper (z ang opakowanie? :) ), czyli aplikacja okreslająca spósob użycia innej aplikacji. Skrypt ten wyszukuje w systemie zewnętrzne aplikacje do ustawienia tapety. Mogą to być Esetroot wmsetbg feh hsetroot chbg display qiv xv xsri xli lub xsetbg. Dla sprawdzenia aktualnie używanej aplikacji wydajemy polecenie:

fbsetbg -i

Aby zmienic domyślną aplikację na feh np należy wydać polecenie:

wpsetters=feh fbsetbg wallpaper.jpg

Co zrobić aby zmieniać tapety z poziomu menu pod prawym przyciskiem? – do pliku menu nalezy dodać wpis:

[submenu] (wallpapers)
[wallpapers] (/sciezka/do/katalogu/z/tapetami) {fbsetbg -f}
[end]

Teraz po wybraniu z menu pliku z tapetą ukaże się ona na pulpicie.

flux4

Comments

  1. Szymon
    November 18th, 2006 | 16:08

    Całkiem przydatny opis, szczególnie dla początkujących ;)

  2. azhag
    December 24th, 2006 | 13:52

    Przy kompilacji:
    “z tych wyłączonych polecam dodać –enable-imlib2″
    Moim zdaniem niegłupim pomysłem jest dodanie do tego –enable-nls, który domyślnie również jest wyłączony.

    Mimo wszystko dobrze, jak Fluxbox “mówi” w naszym ojczystym języku. ;)

  3. December 27th, 2006 | 13:55

    Dodane, choc ja zawsze wyłączam NLS, wolę anglojęzyczne menu i brak problemów z polskimi znakam ;] - ale to moje prywatne zdanie.

  4. Marcin
    March 3rd, 2007 | 12:23

    Pytanie dotyczące grupowania okien. Mam fluxboxa na Ubuntu.pl Nie mam pliku /home/marcin/.fluxbox.groups
    Chciałbym grupować automatycznie. Co robić ?

  5. Marcin
    March 3rd, 2007 | 12:25

    Chodziło mi oczywiście o plik /home/marcin/.fluxbox/groups

  6. March 3rd, 2007 | 21:01

    Trzeba stworzyć plik /home/marcin/.fluxbox/groups i wpisać do niego aplikacje które mają być grupowane automatycznie - w taki sposób

  7. Marcin
    March 3rd, 2007 | 22:13

    Dzięki. Działa :) Ale wogóle link, który podałeś jest bardzo ciekawy, można znaleźć odpowiedzi na różne pytania dotyczące fluxboksa. Kiedyś go używałem ale nie umiałem konfigurować. Teraz dopiero mam na komputerze szybkie i proste w użytkowaniu środowisko graficzne, co najbardziej cenie. Pozdrowionka :)

  8. magnifiq
    March 30th, 2007 | 18:36

    witam mam pytanie dot. autostartu

    świeżo po instalacji jestem z fluxconf idesk itp
    i chodzi konkretnie o autostart conky

    dodaje /home/magnifiq/.fluxbox/startup
    exec /usr/local/bin/conky &
    ale nic sie nie dzieje

    probowalem tez dodac to apps jako
    [startup] {conky}
    niestety ten sam efekt
    nawet gorzej - nie zostaje to zapisane po ponownym
    zalogowaniu zastaje stary plik bez tego wpisu

    ocb?

  9. magnifiq
    March 30th, 2007 | 18:48

    hm no rozwiazalem to w taki sposob:

    plik ~/.xinitrc

    tam wpisalem na samym poczatku
    conky &

    i hula

    ale bede wdzieczny jezeli ktos mi wytlumaczy dlaczego nie dziala mi startup ani apps

  10. magnifiq
    March 30th, 2007 | 21:46

    dobra mozna to pokasowac albo zostawic dla innych

    jezeli w .xinitrc mam

    exec /usr/local/bin/fluxbox
    to nie dziala startup

    a zmienilem to na
    exec startfluxbox

    wszystko hula pieknie z startup’a

    pozdrawiam

  11. March 30th, 2007 | 22:25

    Niech zostanie
    startfluxbox to skrypt uruchamiający polecenia z ~/.fluxbox/startup , dlatego przy samym “exec fluxbox” w .xinitrc nie jest ów plik czytany.

  12. Vighter
    June 18th, 2007 | 17:55

    Świetny poradnik. :) Zawsze ta konfiguracja mnie przerażała we Fluxboksie. Okazuje się, że to wcale nie takie trudne.
    Gdy znajdę trochę czasu, to zabieram się za Fluksia. :D

  13. travis
    August 30th, 2007 | 08:26

    heh, genialne w swojej prostocie, zawsze marudzilem na zbyt malo ramu, a flux byl jakis nieprzystepny dla mnie, teraz sie za niego wezme ;] pozdrawiam :)

  14. darklin
    December 23rd, 2008 | 18:42

    “–enable-imlib2 –enable-nls”

    Niepotrzbne. Obie te opcje sa domyslnie wlaczone.

  15. December 28th, 2008 | 22:13

    Dzięki, poprawione - dotyczyło to jeszcze wersji 0.9.x.

Leave a reply