2008 07 08 Superkaramba [Poczatkujacy]


Tips&Tricks
Superkaramba
Superkaramba
Piotr Pawłowski
oprzednio opisywany program Zabawa graficzna cie kombinacji Ctrl+L lub kliknięcie prawym
Gkrellm (patrz artykuł z Linux+ nr Aby nasz motyw był czytelny i wyróżniał się na przyciskiem myszy i wybraniu opcji Przełącz
05/2008) stanowi dobre narzędzie pulpicie należy stworzyć obrazek, który posłuży zablokowanie pozycji. Kolejnym etapem jest
Pdo monitoringu. Alternatywą dla jako tło apletu. Wiedza z zakresu grafiki ograni- określenie standardowej czcionki, jej koloru
niego są aplety programu Superkaramba. W po- cza się wyłącznie do stworzenia obrazku o wy- oraz rozmiaru. Jako, że chcemy dołączyć stwo-
niższym tekście postaram się pokazać jak łatwo miarach, jakie umożliwia nam rozdzielczość mo- rzone przez nas tło musimy również zadekla-
można stworzyć od podstaw lub zmodyfikować nitora. Metodą prób i błędów tworzymy przykła- rować użycie obrazka. Uzyskujemy to poprzez
aplet umożliwiający bieżące kontrolowanie kom- dowe tło o pożądanych przez nas wymiarach. wpisanie poniższych linijek:
ponentów komputera. Wielkość tła umożliwia nam umieszczenie więk-
szej ilości komponentów, które chcemy śledzić. defaultfont font="Sans serif"
Instalacja Superkaramby Ciekawy efekt możemy uzyskać, gdy tło będzie fontsize=11 color=255,255,255
Program Superkaramba, umożliwiający nam półprzezroczyste. Aplet wykorzystujący taki ob- image x=0 y=0 path="images/bg.png"
włączanie widżetów, można znalezć na stronie razek bardzo dobrze komponuje się z pulpitem. name="background"
domowej projektu http://netdragon.sourceforge Oprócz stworzenia tła możemy się pokusić o
.net/ . Znajduje się także w wielu repozytoriach zrobienie siatki kartograficznej, na której umiesz- Druga linijka służy do dodania stworzonego
dla większości z dystrybucji linuksowych. Pro- czany będzie wykres obciążenia procesora, ilość przez nas obrazka jako tło motywu. Taki plik jest
gram przeznaczony jest głównie dla środowiska zajmowanej pamięci RAM lub prędkość wysyła- już gotowy do implementacji w programie. Wy-
graficznego KDE, jednak nie ogranicza się tylko nia i ściągania danych z sieci Internet. Oczywi- starczy zapisać go z rozszerzeniem *.theme.
do niego. Przy doinstalowaniu odpowiednich bi- ście wymiary takiej siatki muszą wymiarami być
bliotek dla KDE możemy go uruchomić także na dopasowane do tła. Warto także zwrócić uwagę Uzyskanie informacji o systemie
innych GUI. Od wersji KDE 3.5 pakiet Super- na kolorystykę. Odpowiednie dobranie kolorów Pierwszą rzeczą, jaką chcielibyśmy uzyskać są
karamba jest dołączony standardowo. Podczas w stosunku do naszego pulpitu sprawi, że aplet informacje o naszym ulubionym systemie ope-
budowy tematu mamy możliwość rozszerzania będzie wyglądał bardzo profesjonalnie. racyjnym. Z rzeczy, jakie nas interesują to aktu-
funkcjonalności poprzez dodawanie składników alnie zalogowany użytkownik, wersja zainstalo-
z takich języków programistycznych jak Python, Pierwsze kroki wanego jądra, wersja KDE oraz czas pracy na-
Ruby, Java Script czy C++. Tworzenie nowego tematu można dokonać w do- szego komputera. Z pomocą przychodzą nam
wolnym edytorze tekstu. Pliki należy zapisywać zmienne środowiskowe. Należy zwrócić uwagę
Listing 1. Pobieranie informacji o systemie
w formacie nazwa.theme . Aby rozpocząć two- na to, że aplety Superkaramby potrafią interpre-
# Użytkownik rzenie należy zdefiniować, iż plik będzie aple- tować takie polecenia jak konsola systemowa.
text x=10 y=35 value="Uzytkownik tem programu Superkaramba. Następnym kro- Listing 1. przedstawia uzyskanie wcześniej wy-
:" kiem jest zdefiniowanie szerokości i wysokości. mienionych danych.
text x=100 y=35 sensor=program Warto tutaj nadmienić, że położenie każdego ele- Przyjrzyjmy się bliżej opisanym polece-
program="echo ${USER}" mentu względem całego tematu określane jest za niom. Jak widać, każde polecenie musi zo-
# Kernel pomocą pikseli. Początek naszego apletu będzie stać ujęte w cudzysłowie, podobnie jak zwy-
text x=10 y=50 value="Kernel :" wyglądał następująco: kły tekst, który chcemy wyświetlić dla opisa-
text x=100 y=50 sensor=program nia wartości. W linijkach opisujących aktual-
program="echo `uname -r`" karamba x=100 y=100 w=220 h=730 nie zalogowanego użytkownika skorzystałem
# KDE locked=true z dobrodziejstw zmiennych środowiskowych.
text x=10 y=65 value="KDE:" Dzięki nim, oprócz nazwy użytkownika, może-
text x=100 y=65 sensor=program Zmienne x oraz y służą do ustawienia okna w
program="kde-config --version | wybranej pozycji na pulpicie  okno będzie mia-
grep KDE | sed -e 's/.*: //'" ło rozmiar 220x730. Rozdzielczość powinna
#Uptime być dopasowana do naszego obrazka służącego
text x=10 y=80 value="Czas pracy:" za tło. Parametr locked służy do zablokowania
text x=100 y=80 sensor=uptime możliwości zmiany położenia tematu. Ten frag-
format="%d dni(dzien) %Hh %Mmin" ment można pominąć, gdyż blokowanie lub od-
interval=6000 blokowywanie każdego widżetu zmieniamy po-
przez najechanie kursorem na motyw i wciśnię-
68 lipiec/sierpień 2008
Tips&Tricks
Superkaramba
my uzyskać szereg innych danych takie jak ar- stania z trzech poleceń: kde-config, grep oraz ta (%tm), całkowita, wolna i zajęta pamięć swap
chitektura naszego procesora, nazwę i typ hosta sed. Jak widać istnieje możliwość korzystania (%ts, %fs, %us). Z dostępnych opcji wybiera-
czy domyślna używana powłoka. Informacja o z tzw. pipingu. W odmienny sposób wyciąga- my te, które chcemy śledzić i umieszczamy je
jądrze także została zaczerpnięta dzięki polece- my informacje o czasie pracy. Superkaram- w zmiennej format.
niu uname z flagą -r. Warto poeksperymento- ba posiada zaimplementowane funkcje, które Uzyskiwanie wolnej lub zajętej przestrze-
wać, jakie jeszcze przydatne informacje może- umożliwiają określenie długości pracy na kom- ni na dyskach twardych jest nie mniej łatwe jak
my uzyskać. Sprawdzenie wersji naszego śro- puterze. Służą do tego zmienne %D, %H oraz %M w przypadku pamięci podręcznej. Podstawowe
dowiska graficznego sprowadza się do skorzy- . Polecenie interval służy do odświeżania in- informacje uzyskujemy za pomocą zmiennych
formacji. W tym momencie dane będą spraw- opisanych w Listingu 3. Należy zwrócić uwa-
Listing 2. Obciążenie, taktowanie i temperatu- dzane co 60 sekund. gę na zmienną mountpoint. Dzięki niej usta-
ra procesora
wiamy ścieżkę dostępu do dysku, którego ob-
# Procesor -> Obciążenie Procesor jętość chcemy na bieżąco monitorować, np.
image x=10 y=140 path="images/ W następnej sekcji chcemy, aby wyświetlane by- mountpoint="/mnt/cdrom" . Daje to nam moż-
grid.png" ło obciążenie, częstotliwość i temperatura proce- liwość nie tylko do nadzorowania objętości dys-
graph x=10 y=140 sensor=CPU w=200 sora oraz 8 procesów, które najbardziej obciąża- ków, lecz także poszczególnych katalogów, np.
h=25 points=70 color=255,255,127 ją nasz system. domowego.
text x=10 y=170 Opcją szczególną, na którą pozwala nam
value="Obciazenie CPU : " Superkaramba i która zostanie przeze mnie za- Sieć
text x=200 y=170 sensor=CPU stosowana, jest wykres graficzny. Aby wykres Monitorowanie sieci LAN jest kolejnym eta-
format="%load%" align=right był bardziej czytelny warto przygotować plik pem w tworzeniu naszego widżetu. Znajo-
# Procesor -> Częstotliwość graficzny, który będzie stanowił tło. W tym mość modyfikacji tej części jest bardzo przy-
... przypadku najpierw należy zdefiniować poło- datna, gdyż zdarzają się tematy Superkaram-
text x=176 y=185 sensor=program żenie obrazka oraz ścieżkę dostępu do niego za by, w które sami będziemy musieli zmodyfiko-
program="cat /proc/cpuinfo | pomocą znacznika image, a następnie w tym sa- wać, aby uzyskać pożądany efekt. W tej sekcji
grep 'cpu MHz' | sed -e 's/ mym miejscu w naszym motywie umieścić wy- także warto posłużyć się poznanymi już wcze-
.*: //'" kres (wartości x oraz y muszą być identyczne) śniej znacznikami graph i image do graficznej
... za pomocą znacznika graph. Do pobrania da- prezentacji obciążenia sieci. Istotnymi parame-
#Procesor -> Temperatura nych o obciążeniu znów przychodzi nam z po- trami są device oraz format. Pierwsza z nich
... mocą Superkaramba  zmienna %load ułatwia wskazuje na urządzenie sieciowe w naszym
text x=200 y=200 sensor=program nam zadanie. Oprócz obciążenia możemy tak- komputerze, dzięki któremu łączymy się z In-
program="cat /proc/acpi/thermal_ że dowiedzieć się ile obciążenia powoduje użyt- ternetem. Za pomocą drugiego określamy, któ-
zone/TZS0/temperature | grep kownik (%user) oraz system (%system). Odna- ra prędkość nas interesuje  wysyłanie czy po-
'temperature' | sed -e 's/.*: //'" lezienie informacji o częstotliwości oraz tempe- bieranie danych. Kolejnym etapem jest pobra-
align=right interval=1000 raturze procesora należy do indywidualnego po- nie danych dotyczących pobierania/wysyłania
dejścia użytkownika. W moim przypadku dane danych. Takie informacje możemy uzyskać
Listing 3. Zmienne do informacji stanów dysków te znajdowały się w plikach /proc/cpuinfo oraz z właściwości naszej karty sieciowej. Linijka
%fg  wolna przestrzeń w gigabajtach /proc/acpi/thermal_zone/TZS0/temperature . RX bytes odpowiada za aktualne prędkości na-
%fp  procent wolnej przestrzeni Za pomoca poleceń cat, grep oraz sed dotar- szego urządzenia. Zależy nam na pobraniu tyl-
%ug  zajęta przestrzeń w gigabajtach łem do potrzebnych wartości. Całą sekcję opi- ko wartości wysyłania. Wykorzystując polece-
%up  procent zajętej przestrzeni suje Listing 2. nie awk podajemy, którą grupę znaków chcemy
%tg  całkowita pojemnośc dysku w pobrać. (Listing4).
gigabajtach Pamięć Superkaramba pozwala na pisanie znacz-
Znając już proces uzyskiwania informacji z ze- nie bardziej rozbudowanych tematów. Warto
Listing 4. Monitoring prędkości karty sieciowej wnętrznych poleceń możemy zająć się tym, na wykorzystywać skrypty pisane w językach pro-
image x=10 y=655 path="images/ co pozwala nam Superkaramba. Jedną z takich gramowania do wprowadzenia większej inte-
grid.png" opcji, jest uzyskiwanie danych dotyczących pa- rakcji z użytkownikiem.
graph x=10 y=655 sensor=network mięci  zarówno RAM oraz Swap, jak i pojem-
device="eth1" format="%out" ności dysków twardych. Z pamięci podręcznej
O autorze
w=200 h=25 color=255,127,127 możemy uzyskać takie dane jak: pamięć wol-
interval=1000 max=100 na (%fm), pamięć zajęta (%um), pamięć całkowi-
Piotr Pawłowski jest studentem drugiego ro-
text x=200 y=690 sensor=program
ku Informatyki i Ekonometrii. Z linuxa korzy-
program="/sbin/ifconfig eth1 |
sta od prawie roku jednak od pierwszego
grep 'RX byte' | awk '{print
zetknięcia stał się jego wiernym użytkowni-
$3 $4}'" align=right
kiem. Jest czynnym członkiem Koła Nauko-
interval=10000
wego Systemów Informatycznych E-xpert
text x=10 y=705 sensor=network
działającego przy Katedrze Informatyki Eko-
device="eth1" format="%out KB/s"
nomicznej Uniwersytetu Gdańskiego.
decimals=1
Kontakt z autorem: p.pawlowski@e-xpert.pl
www.lpmagazine.org 69


Wyszukiwarka

Podobne podstrony:
2008 07 08 Serwis zdjęć z wakacji [Programowanie]
2009 07 08 FreeBSD – chwila dla admina, cz 1 [Poczatkujacy]
K1 07 08 zad3 rozwiazanie?gmaraK gr2 (2)
Kolokwium zaliczeniowe sem 1 07 08 rozwiazania
2008 02 Multimedia dla początkujących użytkowników [Poczatkujacy]
IV WL harmonogram zajec 07 08
pytania z sesji letniej 07 08
07 08? I
Elektrotechnika i elektronika 07 i 08
07 08 PAME O przekroczeniu progu
07 08 Rezystancja uziemien i rezystywnosc gruntu
Wydz TiR zima 07 08 lic S N II rok
ZEM 07 08 Kontrakt
ZEM 07 08 Literatura
Ogranicz 2004 07 08

więcej podobnych podstron