OpenBox, Conky, tint2 – Ładny pulpit małym kosztem cz. 2

Uwaga: Ten wpis został utworzony ponad rok temu. Informacje w nim zawarte mogą być nieaktualne!
Jest to artykuł konkursowy nadesłany do nas przez Kacpra D.

Instalacja

Instalacja OpenBoxa nie jest trudna i ogranicza się do wpisania jednej komendy, bądź też wyklikania w Centrum Oprogramowania. W poradniku wybiorę tę pierwszą metodę ze względu na to, że jest dużo szybsza.
Otwórz terminal i wpisz:

sudo apt-get install openbox

Poczekaj aż się ściągnie i tak, to już wszystko! Teraz „tylko” trzeba go skonfigurować.

Podstawowa konfiguracja

Aby skonfigurować OpenBoxa posłużymy się programem ObConf, w końcu nikt z Was pewnie nie chce bawić się plikami XML. Program jest łatwy w obsłudze i każdy się powinien w nim połapać, pod warunkiem podstawowej znajomości języka angielskiego.
Instalacja ObConf:

sudo apt-get install obconf

OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

Interfejs programu


Jak widać, wszystko zostało podzielone w kategorie, więc bardzo łatwo i szybko można znaleźć to, co się chce. W zakładce Theme wybieramy styl z którego nasz menadżer okien będzie korzystać, ja wybrałem 212, do którego link podam na końcu wpisu. Kolejna zakładka – Appearance – zawiera ogólne opcje wyglądu okien oraz menu, takie jak użyte czcionki czy układ przycisków.
OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

Zakładka Appearance

  1. Kategoria z ustawieniami okien:
    1. Gdy zaznaczone, niedekorowane okna (bez paska tytułu) mają ramkę,
    2. Gdy zaznaczone, okna posiadają prostą animację chowania i przywracania.
  2. Ustawienia układu belki tytułowej:
    • N – Ikonka aplikacji,
    • L – Tytuł aplikacji,
    • I – Przycisk minimalizacji,
    • M – Przycisk maksymalizacji / znormalizowania,
    • C – Przycisk zamknięcia,
    • S – Przycisk zwinięcia okna do samej belki tytułowej,
    • D – Niezależność od aktualnego pulpitu.
  3. Ustawienia czcionek:
    1. Czcionka używana na belce aktywnego okna,
    2. Czcionka używana na belce nieaktywnego okna,
    3. Czcionka używana w nagłówku menu,
    4. Czcionka używana w elemencie menu,
    5. Czcionka używana w notyfikacjach na pulpicie.
Wszystkie przyciski znajdujące się po tytule aplikacji L są wyrównane do prawej strony!

Kolejna zakładka (Windows) zawiera ustawienia mechaniczne okien, ustawimy tu m.in. na jakim monitorze mają się pojawiać nowe okna, czy w jakim miejscu.

OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

Zakładka Windows

  1. Gdy zaznaczone, nowe okna automatycznie stają się aktywne,
  2. Gdy zaznaczone, nowe okna są tworzone pod kursorem myszy,
  3. Gdy zaznaczone, nowe okna są wyrównywane do środka ekranu,
  4. Monitor na którym mają pojawiać się nowe okna.

W kolejnej zakładce (Move & Resize) ustalamy opcje dotyczące przemieszczania i zmiany wielkości okien.

OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

Zakładka Move & Resize

  1. Ustawienia przemieszczania i zmiany wielkości okien:
    1. Gdy zaznaczone, okna są dostosowywane do nowej wielkości podczas jej zmieniania, niezalecane dla słabszych komputerów,
    2. Ilość pikesli, po której przesunięciu okno zacznie zmieniać swoją pozycję, zapobiega przypadkowemu przesunięciu okna. Optymalna wartość to 8px,
    3. „Opór” jaki stanowią inne okna dla aktualnie przesuwanego, dzięki temu okna mogą do siebie ładnie przylegać,
    4. Podobnie jak w przypadku poprzedniego tylko chodzi o końce ekranu,
    5. Gdy zaznaczone, okna po przesunięciu poza ekran zostają przeniesione na kolejny pulpit,
    6. Ilość czasu potrzebna, aby okno zostało przeniesione na kolejny pulpit, gdy jest poza ekranem.
  2. Ustawienia informacji o zmianie wielkości okna:
    1. Ustala kiedy informacja ma być pokazana,
    2. Pozycja tej informacji,
    3. Poprawka na pozycję X informacji,
    4. Poprawka na pozycję Y informacji.

Na kolejnej karcie ustawień (Mouse) zajmiemy się natomiast ustawieniami, które mają związek z myszką.

OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

Ustawienia związane z myszką

  1. Aktywowanie okien:
    1. Aktywowanie okna, nad którym znajduje się kursor,
    2. Aktywuj okno pod kursorem podczas zmiany pulpitu,
    3. Aktywuj okno tylko jeżeli kursor jest nieruchomy,
    4. Weź na wierzch okna, które znajdują się pod kursorem myszy,
    5. Odstęp czasu przed aktywacją i wzięciem na wierzch okien.

Następna jest karta z ustawieniami pulpitu, ustalamy w niej ich ilość oraz ich nazwy. Bezpośrednio po tym znajdują się ustawienia marginesów. Obie te zakładki są skonstruowane bardzo prosto i nie ma potrzeby ich dokładniejszego opisywania. Zakładkę Dock ze względu na jej nieużyteczność pominę.

Skróty klawiszowe

W ObConf niestety nie można zmienić skrótów klawiszowych, musimy to zrobić ręcznie w pliku rc.xml w ~/.config/openbox, więc do dzieła.
Na początku szukamy <keyboard> u mnie jest na 170 linijce i myślę, że u Was będzie podobnie. Teraz zapoznam Was z wzorem jakim są zapisane nowe skróty:

	<keybind key="skrót">
   		<action name="Typ akcji">
			… Dane typowe dla danego typu akcji ...
      		</action>
		… dalsze akcje ...
	</keybind>

Zacznijmy od zapisywania skrótu, modyfikatory (tj. control, alt i reszta)

  • CCtrl,
  • SShift,
  • AAlt,
  • MMeta (tylko na klawiaturach MIT, Apple, Sun),
  • WSuper (Win key),
  • HHyper Key, (o ile jest do czegoś przypisany)

Wzór według którego podajemy klawisze to:

modyfikator-modyfikator-klawisz

Czyli dla kombinacji Ctrl + Alt + T zapis będzie wyglądał tak:

C-A-t

Nic nie stoi na przeszkodzie, aby skrócić ten zapis o jeden klawisz.
Następna w kolejce jest akcja, tu opiszę tylko jedną uruchamiającą daną komendę/program w systemie.
Jako typ akcji podajemy Execute, jest tylko jedna zmienna typowa dla tej akcji, mianowicie „execute”, w której zapisujemy co ma zostać wywołane.
Przykład dla uruchomienia terminala pod Super + T:

	<keybind key="W-t">
      		<action name="Execute">
        			<execute>x-terminal-emulator --tab</execute>
     		 </action>
    	</keybind>

Po więcej informacji na temat skrótów itp., odsyłam do Wiki Openboxa.
Po dodaniu wszystkich swoich skrótów możemy zrestartować, bądź zrekonfigorować Openboxa i cieszyć się dostosowanym pod siebie menadżerem okien.

Menu

Do konfiguracji menu posłużę się programem obmenu, który jak mówi nam repozytorium jest graficznym edytorem menu. Instalujemy go poprzez wydanie w terminalu polecenia:

sudo apt-get install obmenu

Gdy mamy już zainstalowany program, włączamy go poleceniem obmenu. Po włączeniu naszym oczom ukazuje się takie okno:

OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

Okno programu obmenu


Teraz objaśnię co oznaczone elementy znaczą.

  1. Zapisanie menu do pliku i odświeżenie konfiguracji OpenBox’a,
  2. Nowe podmenu,
  3. Nowy element menu,
  4. Nowy separator,
  5. Zmiana kolejności,
  6. Zmiana kolejności,
  7. Usunięcie elementu menu.
  1. Etykieta elementu,
  2. Unikalny identyfikator elementu,
  3. Typ akcji,
  4. Program do wywołania.

Jak widać stworzenie menu nie jest takie trudne, więc przechodzimy dalej, oczywiście po więcej informacji na temat konfiguracji menu, ale już w pliku menu.xml odsyłam do >Wiki Openboxa.

Autostart

Aby dodać programy do autostartu w OpenBox’ie należy stworzyć plik autostart (.sh dla openbox < 3.5) w ~/.config/openbox. Jest to zwykły skrypt powłoki, więc nie będę opisywał co i jak w nim należy wpisać. Jedynie dodam, że KAŻDĄ akcję należy zakończyć znakiem &, aby nie zahamować wykonywania się skryptu. Warto na samym początku dać nm-applet &, aby automatycznie przy starcie połączył się z internetem.

Dodatkowe informacje

Warto również wspomnieć o innych przydatnych programach takich jak:

  • lxappearance – do zmiany stylu GTK,
  • ob shutdown – do wyłączania komputera,
  • thunar – jako zamiennik Nautilusa.

    No, jak wykonałeś wszystkie te kroki to możemy śmiało założyć, że menadżer okien masz już skonfigurowany jak należy, więc teraz przejdźmy do Conky i… zmiany tapety.

    Zmiana tapety

    To będzie krótki akapit. Do zmiany tapety polecam użycie programu nitrogen, który zainstalujemy poleceniem:

    sudo apt-get install nitrogen

    Następnie uruchamiamy program poleceniem:

    nitrogen

    i widzimy takie oto okno:

    OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

    Główne okno Nitrogena


    Aby dodać nowe foldery z tapetami klikamy na Preferences.
    OpenBox, Conky, tint2 - Ładny pulpit małym kosztem cz. 2

    Dodawanie nowych tapet


    Potem Add, wybieramy foldery, następnie Ok i w głównym oknie widzimy tapety do wyboru. Klikamy podwójnie na tą, którą chcemy, Apply i tapeta ustawiona. Warto również, jeżeli będziecie korzystać z Nautilusa jako menadżera plików, trochę go przerobić:

    cd /usr/bin
    sudo mv nautilus nautilus-old
    sudo touch nautilus
    sudo echo „nautilus $@ –no-desktop” > nautilus
    sudo chmod +x nautilus
    

    co spowoduje, że Nautilus nie będzie chciał kontrolować pulpitu (tapeta i ikony). Powinno się też dodać:

    gconftool-2 -s -t bool /apps/nautilus/preferences/show_desktop false &
    gconftool-2 -s -t bool /desktop/gnome/background/draw_background false &
    gconftool-2 -s -t bool /apps/nautilus/preferences/always_use_browser false &
    gconftool-2 -s -t bool /apps/nautilus/preferences/show_advanced_permissions true &
    

    w autostarcie OpenBoxa, co wyłączy to na 100%.

    Conky

    Conky nie posiada żadnego graficznego konfiguratora, co łatwo wytłumaczyć. Conky jest na tyle rozbudowanym programem, że zrobienie dobrego graficznego konfiguratora jest po prostu niemożliwe. Tak więc zajmiemy się skonfigurowaniem go ręcznie poprzez edycję pliku konfiguracyjnego.

    Instalacja

    Instalacja Conky nie należy do trudnych, wystarczy wpisać w terminal:

    sudo apt-get install conky

    Tak, to już wszystko, przejdźmy więc do konfiguracji.

    Wstępna konfiguracja

    Najpierw należy otworzyć w ulubionym edytorze tekstu plik .conkyrc znajdujący się w naszym katalogu domowym. Nie ma go tam? Sprawdź czy masz włączone pokazywanie plików ukrytych i ewentualnie włącz, a jak nadal nie będziesz go widzieć, utwórz go najlepiej poprzez polecenie:

    cp /etc/conky/conky.conf ~/.conkyrc

    co utworzy kopię domyślnej konfiguracji dla nas. Zapoznajmy się teraz z strukturą tego pliku:

    alignment top_left # przyleganie conky'ego, możliwe 
    background no # czy conky ma wyświetlać tło ?
    border_width 1 # szerokość ramki
    cpu_avg_samples 2 # ilość próbkowania procesora
    default_color white # domyślny kolor
    default_outline_color white # domyślny kolor obramówek
    default_shade_color white # domyślny kolor cienia
    draw_borders no # rysować ramkę ?
    draw_graph_borders yes # rysować ramki wykresów ? 
    draw_outline no # rysować obramówkę ?
    draw_shades no # rysować cienie ?
    use_xft yes # używać czcionek xtf?
    xftfont DejaVu:size=10 Sans Mono:size=12 # domyślne czcionki
    gap_x 15 # margines w szerokości
    gap_y 15 # margines w wysokości
    minimum_size 512 700 # minimalna szerokość wysokość
    maximum_width 512 # maksymalna szerokość
    net_avg_samples 2 # ilość próbek sieci
    no_buffers yes # odejmowanie buforów systemowych z używanej pamięci ?
    out_to_console no # wypisywać wynik na konsolę ?
    out_to_stderr no # wypisywać wynik na wyjście błędu ?
    extra_newline no # dodatkowa nowa linia (na końcu)
    own_window yes # własne okno?
    own_window_class Conky # klasa okna
    own_window_type desktop # typ okna
    own_window_transparent yes # przeźroczystość okna
    stippled_borders 0 # chropowate obramowanie ?
    update_interval 1.0 # częstotliwość aktualizowania / odświeżania 
    uppercase no # wszystko dużymi literami ?
    use_spacer none # dodatkowy odstęp ?
    show_graph_scale no # pokazywać skalę wykresu ?
    show_graph_range no # pokazywać zakres wykresu ?
    double_buffer yes # podwójne buforowanie, zapobiega miganiu.
    
    TEXT
    Struktura w jakiej Conky ma wyświetlać dane na pulpicie, opisane w następnym podrozdziale.
    

    Myślę, że ten krótki opis zmiennych pozwoli Wam skonfigurować pod siebie, przedstawiony tutaj config jest używany u mnie i nie każdemu musi się spodobać :)

    Ustawienie formy Conky

    A teraz najważniejsze, czas na to co i jak Conky będzie pokazywał naszym pulpicie, więc do dzieła. Conky ogólnie rzecz biorąc wyświetla wszystko co wpiszemy po TEXT. Nie byłoby w tym nic ciekawego gdyby nie to, że możemy tam wstawiać różne modyfikatory, które Conky zastępuje odpowiednimi informacjami. Każdy modyfikator poprzedzamy znakiem dolara ($), a jeżeli modyfikator posiada swoje parametry (np. wysokość, kolor) to zapisujemy go w formie ${nazwa parametr1 parametr2} np. ${color red}. W zasadzie sposobu zapisu nie ma co dalej opisywać, przedstawię teraz najbardziej potrzebne zmienne.

    ${addr [interfejs]} Pokazuje adres danego interfejsu sieciowego np. eth0 czy wlan0.
    ${alignr [odstęp]} Wyrównanie do prawej strony uwzględniając podany odstęp tego co znajduję się za modyfikatorem.
    $alignc Wyrównanie do środka.
    ${battery [identyfikator]} Pozostała ilość baterii i status o podanym identyfikatorze (domyślnie BAT0)
    ${battery_bar [wysokość],[szerokość] [identyfikator]} Pasek wykorzystania baterii o podanym identyfikatorze.
    ${battery_percent [identyfikator]} Procent pozostałej energii w baterii o podanym identyfikatorze.
    $buffers Ilość zbuforowanej pamięci
    $cached Ilość pamięci podręcznej
    ${color [kolor]} Zmienia kolor rysowania / pisania.
    ${cpu [procesor]} Użycie podanego procesora (cpuX, cpu0 to ogólne wykorzystanie) (rdzenia) w procentach.
    ${cpugraph [procesor] [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Wykres wykorzystania procesora (rdzenia). -t wykorzystuje gradient temperatury a -l przedstawia wykres w skali logarytmicznej.
    ${cpubar [procesor] [wysokość],[szerokość] } Pasek wykorzystania procesora (rdzenia).
    ${diskio_read [urządzenie]} Odczyt z dysku podanego urządzenia (domyślnie /dev/sda, możliwe podanie konkretnej partycji)
    ${diskio_write [urządzenie]} Zapis na dysk, poza tym tak samo jak wyżej.
    ${diskiograph [urządzenie] [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Podobnie jak w procesorze tylko dla użycia dysku.
    ${diskiograph_read [urządzenie] [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Jw. ale tylko uwzględnia odczyt.
    ${diskiograph_write [urządzenie] [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Jw. ale uwzględnia zapis zamiast odczytu.
    ${downspeed [interfejs]} Szybkość pobierania z danego interfejsu sieciowego.
    ${upspeed [interfejs]} Szybkość wysyłania z danego interfejsu sieciowego.
    ${downspeedgraph [interfejs] [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Wykres szybkości pobierania, parametry jak w innych wykresach.
    ${upspeedgraph [interfejs] [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Wykres szybkości wysyłania, parametry jak w innych wykresach.
    ${exec komenda} Wypisuje wynik wywołania danej komendy (UWAGA! Używaj z rozsądkiem, bardzo dużo zależy od wywoływanego programu!)
    ${execbar komenda} Tak jak exec ale jeżeli wynikiem jest wartosć od 0-100 pokazuje pasek o rozmiarach podanych default_bar_size.
    ${execgraph komenda [-l]} Tak jak execbar tylko że zapisuje wartości na wykresie.
    ${execi interwał komenda} Tak jak exec, tyle że wywołuje co podany czas.
    ${execibar interwał komenda} Tak jak execbar, tyle że wywołuje co podany czas.
    ${execigraph interwał komenda [-l]} Tak jak execgraph, tyle że wywołuje co podany czas.
    ${execp interwał komenda} Tak jak exec, tyle że wszystkie modyfikatory conkyego są w przetwarzane.
    ${execpi interwał komenda} Tak jak execi, tyle że wszystkie modyfikatory conkyego są w przetwarzane.
    ${font [nazwa]} Ustala używaną czcionkę.
    ${fs_bar sytem_plików} Pokazuje pasek zużycia podanego systemu plików.
    ${fs_bar_free sytem_plików} Pokazuje pasek wolnego miejsca podanego systemu plików.
    ${hr [wysokość]} Rysuje poziomą linię o podanej wysokości.
    $mem Wykorzystana pamięć ram.
    ${membar [wysokość],[szerokość] } Pasek wykorzystania pamięci.
    ${memgraph [wysokość],[szerokość] [kolor początkowy gradientu] [kolor końcowy gradientu] [skala] [-t] [-l]} Rysuje wykres wykorzystania pamięci, paremetry tak jak w innych wykresach.
    $running_processes Ilość uruchomionych (nie uśpionych) procesów.
    ${scroll długość [krok] tekst} Przewijany tekst.
    ${time [format]} Aktualny czas w podanym formacie (zobacz man strftime aby dowiedzieć się więcej o formatownaiu).

    Oczywiście opisane przeze mnie konfiguratory to nie wszystkie, jest ich dużo więcej a ich opis po angielsku znajdziecie na: http://conky.sourceforge.net/variables.html. Chciałbym też polecić temat w którym bardzo dużo osób wymieniło się swoją konfiguracją Conky: http://crunchbanglinux.org/forums/topic/59/my-conky-config/.

    To na dziś tyle. W następnym artykule zaprezentuje konfigurację tint2 i iDesk’a.
Jeżeli powyższy artykuł nie rozwiązał lub rozwiązał częściowo Twój problem, dodaj swój komentarz opisujący, w którym miejscu napotkałeś trudności.
Mile widziane komentarze z uwagami lub informacjami o rozwiązaniu problemu.
  • G2

    Kurna – raz artykuł na 2 linijki ,a teraz na 20 stron – od bandy do bandy jedziecie . :)
    Ile zabiera ram’u ten OpenBox ?

  • http://pipe-software.xaa.pl kadet

    U mnie pożera, uwaga, aż 8mb ramu. Oczywiscie system po starcie zjada dużo więcej, ale to wina syfu jaki nagromadził się przez czas użyszkodnikowania.

  • Sinnes

    Conky super sprawa, ale skonfigurować go jakoś ładnie to droga przez mękę. :(

    • http://pipe-software.xaa.pl kadet

      A bo ja wiem… Jak się nie ma czasu to można zawsze korzystać z gotowych baz konfiguracji. Ja lubię się bawić takimi rzeczami i konfiguracja conkyego do najtrudniejszych nie należy, gorzej z konfiguracją np stylu GTK…

      • macios4x

        Dokładnie popieram. Zawsze można skorzystać z gotowych motywów conky, ja sam zrobiłem taki „zlepek” i mi wyszło. Obecnie szukam jakiegoś motyw GTK3 żeby był w pełni graficzny, tak abym mógł podmienić wszystkie pliki i dzięki temu stworzyć własny, w pełni graficzny motyw.