4
maj 2008
Spis treści
5
www.lpmagazine.org
Opis płyt
Na płycie umieściliśmy najnowszą wersję stabilnej i bezpiecznej dys-
trybucji Debian 4.0. Oprócz tego znajdziecie na niej multimedialny
kurs IBM DB2 oraz skuteczną ochronę przed spamem – Comdom
Antispam for Linux. Nie zabrakło też czegoś dla wielbicieli Minta
oraz Slaxa. Zapraszamy do instalacji
Aktualności
Mandriva
Tomasz Bednarski
News
Maciej Michalec
Gentoo
Grzegorz Madajczak
OpenOffice
Przemysław Żarnecki
CentrumXP
Aleksander Zdyb
Dla początkujących
Instalacji i konfiguracji się nie boję!
Łukasz Ciesielski
Autor w bardzo przejrzysty sposób opisuje instalację i konfi-
gurację systemów z rodziny Open Source.
Miesięcznik Linux+ (11 numerów w roku) jest wydawany
przez Software-Wydawnictwo Sp. z o. o.
Dyrektor wydawniczy:
Sylwia Pogroszewska
Redaktor naczelna:
Anna Czerwińska, anna.czerwinska@software.com.pl
Kierownik produkcji:
Marta Kurpiewska, marta.kurpiewska@software.com.pl
Opracowanie DVD:
Tomasz Kostro, tomasz.kostro@software.com.pl
Korekta:
Bartłomiej Stalewski
Dział reklamy:
reklama@lpmagazine.org, tel.: (22) 427 35 32
Prenumerata:
Marzena Dmowska, pren@software.com.pl,
tel.: (22) 427 36 79
Projekt graficzny okładki:
Agnieszka Marchocka
Grafika na okładce:
Maciej Frołow - insane
DTP Manager:
Robert Zadrożny
DTP:
Przemysław Banasiewicz,
Stali współpracownicy:
Grzegorz Respondek, Przemysław Prytek, Aneta Duk
Tomasz Bednarski, Roger Zacharczyk
Adres korespondencyjny:
Software-Wydawnictwo Sp. z o. o.,
02-682 Warszawa, ul. Bokserska 1
e-mail: redakcja@lpmagazine.org,
tel. (22) 427 35 32
Redakcja dokłada wszelkich starań, aby publikowane w piśmie i na
towarzyszących mu nośnikach informacje i programy były poprawne,
jednakże nie bierze odpowiedzialności za efekty ich wykorzystania.
Redakcja Linux+ pracuje na sprzęcie dostarczonym przez firmę Device
Polska
Płyty uszkodzone podczas wysyłki wymienia dział prenumeraty.
Wszystkie znaki firmowe zawarte w piśmie są własnością
odpowiednich firm i zostały użyte wyłącznie w celach
informacyjnych.
Nakład: 10 000 egz.
Redakcja używa systemu automatycznego składu
Płyty dołączone do magazynu przetestowano programem
AntiVirenKit firmy G DATA Software Sp. z o.o.
Sprzedaż aktualnych lub archiwalnych numerów pisma po innej
cenie niż wydrukowana na okładce – bez zgody wydawcy – jest
działaniem na jego szkodę i skutkuje odpowiedzialnością sądową.
Linux
®
jest zarejestrowanym znakiem towarowym należącym
do Linusa Torvaldsa.
Pismo ukazuje się w następujących wersjach językowych:
polskiej ,
francuskiej ,
hiszpańskiej
oraz czeskiej .
Kochani linuksowcy!..
C
odziennie przetwarzamy, odbieramy i wysyłamy informacje
elektroniczne. Korzystanie z bezprzewodowych połączeń jest
bardzo wygodne, a lista urządzeń mobilnych wciąż wzrasta. Użyt-
kownik ma z czego wybierać. My jesteśmy od tego, by przybliżyć
Wam nowe pozycje i rozwiązania pojawiające sie na rynku. Mamy
nadzieję, że uda się nam sprostać Waszym oczekiwaniom również
w tym numerze, który poświęciliśmy urządzeniom mobilnym.
W tym numerze powracamy do dawno niepublikowanych Tip-
sów. Piotr Pawłowski opisuje program GKrellm, pozwalający na stałe
monitorowanie komponentów komputera. Dzięki artykułowi “Linux ko-
mórkowy”dowiecie się czegoś na temat kilku programów, które pozwolą
na lepszą kontrolę nad telefonem w środowisku systemu Linux. Grzegorz
Madajczak postarał się udowodnić jak wiele urządzeń jako OS wykorzy-
stuje odpowiednio zmodyfikowanego Linuksa.
W kolejnym numerze czeka na Was niespodzianka. Przygoto-
wujemy dla Was coś naprawdę specjalnego. Badźcie czujni i nie
przegapcie!
Chcecie współpracować z Linuksem+? Macie do przekazania
fanom linuksowego oprogramowania konkretną wiedzę lub ciekawostkę?
Nie czekajcie- dołączcie do nas!
Miłej lektury!
Redakcja Linux+
W bieżącym numerze
10
13
12
14
8
11
4
maj 2008
Spis treści
5
www.lpmagazine.org
Wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w
Motorola Polska SP. z o. o
Felieton
Stąd do przyszłości
Roger Zacharczyk
Księgozbiór
Oprogramowanie
użytkowe w systemie Linux
Wojciech Hryń
Rozwiązania
Qtopia – przykład platformy
linuksowej w urządzeniach mobilnych
Przemysław Żarnecki
W artykule autor prezentuje platformę przeznaczoną na telefony
komórkowe z wbudowanym Linuksem.
Usługi Google cz. 1
Łukasz Olender
Coraz więcej osób używa aplikacji webowych firmy Google. Autor
artykułu opisuje kilka przydatnych programów z których korzy-
stamy na co dzień oraz przybliża te mniej znane.
Linux na urządzeniach
z wbudowanym systemem
Grzegorz Madajczak
Autor przedstawia kilka ciekawych urządzeń z wbudowanym sys-
temem
Praktyka
D-Bus w praktyce
Zbigniew Kozak
Celem niniejszego artykułu jest przedstawienie podstaw
funkcjonowania systemu D-Bus i możliwości jego wykorzystania.
Autor wprowadza podstawowe pojęcia i idee związane z D-Busem,
a następnie, na przykładach, pokazuje jak ten system funkcjonu-
je w praktyce.
Linux komórkowy
Robert Multan
W tym artykule Robert przedstawia kilka programów, które
pozwolą na lepszą kontrolę nad telefonem w środowisku syste-
mu Linux.
Programowanie
Freebasic – Basic na miarę XXI wieku
Marek Sawerwain
Marek przedstawia język programowania FreeBasic, czyli
bardzo nowoczesną odmianę języka Basic.
Rozrywka
Second Life
Przemysław Żarnecki
Rzut okiem na wirtualny świat rozgrywki
Tipsy
Gkrellm
Piotr Pawłowski
Aplikacja pozwalajaca na stałe monitorowanie komponentów kom-
putera.
Urządzenia mobilne
Temat miesiąca
72
20
24
32
42
60
56
68
74
78
79
6
maj 2008
opis DVD
DVD
7
www.lpmagazine.org
opis DVD
DVD
Debian 4.0
D
ebian od początku uważany
był za najstabilniejszą i naj-
bezpieczniejszą dystrybucję
Linuksa. Z tego właśnie po-
wodu często wybierany jest jako system
operacyjny dla serwerów, ale doskonale
sprawdza się także w zastosowaniach biu-
rowych oraz domowych. Na tle innych wy-
różnia go także świetne narzędzie do insta-
lacji pakietów, jakim jest APT.
Instalacja
Przystąpmy więc do instalacji. Po urucho-
mieniu komputera z bootowalnej płyty za-
wierającej Debiana zobaczymy menu star-
towe. Ponieważ chcemy skorzystać z insta-
latora graficznego, należy wpisać instlalgui
i wcisnąć Enter.
Po załadowaniu instalatora pierwszym
krokiem, który musimy wykonać jest wy-
bór języka i polecam tutaj wybrać oczywi-
ście język polski, podobnie jak w przypad-
ku wyboru układu klawiatury. Po niedługiej
chwili (instalator wczyta do pamięci tro-
chę dodatkowych danych) będziemy mo-
gli skonfigurować sieć. Tutaj niestety użyt-
kownik zdany jest już na siebie, gdyż kon-
figuracja sieci zależy od sposobu podłącze-
nia do internetu. Najczęściej jednak jest to
zwykła sieć ethernet i wystarczy konfigura-
cja automatyczna.
Ustalmy teraz partycje dysku twardego.
Zaleca się przeznaczyć co najmniej 5 GB na
partycję root / oraz wydzielić osobną par-
tycję domową /home o rozmiarze zależnym
od preferencji użytkownika (jeżeli chcemy
trzymać dużo danych, należy przeznaczyć
więcej miejsca na nią).
Pozostaje teraz wybrać odpowiednią dla
siebie strefę czasową, następnie ustalenie ha-
sła dla użytkownika root oraz stworzenie kon-
ta zwykłego użytkownika.
Teraz nastąpi instalacja systemu podsta-
wowego. Po tej czynności przejdziemy do
instalacji oprogramowania. Mamy tutaj spo-
ry wybór, więc warto zastanowić się, co bę-
dzie nam potrzebne do pracy. Po skopiowa-
niu plików ostatnim krokiem będzie instala-
cja programu rozruchowego (wystarczy klik-
nąć TAK).
Uruchomienie i konfiguracja
W końcu możemy cieszyć się jedną najbar-
dziej stabilnych dystrybucji Linuksa – Debia-
nem. Po jej uruchomieniu mamy do dyspozy-
cji gotowe środowisko pracy. Zależnie od te-
go, jakie pakiety wybraliśmy do instalacji,
znajdzie się także pakiet biurowy, przeglądar-
ka internetowa, komunikatory, gry. Jeżeli ja-
kichś programów nam zabraknie, zawsze mo-
żemy je doinstalować przy pomocy APT.
Comdom antispam for Linux
Comdom AntiSpam zapewnia, dzięki poszcze-
gólnym modułom składającym się na aplika-
cję, skuteczną ochronę przed spamem.
Podstawowe moduły to:
• brama pocztowa,
• kontrola transmisji,
• wspomaganie autoryzacji,
• filtr Bayesa,
• czarne, białe, szare listy,
• konfiguracja zależna od domeny/email,
• DKIM,
• SPF.
Comdom Antispam jest dostępny dla każ-
dego bez żadnej rejestracji, ani innych pro-
cedur! Wystarczy jedynie, że zaakceptujesz
umowę licencyjną i możesz w pełni korzy-
stać z tego rozwiązania. Wersja ta jest ograni-
czona do 100 adresów email (nie do 100 użyt-
kowników!). Adresy muszą być jasno wpisane
w pliku konfiguracyjnym po instalacji progra-
mu. Tylko wtedy wiadomości będą akcepto-
wane, w przeciwnym wypadku e-maile zosta-
ną odrzucone. Wersja ta nie posiada żadnej ba-
zy spamu, jednak umożliwia zbudowanie wła-
snej. Aby pobrać już przygotowane bazy, nale-
ży się zarejestrować.
WWW: www.ti.com.pl, www.comdomanti-
spam.pl, www.comdomsoft.com.
E-mail: comdom@ti.com.pl
Wprowadzenie do systemu
IBM DB2 w systemie Linux.
Firma IBM już od lat 70. XX wieku, praco-
wała nad systemami bazodanowymi. To wła-
śnie dzięki wysiłkom badaczy tej firmy po-
wstał relacyjny model (Relational Model)
baz danych, a także wykorzystywany do dzi-
siaj język SQL (Structured Query Language
– czyli strukturalny język zapytań). IBM ma
na swoim kącie całą masę różnych rozwią-
zań z zakresu RDBMS (Relational Database
Management Systems.
Jednym z takich rozwiązań jest program
IBM DB2, który po raz pierwszy został udo-
stępniony już w roku 1983 dla systemu MVS.
Obecnie program ten jest udostępniany
dla technologii serwerowych IBM xSeries,
pSeries, iSeries i zSeries dla różnych syste-
mów operacyjnych.
IBM DB2 udostępniany jest w następu-
jących wersjach:
Enterprise Server Edition
Jest to najbardziej rozbudowana wersja
serwera baz danych. Cechuje go obsługa
Rysunek 1.
Wstępna konfiguracja DB2 w systemie Linux, za pomocą gotowego skryptu
6
maj 2008
opis DVD
DVD
7
www.lpmagazine.org
opis DVD
DVD
64 bitowych systemów operacyjnych. Po-
siada także możliwość partycjonowania
bazy danych, dzięki czemu możliwy jest
podział danych w ramach jednego lub wie-
lu serwerów z tym samym systemem ope-
racyjnym.
Express Edition
To wersja ekonomiczna, jest w pełni funk-
cjonalna. Nadaje się dla małych i średnich
firm które nie mają odpowiednio wyszkolo-
nego personelu do obsługi bardziej zaawan-
sowanych wersji DB2.
Wersja Express Edition dostępna jest na
systemy MS Windows i Linux zarówno z
procesorami Intel jak i AMD.
Personal Edition
Jest to wersja z założenia przeznaczona dla
jednego użytkownika. Dostępne są w niej
wszystkie narzędzia graficzne i funkcje ser-
wera bazy danych.
Wersja Personal umożliwia łączenie się
jedynie z innymi serwerami DB2, ale nie
udostępnia połączeń dla innych kompute-
rów klienckich.
Workgroups Server Edition
DB2 przeznaczony dla grup roboczych i
małych firm. Dostępny jest w wersji dla
systemów MS Windows, Linux i Unix. Li-
cencje do tej wersji udostępniane są dla:
• użytkownika (np. dla aplikacji z nie-
wielką liczbą użytkowników)
• na procesor (dla aplikacji z wieloma
użytkownikami, np. dla stron WWW)
Cechy bazy danych DB2:
• jest to pierwsza baza ze wsparciem dla ję-
zyka Java
• to pierwsza na świecie baza certyfiko-
wana na Windows 2000
• posiada silne wsparcie dla systemów
Linux, także tych 64-bitowych
• to pierwsza baza z optymalizatorem
kosztowym
• pierwsza baza z przepisywaniem SQL
do optymalnej postaci
• jest to pierwsza baza relacyjna pozwa-
lająca na obiektowe rozszerzenia
• jest dostępna na wszystkie platformy
sprzętowe
Systemy operacyjne na których dostępny
jest DB2:
• AIX (32, 64 bit)
• Solaris UltraSparc (32, 64 bit)
• HP-UX oparte na HP PA-RISC (32, 64
bit)
• HP-UX oparte na Intel Itanium (32, 64
bit)
• iSeries (OS/400)
• zSeries (OS/390 oraz z/OS)
• GNU/Linux 32, 64 bit na platformach
Intel, pSeries, iSeries oraz zSeries (S/
390)
• Microsoft Windows 32 bit (Inte-
l+AMD)
• Microsoft Windows 64 bit oparte na
Intel Intanium i AMD Athlon/Opteron
Niniejszy kurs jest wstępem do IBM DB2.
Zaprezentowana została instalacja serwe-
ra DB2 w systemie Linux, zarówno w try-
bie graficznym jak i tekstowym. Jako od-
niesienie zaprezentowana została także in-
stalacja DB2 Enterprise w systemie MS
Windows.
Następnie pokazano jak można skonfi-
gurować i używać DB2 zarówno z poziomu
narzędzi graficznych jak i tekstowych.
Rysunek 2.
Obsługa DB2 z poziomu shella w systemie Linux
Rysunek 3.
Obsługa DB2 z poziomu przeglądarki WWW
aktualności
Mandriva
8
maj 2008
dział prowadzi: Tomasz Bednarski tomasz.bednarski@mandriva.pl
aktualności
Mandriva
9
www.lpmagazine.org
dział prowadzi: Tomasz Bednarski tomasz.bednarski@mandriva.pl
Nowe oprogramowanie
w Mandriva Linux 2008.1 Spring
W nowym wydaniu czekają na nas
świeżutkie wersje oprogramowania:
• jadro systemu 2.6.24;
• X.org 7.3;
• środowiska graficzne KDE 3.5.9, KDE
4.0.2, GNOME 2.22, Xfce 4.4. i mene-
dżer okien Avant;
• przeglądarka Mozilla Firefox 2.0 (bę-
dzie uwzględniał wszystkie dostępne
poprawki);
• OpenOffice.org 2.4;
• pulpit 3D Compiz 0.7;
• system dźwięku Pulse Audio;
• centrum multimedialne Elisa;
• program do synchronizacji danych z
różnych źródeł Conduit.
Podstawowym środowiskiem graficznym
jest nadal KDE 3.5.9. KDE 4 jest cały czas
doskonalone i zagości jako główny pul-
pit Mandrivy prawdopodobnie w wer-
sji 4.1. Na razie jest dostępne jako dodat-
kowe środowisko, a pakiety rpm znajdu-
ją się w repozytorium Contrib. Aby zain-
stalować KDE 4 można użyć meta pakietu
task-kde4, tzn. zainstalować go z użyciem
RpmDrake lub urpmi (polecenie
urp-
mi task-kde4
). Wystarczy zaznaczyć ten
jeden pakiet, aby zainstalować wszystkie
niezbędne programy i biblioteki.
Wersje Mandriva Linux 2008.1 Spring
Mandriva Linux 2008.1 Spring będzie
dostępna w kilku wersjach:
• Free – bezpłatne wydanie zawierają-
ce tylko wolne oprogramowanie, tzn. na
jednej z licencji uznawanej za otwartą;
• One – bezpłatne wydanie typu Live (bez
instalacji na dysku twardym) ze zinte-
growanymi dodatkowymi sterownikami
i programami na licencjach własnościo-
wych (np. sterowniki kart graficznych,
wtyczki do przeglądarek itp.);
• PowerPack - komercyjne wydanie z
usługami pomocy technicznej, komercyj-
nym oprogramowaniem i sterownikami.
Tworzone w Polsce wydanie Xtreme jest
publikowane według własnego cyklu
jakiś czas po wydaniu francuskim.
Mandriva Linux 2008.1 Spring
– więcej, szybciej, łatwiej
W
łaśnie ukazała się pierwsza wersja
kandydująca systemu Mandriva Li-
nux 2008.1. Zrobiła na mnie bardzo dobre
wrażenie z kilku powodów. Po pierwsze sta-
bilność – mimo że to wydanie testowe nie na-
potkałem jeszcze żadnych błędów. Po drugie
wydajność – Spring działa wyraźnie szyb-
ciej na moim komputerze testowym (Celeron
1,7 Ghz) niż wersja 2008. Po trzecie KDE 4
– wygląda naprawdę nieźle i ma wiele cieka-
wych funkcji. Nie mogę sie doczekać wersji
dopracowanej pod względem funkcjonalnym.
Po czwarte – bardzo dużo usprawnień i zmian
technologicznych.
Na temat nowości technicznych wie-
le pisałem w poprzednich numerach Linux+.
Dla przypomnienia wspomnę tylko, że wie-
le zmieniło się w jakości obsługi kart graficz-
nych, sieci bezprzewodowych oraz klawia-
tur multimedialnych. Do użytku wszedł tak-
że nowy system dźwięku PulseAudio. Dzisiaj
chciałbym bliżej przyjrzeć się zmianom w za-
kresie zarządzania oprogramowaniem.
Instalacja i aktualizacja
programów jeszcze łatwiejsza
Wprowadzono szereg poprawek w RpmDrake-
'u, które mają ułatwić instalowanie programów.
Na dystrybucję składa się wiele tysięcy róż-
nych pakietów. Wiele z nich to biblioteki i ste-
rowniki lub programy konsolowe, których na-
zwy niewiele mówią początkującym użytkow-
nikom. Dlatego w menu konfiguracji widoku
pojawiła się opcja umożliwiająca wyświetla-
nie programów, które działają w trybie okien-
kowym (opcja Pogramy z interfejsem graficz-
nym, Rysunek 3). Dzięki temu początkujący
szybciej odszuka niezbędne aplikacje.
Poszukiwanie programów
Jedną z zalet dystrybucji Linuksa jest to, że
nie trzeba szukać programów w różnych miej-
scach internetu i instalować każdej z osob-
na. Praktycznie wszystko co potrzebne moż-
na znaleźć w przepastnych repozytoriach dys-
trybucji. W repozytoriach Mandrivy jest ok.
16 tys. pakietów rpm. Wśród nich możemy
znaleźć programy praktycznie do wszystkie-
go. Trzeba je tylko znaleźć w tym gąszczu) Na
szczęście w RpmDrake jest to łatwe – można
szukać programów według kategorii (drzewo
po lewej stronie okna – Rysunek 4.) lub sko-
Rysunek 1.
Nowy wygląd pulpitu – nowa tapeta i menu
Rysunek 2.
KDE 4 – nowoczesne środowisko wprost z przyszłości
aktualności
Mandriva
8
maj 2008
dział prowadzi: Tomasz Bednarski tomasz.bednarski@mandriva.pl
aktualności
Mandriva
9
www.lpmagazine.org
dział prowadzi: Tomasz Bednarski tomasz.bednarski@mandriva.pl
Nowe zainstalowane
programy - gdzie ich szukać?
Czasem zdarza się, że szukamy w menu pro-
gramów, które właśnie zainstalowaliśmy. Aby
to ułatwić w menu Kickoff (alternatywne me-
nu) można wykorzystać dwie ciekawe opcje.
Pierwsza to wyszukiwarka, która umożliwia
szybkie dotarcie do każdej opcji znajdującej
się w menu. Po wpisaniu nazwy programu lub
jej fragmentu pojawi się lista wpisów w menu
pasujących do zapytania. Teraz wystarczy klik-
nąć, aby uruchomić program. Drugie udogod-
nienie to specjalny wpis w podmenu Aplikacje,
gdzie pod hasłem Nowe aplikacje pojawiają się
informacje o świeżo zainstalowanych progra-
mach (Rysunek 6).
Wygodniejsze aktualizacje
Zmiany nie ominęły programu Mandriva Onli-
ne. Służy on do sprawdzania czy pojawiły się ja-
kieś aktualizacje dla systemu. Odpowiedni ko-
munikat informujący o aktualizacjach wyświetla
się w rogu ekranu (Rysunek 7). Wystarczy klik-
nąć, podać hasło administratora i to wszystko
– aktualizacje zostaną pobrane z internetu i za-
instalowane w systemie. Aplet mdkapplet (czy-
li Mandriva Online) jest widoczny w pasku tray,
tylko gdy znajdzie nowe aktualizacji. Jeżeli sys-
tem jest zaktualizowany ikona znika, aby niepo-
trzebnie nie zajmować miejsca. Stan aktualiza-
cji jest sprawdzany kilka minut po zalogowa-
niu się użytkownika do systemu. Mandriva Li-
nux 2008.1 Spring to duży krok naprzód. Za-
wiera bardzo dużo nowości i usprawnień. Wie-
le programów działa szybciej i są bardziej przy-
jazne. Zaimplementowano nowoczesne techno-
logie związane z obsługą dźwięku, sieci bez-
przewodowych i sposobów wyświetlania obra-
zu. Usunięto też drobne niedogodności, na które
zwracano uwagę w przeszłości. Moim zdaniem
efekt jaki osiągnęli inżynierowie Mandrivy jest
bardzo dobry. Warto wypróbować!
Informacje na temat Mandriva Linux 2008.1
Spring: http://wiki.mandriva.com/en/2008.1
rzystać z wyszukiwarki (Rysunek 5.), która
pozwala przeszukiwać bazę programów we-
dług nazw pakietów, plików oraz opisów.
Lepiej na wolnych łączach
Nowy RpmDrake będzie bardziej wygod-
ny dla użytkowników wolnych łącz inter-
netowych. Przed rozpoczęciem instalacji po-
da łączną wielkość pakietów (w MB lu KB)
do pobrania przed instalacją. To ważna in-
formacja bo ułatwia kontrolowanie ilości
danych pobieranych z internetu (szczegól-
nie dla osób posiadających łącza z limito-
wanym transferem). Przyspieszeniu ulegnie
także aktualizowanie nośników interneto-
wych (repozytoriów z pakietami), ponieważ
zmieniono technologię przechowywania do-
datkowych informacji o pakietach, takich jak
opisy programów, informacje o zmianach i
listy plików. Użytkownik będzie sam decy-
dował czy chce, aby RpmDrake wyświetlał
takie dane, a jeżeli tak to kiedy ma je pobrać
z repozytorium. Zamiast pobierania informa-
cji o wszystkich kilkunastu tysiącach pakie-
tów, pobierane będę małe ilości, wtedy kiedy
będą potrzebne. W rezultacie zamiast kilku-
dziesięciu MB przez sieć przepłynie kilkaset
KB. Czysta oszczędność czasu i łącza.
Asus Eee friendly
Znacie ten mały, popularny ostatnio
notebook? Z pewnością chociaż o nim
słyszeliście. A najlepsze jest to, że
Mandriva Linux 2008.1 Spring działa
na nim doskonale. Przeprowadzone we
Francji testy wykazały, że wszystkie
urządzenia w Asus Eee zostały wykryte i
zainstalowane poprawnie. Nie pozostaje
nic innego jak instalować).
Xtreme DVD Live
– bezpłatnie z Klubu Mandrivy
W marcu pojawiła się długo oczekiwana
wersja Live systemu Mandriva Xtreme,
którą można uruchomić bez instalowania
na dysku komputera. System jest dostępny
bezpłatnie w Klubie Mandrivy w postaci
obrazu ISO płyty DVD. Edycję DVD
Live stworzono w oparciu o Mandriva
Linux 2008. Zawiera zestaw aplikacji
znanych z Mandriva Xtreme 2 (kreatory
połączeń internetowych, Xtreme Studio
itd.) i trójwymiarowy pulpit Compiz
Fusion. Jego działanie sprawdzono na
następujących kartach graficznych:
• GeForce 8400M GS;
• GeForce 4 MX;
• ATI 9600;
• GeForce 7600;
• ATI 9200;
• GeForce 7800;
• Intel X3100.
Działa bez zarzutu. Można testować.
Klub Mandrivy: www.mandrivaclub.pl
Mandriva Xtreme 2 USB
Mandriva Xtreme 2 USB to najnowsza
wersja specjalnej, mobilnej wersji systemu
Mandriva Xtreme. Jest to system szczególnie
ciekawy dla użytkowników, którzy często
podróżują i chcą mieć dane zawsze pod ręką.
Na kluczu usb o rozmiarze 2 lub 4 GB został
zainstalowany w pełni funkcjonalny system
operacyjny Mandriva Xtreme 2. Ponadto do
dyspozycji użytkownika jest 400 MB lub 2
GB miejsca na pliki.
Jest to pierwsza stworzona od początku
do końca wersja systemu przeznaczonego
do instalacji na kluczach USB. Oparto
ją na Mandrivie, ale struktura systemu
docelowego, sposób instalacji, konfiguracja,
dodatkowe oprogramowanie oraz
zestaw aplikacji to wynik pracy polskich
inżynierów.
Rysunek 3.
Rpmdrake potrafi wyświetlać listę pro-
gramów z interfejsem graficznym
Rysunek 4.
Przeszukiwanie programów według
kategorii
Rysunek 5.
Wyszukiwanie programów według
nazw pakietów, plików oraz opisów
Rysunek 6.
Świeżo zainstalowane aplikacje będą
wyróżnione w menu Kickoff.
Rysunek 7.
Mandriva Online – są nowe aktualiza-
cje do zainstalowania
dział prowadzi Maciej Michalec maciek@linux.pl
aktualności
News
10
maj 2008
NEWS
Nowa wersja TrueCrypt
Światło dzienne ujrzała kolejna, bowiem
oznaczona numerem 5 wersja aplikacji słu-
żącej do szyfrowania danych – TrueCrypt.
Oprócz standardowych poprawek i niewiel-
kich ulepszeń wprowadzono także poważ-
niejsze zmiany, m.in. dodano graficzny in-
terfejs użytkownika do wersji przeznaczo-
nej dla systemów Linuksowych oraz zmie-
niono wykorzystywany do tej pory algo-
rytm SHA-1 na SHA-512.
KDE 4.0.1
Niedawno wydano kolejną wersję popular-
nego środowiska graficznego K Desktop
Environment, opatrzoną numerkiem 4.0.1.
Nie wnosi ona żadnych konkretnych nowo-
ści, poprawiono jedynie zgłoszone w po-
przedniej wersji błędy.
Innotek zakupiony przez Suna
Sun Microsystems poinformował o zaku-
pieniu niemieckiej firmy Innotek, produ-
centa służącego do wirtualizacji popular-
nego programu VirtualBox. Transakcja ma
na celu wspomóc rozwój tworzonej przez
Sun platformy xVM Server,poprzez włą-
czenie do niej VirtualBoksa. Więcej infor-
macji na stronie firmy Sun, pod adresem
http://www.sun.com/aboutsun/pr/2008-02/
sunflash.20080212.1.xml.
Nowe logo KOffice i licencji GNU
Niedługo po wydaniu nowej wersji (3) li-
cencji GNU, nowe logo otrzymały licen-
cje GNU GPL, LGPL oraz AGPL. Grafiki
są odpowiednio w trzech kolorach: czerwo-
nym, zielonym i fioletowym i nawiązują do
GPLv3. O logotyp wzbogacił się także pa-
kiet biurowy KOffice wchodzący w skład
środowiska graficznego K Desktop Envi-
ronment. Od początku swego istnienia pro-
jekt KOffice nie posiadał bowiem własnego
logo. Nowe grafiki, zarówno licencji GNU
jak i pakietu biurowego można znaleźć
na stronach http://www.dertig.nl/projects/
koffice/ oraz http://www.gnu.org/graphics/
license-logos.html.
KTorrent 3.0
Ukazała się nowa wersja programu KTor-
rent, popularnego linuksowego klienta sie-
ci BitTorrent. W wydaniu oznaczonym nu-
merem 3 jedną z ważniejszych nowości jest
całkowite wsparcie dla środowiska graficz-
nego KDE 4 a także szóstej wersji protoko-
łu IP. http://www.ktorrent.org/.
Damn Small Solaris 0.1
Wzorem, jak się możemy domyślić dystry-
bucji Damn Small Linux, powstał system o
podobnie brzmiącej nazwie: Damn Small
Solaris. Jest to oczywiście dystrybucja Li-
veCD Solarisa, a została ona udostępnio-
na na licencji GNU General Public License.
DSS zajmuje niecałe 64 megabajty, nie po-
siada także wygórowanych wymagań. Już
teraz można pobrać z Internetu obraz ISO
dystrybucji, znaleźć go można np. na popu-
larnej Softpedii. Więcej informacji na stro-
nie http://www.sunhelp.ru/ (po rosyjsku).
Czy Nokia kupi Trolletech?
N
okia zaoferowała 153 miliony dolarów za
zakup firmy Trolltech, która stworzyła i
rozwija bibliotekę Qt (udostępnioną niedawno na
licencji GNU GPL). Według zapewnień produ-
centa telefonów komórkowych, Qt, które nadal
ma być rozwijane, wciąż dostępne ma być tak-
że na wolnej licencji. Przejęcie Trolltech będzie
możliwe dopiero po uzyskaniu zgody akcjonariu-
szy tej firmy. Po ogłoszeniu możliwości przeję-
cia Trolltech przez Nokię, inna firma telekomuni-
kacyjna – Motorola zapowiedziała, że wycofa ze
swoich urządzeń technologię Qt. W swojej histo-
rii firma stworzyła już wiele telefonów komórko-
wych z systemem Linux i użyciem biblioteki Qt.
Kolejne wdrożenia za granicą
W
ostatnim czasie Linuksa wybiera co-
raz więcej firm i instytucji. Jak poinfor-
mował Novell, producent systemu operacyjnego
SUSE, francuskie Renault zdecydowało się za-
stąpić dotychczas używane różne dystrybucje Li-
nuksa systemem SUSE Linux Enterprise Server,
który pozwoli zapewnić większą zgodność z wy-
korzystywanym tam Windowsem. Zgodnie z za-
wartą umową, Renault otrzyma także abonament
na priorytetową pomoc techniczną.
Inną dystrybucję wybrała natomiast prze-
chodząca na Linuksa francuska policja. Do tej
pory zainstalowane tam systemy Windows XP,
mają być zastąpione przez popularne Ubuntu.
Według przewidywań tej instytucji, pełna mi-
gracja powinna zakończyć się dopiero około ro-
ku 2014 – powodem jest ogromna liczba kom-
puterów które objęte mają być wymianą systemu
– jest ich ponad 60 tysięcy.
Jak się okazuje, nasi zachodni sąsiedzi nie
próżnują pod względem wprowadzania Linuk-
sa do swoich urzędów. Niedawno bowiem Nie-
miecki Urząd Pracy postanowił zastąpić dotych-
czas używane tam systemy Windows NT pro-
stym, stabilnym i bezpiecznym Linuksem: dys-
trybucją OpenSUSE. Migracja ma obejmować
około 13 tysięcy stanowisk komputerowych. O
planach wdrożenia w swojej infrastrukturze Li-
nuksa poinformowała też amerykańska armia.
Dystrybucja z jakiej zdecydowano się skorzy-
stać to Red Hat Enterprise Linux w wersji 5. Na
początek postanowiono opracować odpowiednie
sposoby zapewniające współpracę i kompatybil-
ność różnych systemów operacyjnych, dopiero
później możliwa jest pełna migracja.
SLAX 6.0
P
ojawiła się stabilna szósta wersja dystrybu-
cji SLAX, stworzonej przez Tomasa Ma-
tejicka. Wielu użytkownikom znana jest ona
przede wszystkim ze swej mobilności – sys-
tem bezproblemowo zainstalujemy zarówno na
dysku twardym, pendrive, a także skorzysta-
my z płyty LiveCD. SLAX dostępny jest więc
w dwóch formatach: TAR, przeznaczonym dla
urządzeń USB oraz ISO dla płyt CD. Instalacja
systemu na wymienionych wyżej nośnikach nie
powinna sprawić nikomu problemów. Oprócz
porad zawartych na stronie internetowej dystry-
bucji w Sieci znajdziemy również wiele nieza-
leżnych opisów i instrukcji dotyczących insta-
lacji SLAX-a. Dokładniejsze informacje o tej
opartej na Slackware dystrybucji, a także pliki
do pobrania znajduja się na oficjalnej witrynie
projektu: http://www.slax.org/.
dział prowadzi: Grzegorz Madajczak madajczak@gmail.com
aktualności
Gentoo
11
www.lpmagazine.org
Zakończono wybory do Rady Fundacji Gentoo
B
ez wątpienia newsem miesiąca jest za-
kończenie wyborów do Rady Fundacji
Gentoo, o których znaczeniu pisałem już w po-
przednim miesiącu. Niejasna sytuacja praw-
na samej fundacji, a także zamieszanie wo-
kół propozycji Daniela Robbinsa sprawiło, że
oczy całej społeczności Gentoo zwrócone by-
ły na te wybory.
Przede wszystkim należy przypomnieć,
że Daniel Robbins wbrew jego własnym pra-
gnieniom, nie mógł uczestniczyć w wyborach
– zarówno czynnie, jak i biernie ze względów
formalnych. Statut Fundacji mówi, że pra-
wo wyborcze mają wszyscy aktywni dewelo-
perzy projektów Gentoo, to znaczy tacy, któ-
rzy przez ostatnie 365 dni wysłali przynajm-
niej jednego maila na listy dyskusyjne dewelo-
perów danych projektów. Ostatni mail Danie-
la Robbinsa pochodził sprzed wspomnianego
okresu, więc nie mógł on ani być wybieranym,
ani nawet wybierać.
Wracając jednak do samych wyborów...
Kandydatów do wyborów można było zgła-
szać do 12 lutego tego roku. Ogółem zgło-
szono 20 kandydatów, z czego proces weryfi-
kacji przetrwało jedynie ośmiu. Opublikowa-
li oni swoje manifesty, w których szczegółowo
opisali co zamierzają zrobić jako członkowie
Rady Fundacji Gentoo. Więcej informacji na
ten temat można znaleźć na stronie http://
www.gentoo.org/proj/en/elections/foundation-
200802.xml.
W dniach 14 – 28 lutego odbył się pro-
ces elektronicznego głosowania na wcześniej
zgłoszonych i dopuszczonych kandydatów, w
wyniku którego wybrano następujące osoby:
• Roy Bamford (nick: NeddySeagoon),
• Ferris McCormick (fmccor),
• Joshua Jackson (tsunam),
• Tom Gall (tgall),
• William Thomson (wltjr).
Pierwsze spotkanie członków nowo wybra-
nej Rady zaplanowano na 16 marca 2008 ro-
ku na kanale #gentoo-trustees serwera irc.fre-
enode.net. W trakcie tego spotkania odbędzie
się między dyskusja na temat aspektów praw-
nych fundacji, a także przyszłości samej fun-
dacji. Zobaczymy co z tego wyniknie. Na pew-
no mają wiele do zrobienia. Przede wszystkim
stoi przed nimi zadanie odzyskania zaufania
społeczności Gentoo do oficjeli, co po ostat-
nich wydarzeniach nie będzie łatwe.
Błąd kernela
O
statnimi czasy niespodziewanie wy-
kryto krytyczny błąd w kodzie jądra
systemowego. Błąd ten umożliwiał nada-
wanie zwykłemu użytkownikowi praw ad-
ministratora, a zlokalizowany był w kodzie
funkcji
vmsplice()
. Błąd ten został wy-
kryty w kodzie jądra w wersji 2.6.17 i póź-
niejszych. Wersje jądra pozbawione błędu
to 2.6.24.2, 2.6.23.16 oraz 2.6.22.18. Jed-
nocześnie w kodzie jądra w wersji 2.6.23
wykryto inny błąd o analogicznym działa-
niu, jak opisany powyżej. Wersje jądra po-
zbawione drugiego błędu to 2.6.23.15 oraz
2.6.24.1. Z powyższych względów zaleca
się aktualizację jądra do wyżej wspomnia-
nych wersji:
# emerge =gentoo-sources-2.6.23-r8
lub
# emerge =gentoo-sources-2.6.24-r2
Pierwsze polecenie instaluje najnowszą bez-
pieczną stabilną wersję jądra, natomiast dru-
gie – niestabilną.
Mniejsze Portage
J
edna z większych zalet Gentoo – system
Portage zaczyna być jego przekleństwem.
W tradycyjnym wydaniu drzewo Portage zaj-
muje bardzo dużo miejsca, które rośnie wraz
z dodawaniem do niego nowych programów.
Stąd też powstała inicjatywa stworzenia no-
wej wersji Portage o nieco odchudzonym
rozmiarze. W CVS dostępna jest taka wer-
sja (opatrzona numerem 2.1). Mniejsze Por-
tage zakłada między innymi zastąpienie poje-
dynczych plików digest dla każdego z ebuil-
dów jednym plikiem Manifest dla całej pacz-
ki (czyli jednego lub więcej ebuildów), co po-
zwoliłoby na znaczne zaoszczędzenie miejsca
– nawet o 200 MB. Więcej informacji na te-
mat nowego Portage można znaleźć na stro-
nie: http://www.gentoo.org/news/20080204-
digest-files-removed.xml.
KDE 4.0 w Gentoo
Dawno nie było tak oczekiwanego wy-
darzenia, jak premiera nowego wydania
środowiska KDE. Nie będę się rozpisy-
wał na temat nowości, które znalazły się
w tym wydaniu, gdyż temat ten był po-
ruszany wielokrotnie - również na ła-
mach Linux +.
W Gentoo nie mogło oczywiście zabrak-
nąć najnowszej wersji KDE. Pierwotnie
środowisko to dostępne było tylko dzię-
ki Portage-overlay, lecz wraz z pierw-
szym wydaniem stabilnym, znalazło się w
oficjalnym drzewie Portage. Metapakiet
kde, podobnie jak i wszystkie inne pakiety
składowe, mają na razie status hard ma-
sked za sprawą braku polskich tłumaczeń
do najnowszego środowiska.
Tak więc w celu instalacji najnowszej
wersji KDE z gałęzi 4.x należy przede
wszystkim odmaskować pakiety pod-
stawowe środowiska oraz właściwe za-
leżności. Najprościej można tego doko-
nać dodając do pliku make.conf wpis AC-
CEPT_KEYWORDS="~x86" lub AC-
CEPT_KEYWORDS="~amd64" (w za-
leżności od architektury). Bezpieczniej
jest jednak odmaskować pojedyncze pa-
kiety dodając odpowiednie wpisy do pli-
ku package.keywords. W związku z tym,
iż KDE 4.x wymaga bibliotek Qt z linii
4.x, w pliku package use powinien zna-
leźć się następujący wpis:
x11-libs/qt:
4 accessibility dbus gif jpeg
png qt3support ssl zlib
. Po wy-
konaniu powyższych czynności możemy
przystąpić do instalacji programów:
# emerge -avD kde-base/kde-me-
ta: kde-4
# emerge -avD kde-base/kdebase-
startkde:kde-4
Pierwsze polecenie zainstaluje pełne śro-
dowisko KDE, natomiast drugie – zain-
staluje tylko podstawowe pakiety – samo
niezbędne minimum.
Różnice pomiędzy KDE 4.x a 3.5.x wi-
dać już na etapie instalacji, dzięki migra-
cji z autotools to cmake, co dało możli-
wość obserwacji postępu kompilacji wy-
rażonej w procentach. Inną ważną zmia-
ną jest nowy skrypt startowy KDE 4.x, co
niestety sprawiło, że ustawienia ze środo-
wiska w wersji 3.5 nie będą odczytywane
przez nowe środowisko.
Ja również na próbę zainstalowałem no-
we KDE na swoim komputerze i muszę
przyznać, że wzbudziło we mnie mie-
szane uczucia. Na pewno jest ładniejsze
i bardziej zaawansowane. Z pewnością
działa nieco szybciej, lecz jednocześnie
jest pełne wodotrysków, co sprawia, że
bardziej przyzwyczajonym do starej wer-
sji pracuje się trudniej. Ja przede wszyst-
kim poczekam na pełną polonizację, za-
nim zdecyduję się zmienić swoje 3.5 na
coś nowszego.
dział prowadzi Przemysław Żarnecki p.zarnecki@plusnet.pl
aktualności
OpenOffice
12
maj 2008
OpenOffice w komórce
Wielu użytkowników zawiedzionych było
brakiem mobilnej implementacji jednego z
najpopularniejszych pakietów biurowych.
Aby rozwiązać ten dylemat powstał pro-
jekt mOOo, który przenosi pakiet do śro-
dowiska J2ME, przez co czyni dostępnym
dla wszystkich urządzeń mobilnych obsłu-
gujących Javę
Źródło: https://mooo.dev.java.net/
Alternatywa dla Wordpress
Najpopularniejszemu silnikowi do blogo-
wania przybyła w końcu poważna kon-
kurencja. Przynajmniej tak zapowiada się
Chyrp. Zbudowany modułowo, w oparciu
o PHP, MySQL i Ajax system jest podat-
ny na przeróbki i wszelkie sugestie ze stro-
ny użytkownika. Informacja o konkurencji
to dobra sprawa. Jeszcze ciekawej brzmi
fakt, że autorem nowej platformy jest szes-
nastolatek, któremu Wordpress co naj-
mniej podpadł.
Więcej na ten temat możecie przeczytać na
http://chyrp.net
Zmiana licencji OpenOffice.org
Pakiet dokonał migracji z licencji LGPL
2.1 na LGPL v3. Zmiany mają zwią-
zek w związku z coraz gorętszą atmos-
ferą wokół zamkniętego oprogramowa-
nia, zwłaszcza patentów. Takie rozwiąza-
nie ma zapewnić o wiele większą możli-
wość publikowania swoich własnych po-
prawek, nawet nie będąc członkiem Ope-
nOffice.org
Nowe Kadu
P
o kilkunastomiesięcznej pracy światło
dzienne ujrzała najnowsza wersja komu-
nikatora internetowego Kadu, czyli klienta ga-
du-gadu dla Linuksa, BSD oraz Mac. W trak-
cie prac nad najnowszą wersją nad zespołem
developerów przeszła więcej niż jedna burza.
Przede wszystkim zmianie uległ skład Kadu Te-
am, zmieniono stronę internetową i opracowa-
no całkowicie nowy kalendarz wydawniczy. Po-
jawił się zresztą jasny i czytelny nowy plan roz-
woju Kadu.
W nowym Kadu położono nacisk na uno-
wocześnienie interfejsu użytkownika. Po pierw-
sze spore zmiany zaszły w wyglądzie aplikacji.
Czy na lepsze, to już ocenią użytkownicy. Deve-
loperzy całkowicie od nowa napisali konfigura-
cję programu, czyniąc ją jeszcze bardziej przyja-
zną dla użytkownika. Ze spraw wizualnych, war-
to wspomnieć o nowym, bardzo ciekawym mo-
tywie graficznym ikon.
Zdecydowanej poprawie uległ moduł konfe-
rencji. Pojawiła się możliwość jej opuszczania w
trakcie rozmowy, czego brakowało wcześniej.
Poprawie uległa również współpraca z prze-
glądarkami i klientami pocztowymi. W poprzed-
nich wersjach istniała wprawdzie podobna opcja,
jednakże brakowało jej wielu przeglądarek. Li-
stę zaktualizowano i uzupełniono o współpracę
z klientami pocztowymi. Do ważniejszych zmian
można zaliczyć unowocześniony sposób przesy-
łania plików, pomijając kwestię nowej strony wi-
zualnej, poprawiono współpracę z nowymi wer-
sjami protokołu gg. Tradycyjnie już wraz z no-
wą wersją programu, pojawiają się całkowicie
nowe sposoby powiadamiania o nadchodzących
wiadomościach, łatwiej jest dostać się do ostat-
nio otwartych. Ponadto pojawił się szereg ma-
łych, ale przydatnych usprawnień. Dobrym przy-
kładem jest możliwość przerobienia wg własne-
go mniemania opisów (data, godzina) rozmów w
oknie chatu.
Tych zmian można by wymieniać jeszcze
bez liku. Nowy klient GG jest naprawdę wart
skorzystania, zaś więcej informacji o jego możli-
wościach znajdziecie na stronie www.kadu.net.
Nowe Kadu
Mint 4.0 KDE CE
W
ydano najnowszą wersję popular-
nej dystrybucji o nazwie Mint. W naj-
większym skrócie Mint to dystrybucja oparta na
Ubuntu, której twórcy nie zawracają sobie gło-
wy czymś takim jak patenty. Po zainstalowaniu
Minta otrzymujemy w pełni multimedialny sys-
tem, z Java, MP3, flashem i wieloma innymi,
które trzeba w Ubuntu samodzielnie z racji pa-
tentów i zamkniętego kodu instalować i konfi-
gurować. Ponadto Mint posiada wiele własnych
narzędzi, które wspomagają użytkownika w co-
dziennej pracy. Do najważniejszych należą:
• mintInstall,
• mintWifi,
• mintUpdate,
• mintAssistant,
• mintUpload.
Cztery ostatnie to w zasadzie nowość. Poza tym
w dystrybucji znajdziemy również przerobione
w odpowiedni sposób wersje popularnych pro-
gramów. Przykładem są chociażby zmintowane
wersje Firefox i Sunbird. Od pozostałych wer-
sji Mint 4.0, ta różni się przede wszystkim uak-
tualnionymi wersjami poszczególnych narzędzi
oraz środowiskiem graficznym. Twórcy nie zde-
cydowali się na dołączenie w domyślnej wersji
środowiska graficznego KDE 4.0, wykorzystu-
jąc starszą, ale sprawdzoną gałąź KDE. Najnow-
sze dziecko można oczywiście zainstalować. W
trakcie pisania tekstu wydawana była również
specjalna wersja Minta z KDE 4.0, na DVD.
Mint 4.0 w wersji z KDE
dział prowadzi Aleksander Zdyb aleksander.zdyb@centrumxp.pl
aktualności
News
13
www.lpmagazine.org
NEWS
Linux Standard Base 3.2
Po kilkumiesięcznym opóźnieniu Linux
Foundation opublikowała wersję 3.2 Li-
nux Standard Base. LSB jest zbiorem
standardów i wytycznych mających na
celu zniwelowanie różnic między dystry-
bucjami Linuksa. W nowej wersji wpro-
wadzono między innymi konieczność
obsługi języków skryptowych (Python,
Perl). Określono także sposób dostępu do
podsystemu dźwiękowego ALSA. Dys-
trybucje zgodne z LSB muszą też od tej
wersji zawierać bibliotekę Qt4. Więcej
informacji znaleźć można na stronie Li-
nux Foundation http://www.linux-foun-
dation.org.
Linux Desktop Testing Project wydany
Linux Desktop Testing Project jest zbio-
rem aplikacji wspomagających testowanie
graficznych programów. LDTP umożliwia
nagranie makr będących zapisem czyn-
ności wykonywanych przy pomocy my-
szy i klawiatury. Makra te można potem
wielokrotnie odtwarzać np. w celu prze-
testowania tworzonego oprogramowania
lub automatyzacji dowolnych czynności.
LDTP może być wykorzystany z aplika-
cjami GNOME i KDE oraz innymi, speł-
niającymi standardy dostępności, np.: Mo-
zilla czy OpenOffice.org. Oprogramowa-
nie można pobrać z oficjalnej strony: http:
//ldtp.freedesktop.org.
Google poprawia Wine
Po tym jak dwa lata temu Google podpi-
sał umowę z CodeWeavers, która prze-
widywała wprowadzenie poprawek do
projektu Wine, by dało się na nim uru-
chomić Picasę, doszło do zawarcia ko-
lejnego kontraktu. Tym razem CodeWe-
avers (producent m.in. CrossOver Linux)
ma poprawić obsługę Photoshopa przez
Wine. Biorąc pod uwagę fakt, jak wielu
użytkowników deklaruje, że oprogramo-
wanie graficzne firmy Adobe jest ostatnią
rzeczą hamującą ich przesiadkę na wolne
systemy widać, że Google wyraźnie dąży
do spopularyzowania Linuksa w zasto-
sowaniach biurkowych. Już w tej chwili
da się uruchomić Photoshopa CS2 na Wi-
ne, ale niestety wielu użytkowników na-
rzeka na stabilność takiego rozwiązania.
Miejmy nadzieję, że wkład Google i Co-
deWeavers w krótkim czasie zaradzi tym
problemom.
Landscape w wersji beta
Firma Canonical wydała wersję beta no-
wego oprogramowania wspomagającego
administratorów systemów Ubuntu. Land-
scape ma umożliwić m.in. jednoczesną ad-
ministrację wieloma systemami w zakre-
sie zarządzania pakietami, obsługi kont
użytkowników, monitorowania obciąże-
nia a nawet inwentaryzacji sprzętu. Więcej
informacji znaleźć można na stronie pro-
jektu: http://www.canonical.com/projects/
landscape.
Ubuntu Mobile – internet bez kompromisów
U
buntu Mobile to nowa dystrybu-
cja przeznaczona dla internetowych
urządzeń przenośnych, tzw. MID (ang.
Mobile Internet Device). Wydana zosta-
ła przez firmę Canonical Ltd., producen-
ta m.in. Ubuntu.
Całkiem nowe Ubuntu?
O nowej dystrybucji po raz pierwszy usły-
szeliśmy w maju 2007, gdy Matt Zimmer-
man na liście dyskusyjnej Ubuntu ogłosił,
że Canonical we współpracy z Intelem pra-
cować będą nad systemem dedykowanym
urządzeniom przenośnym. Pierwsze wyda-
nie planowane było na październik wraz z
Ubuntu 7.10 Gutsy Gibbon, ale opóźniło
się o kilka miesięcy.
Ubuntu Mobile reklamowane jest ha-
słem pełnia internetu, bez kompromisów
(ang full internet, no compromise). Wy-
dawca twierdzi, że system ma zupełnie
zmienić i przedefiniować nasz pogląd o
mobilnych urządzeniach. Jak sugeruje na-
zwa, dystrybucja jest oparta o Ubuntu, ale
w dużej mierze stworzona została od pod-
staw. System ma być elastyczny i łatwy do
przystosowania do szerokiej gamy urzą-
dzeń.
Wymagania sprzętowe
Typowe urządzenie gotowe do współpracy
z Ubuntu Mobile ma posiadać 4-7'' ekran
dotykowy oraz fizyczną bądź wirtualną
klawiaturę. Oprócz tego zawierać miało-
by 2-8GB pamięci Flash i ponad 256MB
ramu. Oferowane ma być także wsparcie
dla takich akcesoriów jak WiFi, Bluetooth,
GPS, czy kamera. Dodatkowo możliwe bę-
dzie wykorzystanie OpenGL.
Pełnia internetu, bez kompromisów
Jak sugeruje hasło reklamowe, w Ubun-
tu Mobile główny nacisk położono na
przeglądanie internetu. Wbudowana prze-
glądarka charakteryzuje się pełną obsłu-
gą technologii AJAX (ang. Asynchrono-
us JavaScript and XML), co ma pozwalać
na dostęp do wszelkich popularnych ser-
wisów Web 2.0, takich jak MySpace czy
Facebook.
Dodatkowo ma być możliwość opcjonal-
nego zainstalowania Flasha i Javy. Dzięki
dostarczonemu oprogramowaniu na urzą-
dzaniach typu MID możliwe będzie tak-
że słuchanie muzyki, oglądanie filmów, a
nawet granie w gry 3D. Oprócz tego bę-
dziemy mieć dostęp do komunikatora, Vo-
IP, kalendarza i wielu innych aplikacji co-
dziennego użytku.
Platforma ma oferować także system
automatycznych aktualizacji. Dodatko-
wym atutem będzie takie skonstruowanie
całości interfejsu użytkownika, by możli-
we było obsługiwanie urządzenia palcami,
bez konieczności używania rysika. Ma to
poprawić łatwość i intuicyjność obsługi.
Elastyczne rozwiązanie
dla producentów sprzętu
Ubuntu Mobile nie ma być jednak prze-
znaczony do samodzielnej instalacji na po-
siadanych już urządzeniach. System ofe-
rowany będzie producentom w ramach
umów OEM (sprzedawany wraz ze sprzę-
tem) i ODM (sprzedawany pod inną mar-
ką). Ma być to możliwe dzięki wspomnia-
nej już elastyczności i konfigurowalności.
W ramach dostosowywania dystrybucji do
własnych potrzeb producenci instalować
będą mogli dodatkowe (także własnościo-
we) oprogramowanie, np. aplikacje użyt-
kowe, czy kodeki.
Możliwości tworzenia oprogramowa-
nia ma być wiele. Interfejsy użytkowni-
ka mogą być wykonane w technologiach:
HTML, Flash, Python/GTK, C/C++/GTK
i Java. Firma Canonical oferuje także
wsparcie dla autorów aplikacji oraz zamie-
ściła w sieci przykłady jak tworzyć i porto-
wać oprogramowanie dla Ubuntu Mobile.
Jeszcze poczekamy
Niestety, jak utrzymuje Canonical, system
był do tej pory testowany tylko na jednym
urządzeniu firmy Samsung. Biorąc jed-
nak pod uwagę informacje zamieszczone
na stronie Ubuntu Mobile, a także rozmiar
sukcesu Ubuntu w zastosowaniach biur-
kowych, można wierzyć, że nowy system
rzeczywiście zrewolucjonizuje rynek urzą-
dzeń przenośnych.
Dla początkujących
Instalacji i konfiguracji się nie boję!
14
maj 2008
Dla początkujących
Instalacji i konfiguracji się nie boję!
15
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
Instalacji i konfiguracji
się nie boję!
Niektórzy twierdzą żartobliwie, że tak naprawdę istnieją trzy systemy z rodziny pingwina: Debian,
Slackware i Gentoo. Oczywiście my mamy świadomość, że jest to jedynie forma przekornego dowcipu.
Ale czy jest tak naprawdę? Przecież wiemy, że Debian i Slackware to dwie najstarsze, rozwijane do
dzisiaj dystrybucje. Obecnie istnieje mnóstwo projektów opartych właśnie na tych wspomnianych. Można
by rzec, że są one jakby rodzicami współczesnych linuxów.
Łukasz Ciesielski
Z
arówno Debian jak i Slackware powstały w
1993 roku. Uważane są one za jedne z naj-
trudniejszych do opanowania, chociaż każdy
z nich prezentuje inną politykę zarządzania
systemem. Czy rzeczywiście słusznym stwierdzeniem
jest nazwanie tych systemów trudnymi do okiełznania
przekonamy się w praktyce. Niestety temat jest rozległy,
więc skupimy się jedynie na Debianie oraz opartym na
nim Ubuntu. Zdecydowanie konfiguracja tego drugiego
jest łatwiejsza. Twórcy Ubuntu zastosowali wiele udo-
godnień, które sprawiają, że jego obsługa stała się prosta
i przyjemna nawet dla początkujących, którzy nie mieli
wcześniej styczności z linuxem. Byłoby jednak błędem,
gdybyśmy rozpoczęli naszą przygodę od Debiana. Jeże-
li wcześniej nie mieliśmy styczności z linuxem, mogli-
byśmy się łatwo zniechęcić. Najlepiej zastosować w tym
przypadku metodę małych kroków i stopniowo podnosić
poprzeczkę. Jeżeli kogoś naprawdę interesują systemy z
pingwinkiem, powinien się zastanowić, czy w przyszło-
ści chciałby przejść na bardziej zaawansowaną dystrybu-
cję, a także czy potrzebuje łatwego do opanowania sys-
temu operacyjnego. Osoby zainteresowane poszerzaniem
swoich wiadomości na temat obsługi linuxa powinny za-
cząć od lekkiej dystrybucji, a następnie w momencie,
w którym uznają, że posiadły już odpowiednią wiedzę
przejść na trudniejszą. Tu godne polecenia stają się wy-
mienione na początku trzy systemy (Debian, Slackware,
Gentoo). Ale jaki system wybrać? Autor nie chce fawory-
zować konkretnych dystrybucji. Należy jednak przemy-
śleć pewną kwestię. Czy finalnie chcielibyśmy używać
Debiana, czy Slackware? Następnie dobieramy proste-
go w obsłudze linuxa opartego na konkretnej gałęzi, np.
na Debianie (tu godne polecenia są: cała rodzina wspo-
mnianego już Ubuntu, Linux Mint, oraz Knoppix), lub na
Slackware (Slax).
Czemu ma służyć ten zabieg? Odpowiedź jest prosta.
Załóżmy, że wybraliśmy Debiana i Ubuntu. Wiemy, że w
przyszłości chcemy korzystać z Debiana. Biorąc pod uwa-
gę fakt, że Ubuntu jest oparty właśnie na Debianie, posia-
da ogromną zgodność pod względem narzędzi, komend,
systemu pakietów itd. ze swoim pierwowzorem. Aby zbyt-
nio nie komplikować tematu, kontynuujmy wątek Debia-
na i Ubuntu. Zaczniemy od krótkiej charakterystyki, prze-
brniemy przez instalację (czasem bardzo kłopotliwą) i
Dla początkujących
Instalacji i konfiguracji się nie boję!
14
maj 2008
Dla początkujących
Instalacji i konfiguracji się nie boję!
15
www.lpmagazine.org
zmierzając ku codziennemu użytkowaniu,
uporamy się z konfiguracją.
Ubuntu i rodzina
Ubuntu jest ciekawym projektem, na czele
którego stoi firma Canonical. Aktualna wer-
sja to 7.10 o wdzięcznej nazwie Gutsy Gib-
bon, które zajmuje czołowe miejsca w ran-
kingach popularności linuxów. Zaletą tego
systemu są różnorodne udogodnienia zwią-
zane z konfiguracją. Mam tu na myśli cho-
ciażby graficzne programy lub nakładki na
aplikacje konsolowe, służące do ustawiania
ekranu (rozmiaru, odświeżania itp.), insta-
lacji nowych pakietów, pobierania aktualiza-
cji, łączenia z Internetem i wreszcie, co naj-
ważniejsze – instalacji systemu. Ubuntu jest
dostępne w wielu tzw. smakach (czyli wer-
sjach o różnych środowiskach graficznych,
jak chociażby Ubuntu z GNOME, Kubun-
tu z KDE, Xubuntu z Xfce, Fluxbuntu z Flu-
xbox), jednak każdy smak ma cechę wspól-
ną: występuje w postaci LiveCD lub Live-
DVD. Co to oznacza? Wręcz trywialną insta-
lację systemu na dysku twardym. Właściwie
każdy, kto potrafi czytać poradziłby sobie z
zainstalowaniem Ubuntu. Wystarczy włożyć
płytę do napędu CD-ROM. Zresztą takie są
założenia Ubuntu. Ma to być system w pełni
przyjazny dla użytkownika. W ustawieniach
BIOS-u ustawiamy, aby CD-ROM był starto-
wany przed dyskiem twardym. Po wystarto-
waniu płyty, naszym oczom ukaże się menu.
Poprzez naciśnięcie klawisza F2 wyświe-
tlimy kolejne menu, dzięki któremu będzie-
my mogli wybrać język. Po wyborze języ-
ka akceptujemy pierwszą pozycję menu star-
towego, czyli Start or install Ubuntu. Nato-
miast kiedy załaduje się LiveCD możemy
wybrać z pulpitu ikonę Zainstaluj i podążać
za programem instalacyjnym.
Aby nie było wątpliwości prześledźmy
ten proces i przyjrzyjmy się kolejnym kro-
kom. Zaczynamy oczywiście od uruchomie-
nia LiveCD. Naszym oczom ukaże się pulpit
gotowego do pracy systemu.
Pierwszym z siedmiu kroków jest wybór
najdogodniejszego dla nas języka (np. pol-
skiego). Teraz zostaniemy poproszeni o wy-
bór strefy czasowej (np. Warszawa). Jest to
potrzebne do określenia najbliższego nam
serwera Ubuntu, z którego system będzie po-
bierał aktualizacje oraz do ustawienia zegara.
Trzecim krokiem jest ustawienie odpowied-
niego układu klawiatury.
W tym momencie należy sprawdzić, czy
możemy pisać polskie znaki diakrytyczne
(np. ś, ć, ń, ź itd.), oraz czy klawisze Y i Z
nie zostały zamienione. Teraz najważniej-
szy krok (choć dopiero czwarty): tworzymy
odpowiednie partycje. No dobrze, ale co to
znaczy, że tworzymy partycje? Otóż nic in-
nego, jak to, że dzielimy dysk twardy w spo-
sób, który nam najbardziej odpowiada. Ma-
my tu kilka możliwości. Przede wszystkim
możemy zainstalować system w wolnym od
danych miejscu naszego dysku (np. obok in-
nego systemu, powiedzmy Windows). In-
nym (i najbardziej polecanym) sposobem
jest wybranie opcji, w której tzw. przewod-
nik podzieli cały dysk na poszczególne par-
tycje. Domyślnie zostaną utworzone dwie
partycje: domowa (z systemem plików ext3)
oraz wymiany (swap). Ostatnią metodą po-
działu dysku na partycje jest wybranie opcji
tzw. manualnego podziału (aż chciałoby się
powiedzieć ręcznego) wykorzystując pro-
gram GParted.
Po wyznaczeniu partycji instalator
Ubuntu zaproponuje import istniejących
profili. Nie ma tu nic skomplikowanego,
więc nie będziemy tego rozpisywać. W szó-
stym kroku instalator zada kilka pytań odno-
śnie naszych danych osobowych (imię i na-
zwisko, e-mail itp.). Ostatni krok instalacji
to podsumowanie.
Akceptujemy wszystkie ustawienia,
których wyboru dokonaliśmy w programie
instalacyjnym i nie pozostaje nam nic in-
nego jak... oczekiwanie na nasz nowy sys-
tem. Po zakończeniu pracy instalator zapy-
ta nas, czy chcemy w dalszym ciągu korzy-
stać z wersji LiveCD, czy uruchomić kom-
puter ponownie, aby móc korzystać z sys-
temu, który przed momentem zainstalowa-
liśmy. Oczywiście czym prędzej restartuje-
my komputer, aby zobaczyć nasze arcydzie-
ło. Na pierwszy rzut oka wygląda identycz-
nie jak wersja LiveCD. Ale jest pewna róż-
nica - teraz możemy dowolnie konfigurować
naszego Ubuntu. O tym porozmawiamy w
następnym podrozdziale.
Małymi krokami zmierzamy do...
No właśnie, do czego? Do osiągnięcia efek-
tu końcowego, którym jest w pełni skonfigu-
rowany i gotowy do pracy system. Od czego
zacząć? Zapamiętajmy następującą zasadę: je-
żeli jest taka możliwość, to konfigurację linu-
xa zawsze zaczynajmy od ustawienia parame-
Rysunek 1.
Menu główne płyty liveCD
Rysunek 2.
Ikona umożliwiająca rozpoczęcie proce-
su instalacyjnego
Listing 1.
Przykładowa lista repozytoriów w pliku sources.list
## WWW.DEBIAN-MULTIMEDIA.ORG
deb
http
:
//
www
.
debian
-
multimedia
.
org
etch
main
deb
-
src
http
:
//
www
.
debian
-
multimedia
.
org
etch
main
## OPERA
deb
http
:
//
deb
.
opera
.
com
/
opera
/
stable
non
-
free
## SKYPE
deb
http
:
//
download
.
skype
.
com
/
linux
/
repos
/
debian
/
stable
non
-
free
## PICASA
deb
http
:
//
dl
.
.
com
/
linux
/
deb
/
stable
non
-
free
## BACKPORT
deb
http
:
//
www
.
backports
.
org
/
debian
etch
-
backports
main
contrib
non
-
free
## WINE
deb
http
:
//
wine
.
budgetdedicated
.
com
/
apt
etch
main
## VIRTUALBOX
deb
http
:
//
www
.
virtualbox
.
org
/
debian
etch
non
-
free
## UNOFICIAL
deb
http
:
//
ftp
.
debian
-
unofficial
.
org
/
debian
/
etch
main
contrib
non
-
free
restricted
16
Dla początkujących
Instalacji i konfiguracji się nie boję!
maj 2008
17
Dla początkujących
Instalacji i konfiguracji się nie boję!
www.lpmagazine.org
trów potrzebnych do połączenia z Internetem.
Jest ono niezbędne do zainstalowania aktuali-
zacji oraz dodatkowych pakietów. W tym ce-
lu wybieramy z menu System-->Administra-
cja–>Sieć. Pozostaje jeszcze sprawdzenie,
czy jesteśmy posiadaczami połączenia mode-
mowego, czy przewodowego.
Jeżeli do połączenia z Internetem wyko-
rzystujemy modem, należy wybrać taki wła-
śnie typ. Teraz wchodzimy we Właściwości.
Ujrzymy tam trzy zakładki. Najpierw w usta-
wieniach ogólnych wpisujemy nasz numer te-
lefonu oraz prefix. Dalej wskazujemy mo-
dem, wybieramy port modemu, oraz decydu-
jemy, czy wybieranie numeru będzie impulso-
we, czy tonowe.
W przypadku połączenia przewodowe-
go mamy do wyboru kilka opcji: DHCP (pró-
buje automatycznie skonfigurować nasz Inter-
net), Statyczny adres IP, lub Lokalna sieć Ze-
roconf. Najprawdopodobniej będziemy zmu-
szeni wybrać opcję Statyczny adres IP i wy-
pełnić kolejne pola: Adres IP, Maska podsie-
ci i Adres bramki.
W kolejnej zakładce ustawiamy adresy
serwerów DNS. Należy podać przynajmniej
jeden numer. Teraz nie pozostało nam nic in-
nego jak tylko zapisać ustawienia klikając na
Save (przycisk z rysunkiem dyskietki).
Gotowe, Internet jest skonfigurowany.
Proces ten odbywa się tak samo zarówno
dla Debiana jak i Ubuntu. W przypadku De-
biana wybieramy z menu Środowisko–>Ad-
ministracja–>Ustawienia sieci. Oczywiście
Internet można (a nawet powinno się) usta-
wić już podczas instalacji, ale o tym w dal-
szej części tekstu. Jeżeli poprawnie ustawi-
my sieć, to prawie natychmiast zostanie-
my poinformowani o dostępnych aktualiza-
cjach. Oczywiście zaleca się ich instalację.
Podsumujmy, co już zrobiliśmy. Mamy do-
stęp do Internetu oraz zaktualizowany sys-
tem. To jest bardzo dużo, ponieważ mamy
możliwość pobierania nowego oprogramo-
wania (i nie tylko), oraz aktualny system,
co z kolei wiąże się między innymi z je-
go bezpieczeństwem. Zadaniem aktualiza-
cji jest usuwanie błędów oraz dodawanie
nowych opcji (lub udoskonalanie już do-
stępnych).
Kolejnym krokiem jest uzupełnienie
tzw. listy repozytoriów czyli miejsc, z któ-
rych system będzie pobierał oprogramo-
wanie oraz aktualizacje. Jest to chyba jed-
na z kluczowych czynności podczas każdej
konfiguracji, ponieważ od tego zależy jakie
oprogramowanie będziemy mogli pobierać z
Internetu. Dla tych, którzy nie mieli wcze-
śniej styczności z linuxem, repozytoria bę-
dą prawdziwą nowością. Wyjaśnię, czym w
ogóle są repozytoria. Ogólnie rzecz ujmując
są to miejsca, w których znajdują się pakie-
ty gotowe do instalacji. Równie dobrze mo-
że być to płyta CD/DVD jak serwer. Repo-
zytoria są podzielone według odpowied-
nich kategorii (np. otwartość kodu, komer-
cyjność, alfabetycznie). Lista taka znajduje
się w pliku sources.list. Musimy go edyto-
wać jako root:
sudo gedit /etc/apt/sources.list
Gedit to domyślny program do przeglądania
plików tekstowych w GNOME. Jeżeli uży-
wasz np. KDE, XFCE to zmień Gedit na in-
ny, np. Kate, Vim, Nano itp. Jeśli otworzy-
liśmy już ten plik, musimy dodać do niego
kilka adresów. Ponieważ jest to bardzo waż-
ne, omówimy listę repozytoriów dość szcze-
gółowo. Dodam tylko, że w pliku tym istnie-
je możliwość dodawania komentarzy. Dzię-
ki nim łatwiej jest utrzymać porządek, po-
nieważ możemy oddzielić od siebie np. re-
pozytoria bazowe od tych związanych z me-
diami itd. Komentarz poprzedzamy znakiem
#. Po tym znaku możemy wpisać dowol-
ny tekst. Nie używajmy jednak polskich li-
ter z ogonkami. Zacznijmy od adresów pod-
stawowych.
• deb http://pl.archive.ubuntu.com/ubuntu/
gusty main restricted
• deb-src
http://pl.archive.ubuntu.com/
ubuntu/ gusty main restricted
• deb http://pl.archive.ubuntu.com/ubuntu/
gusty-updates main restricted
• deb-src
http://pl.archive.ubuntu.com/
ubuntu/ gusty-updates main restricted
• deb http://pl.archive.ubuntu.com/ubuntu/
gusty universe
• deb-src
http://pl.archive.ubuntu.com/
ubuntu/ gusty universe
• deb http://pl.archive.ubuntu.com/ubuntu/
gusty multiverse
• deb-src
http://pl.archive.ubuntu.com/
ubuntu/ gusty multiverse
• deb http://pl.archive.ubuntu.com/ubuntu/
gusty-backports main restricted universe
multiverse
• deb-src
http://pl.archive.ubuntu.com/
ubuntu/ gusty-backports main restricted
universe multiverse
• deb http://security.ubuntu.com/ubuntu gu-
sty-security main restricted
• deb-src http://security.ubuntu.com/ubuntu
gusty-security main restricted
• deb http://security.ubuntu.com/ubuntu gu-
sty-security universe
• deb-src http://security.ubuntu.com/ubuntu
gusty-security universe
• deb http://security.ubuntu.com/ubuntu gu-
sty-security multiverse
• deb-src http://security.ubuntu.com/ubuntu
gusty-security multiverse
Dzięki tym adresom nasz system będzie za-
wsze zaktualizowany, pozbędziemy się nie-
chcianych błędów, a także będziemy mogli
instalować oprogramowanie wspierane przez
Ubuntu. Zawierają one tzw. wolne oprogra-
mowanie. Niestety jak wiadomo prawie każ-
demu użytkownikowi linuxa, istnieje także
wiele aplikacji spod znaku non-free lub com-
mercial (np. java, mp3 itp.). Skąd je pobrać?
Także z repozytoriów. Dodajmy w tym celu
kilka nowych adresów:
• deb http://medibuntu.sos-sts.com/repo/ gu-
sty free
• deb http://medibuntu.sos-sts.com/repo/ gu-
sty non-free
• deb-src http://medibuntu.sos-sts.com/repo/
gusty free
• deb-src http://medibuntu.sos-sts.com/repo/
gusty non-free
• deb http://packages.medibuntu.org/ gusty
free non-free
• deb http://archive.canonical.com/ubuntu
gusty-commercial main
Możemy już zainstalować javę, kodeki au-
dio i wideo przeznaczone dla Windows.
Właściwie do szczęścia nic więcej nie po-
Rysunek 3.
Pulpit ze środowiskiem GNOME
Rysunek 4.
Pulpit ze środowiskiem KDE
16
Dla początkujących
Instalacji i konfiguracji się nie boję!
maj 2008
17
Dla początkujących
Instalacji i konfiguracji się nie boję!
www.lpmagazine.org
trzeba. Można jeszcze dodać kilka dodat-
kowych, ale ciekawych zarazem adresów.
Mam tu na myśli skype, picasa (świetna
przeglądarka grafiki oraz edytor, w którym
możemy korygować zdjęcia), wine (emula-
tor aplikacji przeznaczonych dla Windows),
googleearth, oraz kadu (odpowiednik Ga-
du-Gadu).
• deb
http://download.skype.com/linux/
repos/debian/ stable non-free
• deb http://dl.google.com/linux/deb/ stable
non-free
• deb http://www.kadu.net/download/binary/
ubuntu/repo gusty main
• deb http://wine.budgetdedicated.com/apt
gusty main
I to już cała lista repozytoriów. Teraz w konso-
li wpisujemy:
sudo apt-get update
. I w tym
momencie system powinien zarządać tzw. klu-
czy. Jeżeli tak się stało, to niczym się nie przej-
muj. Tak miało być. Musimy dać systemowi,
czego żąda. Aby pobrać taki klucz wydajemy
takie polecenia:
gpg --keyserver subkeys.pgp.net --
recv-keys numer_klucza
gpg --armor --export numer_klucza |
sudo apt-key add -
Jeżeli chodzi o wstępną konfigurację, to już
koniec. Dodam tylko, chociaż dotyczy to ra-
czej Debiana, że można też dołączyć do repo-
zytoriów płytę CD/DVD. Jest to istotne kie-
dy nie mamy połączenia z Internetem. Aby
tego dokonać w konsoli wpisujemy jako ro-
ot apt-cdrom add. Teraz program przeszuka
CD/DVD i wpisze nowe źródło do pliku so-
urces.list. Teraz nie pozostaje nam nic inne-
go jak żmudne instalowanie dodatkowych pa-
kietów. Proponuję zacząć od polonizacji sys-
temu. Aby cieszyć się spolszczeniami instalu-
jemy pakiety:
sudo apt-get install language-pack-gno-
me-pl language-pack-gnome-pl-base langu-
age-support-pl language-pack-pl language-
pack-pl-base myspell-pl openoffice.org-l10n-pl
mozilla-firefox-locale-pl-pl thunderbird-loca-
le-pl wpolish aspell-pl
Teraz nawet sam proces konfiguracji powi-
nien być prostszy, ponieważ będzie łatwiej zna-
leźć odpowiednie opcje. No dobrze, ale pewnie
chcielibyście posłuchać muzyki, albo obejrzeć
film. Dodajmy więc potrzebne paczki. Ich skład
jest pokaźny, jednak poza kilkoma (np. w32co-
decs) mają małe rozmiary.
sudo apt-get install ubuntu-restricted-
extras gstreamer0.10-ffmpeg gstreamer0.10-gl
gstreamer0.10-plugins-base gstreamer0.10-
plugins-good
gstreamer0.10-plugins-bad
gstreamer0.10-plugins-bad-multiverse gstre-
amer0.10-plugins-ugly gstreamer0.10-plugins-
ugly-multiverse w32codecs avifile-win32-plu-
gin avifile-mjpeg-plugin avifile-xvid-plugin
avifile-vorbis-plugin avifile-mad-plugin avi-
file-divx-plugin ffmpeg ffmpeg2theora libxi-
ne-extracodecs libdvdcss2 ubuntu-restricted-
extras gstreamer0.10-ffmpeg avifile-divx-plu-
gin avifile-xvid-plugin libavcodec0d ffmpeg lib-
dvdcss2 libdvdread3 w32codecs totem-gstre-
amer libxine1-ffmpeg libxine1-plugins libxi-
ne1-gnome libxvidcore4
Do prawidłowego działania multimediów
wystarczyłaby jedynie część podanych pakie-
tów (w32codecs, libdvdcss2, libdvdread3),
jednak czasem lepiej mieć więcej niż mniej.
Gratulacje!
Właśnie skonfigurowałeś swój system. Nie
było to trudne. Na koniec dodam, że czasami
Ubuntu nie wykrywa rozdzielczości monitora.
Musimy sami ją ustawić. Dawniej trzeba było
wpisywać dane manualnie w pliku xorg.conf.
Gutsy Gibbon oferuje jednak nakładkę Xse-
rver-Xorg, w której jedynie wybieramy intere-
sujące nas parametry, zapisujemy i już.
Rysunek 5.
Wybór odpowiedniego dla danego kraju układu klawiatury
Rysunek 6.
GParted - program partycjonujący
18
Dla początkujących
Instalacji i konfiguracji się nie boję!
maj 2008
19
Dla początkujących
Instalacji i konfiguracji się nie boję!
www.lpmagazine.org
Chciałbym jeszcze zaznaczyć, że aby
ustawienia grafiki zostały wczytane przez sys-
tem, należy zresetować samą grafikę. Uwaga,
nie resetujemy całego systemu, a jedynie gra-
fikę. Robimy to za pomocą klawiszy: CTR-
L+ALT+BACKSPACE. Teraz już wszystko
powinno działać.
Debian - ojciec stabilności
System może dać użytkownikowi trzy rzeczy:
stabilność, funkcjonalność, oraz wydajność. I
to wszystko właśnie oferuje Debian. Występu-
je on w kilku wersjach, takich jak stable, te-
sting, unstable oraz w wersji eksperymental-
nej. Nie mamy tu do czynienia z czymś takim
jak "smaki" w Ubuntu. Jest tylko jeden sys-
tem - Debian. Oczywiście można pobrać z sie-
ci lub kupić płyty zawierające ten system wraz
ze skonfigurowanym (do pewnego stopnia)
środowiskiem graficznym, np. KDE, GNOME
czy XFCE. Należy jednak mieć świadomość,
że Debian pozostanie Debianem. Zasadniczo
jest to linux skierowany do osób z pewnym
doświadczeniem. Najczęściej jest pobierany
z sieci w postaci tzw. netinstall. Jest to sys-
tem bazowy, bardzo odchudzony. Do instala-
cji wersji netinstall niezbędne jest połączenie
z Internetem. W trakcie jego instalacji pobie-
rane są potrzebne pakiety oraz biblioteki wła-
śnie z sieci. Ponieważ jest to najbardziej za-
awansowana forma instalacji skupimy się wła-
śnie na niej, oraz na instalacji z pierwszej pły-
ty CD. Jak zapewne Czytelnikowi wiadomo
aktualnie, kompletny system (wraz z repo-
zytoriami) zajmuje 22 płyty CD, lub 4 DVD
(czwarta to aktualizacje). Zalecam następują-
cą zależność: dla serwerów oraz komputerów,
od których wymaga się stabilności polecam
wersję stabilną (czyli aktualnie Debian Etch),
natomiast dla komputerów, od których nie wy-
maga się rygorystycznie stabilności mogę re-
komendować wersję testową (Debian Lenny).
Dlaczego? Już wyjaśniam. Otóż cykl wyda-
wania wersji stabilnych w Debianie jest dosyć
ociężały. Starając się aby wersja stabilna by-
ła praktycznie niezawodna, występująca przed
nią wersja testowa musi być rzetelnie testowa-
na przez okres 1,5-3 lat. Po tym czasie wersja
testing staje się stable, a wersja do tej pory nie-
stabilna staje się testową. Wspomniałem jesz-
cze o wersji eksperymentalnej. Nie jest ona
jednak włączana w hierarchię Debiana (mam
tu na myśli wersję stabilną, testową i niesta-
bilną). Trafiają do niej jedynie aplikacje, które
mogłyby poważnie zachwiać stabilność syste-
mu (lub nawet komputera).
Jeżeli jesteśmy już posiadaczami pły-
ty z systemem przystępujemy do instalacji.
Po pierwsze włączamy komputer tak, aby
jako pierwszy był czytany CD-ROM. Jeżeli
wszystko pójdzie tak jak powinno (a na tym
etapie nie ma innej możliwości) przystępuje-
my do właściwej instalacji.
W momencie kiedy ujrzymy ekran po-
witalny mamy możliwość wybrania trybu in-
stalacji. Nie łudźmy się jednak, nie będzie to
tak prosta instalacja jak w przypadku Ubun-
tu. Jednakże możemy wybrać tryb tekstowy
lub pseudograficzny. Dlaczego pseudo? Po-
nieważ wygląda on tak jak tekstowy z tą tyl-
ko różnicą, że możemy posługiwać się mysz-
ką przy dokonywaniu wyborów. Być może
jednak ktoś ma takie życzenie. Należy wpi-
sać expertgui i zaakceptować to klawiszem
ENTER. Jeśli jednak wybieramy tryb teksto-
wy wciskamy po prostu ENTER i przecho-
dzimy dalej. Teraz Debian pozwoli nam wy-
brać język oraz układ klawiatury.
Kolejnym krokiem będzie próba automa-
tycznego wykrycia i konfiguracji sieci (tzw.
DHCP).
Najczęściej jednak będziemy postawieni
w sytuacji, w której sami będziemy konfiguro-
wać Internet. Autor instalował Debiana na kil-
ku maszynach i niestety nigdy automatycznie
sieć nie została wykryta. W przypadku nieuda-
nej próby konfiguracji sieci pojawi się menu,
w którym będziemy mogli wybrać najwygod-
niejszą dla nas opcję: Konfiguruj sieć ręcznie
lub Nie konfiguruj sieci teraz. Zalecam jednak
skonfigurować sieć, ponieważ Internet jest po-
trzebny do całkowitego ustawienia systemu
(między innymi mam na myśli repozytoria i
aktualizacje). Wybierając tę opcję będziemy
musieli przebrnąć przez kolejne panele żąda-
jące od nas informacji takich jak: IP, Maska,
Brama, DNS. Teraz należy jeszcze wpisać na-
zwę hosta oraz domenę. Jeżeli komputer jest
podłączony do jakiejś sieci lokalnej to poda-
jemy odpowiednie nazwy. Jeśli jednak nie je-
steśmy w lokalnej sieci to najzwyczajniej w
świecie zostawiamy pola tak jak są i potwier-
dzamy klawiszem [ENTER].
Przyszła kolej na coś, co przyprawia o gę-
sią skórkę początkujących – partycjonowanie.
Strach przed nim jest nieuzasadniony i wyni-
ka raczej z mitów o komputerach niż jakiejkol-
wiek ich destrukcji. Należy jednak podejść do
tego rozsądnie, ponieważ źle ustawienie dysku
sprawi, że praca stanie się mniej komfortowa.
Co mam na myśli? Chodzi mi o to, że bardzo
często folder domowy /home (czyli ten, w któ-
rym będziemy przechowywać nasze cenne da-
ne) jest tworzony na tej samej partycji co sys-
tem. Oczywiście rozumiem, że nikt nie prze-
widuje reinstalacji systemu, czy awarii. nale-
ży jednak mieć świadomość, że takie sytuacje
się zdarzają. Bezpieczniej jest umieścić ten fol-
der na osobnej partycji. Kolejna sprawa: należy
pamiętać o tzw. partycji wymiany, czyli swap.
Jeżeli ktoś jest szczęśliwym posiadaczem 1 GB
pamięci RAM, to nie musi sobie zbytnio za-
wracać tym głowy. Ale w przypadku, gdy nasz
komputer nie jest aż tak wyposażony, partycja
swap jest niezwykle przydatna. Jest to taka pa-
mięć RAM w postaci pliku na dysku twardym.
Wracając do tematu. W menu partycjonowania
mamy do wyboru cztery możliwości. Począt-
kującym radzę wybrać partycjonowanie całego
dysku. Osobom, które miały już do czynienia
z partycjonowaniem (obojętnie na jakim sys-
Rysunek 7.
Okno ustawień połączenia sieciowego
Rysunek 8.
Ustawienie sieci dla ppp
Rysunek 9.
Manualne uzupełnianie danych dla połą-
czenia sieciowego
Rysunek 10.
Adresy serwerów nazw (DNS)
18
Dla początkujących
Instalacji i konfiguracji się nie boję!
maj 2008
19
Dla początkujących
Instalacji i konfiguracji się nie boję!
www.lpmagazine.org
temie operacyjnym) zalecam manualne dziele-
nie dysku twardego. Jeśli zdecydowaliśmy się
na opcję Manual musimy sami zadbać o utwo-
rzenie partycji, nadanie systemu plików itp. Nie
jest to trudne. na początek wybieramy Utwórz
nową partycję. Podajemy rozmiar nowej party-
cji (możemy go podać w procentach, np. 20%).
Teraz wskazujemy, czy partycja ma być podsta-
wowa, czy logiczna (podstawowa jeśli forma-
towaliśmy cały dysk, natomiast logiczna gdy
Debian nie jest jedynym systemem). Wybie-
ramy lokalizację (początek lub koniec dysku).
Pamiętajmy jednak, że na samym końcu dys-
ku powinna się znaleźć partycja swap. Wiąże
się to z faktem, że najszybszy dostęp do da-
nych na dysku jest na jego początku oraz koń-
cu. Jeszcze tylko ustalimy typ plików, np. ext3.
W przypadku partycji swap zamiast Typ plików
wybieramy pozycję Przestrzeń wymiany. Zapi-
sujemy zmiany i gotowe! Po partycjonowaniu
przyszła chwila na odprężenie. Kolejne kroki
nie sprawią już trudności. Będziemy proszeni
o hasło superużytkownika (root) oraz nazwę i
hasło nowego użytkownika. Kiedy wprowadzi-
my te dane zostanie zainstalowany system ba-
zowy. Instalator poprosi nas o podanie serwera
lustrzanego (czyli miejsca z dodatkowymi pa-
kietami). Najlepiej wybrać ftp.pl.debian.org.
Zostaniemy też poproszeni o podanie nazwy
serwera pośredniczącego. Jeśli takiego nie po-
siadamy zostawiamy pole puste i przechodzi-
my dalej. W tym momencie ukaże się okno z
zapytaniem o tzw. popularity-contest. Co to
jest i do czego służy? Jeżeli wyrazimy zgodę,
to nasz system raz w tygodniu wyśle informa-
cje o najczęściej używanych przez nas aplika-
cjach. Komu to jest potrzebne? Developerom,
którzy na podstawie statystyk umieszczają naj-
chętniej używane aplikacje w systemie (jako
domyślne). Jeszcze tylko zainstalujemy środo-
wisko graficzne i będziemy mogli cieszyć się
Debianem. W tym celu wybieramy z menu od-
powiednie pakiety. Dla komputerów klasy PC
zalecam System podstawowy oraz Środowisko
graficzne, natomiast w przypadku instalowania
Debiana na laptopie rozsądnie jest dołączyć pa-
kiety z gałęzi Laptop. Istnieje także możliwość
zainstalowania jedynie systemu bazowego i do-
instalowania (bądź nie) środowiska graficzne-
go (czyli tzw. X-ów) później. Na samym końcu
potwierdzamy instalację GRUB'a. I to już ko-
niec. Nie było aż tak ciężko. Kolejnym etapem
jest oczywiście konfiguracja. Jest ona bardzo
podobna do Ubuntu (ponieważ Ubuntu powstał
na bazie Debiana). Podam jednak repozytoria
dla Debiana Etch w wersji stabilnej. Z poziomu
root'a edytujemy plik gedit /etc/apt/sources.list
i dopisujemy:(Listing 1.)
Zapisujemy zmiany i wydajemy polece-
nie apt-get update. Zostaniemy poproszeni o
tzw. klucze. Wpisujemy je tak jak w przypadku
Ubuntu. Teraz nie pozostaje nic innego jak insta-
lacja oprogramowania.
Podsumowanie
Proces instalacji oraz konfiguracji systemu
nie jest tak skomplikowany jak się na pierw-
szy rzut oka wydaje. Przede wszystkim nie
należy się bać obsługi systemu poprzez kon-
solę. Dla osób, które wcześniej pracowały na
systemie Windows będzie to na początku lek-
ki szok. Kiedy autor zaczynał przygodę z li-
nuxem, także doznał takiego szoku. Teraz
jednak wie, że konsola jest potężnym, nieza-
stąpionym oraz szybkim narzędziem, dzięki
któremu linux jest tak potężnym systemem.
Na forach internetowych nowi użytkownicy
często stawiają minus tym systemom, które
mają tekstowy instalator. Wynika to zapew-
ne ze strachu oraz braku pewnych umiejętno-
ści. Obecnie jednak nawet tekstowe instala-
tory są tak napisane, że czytając kolejne po-
lecenia bez problemu można przebrnąć przez
proces instalacji.Jeżeli chodzi natomiast o
sam proces konfiguracji nowego systemu
to można przedstawić go w czterech kro-
kach: nawiązanie połączenia z Internetem,
dodanie odpowiednich repozytoriów do pli-
ku sources.list, instalacja aktualizacji oraz
instalacja dodatkowego oprogramowania
(np. kodeki audio i wideo). Czasami musi-
my jeszcze ustawić bądź doinstalować ste-
rowniki dla posiadanego sprzętu. I to by by-
ło na tyle.Tekst został oparty na Ubuntu oraz
Debianie nie bez przyczyny. Ubuntu zyskał
w ostatnim czasie ogromną popularność, któ-
ra nadal rośnie. Jest to najczęściej wybierana
przez nowicjuszy dystrybucja linuxa. Często
jednak nie wiedzą oni jak wykonać podsta-
wowe czynności. Tekst jest w pierwszej czę-
ści skierowany właśnie do nich. Druga część
tekstu została poświęcona Debianowi, ponie-
waż bardzo często użytkownicy Ubuntu w
momencie, kiedy posiądą już wystarczające
umiejętności zamieniają Ubuntu na Debia-
na, który jest niewątpliwie trudniejszym do
konfiguracji systemem. Pamiętajmy jednak o
jednym. Bez względu na dystrybucję, linuxa
można okiełznać. Nie należy się bać skom-
plikowanej instalacji czy konfiguracji. Po-
traktujmy to jako nową przygodę i wyzwanie
dla nas samych!
Rysunek 11.
Graficzna nakładka służąca do modyfi-
kacji zawartości pliku xorg.conf
Rysunek 12.
Powitalny ekran instalatora systermu
debian
Rysunek 13.
Wybór języka
Rysunek 14.
Próba automatycznej konfiguracji sieci
za pomocą DHCP
Rysunek 15.
Proces partycjonowania dysków
Autor 8 lat zajmuje się programowaniem i
linuksem. Od 4 lat pisze teksty związane z
tą tematyką. Ponadto jest jednym z redak-
torów Dragonia Magazine.
Kontakt z autorem:
lucas.ciesielski@gmail.com
O autorze
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
20
maj 2008
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
21
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
Q
topia została stworzona przez znaną w społecz-
ności linuksowej firmę Trolltech. Najbardziej
znanym osiągnięciem jest stworzenie bibliote-
ki QT, czyli podstawy środowiska graficznego
KDE. Na tej bibliotece jest również oparta Qtopia. Spotka-
łem się również z określeniami, zupełnie prywatnie, że Qto-
pia to takie niewielkie KDE dla komórek. Nie można oprzeć
się wrażeniu, że jest podobne do KDE, niemniej aż tak dale-
ko wysuniętych teorii bym nie wysnuwał.
Qtopia stała się interesującą pozycją zwłaszcza wtedy,
kiedy Trolltech wpadł na pomysł całkowitego otwarcia jej
kodu. Wcześniej był on częściowo zamknięty, częściowo
otwarty, czyli podwójnie licencjonowany.
Generalnie sytuacja w segmencie urządzeń mobilnych
(często zwanych smartfonami) stała się w roku 2007 i po-
czątkiem 2008 bardzo ciekawa. Jeszcze do niedawna więk-
szość linuksowych platform objętych była przynajmniej po-
dwójną licencją. Jak się zapewne domyślacie, producent za-
mykał tę część, którą sam opracował, niewiele pozostawia-
jąc do modyfikacji. Sytuacja ta zaczęła się całkiem niedaw-
no zmieniać. Pojawił się projekt o nazwie OpenMoko, któ-
ry z założenia ma być całkowicie otwarty. Pierwszy telefon z
nim to FIC Neo1973. Trolltech postanowił wyprzedzić kon-
kurencję i wydał na licencji GNU GPL całą platformę Qto-
pia Phone Edition, z telefonem Greenphone. W późniejszym
czasie udało się również przenieść platformę na Neo1973, co
zwiększyło jego atrakcyjność.
W praktyce Qtopia jest nie tylko abstrakcyjną platformą
linuksową, ale również interesującym środowiskiem graficz-
nym, które daje nam całkiem duże możliwości. Najlepszym
sposobem na jego omówienie jest przedstawienie przykładu.
Niestety dostępność Greenphone, czy Neo1973 w Polsce nie
jest zbyt dobra (w okolicach poziomu zero), stąd posiłkowa-
nie się ich nieco starszym bratem, który po pierwsze jest w
Polsce stosunkowo popularny, niekoniecznie drogi, oferuje
zaś całkiem spore możliwości.
Środowisko Qtopia omówię na przykładzie telefonu Mo-
torola (Ming) A1200. Środowisko nie jest w nim całkowi-
cie na wolnej licencji, jednakże w naprawdę dużym stopniu.
Zresztą wydanie na wolnej licencji to fakt, który ułatwia ko-
rzystanie i rozwój w pewnych środowiskach, ja zaś chciał-
bym się skupić na walorach użytkowych dla przeciętnego
Kowalskiego, który raczej sam nie zmodyfikuje kodu. Jest to
przede wszystkim recenzja platformy Qtopia, więc funkcje
Qtopia – przykład
platformy linuksowej w
urządzeniach mobilnych
Nie ma co ukrywać, że Linux przeżywa okres dynamicznego rozwoju. Wzrasta liczba użytkowników,
coraz to więcej producentów sprzętu i oprogramowania implementuje go w swoich rozwiązaniach.
Również w segmencie urządzeń przenośnych Linux zaczyna być traktowany poważnie. W artykule
chciałbym zaprezentować platformę przeznaczoną na telefony komórkowe z wbudowanym Linuksem.
Platforma ta ma pewne powiązania z KDE, a ponieważ w numerze również znalazła się recenzja
najnowszego KDE, pomyślałem, że dodatkowe informacje z pewnością Wam nie zaszkodzą.
Przemysław Żarnecki
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
20
maj 2008
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
21
www.lpmagazine.org
telefonu omówię na tyle tylko, na ile to będzie
konieczne. Przykład jest dal mnie o tyle łatwy
do omówienia, że sam całkiem niedawno sta-
łem się posiadaczem tego urządzenia.
Jak zdobyć Qtopię?
W Polsce najlepszym pomysłem jest telefon
Motorola A1200, co zresztą wspomniałem, być
może jego następca, czyli A1600. W chwili pi-
sania artykułu nie można go było zdobyć, acz-
kolwiek wspomnę o nim na pewno, bowiem
szykuje się prawdziwe cudo.
Kiedy pisałem te słowa A1200 można
było dostać już za około 700 zł. Tyle wy-
nosił koszt nowego urządzenia, dostępne-
go jednak tylko w nielicznych sklepach, za-
zwyczaj jednak w sieci, zwłaszcza na Alle-
gro. W tzw. oficjalnym obiegu, czyli u opera-
torów sieci komórkowych telefon jest niedo-
stępny. Zresztą na widok jednego z poprzed-
ników (czyli A1000) w salonie sieci XY za-
reagowano dosyć nerwowo pytaniem, a co to
jest...? Urządzenia są na tyle nowe, że nawet
domyślnym językiem jest chiński, co sprawi-
ło mi nie lada kłopot. Znalezienie menu z ję-
zykami nie było proste. Na szczęście po do-
słownie parunastu minutach się udało. Jego
położenie było w miarę standardowe. Trudno
mi powiedzieć, jak się ma sprawa z realizacją
ewentualnych reklamach, telefon sprzedawa-
ny jest z 24 miesięczną gwarancją realizowa-
ną u sprzedawcy. Wygląda solidnie i sprawu-
je się bezproblemowo, więc może nie będzie
takiej konieczności.
O zaletach samego telefonu nie będę się
rozpisywał, bo nie o tym mam pisać. Wspo-
mnę tylko dla zasady. Jego osiągi nie są im-
ponujące jak na dzisiejsze czasy, przynajm-
niej tak się wydaje. Aparat 2MPx, brak wi-
fi są pewnym mankamentem. Nie jest nim
natomiast rewelacyjny wręcz ekran dotyko-
wy, radio (chociaż bez RDS), odtwarzacz vi-
deo (można doinstalować Mplayera!!!) oraz
MP3. Kolejne możliwości wiążą się również
z samym oprogramowaniem. Takie elementy
jak przeglądarka plików Office, poczta ma-
il, przeglądarka www to tylko niewielki wy-
cinek możliwości. Stąd nazwa smartfon, lub
palmofon.
Telefon nie jest przy tym specjalnie duży,
posiada nowoczesny kształt oraz przezroczystą
klapkę! Najprostsze z możliwych rozwiązań, a
nikt chyba nie wpadł na nie wcześniej. Zamiast
bawić się w jakieś dwa ekrany mamy jeden, zaś
klapka go po prostu nie zasłania.Genialne.
Przy jego możliwościach ważny jest roz-
miar. Poprzednik (niestety bez Linuksa) miał
o wiele większy ekran, ale sam był sporych
rozmiarów, czym wzbudzał często śmiech
u przypadkowych widzów, zwłaszcza płci
pięknej. Na szczęście śmiechy szybko milkły
kiedy telefon prezentował swoje możliwości.
Powiedzmy, że ludzie w przedziale pociągu
mają w pierwszej kolejności minę mówiąca,
cóż to za kobyła. W następnej chwili wszyscy
z szeroko otwartymi ustami oglądają ze mną
film. W przypadku A1200 nie ma takich spoj-
rzeń, od razu bywają wręcz zazdrosne. Moż-
liwości ma zaś większe, aczkolwiek brakuje
mu wbudowanego GPS (poprzednik i następ-
ca mają). Wystarczy jednak podłączyć odpo-
wiednie urządzenie przez Bluetooth. Mam
nadzieję, że Was przekonałem. Przejdźmy do
właściwego tematu.
Qtopia jako
platforma linuksowa
– krótki przegląd oprogramowania
Zacznę od bardzo ważnej rzeczy. Mianowi-
cie od pytania, czy na komórkowego Linuk-
sa dostaniemy oprogramowanie? Oczywi-
ście, że tak i to w nadmiarze nawet. Na po-
ważnie, pozycji dedykowanych bezpośred-
nio pod ten system jest trochę mniej niż pod
Windows Mobile czy Symbian. Rozwiąza-
nia linuksowe są stosunkowo młode, acz-
kolwiek taki Symbian ma korzenie sięgają-
ce Uniksów/Linuksów. Generalnie użytkow-
nicy konkurencyjnych systemów mają jesz-
cze o wiele łatwiej, ale niekoniecznie i nie-
długo już, co udowodnię.
Po pierwsze, nawet jeżeli nie ma jakiegoś
oprogramowania dedykowanego Linuksowi,
to jest ogromna rzesza softu napisanego w
Javie. Java jest obsługiwana w Linuksie. W
związku z tym system operacyjny nie ma nic
tutaj do rzeczy. W Javie są programy, gry.
Bardzo często są to wersje odpowiadające
popularnym programom. Można zagrać so-
bie w jakiegoś nowego Need for Speeda, czy
skorzystać z Google Maps we współpracy z
zewnętrznym nadajnikiem GPS. Z dostępno-
ścią i instalacją oprogramowania w Javie nie
ma naprawdę większego problemu. Musimy
zwrócić uwagę tylko na dwa aspekty. Jeden
z nich to legalność oprogramowania. Wie-
le rzeczy w Javie to programy komercyjne,
których pirackie wersje są bardzo popularne.
Trochę głupio korzystać z legalnego, darmo-
wego systemu operacyjnego i używać w nim
pirackiego oprogramowania. Drugi aspekt to
dostosowanie programu do ekranów dotyko-
wych. Sprzętu z takim rozwiązaniem jest już
całkiem sporo, niemniej musimy zwrócić na
to uwagę przy pobieraniu programu.
Poza Javą można znaleźć również opro-
gramowanie w pakietach. Osoby, które na co-
dzień korzystają z deb-ów, bądź rpm-ów bę-
dą czuły się jak ryba w wodzie. Qtopia oferu-
je obsługę pakietów z rozszerzeniem (m)pkg.
W sieci pojawia się coraz większy ich zbiór,
jest również sporo programów do ich tworze-
nia, więc nic nie stoi na przeszkodzie (może
poza możliwościami telefonu, które małe nie
są) aby spróbować samemu coś stworzyć. Do
obsługi pakietów niezbędny jest menedżer.
Istnieje spory wybór.
Ponadto w Qtopii można uruchamiać pli-
ki wykonywalne z rozszerzeniem lin lub sh.
Normalnie jak w komputerze. Większość me-
nedżerów pakietów obsługuje pliki wykony-
walne. Są również aplikacje, które odpowia-
dają tylko za to.
Być może minusem jest fakt, że te przydat-
ne aplikacje trzeba samemu instalować. Weźcie
pod uwagę jednak, że telefon takiej klasy jest
przeznaczony dla różnych użytkowników. Nie
każdy koniecznie musi instalować nowe, za-
awansowane rzeczy. Dla przeciętnego Kowal-
Rysunek 1.
Jeden ze starszych pulpitów Qtopia
Rysunek 2.
Prosty odtwarzacz filmów
22
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
maj 2008
23
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
www.lpmagazine.org
skiego oprogramowanie, które znajduje się w
telefonie jest co najmniej wystarczające. Cóż
takiego występuje w domyślnej instalacji?
Dla osób intensywnie korzystających z
poczty na pewno przydatny będzie klient pocz-
towy, który bez problemu odczyta i wyśle każ-
dą wiadomość, także tę z załącznikami. Klienta
poczty konfiguruje się prosto i naprawdę przy-
jemnie. Skoro jestem przy kliencie pocztowym
i zastosowaniach sieciowych, to warto wspo-
mnieć również o przeglądarce internetowej.
Nie spełni może ona wymagań każdego inter-
nauty, jednakże jest przydatna przy podstawo-
wych zastosowaniach. Jeżeli pionowe ustawie-
nie ekranu komuś nie podpasuje, to może wów-
czas obrócić ekran poziomo, co znacznie po-
prawi komfort pracy. Wielu koneserów gorąco
poleca zainstalowanie nieco bardziej zaawan-
sowanej przeglądarki. Jeżeli domyślna Ci nie
wystarczy, to z pewnością warto zainstalować
oprogramowanie zewnętrzne. Moim skrom-
nym zdaniem najlepszą możliwością jest sko-
rzystanie z komórkowej wersji popularnej prze-
glądarki Opera. Może się mylę, jednakże jest to
wg mnie najlepsza przeglądarka internetowa na
telefony komórkowe. Jej autorzy dbają o obsłu-
gę wielu urządzeń. Instalator w Javie sprawia,
że ich wysiłek nie poszedł na marne.
Narzędziem, o którym z całą pewnością
warto wspomnieć jest Viewer, czyli przeglądar-
ka dokumentów w wielu popularnych forma-
tach. Za jej pomocą podglądniecie dokumenty
utworzone w MS Office, w PDF oraz paru in-
nych popularnych formatach (rtf, txt itp.). Nie-
stety przeglądarka plików w posiadanej przeze
mnie wersji nie obsługiwała kompletnie otwar-
tych formatów. Z tego co wiem, niewiele zmie-
niło się w tej materii. Jeżeli chcesz odczytać pli-
ki stworzone w OpenOffice, to musisz zaopa-
trzyć się w jakąś mobilną wersję tego progra-
mu. Niby nie jest to większy problem, ale za-
stanawiające jest, że platforma oparta na Wol-
nym Oprogramowaniu nie odczytuje otwartych
standardów w domyślnej wersji.
Funkcje multimedialne uzależnione są w
dużej mierze od posiadanego sprzętu. Obsłu-
ga aparatu z możliwościami nagrywania fil-
mów jest w zasadzie standardem. Te funk-
cje wspierają takie elementy jak np. Pho-
to Editor, który posiada niemałe możliwo-
ści obróbki obrazu. Swoją drogą, jest rów-
nież całkiem przyjaznym narzędziem do ry-
sowania. Swoimi możliwościami przypomi-
na nieco Windowsowego Painta uzupełnio-
nego o kilka filtrów związanych z obróbką
zdjęć. Można więc nawet rzec, że jest o wie-
le bardziej funkcjonalny. Jako anegdotę mo-
gę podać fakt, że kilka razy to narzędzie ra-
towało mnie przed zbytnim zajmowaniem się
niesfornym dzieckiem.
Wśród narzędzi multimedialnych znajduje
się również najczęściej Real Player, który mo-
że nie jest zbyt rozbudowanym narzędziem, ale
radzi sobie całkiem nieźle z wieloma formata-
mi plików multimedialnych. Osoby, które mają
inne przyzwyczajenia ze stacjonarnego Linuk-
sa, mogą skorzystać z mobilnej wersji Mplay-
era, która nosi miano zmplayer.
Na platformie funkcjonują także inne, rów-
nie przydatne aplikacje. Do standardu należy
kalendarz/terminarz, alarm, kalkulator. W za-
leżności od telefonu pojawiają się różne mniej
lub bardziej przydatne gadżety, takie jak np.
czytnik wizytówek. Jeżeli jest aparat obsługu-
jący tryb makro, wówczas nowy kontakt może
być dodany bezpośrednio z poziomu wizytów-
ki. Mechanizmy OCR działają nie najgorzej.
Qtopia jako platforma linuksowa
– zarządzanie systemem
Qtopia jest platformą i zarazem systemem ope-
racyjnym. Nawet zwykły Kowalski szybko do-
ceni ten fakt, zwłaszcza, że analogicznie do
swojego starszego i większego brata, komór-
kowy Linux jest również odporny na różnego
rodzaju zagrożenia, które są coraz powszech-
niejsze w urządzeniach mobilnych (chociażby
z racji rozpowszechnienia komórkowych syste-
mów operacyjnych).
Wspomniałem o tym, że można normal-
nie instalować i kasować programy. Jeżeli mo-
wa jest o pakietach, to za ten fakt odpowia-
da osobno zainstalowany menedżer pakietów.
Odinstalowanie programów napisanych w Ja-
vie odbywa się z poziomu oryginalnego opro-
gramowania.
Na licznych screenach możecie zauważyć,
że na Qtopię składa się pulpit i ikony. Na pul-
picie znajdują się różne informacje (w zależno-
ści od ustawień, a więc naszych preferencji). W
moim przypadku były to cztery ikony. Jedna
prowadziła do klawiatury na ekranie dotyko-
wym, jedna do menu z wiadomościami (zarów-
no maile, wiadomości sms/mms), nie zabra-
kło książki teleadresowej. Ważną funkcję peł-
niła czwarta ikona, która prowadziła do pulpi-
tu z aplikacjami i ustawieniami. Ta część warta
jest większej uwagi.
Z prawej strony na dole masz coś w stylu
menu z programami, które w telefonie komór-
kowym zawiera kilka ważnych opcji. Wspo-
mniałem już o kasowaniu aplikacji napisa-
nych w Javie (jest też skrót do przeglądarki,
przez który można instalować oprogramowa-
nie). Przydatnym narzędziem jest Task Mana-
ger. W kilku przypadkach byłem świadkiem,
jak różne osoby narzekały na prędkość działa-
nia telefonu. Niezależnie od systemu taka opcja
się przydaje, bowiem użytkownik ma to do sie-
bie, że włącza multum programów, a później
dziwi się, że coś mu sprzęt wolno działa. O wy-
łączeniu ich często zapomina. Zresztą wystar-
czy rzucić okiem na status pamięci, aby zdia-
gnozować problemowy program. Podobnie jak
w komputerach stacjonarnych można wyłączyć
zbędne usługi. Jest to nawet ważniejsze, bo-
wiem telefon pracuje w zasadzie non stop i nie
ma większych szans na to, że w czasie restar-
tu zbędne programy się wyłączą. Swoją drogą
warto dbać o funkcjonowanie urządzenia, któ-
re jest tak eksploatowane. W tym samym me-
nu znajduje się jeszcze kilka opcji związanych
z porządkowaniem listy programów. Tuż obok
meny znajduje się lista z kategoriami progra-
mów (przykładowy podział to Biuro, Gry, Mul-
timedia).
Z punktu widzenia zarządzania urządze-
niem mobilnym warto zainteresować się ikona-
mi znajdującymi się w kategorii Extra. Najważ-
niejszy jest panel sterowania, czyli setup. Znaj-
dziemy w nim wiele ważnych (ale nie zawsze
Rysunek 3.
Prosta forma zegara
Rysunek 4.
Menu z ustawieniami
Rysunek 5.
Menu w oryginale
22
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
maj 2008
23
Rozwiązania
Qtopia – przykład platformy linuksowej w urządzeniach mobilnych
www.lpmagazine.org
wszystkie) opcje związanych z ogólnym dzia-
łaniem telefonu, ale nie tylko. Można w nim
zmienić tapetę, ale również zarządzać połącze-
niem z komputerem za pomocą USB bądź Blu-
etooth, ustawić język, schemat graficzny, skali-
brować ekran, czy ustanowić połączenie z In-
ternetem. Wiele zaawansowanych opcji znaj-
duje się jednak poza panelem sterowania.
Szczegółowe ustawienia połączeń, wia-
domości znajdują się w odpowiadających im
częściach menu. Zazwyczaj trzeba w tym ce-
lu skorzystać z ikony menu w prawym dolnym
rogu, analogicznie jak w przypadku omówio-
nego wcześniej menu z aplikacjami. Jeżeli do-
kładnie przyjrzycie się różnym opcjom, zwró-
cicie na pewno uwagę na ich mnogość. Cza-
sem niestety przeszkadza to, że nie są w jed-
nym miejscu. Na upartego da się wszędzie i
zawsze dojść, aczkolwiek niektóre osoby mo-
gą mieć mniejsze lub większe problemy z od-
nalezieniem się. Nie tak łatwo odnaleźć np.
ustawienia związane z Bluetooth, zwłaszcza
jeżeli skasuje się oryginalne skróty. Niemniej
po początkowym okresie dezorientacji można
dostrzec logikę w ustawieniu poszczególnych
opcji i uznać platformę za przyjazną.
Qtopia – walory estetyczne
Skoro platformę można traktować w zasadzie
jako system operacyjny, również jej wygląd
jest co najmniej konfigurowalny. W telefonach
zainstalowane jest przynajmniej kilka, w sieci
można znaleźć dziesiątki, a nawet setki i tysiące
schematów graficznych. Zmiany mogą być na-
prawdę spore. Telefon, włącznie z interfejsem
może wyglądać nawet jak Windows, czy do-
wolny pulpit dystrybucji linuksowej.
Generalnie nawet domyślne schematy plat-
formy są przyjazne dla oka i powinny zadowo-
lić nawet największych malkontentów. W razie
czego nic nie stoi na przeszkodzie, aby samemu
coś zaprojektować i wgrać na telefon, zwłasz-
cza w pełni otwartej wersji platformy.
Qtopia – czy warto
Zastanówmy się, czy warto jest kupować
urządzenie, w którym znajdziemy Qtopię.
Od strony funkcjonalnej jak najbardziej. To
stwierdzenie adresuję przede wszystkich do
osób, które nigdy nie miały do czynienia z te-
lefonami wyposażonymi w system operacyj-
ny. Taki telefon może stanowić duże wspar-
cie w codziennych czynnościach – poczta,
zaawansowany organizer, możliwość zain-
stalowania dodatkowych, własnych aplika-
cji z tego zakresu.
Takie urządzenia sprawdzają się znakomi-
cie jako multimedialne centra rozrywki. MP3,
radio, wszelkie formaty muzyki cyfrowej w
XXI wieku są standardem. Jeżeli jakiś format
nie jest obsługiwany przez domyślne aplikacje,
instaluje się następne. Nie zawsze wystarczy
obsługa Javy, często konieczny jest konkretny
system operacyjny.
Stosunkowo dużo aplikacji jest natywnie
tworzonych pod różne wersje Symbiana, czy
Windows Mobile. Pod Linuksa tych aplikacji
jest jeszcze mało, jednakże zbiór stale się po-
większa. Poza tym, jeżeli posiadacie stosowne
umiejętności, nic nie stoi na przeszkodzie, aby
po prostu napisać coś swojego.
Środowisko przypomina swoim wyglą-
dem i zachowaniem (takie zdanie nasuwa
się po dłuższym użytkowaniu) desktopowe
KDE. Nie jest to przecież całkowicie bezza-
sadne stwierdzenie, ponieważ korzysta prze-
cież z tych samych bibliotek co KDE. Siłą
rzeczy jest w stosunku do niego uproszczo-
ne, co wynika przecież z ograniczeń, które
posiadają telefony komórkowe. Aczkolwiek
procesory o mocy 300 Mhz i więcej nasu-
wają mi myśl, że nie są to aż takie wielkie
ograniczenia.
Tej klasy urządzenie nie jest jednak
dla wszystkich użytkowników. Jeżeli tele-
fon spełnia tylko dwie funkcje, czyli służy
do rozmowy i ewentualnie jako budzik, to
przecież nie ma większego sensu kupować
tak zaawansowanego urządzenia. Tyczy się
to również konkurencyjnych systemów. Je-
żeli jednak uznajemy, że życie toczy się ciut
za szybko i dobrze mieć przy sobie porząd-
ny organizer, zechcemy skorzystać przy tym
z poczty elektronicznej, posłuchać muzyki,
a może nawet oglądnąć film, to wówczas
można nieco zmodyfikować zdanie. Dodaj-
my do tego, że do telefonu komórkowego
podłączymy osobne urządzenie na Blueto-
oth, rozszerzając jego możliwości. Przy-
kład? System GPS. W niedrogi sposób nasz
telefon może stać się również przewodni-
kiem w codziennych, często pozbawionych
ładu podróżach.
Na sam koniec wrócę jeszcze do urzą-
dzenia, którym posiłkowałem się przy pisa-
niu tekstu. Motorola A1200 nie jest telefo-
nem idealnym, jego twórcy zapomnieli o co
najmniej kilku przydatnych w urządzeniach
tej klasy elementach. Nie znajdziemy w nim
Wifi, ani Edge. Jest to spora wada, która
ma zostać nadrobiona w jego następcy. Mi-
mo to, ze względu na stosunkowo atrakcyj-
ną cenę, bezawaryjną pracę i solidne wyko-
nanie, polecam. Do pełni szczęścia brakuje
jeszcze tylko obsługi języka polskiego. Po-
siłkować się należy angielskim, lub jak kto
woli chińskim (swoją drogą znalezienie jak
zmienić język zajęło mi trochę czasu – alfa-
bet chiński jakoś nie utkwił mi w pamięci,
na szczęście zmiana języka nie była ukryta
zbyt głęboko w opcjach).
Reasumując, polecam – jak mniemam
korzystanie z tego typu urządzenia może
sprawić naprawdę dużą przyjemność, o wa-
lorach praktycznych już nawet nie wspomnę.
Zapraszam do korzystania.
Rysunek 6.
Bazy danych fotografii
Rysunek 7.
Program do planowania trasy lotu
Autor jest dziennikarzem, doktorantem.
Często bierze udział w planowaniu i pro-
wadzeniu projektów, które wykorzystuje na
planie filmowym.
Kontakt z autorem: p.zarnecki@plusnet.pl
O autorze
rozwiązania
Usługi Google cz. 1
24
maj 2008
rozwiązania
Usługi Google cz. 1
25
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
J
ej początki sięgają pierwszej połowy roku 1998.
Wtedy właśnie założyciele Google - Larry Page i
Sergey Brin opracowali nowatorski algorytm ana-
lizowania zindeksowanych stron internetowych.
Opierał się on w dużej mierze na analizie odnośników pro-
wadzących do konkretnych dokumentów, a nie na częstotli-
wości występowania szukanego fragmentu tekstu. Algorytm
ten stał się podstawą dla tworzonej przez nich wyszukiwar-
ki, która, choć początkowo miała być jedynie ich wspólnym
projektem studenckim, szybko ukazała drzemiący w algoryt-
mie potencjał. Niedługo później, bo na początku września te-
go samego roku, oficjalnie powstała firma Google Inc., ma-
jąca swą siedzibę w Menlo Park w Kalifornii. Od tej chwi-
li rozpoczął się dynamiczny rozwój firmy napędzany głów-
nie dzięki rosnącej popularności wyszukiwarki oraz zyskiem
z reklam tekstowych.
Gmail
1 kwietnia 2004 roku światu został zaprezentowany Gmail. Co
to jest, chyba nie muszę wyjaśniać nikomu. Ta usługa zrewo-
lucjonizowała sposób w jaki postrzegamy darmową skrzynkę
pocztową między innymi dzięki braku wyskakujących okie-
nek, braku przychodzących reklam, ogromnej pojemności
oraz prostemu interfejsowi połączonemu z wyszukiwarką ma-
ili. Rzecz jasna nie są to jedyne plusy, a użytkownicy Linuksa
mają do dyspozycji całkiem sporą liczbę dodatkowych aplika-
cji czy skryptów uprzyjemniających codzienne mailowanie.
Usługi Google cz. 1
Coraz więcej osób używa aplikacji webowych tej firmy. Znaczna część z nas ma na jej serwerach
skrzynkę mailową. Prawie wszyscy używają na co dzień ich wyszukiwarki. O czym mówię? Rzecz jasna
- o firmie Google.
Łukasz Olender
• [1] http://tinyurl.com/2v6y9a
• [2] http://bronikowski.com/13/#footnote_0_13
• [3] https://addons.mozilla.org/en-US/firefox/addon/
6076
• [4] http://www.getgspace.com/
• [5] http://www.blogger.com
• [6] http://dropline.net/drivel/
• [7] http://blogtk.sourceforge.net/
• [8] http://www.scribefire.com
• [9] http://www.google.com/talk/
• [10] http://minio.komunikatory.pl/tuty/gg2jab/
• [11] http://desktop.google.com/linux/
W sieci
rozwiązania
Usługi Google cz. 1
24
maj 2008
rozwiązania
Usługi Google cz. 1
25
www.lpmagazine.org
Gdy dostaniesz maila
Pierwszą z trzech grup, na które podzieliłem pro-
gramy testowane w tym punkcie są niewielkie
aplikacje do powiadamiania o nowych mailach.
Generalnie wszystkie są proste w obsłudze i
spełniają tę samą funkcję - powiadamiania użyt-
kownika na bieżąco o przychodzących wiado-
mościach. Różnią się formą przekazu, poczyna-
jąc od najprostszych, takich jak skrypt do Con-
ky a kończąc na programach typu CheckGma-
il, które oprócz informacji o nowym mailu wy-
świetlają również jego temat, nadawcę i począ-
tek treści. Ze swojej strony mogę polecić wła-
śnie CheckGmail, który wydaje się być progra-
mem najbardziej dopracowanym ze wszystkich
wymienionych w tabeli. Jego, sądząc po nazwie,
odpowiednik dla KDE KCheckGmail niestety
nie jest już taki dobry. Osoby ceniące sobie mini-
malizm z pewnością będą zadowolone ze skryp-
tu gmail.py, który może być wykorzystany wraz
z programem Conky czy w samej konsoli.
Drugą grupą są programy pocztowe. Na
chwilę obecną najpopularniejsze z nich, takie
jak Kmail, Thunderbird, Evolution czy konso-
lowy Mutt (patrz link [1] oraz [2]) pozwalają na
sprawne korzystanie z poczty Google. Jednak
aby było to możliwe, niezbędne jest ustawienie
kilku specyficznych dla Gmaila opcji. Instruk-
taż krok po kroku jak to zrobić na przykładzie
Thunderbirda znajduje się w podpunkcie Gmail
i Thunderbird. W pozostałych programach mo-
żemy zrobić to podobnie - nazwy odpowiednich
opcji jak i ich położenie niewiele się różnią.
Dodatki
Ostatnią grupą są programy, które nie zmieści-
ły się w powyższych kategoriach. Zaliczyć do
niej można plugin do Firefoksa o nazwie Bet-
ter Gmail [3]. Jest to zbiór najpopularniejszych
skryptów Greasemonkey dodających szereg
nowych funkcji do podstawowego interfejsu
Gmaila. Z ciekawszych można wyróżnić m.in.
• wyświetlanie ikonek przy tematach maili
symbolizujących rodzaj załączników;
• wymuszanie bezpiecznego połączenia;
• wybór nowych, graficznych tematów
zmieniających wygląd interfejsu;
• wyświetlanie informacji o nadawcy po na-
jechaniu kursorem na temat maila.
Better Gmail jest rozwijany w dwóch gałęziach
nazwanych odpowiednio Better Gmail oraz Bet-
ter Gmail 2. Pierwsza dotyczy starej wersji inter-
fejsu oraz działa bezproblemowo z polską wer-
sją językową Gmaila. Druga działa tylko z no-
wą (obecną od końca października 2007 w an-
gielskim Gmailu) wersją interfejsu. Które roz-
wiązanie polecam? Zdecydowanie Better Gmail
2 i Gmail po angielsku. Program ten zawiera sze-
reg nowych skryptów oraz jest szybciej rozwija-
ny. Przełączenie się polecam nie tylko ze wzglę-
du na ten plugin - angielski (US) interfejs jest
pierwszym, do którego Google wprowadza nowe
zmiany. Innymi słowy każda nowa funkcja doda-
na do Gmaila najpierw pojawia się w tej wersji
językowej a dopiero po czasie w następnych.
Drugim przydatnym pluginem do Firefok-
sa jest Gspace [4]. Pozwala on w prosty sposób
wykorzystać ogromną pojemność Gmaila do
przechowywania plików. Jest to doskonała al-
ternatywa dla osób, które wciąż by przechować
jakiś plik wysyłają maila z nim do samych sie-
bie. Z racji, że Gmail na chwilę obecną oferu-
je ponad 6,7GB miejsca, Gspace może z powo-
dzeniem być także alternatywą dla usług typu
dysk internetowy. Problemem jest jednak ogra-
niczenie wielkości wysyłanych plików do war-
tości nieco mniejszej niż maksymalna wielkość
załącznika (20MB), co powoduje, że w przy-
padku większych plików będziemy musieli po-
dzielić je na części (np. za pomocą kArchivera).
No cóż - nie ma róży bez kolców. Następnym
problemem jest to, że w rzeczywistości każdy
plik wysłany na serwer przy użyciu Gspace tak
naprawdę jest... mailem z załącznikiem. Łatwo
policzyć, że dzieląc i wysyłając plik o rozmia-
rze 200MB w naszej skrzynce odbiorczej poja-
wi się aż 11 nowych wiadomości. Wprowadza
to dość duży zamęt, ale można sobie z tym po-
radzić przygotowując specjalny filtr, który każ-
dą wiadomość z Gspace automatycznie prze-
niesie do archiwum. Jak to zrobić?
Rysunek 1.
Gmail Better z tematem Grays and Blues
Rysunek 2.
Desktop i Opera
26
rozwiązania
Usługi Google cz. 1
maj 2008
27
rozwiązania
Usługi Google cz. 1
www.lpmagazine.org
• Po zalogowaniu się do Gmaila klikamy na
odnośnik podpisany jako Nowy filtr.
• W polach Od i Do wpisujemy nasz pełen
adres mailowy oraz znaki
d$
w polu ozna-
czonym jako Temat. Następnie klikamy
przycisk Następny krok.
• Po załadowaniu się strony, zaznaczamy po-
le Pomiń folder Odebrane (Archiwizuj).
Opcjonalnie możemy również dodać od-
powiednią etykietę dla wszystkich mailów
z Gspace.
• Ostatnim krokiem jest kliknięcie w przycisk
Nowy filtr. Od tej chwili maile z Gspace nie
będą pokazywane w skrzynce odbiorczej.
Zastosowanie filtru powoduje również, że
w momentach wysyłania plików, programy
powiadamiające o mailach nie będą sygna-
lizowały odebrania nowych wiadomości.
Gmail i Thunderbird
Korzystając z Thunderbirda pod Windows, mo-
żemy zauważyć, że posiada on opcję automa-
tycznego konfigurowania Gmaila. Niestety nie
występują one w wersji wydanej pod Linuksa
(jak również w wolnym odpowiedniku Icedo-
ve), co oznacza że będziemy się musieli trochę
napracować, aby Thunderbird mógł odbierać i
wysyłać maile. Na szczęście nie jest to trudne,
a zdobyta wiedza pozwoli nam w podobny spo-
sób konfigurować praktycznie wszystkie klien-
ty pocztowe pod kątem Gmaila.
• Na samym początku logujemy się do inter-
fejsu Gmaila oraz przechodzimy w Usta-
wienia a następnie na zakładkę Przekazy-
wanie i POP/IMAP. Zaznaczamy Włącz
POP dla wszystkich wiadomości bądź
Uaktywnij POP tylko dla poczty otrzyma-
nej od tego momentu oraz decydujemy, co
będzie się działo z wiadomościami pobra-
nymi przy użyciu programów.
• Otwieramy Thunderbirda i z menu Edy-
cja wybieramy Konfiguracja kont. W no-
wo powstałym oknie klikamy na przycisk
Nowe Konto.
• Otworzy nam się kreator tworzenia no-
wego konta. Kroki 1, 2 oraz 4 są pro-
ste do przejścia, pola są dobrze opisane.
Trzecie uzupełniamy zgodnie z Rysun-
kiem 3. W ostatnim, czwartym po upew-
nieniu się, że wpisane przez nas informa-
cje są poprawne rysunek 4. (analogicznie
do Rysunku klikamy na Zakończ.
• W oknie Konfiguracji kont (które powin-
no być cały czas obecne) z listy po le-
wej wybieramy Konfiguracja serwera i
wszystkie pola uzupełniamy odpowied-
nio do rysunku 5.
• Z tej samej listy wybieramy Serwer pocz-
ty wychodzącej (SMTP). Klikamy na przy-
cisk Edytuj. Nowe okno uzupełniamy
zgodnie z rys. 6.
Desktop
Dnia 14 września 2004 roku światło dzien-
ne ujrzała pierwsza wersja programu Google
Tabela 1.
Spis aplikacji powiadamiających o nowych mailach
Nazwa
Rodzaj
Środowisko działania Strona www
CheckGmail
Program Tacka systemowa
(Gnome)
http://checkgmail.sourceforge.net/
Gmail Notifier
Plugin
Firefox
https://addons.mozilla.org/en-US/firefox/addon/173
Gmail Screenlet Plugin
Screenlets
http://gnome-look.org/content/
show.php?content=65455
Gmail.py
Skrypt
Conky/Konsola
http://ubuntuforums.org/
showthread.php?t=631157
KCheckGmail
Program Tacka systemowa (KDE) http://kcheckgmail.sourceforge.net/
Tabela 2.
Spis popularnych klientów Jabbera działających z Google Talk
Nazwa
Obsługa MUC
OpenSSL/PGP/
Proxy
Obsługa Jingle
Przeglądarka usług (in-
stalacja transportów)
2
Dodatkowe protokoły
Strona www
Gajim
Jest
Tak/Tak/Tak
Eksperymentalna Częściowa
3
Brak
gajim.org
Jabbin
Jest
Tak/Tak/Tak
Jest
Jest
Brak
www.jabbin.com
Kopete
Częściowa
1
Tak/Tak/Nie
Brak
Brak
m.in. AIM, ICQ, MSN, IRC, Gadu-Gadu
kopete.kde.org
Pidgin
Jest
Tak/Tak/Tak
Brak
Brak
m.in. ICQ, IRC, MSN, AOL, Gadu-Gadu
www.pidgin.im
Psi
Jest
Tak/Tak/Tak
Brak
Jest
Brak
psi-im.org
1
Według informacji producenta.
2
Brak opcji instalowania transportów nie oznacza niemożności korzystania z nich na danym kliencie. Jeżeli zależy nam na jakimś transporcie, a do gustu
przypadł nam na przykład Pidgin, procesu rejestracji możemy dokonać z poziomu innego klienta, np. Psi.
3
Występowały problemy z rejestracją niektórych transportów.
Rysunek 3 .
Rysunek 4.
Rysunek 5.
Rysunek 6.
26
rozwiązania
Usługi Google cz. 1
maj 2008
27
rozwiązania
Usługi Google cz. 1
www.lpmagazine.org
Desktop. W założeniu jest to program, który
pozwala nam w prosty sposób przeszukać za-
wartość komputera. Z czasem zaczęto doda-
wać nowe funkcje, a obecnie w najszybciej
rozwijanej wersji pod Windows Desktop ofe-
ruje oprócz szukania między innymi także si-
debar wyświetlający zwykle po prawej stro-
nie ekranu różne informacje. Długo przyszło
użytkownikom nie korzystającym z Windows
czekać na wydanie programu pod ich syste-
my - Desktop dla Mac OS X został wydany w
kwietniu 2007 roku. Wersja pod Linuksa zo-
stała udostępniona dwa miesiące później, nie-
stety, bez wspomnianego sidebara. Podobnie
jak windowsowy pierwowzór jest ona narzę-
dziem indeksującym zasoby lokalnych sys-
temów plików i pozwalającym na łatwe ich
przeszukiwanie. Co ważne, program ten nie
szuka tylko w nazwach ale również m.in. w
samych plikach tekstowych, dokumentach Of-
fice oraz OpenOffice, plikach PDF, historii
odwiedzanych stron www, a także w mailach
(Gmail oraz Thunderbird) czy archiwach zip.
Jego zasada działania opiera się na nieustan-
nym indeksowaniu naszych plików i tworze-
niu bazy danych z wszelkimi informacjami,
które mogą być podczas szukania przydatne.
Dzięki temu sam proces szukania jest niepo-
równywalnie szybszy niż standardowe wyszu-
kiwania, chociażby programem find.
Instalacja i obsługa
Google Desktop możemy pobrać ze strony
[11]. Instalacja programu jest prosta, Desktop
rozprowadzany jest w formie paczek dla róż-
nych dystrybucji. Domyślnie instaluje się on
w katalogu /opt/google/desktop, a wywołać
możemy go poleceniem /opt/google/desktop/
bin/gdlinux. Obsługa Desktop odbywa się za
pomocą trzech elementów - ikonki w zasob-
niku systemowym wraz z podręcznym menu,
okna Quick Search Box oraz właściwego in-
terfejsu dostępnego w przeglądarce Firefox.
Przypomina on do złudzenia wyszukiwarkę
Google, co z pewnością pomaga nowym użyt-
kownikom odnaleźć się w programie, ale taki
interfejs zamknięty w przeglądarce na dłuższą
metę jest niezbyt praktyczny z dwóch powo-
dów. Po pierwsze: Desktop domyślnie współ-
pracuje z Firefoksem i tylko z nim. Jego wol-
ny klon Iceweasel jest obsługiwany, ale żad-
na inna przeglądarka już nie (przynajmniej
bez stosowania żadnych sztuczek - patrz ram-
ka 3). Po drugie: program dziwnie się zacho-
wuje, gdy klikniemy na niektóre wyniki wy-
szukiwania - w przypadku folderów wyświe-
tla on stronę identyczną, jaka towarzyszy nam
przy przeglądaniu zasobów FTP, a w przypad-
ku plików - okienko Firefoksa służące do po-
bierania ich. Teoretycznie można wybrać w
nim aplikację, którą otworzymy dany plik
oraz zaznaczyć opcję Zapamiętaj tę decy-
zje dla wszystkich plików tego typu, ale takie
rozwiązanie może nie być wygodne podczas
przeglądania stron www. Z wad należy jesz-
cze wymienić rozmiar katalogu ~/.google/
desktop, który zawiera między innymi indeks
wyszukanych plików. W przypadku więk-
szych indeksowanych dysków może zajmo-
wać on nawet kilkaset megabajtów! Na sa-
mych minusach na szczęście się nie kończy,
O ile rozszerzenia Better Gmail oraz same skrypty Greasemonkey cieszą się pozytywną
opinią Google i wsparciem ze strony firmy, tak narzędzia typu Gspace, Gmail Drive czy
GmailFS leżą na granicy legalności. I choć stanowisko Google w tej sprawie nie jest do
końca znane, w Internecie krążą pogłoski o tym, że konta używane wraz z tego typu pro-
gramami mogą być blokowane. W rzeczywistości chodzi o blokadę 24. godzinną, która mo-
że wystąpić po przekroczeniu dziennego określonego transferu, o czym zresztą wspomina-
ją sami autorzy Gspace na stronie pluginu.
Gspace – legalność
Przygotowując tę część artykułu miałem w planach opisanie programu GmailFS, który po-
zwala na montowanie zasobów Gmail tak, jakby był to lokalny system plików. Niestety, po-
mimo szczerych chęci najzwyczajniej nie udało się go uruchomić na trzech testowych kom-
puterach (Debian, Ubuntu oraz Mandriva) pomimo, że wszystkie zależności były spełnione.
No cóż - pozostaje nam czekać na nową wersje, która być może będzie prawidłowo dzia-
łać z wszystkimi nowymi dystrybucjami.
GmailFS?
Dla wielu osób sporym mankamentem jest to, że Desktop potrafi współpracować jedy-
nie z Firefoksem. Okazuje się jednak, że przy odrobinie chęci można zmusić go do dzia-
łania także z innymi przeglądarkami. Testowane Opera, Konqueror, Galeon oraz Epipha-
ny nie sprawiły większych problemów. Minusem jest to, że Desktop nie integruje wyszuki-
warki Google z samym sobą na wymienionych browserach. Również wywoływanie progra-
mu działa różnie - Opera wyświetla wyszukiwanie zastępując aktualną stronę, Konqueror i
Epiphany w nowym oknie a Galeon w nowej zakładce (tak jak w Firefoksie). Ale co ważne,
Konqueror jako, że jest jednocześnie menadżerem plików zdawał się być bardziej wygod-
ny w niektórych działaniach niż sam Firefox! Pytanie brzmi więc: jak sprawić, by Desktop
otwierał się w innych przeglądarkach? Musimy jedynie usunąć z katalogu /usr/bin plik fire-
fox (bądź jeśli nie zadziała - iceweasel), a w jego miejsce wstawić dowiązanie symboliczne
do wybranej przeglądarki. Dla Opery wyglądać to będzie mniej więcej tak:
# cd /usr/bin
# mv iceweasel iceweasel.backup
# ln -s opera iceweasel
Inne przeglądarki
Możliwość pisania z użytkownikami sieci Gadu-Gadu poprzez Jabbera wydaje się być zna-
komitą alternatywą dla aplikacji typu Kadu. Należy wspomnieć jednak o istnieniu licznych
wad, z których chyba najbardziej doskwierają brak możliwości prowadzenia konferencji
oraz przesyłania obrazów i plików. Również same transporty stanowią problem - ich awa-
ryjność jest duża, co w połączeniu z dość częstymi problemami z samych serwerów Ga-
du-Gadu może skutecznie utrudniać komunikację z użytkownikami tej sieci.
Transport Gadu-Gadu – wady
28
rozwiązania
Usługi Google cz. 1
maj 2008
29
rozwiązania
Usługi Google cz. 1
www.lpmagazine.org
a program posiada ogromną zaletę, która jest
w stanie pozwolić przymknąć oko na niektóre
bolączki. Jest nią sam proces wyszukiwania,
który trwa w najgorszym wypadku tylko kil-
ka sekund. Po tym czasie w przeglądarce uka-
zuje się przejrzysta lista wszystkich znalezio-
nych rzeczy wraz z podziałem na typy plików.
Następnym plusem jest to, że podczas normalnej
biurowej pracy nie sposób zauważyć spowolnie-
nia komputera indeksowaniem plików. Co praw-
da trwa ono dość długo (statystycznie niecałe pół
godziny na każdy gigabajt danych) powodując,
że najnowszych plików w wynikach wyszuki-
wania po prostu nie znajdziemy. Na szczęście
zwykle szuka się dużo starszych plików. Zdarza-
ją się jednak wyjątki, więc musimy o tym pamię-
tać. Kolejną zaletą jest istnienie okna Quick Se-
arch Box, o którym wspomniałem na początku.
Z jego pomocą możemy szybko wyszukać inte-
resujące nas dane bez otwierania okna przeglą-
darki. Quick Search Box wywołujemy wciskając
obydwa klawisze [ctrl].
Czy warto?
Myślę, że pomimo istnienia wielu innych tego
typu programów (chociażby świetny Beagle),
warto dać dziełu Google szanse. Wyszukiwa-
nie rzeczywiście dokonuje się w tempie ekspre-
sowym, a Quick Search Box może być strzałem
w dziesiątkę dla osób, które często zapominają o
położeniach swoich plików. Jeżeli jednak, drogi
Czytelniku, posiadasz obecnie skonfigurowany
program do odnajdywania zagubionych plików
z którego jesteś w pełni zadowolony i nie masz
czasu na eksperymentowanie, pozostań przy nim
- Google Desktop nie stanowi żadnej rewolucji
w dziedzinie wyszukiwania pod Linuksem.
Blogger
Następną przetestowaną pod kątem integra-
cji z linuksowym pulpitem usługą Google jest
Blogger [5]. Jest to popularny serwis blogowy
oferujący 1GB pojemności dyskowej. Został
on stworzony w roku 1999 przez firmę Pyra
Labs, a następnie w roku 2003 wraz z nią zo-
stał przejęty przez Google. Oficjalnie nie ist-
nieje żaden program pozwalający na korzysta-
nie z niego inaczej, niż poprzez łączenie się ze
stroną internetową. W sieci natomiast znajdu-
je się sporo linuksowych programów, umoż-
liwiających nam pisanie wiadomości na blo-
ga bez włączania przeglądarki. Jak wygląda
ich współpraca z Bloggerem? Okazuje się, że
wbrew pozorom wygląda różnie. Wszystkie z
testowanych programów mają odpowiednie
opcje, które jednoznacznie wskazują na to, że
jest on wspierany, jednak w praktyce nie wy-
gląda to tak różowo.
Blogowanie na pół gwizdka
Na pierwszy ogień poszły trzy popularne, two-
rzone przy użyciu bibliotek GTK programy
– Drivel [6], BloGTK [7] oraz aplet Gnome-
Blog. Wspierają one masę różnorodnych syste-
mów blogowych, m. in. omawianego Blogge-
ra. W przypadku Drivela możemy wybrać go z
listy, wpisać nazwę użytkownika, hasło i cze-
Pomimo tego, że Desktop wyświetla swoje wyniki także, gdy korzystamy z wyszukiwarki
Google (Rysunek 3.) oraz (po odblokowaniu opcji Advanced Features) wysyła informacje z
naszego komputera wprost do twórców, to według ich zapewnień możemy spać spokojnie.
Jakiekolwiek prywatne dane nie powinny opuścić naszego komputera.
Desktop a prywatność użytkownika
Choć teoretycznie dodawanie tytułów z wykorzystaniem Drivela, BloGTK czy Gnome-Blog
jest nie do wykonania, możemy posłużyć się poniższą wskazówką, by uzyskać coś, co wy-
glądać będzie identycznie. Aby to zrobić, musimy po prostu podglądnąć źródło naszego
bloga i wyłuskać z niego znaczniki, pomiędzy którymi znajduje się nasz tytuł. Na większo-
ści szablonów jest to znacznik
<h3 class="post-title">
na początku oraz
</h3>
na koń-
cu tytułu. W oknie edycji posta należy teraz takimi znacznikami objąć żądany tekst. Pamię-
tajmy jednak, że tak sformatowany tekst nie stanie się samoistnie takim tytułem, jaki może-
my stworzyć za pomocą interfejsu Bloggera czy pluginu Scribe Fire.
Sposób na tytuły?
O ile sam proces rejestracji tej usługi nie powinien sprawiać kłopotów komuś, kto na co
dzień korzysta z Jabbera, o tyle pozostałe osoby mogą mieć problemy, szczególnie jeśli
chodzi o importowanie kontaktów. Nie zawsze działa ono tak, jak powinno, jednak w sie-
ci istnieje kilka artykułów na ten temat opisujących krok po kroku przebieg rejestracji tego
transportu. Ze swojej strony mogę polecić pracę Mirosława Zalewskiego znajdującą się na
stronie [10].
Jak korzystać z transportu Gadu-Gadu?
Rysunek 7.
Integracja ze stroną Google
28
rozwiązania
Usługi Google cz. 1
maj 2008
29
rozwiązania
Usługi Google cz. 1
www.lpmagazine.org
kać na połączenie, które nigdy nie nastąpi. Pro-
blemem jest błędny adres serwera, który należy
zmienić na: http://www.blogger.com/api/RPC2.
Jako typ bloga, należy wybrać Blogger 1.0. Na-
leży też pamiętać, że nazwa użytkownika ma
formę login@gmail.com. Po wprowadzeniu po-
wyższych ustawień możemy się połączyć i roz-
począć pisanie postów. Podobnie sytuacja wy-
gląda w BloGTK - w oknie Account and Set-
tings należy wprowadzić (oprócz nazwy użyt-
kownika i hasła) taki właśnie adres serwera. W
przypadku Gnome Blog nie mamy możliwości
jego zmiany, ale ten, który został wprowadzony
przez twórców jest prawidłowy. Niestety, korzy-
stając z tych trzech programów nie będziemy w
stanie nadawać tytułu naszym postom. Ta sytu-
acja spowodowana jest tym, że od pewnego cza-
su Blogger oferuje nowy interfejs połączeń, z
wykorzystaniem standardu Atom. Wraz z nim
pojawiły się problemy w funkcjonowaniu jego
starszej wersji opartej na XML-RPC, którą wy-
korzystują opisywane programy. I choć Drivel
pozwala wybrać typ bloga Atom/Blogger 2.0, to
niestety na chwilę obecną on po prostu nie dzia-
ła. Na szczęście istnieje alternatywa - jest nią
Scribe Fire, plugin do Firefoksa.
Scribe Fire z odsieczą
Program oferuje pełne wsparcie interfejsu Atom,
a wraz z nim pełne wsparcie Bloggera. Funkcje
niedostępne w poprzednio omawianych progra-
mach takie jak na przykład zapisywanie postów
jako szkic, edycja tagów, czy tworzenie notatek
są tutaj na porządku dziennym. Proces konfigu-
racji jest całkowicie automatyczny, zrealizowa-
ny w formie kreatora. Jedyne, co musimy znać,
to login (z końcówką @gmail.com), hasło oraz
adres bloga. Sam interfejs programu, choć bar-
dziej rozbudowany, jest intuicyjny. Cieszy moż-
liwość pracy w trybie WYSIWYG oraz w trybie
edycji źródła HTML i tzn. Live Preview, czy-
li podgląd ostatecznego wyglądu posta. Jedyną
niedogodnością programu, na którą się napotka-
łem podczas testowania go jest to, że program
do każdego nowo napisanego posta dodaje tekst
Powered by Scribe Fire, co nie każdemu może
się podobać. Również fakt, że jest to jedynie plu-
gin do Firefoksa może nieco denerwować - wy-
chodzi na to, że tak, czy inaczej musimy prze-
glądarkę uruchomić. Jednak mając do wyboru
Scribe Fire oraz standardowy interfejs Blogge-
ra, z czystym sumieniem polecam pierwsze roz-
wiązanie. Jest ono bardziej wygodne i na dłuższą
metę szybsze, o czym z pewnością się przekona-
my ściągając program ze strony [8].
Google Talk
Google Talk jest tekstowym komunikatorem
internetowym wraz z obsługą VoIP (poprzez
Jingle). Jego powstanie datujemy na sier-
pień 2005 roku. Od samego początku był on
oparty na protokole Jabber/XMPP, a przeło-
mową datą w procesie jego ewolucji był 18
stycznia 2006 roku, w którym Google otwo-
rzyło się na resztę serwerów Jabbera. Sam
Talk występuje w czterech wersjach - osob-
nej, zintegrowanej z Gmailem, zintegrowa-
nej z stroną iGoogle oraz w wersji flasho-
wej, dostępnej pod adresem [9] po kliknię-
ciu w link Launch Google Talk Gadget. W
przypadku trzech ostatnich problemu z ko-
rzystaniem z nich pod Linuksem nie ma, ale
nie każdy ma ochotę załączać przeglądarkę,
by komunikować się ze znajomymi. Nieste-
ty, Google jak do tej pory nie wydało Talk
na systemy inne niż Windows. Jednak nie
jest to problem, bo jak wspomniałem, usłu-
ga ta opiera się na protokole Jabber/XMPP.
Co za tym idzie, pozwala na łączenie się ze
sobą prawie wszystkim klientom Jabbera.
Wykaz najpopularniejszych za pomocą któ-
rych możemy korzystać z Talka znajduje się
w tabeli nr. 2.
Talk i Psi
Samo skonfigurowanie dowolnego z tych pro-
gramów jest stosunkowo proste, jednak wyma-
Rysunek 8.
Scribe Fire w akcji
Rysunek 9.
Gadu-Gadu w Gmailu
30
rozwiązania
Usługi Google cz. 1
maj 2008
ga zwrócenia uwagi na niektóre opcje. Są one
we wszystkich programach opisane identycznie
bądź bardzo podobnie. Do przedstawienia spo-
sobu konfiguracji wybrałem Psi w wersji 0.11,
którego używam na co dzień.
• Uruchamiając po raz pierwszy Psi, wy-
świetli się zapytanie, czy chcemy utwo-
rzyć nowe konto, bądź skorzystać z ist-
niejącego. Jako, że rejestrując się chociaż-
by w Gmailu stajemy się automatycznie
użytkownikami Talka, wybieramy opcję
użycia istniejącego konta. Naszym oczom
ukaże się okno z ustawieniami. Może-
my wywołać je także klikając z główne-
go okna programu. W tym celu wybiera-
my menu Ogólne, a z niego opcje Konfi-
guracja Kont. W nowym oknie klikamy
na Add, a po wpisaniu preferowanej przez
nas nazwy konta, jeszcze raz na Add.
• Po otwarciu się okna Account Properties,
przechodzimy do zakładki Account. W
polu Jabber ID wpisujemy naszą nazwę
użytkownika (wraz z końcówką @gma-
il.com), w polu Password - hasło. Wedle
potrzeb możemy zaznaczyć pozostałe, do-
stępne w tej karcie opcje. Przechodzimy
do zakładki Connection.
• Tę zakładkę uzupełniamy zgodnie z Ry-
sunkiem 6. Jeżeli podczas ustawiania
opcji Encrypt connections pojawi się nam
komunikat o braku odpowiedniej wtycz-
ki, musimy ją zainstalować. Znajduje się
ona w repozytoriach dystrybucji, a po-
winniśmy jej szukać pod takimi nazwa-
mi: libqca-tls, qca-tls, libqca-ssl, qca-ssl.
W Debianie odnoszą się do niej pakiety
libqca2-plugin-ossl oraz qca-tls (obydwa
należy zainstalować).
Powyższy sposób konfiguracji może wyglądać
nieco inaczej w starszych wersjach Psi oraz w
innych klientach. Na szczęście we wszystkich
tych wymienionych w tabeli jest to stosunko-
wo proste do zrobienia w oparciu o powyższy
mini poradnik.
Transporty
Jak wspomniałem, w styczniu 2006 roku Go-
ogle wprowadziło możliwość połączeń z in-
nymi serwerami Jabbera. Oprócz komunika-
cji z innymi użytkownikami tej sieci pozwala
to na stosowanie popularnych jabberowych
transportów. Dla niewtajemniczonych, trans-
port jest usługą działającą po stronie serwe-
ra i oferującą funkcje, które nie zostały za-
implementowane w standardowym proto-
kole Jabber/XMPP. Zwykle transporty da-
ją ich użytkownikom możliwość połączeń
z użytkownikami innych sieci (Gadu-Gadu,
Tlen, IRC, ICQ to tylko przykłady), jednak
ich funkcje są ograniczone jedynie wyobraź-
nią twórców. Rzeczą, którą warto zauwa-
żyć jest to, że większość (jeśli nie wszyst-
kie) transportów znakomicie działa w we-
bowych wersjach Talka. Niewielkim nakła-
dem pracy możemy zatem stworzyć coś w
rodzaju Gadu-Gadu zamkniętego w inter-
fejsie Gmaila! Jest to znakomite rozwiąza-
nie dla osób często korzystających z róż-
nych komputerów, bądź mających po pro-
stu zablokowane połączenia z serwerami
tej usługi na komputerze, na którym obec-
nie pracują. Innym interesującym transpor-
tem jest transport sms. Jest wiele jego ty-
pów, a sam osobiście korzystam z wer-
sji przystosowanej do darmowej skrzynki
Orange Mbox. Pozwala on na wysyłanie 30
smsów wprost z klienta Jabbera, tak jakby-
śmy pisali do danej osoby z naszego telefo-
nu komórkowego.
Aby rozpocząć korzystanie z dowolne-
go transportu, należy w oknie głównym Psi
z menu Ogólne wybrać przeglądarkę usług.
W polu Adres należy wpisać adres serwera,
który oferuje transporty. Duży wybór róż-
norodnych usług ma chrome.pl. Po dwu-
krotnym kliknięciu w wybrany transport
przejdziemy do jego konfiguracji, która
może wyglądać różnie - zależy to od trans-
portu, który wybraliśmy.
• Greasemonkey - rozszerzenie dla przeglądarki Firefox, który umożliwia instalowanie
skryptów napisanych w języku Javascript dokonujących zmian w stronach WWW.
• Conky - niewielki program wyświetlający na pulpicie różne informacje (np. o wykorzy-
stanych zasobach sprzętowych).
• Atom - standard kanałów informacyjnych służący do wysyłania i odbierania wiadomo-
ści z Internetu. Obecnie coraz bardziej popularny. Powstał, by zastąpić RSS.
• XML-RPC - protokół wymiany danych przesyłanych w formacie XML przy użyciu zdal-
nego wywoływania procedury (RPC). Do połączeń wykorzystuje protokół HTTP.
• WYSIWYG - What You See Is What You Get – tryb pracy programu, w którym mate-
riał po opublikowaniu/wydrukowaniu będzie wyglądał identycznie bądź bardzo podob-
nie jak w chwili, w której go edytujemy.
• VoIP - technologia umożliwiająca przesyłanie dźwięków mowy za pomocą proto-
kołu IP.
• Jingle - rozszerzenie protokołu Jabber/XMPP dodające do niego możliwość o możli-
wość rozmów głosowych oraz komunikacji video.
• MUC - Multi-User Chat - część protokołu Jabber/XMPP odpowiadająca za konferencje.
Trudne pojęcia
Rysunek 11.
Psi – okno instalacji transportów
Rysunek 10.
Psi – okno instalacji transportów
Autor zajmuje się Linuksem od 4 lat roz-
powszechniając go w lokalnych szkołach.
Hobby to wszystkie aspekty związane z
Debianem oraz gra na klarnecie.
Kontakt z autorem: lukiasz@gmail.com
O autorze
Jeśli nie możesz odczytać
zawartości płyty CD/DVD,
a nie jest ona uszkodzona
mechanicznie, sprawdź ją na
co najmniej dwóch napędach CD/DVD
5/2008
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
32
maj 2008
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
33
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
C
hwilami stwierdzenie przynależności urzą-
dzenia elektronicznego do jednej z dwóch
wymienionych wyżej kategorii sprawia mi
niejakie problemy. Są bowiem urządzenia,
na których instalacja jakiegokolwiek systemu jest pra-
wie niewykonalna. Jednak Google i własna wytrwałość
w poszukiwaniach przekonują mnie, że jest to jedynie
kwestia umiejętności i uporu w dążeniu do celu – zain-
stalowania Linuksa na jakimś urządzeniu. Właśnie ta-
ka grupę urządzeń stanowią komputery z wbudowanym
systemem.
O czym w ogóle piszę...
Tradycyjnie rzecz ujmując urządzenia z systemem wbu-
dowanym to komputery szczególnego przeznaczenia,
których funkcje najczęściej ograniczają się do jedne-
go lub kilku zadań. Nie wdając się dalej w dyskusję na
tematy techniczne, za przykład typowego urządzenia z
systemem wbudowanym podam odtwarzacz muzyki w
formacie mp3. Jednak urządzenia z tej kategorii otacza-
ją nas w znacznie szerszym zakresie, chociażby w po-
staci telefonów komórkowych (których OS-y coraz to
częściej wyrastają z ram definicji systemów wbudowa-
nych), fotograficznych aparatów cyfrowych czy w koń-
cu komputerów typu PDA.
Większość z powyższych urządzeń posiada mniej lub
bardziej rozbudowane systemy operacyjne opracowane z
myślą o konkretnej architekturze i konkretnych zadaniach,
co odpowiada przytoczonej wcześniej definicji systemu
wbudowanego. Jak w takim razie ma się do tego Linux?
Otóż, choć wcale sobie z tego nie zdajemy sprawy, bardzo
wiele urządzeń jako OS wykorzystuje odpowiednio zmo-
dyfikowanego Linuksa. Dobrym przykładem są co raz to
bardziej popularne w Polsce multimedialne telefony firmy
Motorola z linii Razr 2 czy też część specjalnych urządzeń
firmy Nokia. Również niektóre urządzenia sieciowe, jak
routery, access pointy, czy firewalle posiadają wbudowa-
nego Linuksa. Jak więc widać zakres urządzeń, na których
może pracować Linux jest ogromny.
PDA
Specjalną kategorią urządzeń z systemem wbudowanym są
komputery typu PDA (z ang. Personal Digital Assistant). W
odróżnieniu od przeciętnych urządzeń z systemem wbudo-
Linux na urządzeniach
z wbudowanym
systemem
Wśród moich znajomych znany jestem jako „zapaleniec linuksiarz”. Zasadniczo nie obrażam się na
to stwierdzenie, gdyż faktycznie jestem „linuksiarzem”, więc na stwierdzenie prawdy nie mogę się
gniewać... Czym to się objawia? W moim wydaniu bycie „linuksiarzem” polega na dzieleniu świata
urządzeń elektrycznych i elektronicznych na dwie kategorie – tych, na których da się zainstalować
Linuksa i tych, na których nie da się zainstalować Linuksa. Z tego prostego podziału wynika, że
każdy komputer, na którym „nie da się postawić pingwina” zalicza się do tej samej grupy urządzeń co
elektryczna szczoteczka do zębów. Chyba więc jestem „linuksiarzem”...
Grzegorz Madajczak
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
32
maj 2008
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
33
www.lpmagazine.org
wanym, posiadają one potencjalnie nieogra-
niczoną wielofunkcyjność poprzez stosowanie
rozszerzeń zarówno w zakresie oprogramowa-
nia, jak i sprzętu. Z typowymi urządzeniami
wbudowanymi łączy je cecha mniej lub bar-
dziej wyspecjalizowanego systemu operacyj-
nego zapisanego w pamięci typu NAND flash.
Jest kilka systemów operacyjnych stosowa-
nych w komputerach typu PDA:
• Windows Mobile (następca Pocket PC),
• Symbian OS (powstały w wyniku rozwoju
Psion, a później EPOC),
• PalmOS (system opracowany dla produk-
tów firmy Palm),
• Linux Embedded.
Oczywiście fakt, że na danym urządze-
niu znajduje się system inny, niż Linux nie
oznacza, że właśnie Linux nie można tam
zainstalować. Należy spodziewać się jedy-
nie mniejszego lub większego kłopotu. Na-
tężenie problemów z tym związanych prze-
kłada się na popularność danego urządze-
nia. Im konkretne PDA jest bardziej popu-
larne, tym większa jest szansa, że znajdzie
się grono użytkowników, którzy zechcą wi-
dzieć na tym urządzeniu Linuksa, co oczy-
wiście zmniejsza liczbę spodziewanych
kłopotów. Z tego też względu PDA marki
iPAQ stanowią najlepszą bazę do posiada-
nia PDA działającego pod kontrolą Linuk-
sa. Dobrym przykładem jest niemalże kul-
towy HP iPAQ hx4700 (Rysunek 1), który
może działać całkowicie pod kontrolą spe-
cjalnie przygotowanej dystrybucji Linuksa
– Familiar.
Jak uruchomić
Linuksa na HP iPAQ hx4700
HP hx4700 jest jednym z PDA oryginalnie
pracującym pod kontrolą Microsoft Win-
dows Mobile 2003 Second Edition, które-
go sprzęt doczekał się całkowitego wspar-
cia w systemie Linux. Oprócz dedykowanej
dystrybucji Familiar powstały różne porty
innych dystrybucji, w tym mojego ulubio-
nego Gentoo.
Familiar to projekt, którego założeniem
jest zbudowanie otwartego, opartego na Linuk-
sie, systemu operacyjnego przeznaczonego dla
urządzeń typu PDA. Familiar, w zależności od
wersji oraz konkretnego urządzenia, zbudowa-
ny jest na podstawie jądra z serii 2.4.x lub 2.6.x,
a za interfejs użytkownika służy mu środowi-
sko Opie lub GPE.
Opie (Open Palmtop Integrated Envi-
ronment) to środowisko graficznego inter-
fejsu użytkownika będące wolnym portem
środowiska Qtopia firmy Trolltech (znanej
z bibliotek QT wykorzystywanych między
innymi w KDE). Drugie środowisko – GPE
(GNU Palmtop Environment) w przeci-
wieństwie do poprzedniego, korzystającego
z grafiki bufora ramki (framebuffer) stosuje
odpowiednio zmodyfikowany serwer X-ów
oraz biblioteki GTK+, co potencjalnie daje
duże możliwości rozwoju tego GUI. Porów-
nywanie obu środowisk jest bardzo trudne
ze względu na szaloną różnicę pomiędzy
obydwoma. To tak, jakby wywoływać dys-
kusję nad wyższością GNOME nad KDE i
vice versa – spór bez końca...
Przed rozpoczęciem instalacji Familiar na
hx4700 należy dokonać archiwizacji wszyst-
kich danych, które w trakcie procesu instala-
cji nowego systemu zostaną bezpowrotnie stra-
cone. Należy również zapoznać się dokładnie z
instrukcją postępowania, najlepiej z kilku źró-
deł. Generalnie proces ten należy do czynności
średniozaawansowanych. Do jego przeprowa-
dzenia potrzebujemy:
• kartę pamięci CompactFlash o rozmiarze
min. 32 MB,
• kartę pamięci Secure Digital o rozmiarze
min. 256 MB, max. 1 GB (uwaga – nie
działaja nowe karty SDHC),
• kabel do synchronizacji danych z kompu-
terem.
Następnie pobieramy ze strony http:
//ftp.handhelds.org/distributions/familiar/
releases/v0.8.4-rc3/feed/ pakiet z dystry-
bucją przeznaczony dla naszego urządze-
nia oraz dla jednego wybranego z trzech
środowisk (boostrap – tylko konsola,
Opie lub GPE) oraz bootloader ze strony
http://sdgsystems.com/pub/ipaq/hx4700/
starterkit/.
Pierwszą czynnością jest archiwizacja
obecnej zawartości ROMu. W tym celu uru-
chamiamy powłokę bootloadera HTC (orygi-
nalnego bootloadera hx4700) poprzez jedno-
czesne wciśnięcie przycisków Contacts, iTask
oraz reset (przy użyciu rysika). Po pojawieniu
się na ekranie znaku zachęty konsoli, podłą-
czamy urządzenie do portu USB w kompute-
rze, co spowoduje wyświetlenie się w górnej
części ekranu iPAQa napisu USB zamiast Se-
rial. Jednocześnie w logach systemowych PC
Listing 1.
Logi po wykonaniu backupu ROM iPAQ hx4700
USB
>
d2s
SD
:
Waiting
for
card
insert
.........
CMD3
for
SD
,
it
'
s
OK
,
ready
to
get
RCA
from
response
.
SD
:
Detected
one
card
SD
:
ready
for
transfer
OK
Total
card
size
=
3
D680000e
=
0
SDCARDD2S
+
,
cStoragePlatformType
=
FF
*************************************************************************
**
Store
image
to
SD
/
MMC
card
successful
.
USB
>
Listing 2.
Nieco zmieniony kod pliku konfiguracyj-
nego dla instalacji Linuksa na Palm Tungsten TX
#!/bin/sh
SWAP
=
linux
/
swapfs
ROOT
=
linux
/
rootfs
.
ext2
MODULES
=
linux
/
modules
.
squash
HOMEDIR
=
linux
/
home
.
ext2
MODPROBE
=
"palm_battery palmlcd_
border corgi_bl hci-uart"
Rysunek 1.
HP iPAQ hx4700 – najlepiej wspiera-
ny PDA
34
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
35
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
www.lpmagazine.org
powinniśmy zobaczyć pojawienie się nowe-
go urządzenia /dev/ttyUSB0. Dalsze postępo-
wanie wymaga uruchomienia na PC progra-
mu minicom, służącego do komunikacji przez
port seryjny. W sprawie szczegółów związa-
nych z instalacją i konfiguracją programu od-
syłam do dokumentacji systemowej. Po pod-
łączeniu PDA przez USB do komputera PC,
uruchamiamy program minicom, a następnie
po znaku zachęty USB> wpisujemy polecenie
d2s uruchamiające proces archiwizacji ROM
na karcie SD. Tak przygotowana karta posłu-
ży nam do ewentualnego odzyskania Win-
dows Mobile, jeśli niesłusznie przyszłoby kie-
dyś nam to do głowy... Efektem działania tego
polecenia będzie pojawianie się komunikatów
jak na Listingu 1.
Następnym krokiem jest wgranie
uprzednio pobranego bootloadera na kartę
SD (inną niż ta z backupem ROMu). Do-
konujemy tego poprzez wgranie za pośred-
nikiem czytnika kart SD z użyciem pole-
cenia:
# dd if=bootldr.rom of=/dev/sda
Jeśli podłączona do systemu karta SD zgła-
sza się inaczej, np. jako urządzenie /dev/
sdb, odpowiednio modyfikujemy powyż-
sze polecenie. Kartę z wgranym bootloade-
rem wkładamy do slotu w naszym hx4700 i
ponownie uruchamiamy konsolę bootlode-
ra. Następnie wykonujemy czynności wy-
magane w trakcie procesu instalacji, które
w sumie sprowadzają się do kilkukrotnego
zatwierdzania domyślnych opcji.
Nadszedł wreszcie czas na właściwą in-
stalację systemu. W tym celu na miejsce sta-
rego ROMu wgramy nową wersję, zawierającą
dystrybucję Familiar. Uprzedzam, że nieodpo-
wiednie działania w trakcie tego procesu mogą
wyrządzić wiele, wiele szkód. Przede wszyst-
kim musimy upewnić się, że karta CF, na którą
wgramy plik dystrybucji, sformatowana jest ja-
ko FAT16. Najłatwiej dokonać tego formatując
ją zawczasu z zastosowaniem naszego hx4700
(jeszcze pod kontrolą Windowsa) lub stosując
aparat cyfrowy obsługujący karty CF. W osta-
teczności możemy sformatować ją w systemie
Linux stosując polecenie:
# mkfs.vfat /dev/sda1
W powyższym poleceniu stosujemy oczywi-
ście odpowiednie urządzenie blokowe, odpo-
wiadające podłączonej do systemu karcie CF.
Następnie kopiujemy pliki zawierające jądro
systemowe oraz obraz systemu jednej z wybra-
nych wersji. Resetujemy urządzenie, ponownie
uruchamiamy konsolę bootloadera wciskając i
trzymając przyciski Contacts oraz Inbox wraz z
wciśnięciem reset. Pojawi się wtedy logo SDG
Systems oraz komunikat Scanning for ima-
ges.... W dalszej kolejności poproszeni zosta-
niemy o wybranie pliku kontrolnego oraz dalej
pliku z jądrem systemowym i plikiem obrazu
systemu (root). PO chwili oczekiwania wgrany
zostanie obraz jądra systemowego oraz obraz
głównego systemu. Zajmie to z pewnością kil-
ka minut... Po zakończeniu tego procesu i zre-
setowaniu PDA będziemy mogli cieszyć się Li-
nuksem na naszym hx4700.
Trzeba przyznać, że dystrybucja Fami-
liar na PDA HP iPAQ hx4700 działa rewe-
lacyjnie. Nie można nic zarzucić zarów-
no stabilności, jak i szybkości pracy urzą-
dzenia. Dodatkowo znaczna liczba dostęp-
nych pakietów oraz możliwość samodziel-
nej ich kompilacji (przy zastosowaniu me-
chanizmu kompilacji skrośnej), sprawia, że
na pewno będziemy zadowoleni z nowe-
go systemu. Jedynym problemem jest to,
że urządzenie to już dawno zostało wyco-
fane ze sprzedaży, a ze względu na wyso-
ką jakość i duże zainteresowanie, model ten
trudno jest zdobyć.
Linux na
urządzeniach Palm – czy warto?
Palm to dzisiejszych czasach synonim okre-
ślenia handheld PC, czy też palmotop, pod
którym rozumiemy małe komputery trzyma-
ne w dłoni – tak popularne w ostatnich cza-
sach. W rzeczywistości nazwa Palm jest za-
strzeżonym znakiem towarowym, należą-
cym do amerykańskiej firmy Palm – pro-
ducenta bardzo dobrych palmtopów z linii
Tungsten oraz znanych powszechnie pierw-
szych smartfonów – Treo. cechą charaktery-
styczną wszystkich tych urządzeń jest spe-
cyficzny system operacyjny PalmOS, któ-
rego znaczenie ostatnimi czasy podupadło,
podobnie jak i znaczenie urządzeń firmy
Palm. Wszystko to stało się za sprawa pew-
nych nietrafnych posunięć firmy, które spra-
wiły, że Palmy stały się mniej konkurencyj-
ne w stosunku do prężnie rozwijającego się
rynku PDA z Windows Mobile na pokładzie.
Dodatkowo firma Palm poniosła straty zwią-
zane z nieudanym startem urządzenia Palm
Foleo – zwiastuna mini-laptopów, z tym że
z systemem Palm na pokładzie... Myślę, że
w znacznym stopniu niepowodzenia Palma
wynikają z zamkniętej architektury syste-
mu. Uwolnienie kodu PalmOS spowodowa-
łoby stworzenie samonakręcającego się śro-
dowiska deweloperów rozwijających sys-
tem. Stało się jednak inaczej...
Rysunek 2.
Palmtop Tungsten TX
Rysunek 3.
Palmtop Tungsten TX z uruchomionym
Linuxem – środowisko Opie
Rysunek 4.
Sharp Zaurus SL-C100 z dystrybucją
pdaXii13
34
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
35
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
www.lpmagazine.org
Poza smartfonami Treo, obecnie w
sprzedaży są dwa handheld PC – słabiut-
ki z22, oraz mocne maszyny Tungsten TX
oraz LifeDrive (Palm z dyskiem MicroDri-
ve) – będące zwięczeniem umierającej linii
Palmów z serii Tungsten (Rysunek 2). Dla-
czego piszę, że są to ostatni przedstawicie-
le gatunku? Model LifeDrive ma już kilka
lat i nie zanosi się, aby coś w nim miało się
zmienić, a w porównaniu do TX niewiele
się zmienił. Z oferty widać, że firma Palm
wycofuje się z tej branży walcząc o pozycję
w branży smartfonów.
Istnieje kilka niezależnych projektów
oferujących możliwość instalacji Linuksa na
palmach. Najlepiej, co nie oznacza, że inten-
sywnie, rozwijają się dwa – instalacji Linuk-
sa na palmie Tungsten E (urządzenie niedo-
stępne w sprzedaży) oraz na palmie Tungsten
TX oraz Palm LiveDrive. Obecnie obydwa
urządzenia nie są tak dobrze wspierane, jak
opisywany powyżej iPAQ hx4700. Dotych-
czas nie udało się uruchomić wbudowanego
WiFi, obsługa USB kuleje, a całość działa na
podstawie obrazu systemu umieszczonego na
karcie SD. Brak jest również wsparcia dla pa-
mięci NAND Palma. Pocieszające jest jednak
to, że główny deweloper projektu – miska in-
tensywnie pracuje nad rozwojem dystrybucji.
Są już pierwsze informacje o możliwym ste-
rowniku dla WiFi oraz sterownikach obsłu-
gujących dysk NAND.
Instalacja Linuksa na Tungstenie TX jest
zdecydowanie prostsza, niż w przypadku opi-
sywanego wcześniej iPAQa. Ze strony http:
//atrey.karlin.mff.cuni.cz/~miska/ pobieramy
pliki:
• Palm TX kernel package (tx-kernel.tgz
lub tx-hires-kernel.tgz),
• Opie root in ext2 (opie-rootfs-20071001-
ext2.tgz),
• Misc package – swap and separate home
partition (misc.tgz).
W większości przypadków domyślna kon-
figuracja zapisana w pliku linux.boot.cfg
jest wystarczająca. Ja jednak zmieniłem
ją trochę, aby całość była bardziej czytel-
na. Przede wszystkich zrobiłem trochę po-
rządków w nazwach plików: zmieniłem na-
zwę pliku z obrazem sytemu plików na ro-
otfs.ext2, nazwę pliku swap na swapfs. Po
porządkach i wprowadzeniu zmian do pliku
linux.boot.cfg wyglądał on jak na Listingu
2. Plik ten powinien znaleźć się na karcie
SD. Wszystkie wyżej opisywane pliki znaj-
dują się w płycie dołączonej do czasopi-
sma, w folderze LinuxEmbedded, w postaci
archiwum (PalmLinux.tar.bz2), które nale-
ży rozpakować na pustej karcie SD.
Po włożeniu karty do Palma należy
uruchomić program cocoboot. Zatwierdza-
my domyślne opcje RAM-dysku, po czym
Linux bootuje. Należy uzbroić się w cier-
pliwość, gdyż proces ten trwa kilka chwil.
Po uruchomieniu się środowiska graficzne-
go należy dokonać kalibracji ekranu doty-
kowego. Na tym kończy się proces urucha-
miania systemu (Rysunek 3).
Tak przygotowana dystrybucja pracu-
je w pamięci Palma, korzystając z systemu
plików zapisanego na karcie SD. Jak wcze-
śniej napisałem, nie ma możliwości mo-
dyfikacji zawartości pamięci NAND Pal-
ma, więc zgromadzonym tam danym teore-
tycznie nic nie powinno się stać, lecz róż-
nie to bywa. Palmtop pod kontrolą Linuk-
sa pracuje stabilnie i wydajnie. Liczne pro-
gramy wchodzące w skład środowiska Opie
oraz możliwość rozbudowy o nowe progra-
my sprawia, że jest to dobra propozycja
dla osób które chcą mieć wszędzie Linuk-
sa – od zegarka do samochodu. Jednak brak
obsługi WiFi oraz konieczność pracy na ob-
razie z kart SD sprawia, że Linux na Tung-
stenie TX nie nadaje się do codziennych za-
stosowań. Myślę jednak, że intensywne pra-
ce trwające w ramach projektu Hack&Dev
spowodują, że w niedługim czasie Palm TX
i Palm LiveDrive będą kolejnymi w pełni
obsługiwanymi przez Linuksa palmtopami.
Ja poczekam z przesiadką z PalmOS na Li-
nuksa w momencie, gdy będzie można ory-
ginalny system zastąpić Linuksem.
Nie wszystko złoto,
co się świeci – Sharp Zaurus
Dwa poprzednie rozwiązania zakładały in-
stalowanie specjalnej dystrybucji Linuksa
na PDA, które pierwotnie pracowały pod
kontrolą innego systemu operacyjnego. Pi-
sząc o Linuksie, jako systemie wbudowa-
nym, nie sposób jest nie wspomnieć o pro-
dukcie firmy Sharp – Sharp Zaurus. Jest to
szczególnego rodzaju PDA, produkowany
przez japońską firmę Sharp, pracujący pod
kontrolą specjalnie przygotowanej dystry-
bucji Linuksa. Środowiskiem graficznym
użytkownika w tym systemie była Qtopia
autorstwa firmy Trolltech. Jednak znacz-
na popularność Zaurusów w latach 90-tych
przyczyniła się do powstania alternatyw-
nych rozwiązań – systemów operacyjnych:
OpenZaurus, Sharp Cacko ROM, Ångström
pdaXrom i wiele, wiele innych. Rozwój Za-
urusów trwał kilkanaście lat, lecz obecnie
firma Sharp całkowicie wycofała się z pro-
dukcji tych urządzeń. W Polsce Zaurusy są
prawie niedostępne. Pojedyncze sztuki uda-
je się upolować na Ebay lub Amazon, lecz
w wielu przypadkach są to starsze modele.
Również cena Zaurusów jest dość wysoka,
gdyż po przeliczeniu na złotówki sięga na-
wet kwot powyżej dwóch tysięcy.
Sharp Zaurus występuje zasadniczo w
dwóch postaciach – z serii SL, w postaci kla-
sycznego palma oraz SL-C – w postaci mi-
niaturowego laptopa – ze składaną klawiatu-
rą (C od clamshell). Najlepszy z Zaurusów
– SL-C3200 wyposażony jest w procesor Intel
XScale PXA270 416MHz, wyświetlacz o roz-
dzielczości 640x480, 128 MB pamięci ROM,
64 MB pamięci SDRAM oraz 6 GB dysk typu
MicroDrive. Jeśli powyższą konfigurację uzu-
pełnimy o klawiaturę qwerty, sloty kart SD oraz
CF, uzyskujemy całkiem przyzwoity sprzęt...
Architektura ARM (Advanced RISC Machine, pierwotnie Acorn RISC Machine) to 32-bito-
wa architekura procesorów typu RISC. Różne wersje procesorów ARM są szeroko stoso-
wane w systemach wbudowanych i systemach o niskim poborze mocy, ze względu na ich
energooszczędną architekturę. Obecnie najczęściej stosuje się procesory dwóch produ-
centów: DEC – StrongARM oraz Intel – XScale, który jest następcą StrongARM. Obydwa
procesory cechuje bardzo niskie zużycie energii elektrycznej, np. StrongARM 233 MHz zu-
żywa zaledwie 1 W. Urządzenie pracujące pod kontrolą Windowsa Mobile częściej jed-
nak korzystają z procesorów w architekturze MIPS (Microprocessor without Interlocked Pi-
ped Stages).
Architektura ARM i MIPS
Rysunek 5.
Instalacja systemu na Zaurusie – etap 1:
program narzędziowy
36
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
37
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
www.lpmagazine.org
Dlaczego więc pomimo znacznego wsparcia
ze strony środowiska oraz firmy Sharp, urzą-
dzenie to nie zrobiło światowej kariery? Trud-
no powiedzieć... Z pewnością przyczyniły się
do tego pewne niedociągnięcia konstrukcyj-
ne, jak np. brak wbudowanych modułów WiFi
czy Bluetooth. Oczywiście można rozbudować
Zaurusa poprzez dodawanie mu peryferiów na
karcie CF, czy poprzez podłączenie peryferiów
na USB (Zaurusy SL-C1000 i nowsze posiada-
ją port micro-USB pracujący w trybie host oraz
slave). Jednak nie każdy ma ochotę za każdym
razem przekładać karty, gdy chce korzystać z
WiFi, czy bluetooth. Dla mnie Sharp Zaurus
to boczna, nieco błądząca linia ewolucji PDA
z Linuksem na pokładzie. Jako Linuksiarz cie-
szę się z posiadania Zaurusa, lecz zdecydowa-
nie wygodniej pracuje mi się na Tungstenie TX
z PalmOS. Jakie są tego przyczyny?
Przede wszystkim PalmOS jest nieco
szybszy, niż Linux na Zaurusie. Wadą Zauru-
sów, zwłaszcza modeli typu Clamshell jest
ich waga (dwukrotnie większa w porównaniu
do Palma) – nie są to więc komputery kie-
szonkowe. Kolejną wadą jest brak pełnej po-
lonizacji systemu – Linuksa w Zaurusie. Dla
Palma dostępne są komercyjne polonizacje.
które rozwiązują ten problem w sposób ide-
alny. Ponadto wybór oprogramowania, który
wydawałby się pod Linuksem przeogromny,
w rzeczywistości w przypadku Zaurusa jest
nieco ograniczony. Widoczne są też znaczą-
ce różnice pomiędzy poszczególnymi dystry-
Tabela 1.
Porównanie najbardziej popularnych dystrybucji Linuksa dla platformy Sharp Zaurus
Dystrybu-
cja
Ją-
dro
Bootlo-
ader
GUI
Oprogramowanie
Znane błędy
Zalety
Adres www
Sharp
ROM
Sharp
NAND
Qtopia
Różne w zależności od mode-
lu, lecz zawsze PIM, pakiet biu-
rowy: wczesna wersja Hankom
Word/Sheet, web: NetFront 3.1,
Opera.
W niektórych modelach brak
możliwości obsługi kart SD o
rozmiarze większym niż 1GB.
Brak mechanizmu USB Sto-
rage.
Szybkość, intu-
icyjność, bez-
problemowe i
stabilne dzia-
łanie.
Cacko
ROM
Sharp
NAND
Qtopia
W zależności, czy wersja Lite,
czy Full, lecz zawsze wszystko
to, co Sharp ROM oraz dodatko-
wo MPlayer z GUI Kinoma2.
Dzięki pakietowi X/Qt wszystkie
programy dla Xfree.
Brak możliwości obsługi kart
SD o rozmiarze większym niż
1GB. Istnieje łatka rozwiązu-
jąca problem. Brak Xfree, ni-
ska stabilność i szybkość apli-
kacji uruchamianych przez
X/qt. Brak mechanizmu USB
Storage.
Zalety Shar-
pROM oraz do-
datkowo więk-
sze możliwości
dzięki licznym
poprawkom.
Do niedawna www.cac-
ko.biz lecz ostatnio nie
działa. Ostatnie wer-
sje dystrybucji dostęp-
ne pod adresem http:
//sharpromfeed.home.li-
nuxtogo.org/download/
cacko/rom1.23/
pdaXrom /
pdaXii13
Sharp
NAND
Xfree
Bogaty wybór oprogramowania
dostępnego dla serwera X-ów
W niektórych modelach proble-
my z zasypianiem i budzeniem
się urządzenia. Często niesta-
bilna praca, brak możliwości
budzenia się na żądanie opro-
gramowania (błędy APM).
Bardzo dobre
wsparcie środo-
wiska.
Liczne poprawki
w pdaXii13.
http://
www.pdaxrom.org/
pdaXrom
NG
2.6.x uboot
Xfree
Bogaty wybór oprogramowania
dostępnego dla serwera X-ów
Słaba jakość dźwięku, niesta-
bilna praca, brak mechanizmu
USB Storage. Dystrybucja w
fazie rozwojowej, problemy z
instalacją bootloadera uboot.
Szybka, wy-
dajna i nowo-
czesna. Do-
bre wsparcie
dla peryferiów
dzięki kernelo-
wi 2.6.x
http://
www.pdaxrom.org/
OpenZau-
rus
2.4.x
lub
2.6.x
Sharp
NAND
Opie lub
GPE
Bogaty wybór oprogramowania
dostępnego dla serwera X-ów
Przestarzała dystrybucja, jej
następcą jest Ångström
Pierwsza wolna
alternatywa dla
SharpROM.
http://
www.openzaurus.org/
wordpress/
Ångström
2.6.x Sharp
NAND
Opie lub
GPE
Bogaty wybór oprogramowania
dostępnego dla serwera X-ów
Praktycznie zerowe wsparcie
środowiska, czasami przera-
dzające się w niechęć. Proble-
my z instalacją oprogramowa-
nia. Brak dokumentacji
Nowoczesna
wszechstron-
na dystrybucja
– baza dla in-
nych.
http://www.angstrom-di-
stribution.org/
Debian/
Zaurus
2.6.x uboot
Xfree
Bogaty wybór oprogramowania
dostępnego dla serwera X-ów
Znaczne wymagania, dzia-
ła tylko modelach z MicroDri-
ve lub na karcie SD/CF – min.
1 GB.
Bardzo dobre
wsparcie środo-
wiska. Liczne
odmiany. Stabil-
na praca.
http://www.oesf.org/
index.php?title=Debian/
Zaurus
OpenBSD/
Zaurus
2.6.x Sahrp
NAND
Xfree
Bogaty wybór oprogramowania
dostępnego dla serwera X-ów
Przeznaczona
tylko dla modeli
z MicroDrive.
http://www.openbsd.org/
zaurus.html
36
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
37
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
www.lpmagazine.org
bucjami. Jedne z nich są w pewnych wzglę-
dach lepiej dopracowane, inne nieco gorzej.
Nie ma dystrybucji z wszechmiar idealnej...
Nie twierdzę, że PalmOS jest idealny, lecz z
pewnością bardziej dopracowany.
Wydaje mi się jednak, że głównym pro-
blemem Zaurusa jest to, że nie wiadomo w
sumie co to jest. Sharp odżegnywał się od
nazwy PDA, określając Zaurusy mianem
Personal Mobile Tool. Zgadzam się w zu-
pełności z takim podejściem, gdyż Zaurus
ze swoimi możliwościami wykracza daleko
poza ramy zwykłego PDA, nie dorównując
jednak nawet w najmniejszym stopniu dzi-
siejszym laptopom czy mini-laptopom. Dla-
tego też uważam Zaurus nie zdobył takiej
popularności, jak iPAQ, czy inne klasyczne
PDA, gdyż trudno było określić grupę doce-
lową, do której to urządzenie było adreso-
wane. Mimo wspomnianych powyżej wad
warto zapoznać się z Zaurusem.
Osiołkowi w żłoby dano,
w jednym owies, w drugim siano...
Wybierając i testując dystrybucje Linuksa
pod Sharpa Zaurusa tak mniej więcej się
czułem – jak ten osiołek. I to pachnie i to
nęci... Moim problemem było to, że każda
z dystrybucji zachowywała się nieco ina-
czej, miała inne właściwości, inne możli-
wości, lecz także i inne wady. W związku
z tym trudno się na cokolwiek zdecydować.
Mnie osobiście najbardziej do gustu przy-
padły dwie dystrybucje: Cacko ROM, która
to ostatnio zapadła się pod ziemię (zniknę-
ła witryna internetowa projektu) oraz pda-
Xrom, a szczególności jej połatana wersja
pdaXii13, o której więcej napiszę w dal-
szej części artykułu. Więcej informacji o
dostępnych najbardziej popularnych dys-
trybucjach Linuksa przeznaczonych dla Za-
urusa można znaleźć w Tabeli 1. Zawiera
ona porównanie ośmiu najbardziej popular-
nych dystrybucji.
Flash i masz
Kupując Zaurusa nie jesteśmy skazani na dys-
trybucję dostarczona przez producenta. Musi-
my jednak zdać sobie sprawę z tego, że instala-
cja Linuksa na Zaurusie polega na flashowaniu
pamięci typu NAND. Procedura ta nie jest spe-
cjalnie skomplikowana – nawet słabo zaawan-
sowany użytkownik jest w stanie przeprowa-
dzić ją samodzielnie. Proces ten opiszę na przy-
kładzie instalacji dystrybucji pdaXii13 na mo-
delu SL-C1000. Na płycie dołączonej do cza-
sopisma znajduje się w archiwum pdaXii13po-
prawione.tar.bz2, zawierającą nieco zmodyfi-
kowana przeze mnie dystrybucję pdaXii13.
Pierwszą czynnością przed instalacją no-
wego Linuksa na Zaurusie jest jego zreseto-
wanie. Przycisk reset znajduje się w zagłę-
bieniu pod przykrywką baterii. Archiwum z
płyty należy rozpakować na kartę SD lub CF,
przy czym ta pierwsza nie może mieć więk-
szej pojemności niż 1 GB. Archiwum zawiera
trzy pliki – narzędziowy updater.sh, obraz ją-
dra systemowego zImage.bin oraz obraz sys-
temu – initrd.bin. Wszystkie trzy są koniecz-
ne do przeprowadzenia procesu instalacji no-
wej dystrybucji. Po włożeniu karty SD/CF do
sloty w Zaurusie uruchamiamy urządzenie w
trybie narzędziowym, przez wspólne przyci-
śnięcie przycisków On/Off (z przodu obudo-
wy) oraz OK z klawiatury. Ważne jest, aby
dokonać tego na zasilaniu bateryjnym – bez
podłączenia do zasilacza sieciowego, który w
późniejszym etapie jest niezbędny. Po starcie
zobaczymy obraz jak na Rysunku 5. Krzacz-
ki widoczne na ekranie to nie błąd systemu
powodujący nieprawidłowe wyświetlanie
czcionek, lecz menu w języku japońskim. Na
tym etapie należy koniecznie podłączyć ka-
bel zasilający. Brak zewnętrznego zasilania
spowoduje, niemożność dalszego przeprowa-
dzenia procesu instalacji systemu.
Nie wdając się w szczegóły, wybieramy
pozycję 4, odpowiadającą za nadpisanie sys-
temu obecnego w pamięci NAND. Spowodu-
je to otwarcie okna, jak na Rysunku 6. W za-
leżności od tego, czy pliki instalacyjne umie-
ściliśmy na karcie SD, czy na karcie CF, wy-
bieramy pozycję 1 lub 2. Pozycja 3 odpowia-
da poleceniu anuluj. Kolejny ekran, przedsta-
wiony na Rysunku 7, zawiera zapytanie, czy
na pewno chcemy dokonać modyfikacji sys-
temu. Wybieramy oczywiście przycisk z li-
terą Y. Po chwili system ponownie wystar-
tuje, uruchamiając program pdaXii13 in-
staller, napisany z wykorzystaniem biblio-
tek ncurses. Instalator składa się z menu za-
wierającego 7 pozycji. W trakcie opisywane-
go procesu instalacji na SL-C1000 ważne na-
rzędzia kryją się pod pozycją 2: NAND Flash
Utils. Po wybraniu pozycji 2 z menu główne-
go zobaczymy podmenu zawierające 4 kolej-
ne elementy:
• Resize root partition – pozwalającą na
zmianę rozmiaru partycji głównej w obra-
zie systemowym;
• Format user partition – formatującą party-
cję użytkownika;
• Fix loader 64MB limit – instalująca po-
prawkę do NAND, która pozwala na roz-
szerzenie partycji root poza limit 64 MB
nałożony przez oryginalne oprogramowa-
nie Sharp.
• Back to main menu – powrót do menu
głównego.
Pierwszą czynnością, jaką musimy zrobić
przed właściwym procesem instalacji, jest
nałożenie łatki z pozycji 3 menu. Po wyko-
naniu tej czynności niezbędne okaże się po-
nowne uruchomienie programu narzędziowe-
go NAND i instalatora wg schematu opisane-
go powyżej. Dalej wybieramy pozycję Resize
root partition, a w oknie dialogowym wpisu-
jemy nowy rozmiar partycji root. Maksymal-
nie może to być 121 MB (dla SL-C1000), a
zalecane jest 58 MB. Ja jednak proponuję ca-
łą dostępną pamięć sformatować jako party-
cję root, co pozwoli nam efektywniej zarzą-
dzać tą niewielką pojemnością na instalację
programów. Pliki użytkownika zawsze moż-
na zapisać na karcie SD lub CF zamiast mar-
nować cenne megabajty wewnętrznej pamię-
ci Zaurusa. Po rozszerzeniu partycji zostanie
sformatowana partycja użytkownika (jeśli ta-
kowa istnieje), a następnie Zaurus uruchomi
się ponownie. Aby zainstalować nowy sys-
tem kolejny raz uruchamiamy program na-
rzędziowy NAND oraz instalator, tym razem
wybierając pozycję 3.: Install new ROM. Pro-
ces flashowania pamięci zajmie od kilku do
kilkunastu minut, w zależności od wersji in-
stalowanego systemu. Im większy jest plik
obrazu systemu, tym dłużej to trwa. Po za-
kończeniu procesu należy ponownie urucho-
mić Zaurusa, np. przez wybranie pozycji re-
boot z menu głównego instalatora. Kolejny
restart urządzenia nastąpi tym razem z no-
wym systemem.
Rysunek 7.
Instalacja systemu na Zaurusie – etap 3:
potwierdzenie
Rysunek 6.
Instalacja systemu na Zaurusie – etap 2:
wybór źródła instalacji
38
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
39
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
www.lpmagazine.org
A może coś nowszego?
Jak wynika z Tabeli 1, dystrybucja pdaXii13
choć ma wiele zalet, posiada także i wady.
Z pewnością jedną z nich jest to, że wyko-
rzystuje jądro z nierozwijanej już linii 2.4.x.
Wady tej pozbawiona jest deweloperska wer-
sja systemu pdaXrom opatrzona numerami
od 1.1.0beta4 do 1.1.0r198. Jednak jak za-
znaczyłem na samym początku, jest to wer-
sja dystrybucji ciągle będąca w fazie roz-
wojowej. W związku z tym należy spodzie-
wać się błędów i pewnych braków. Jednym
z nich jest fatalna jakość dźwięku oferowana
przez sterownik zawarty w jądrze użytym w
dystrybucji. W r198 nie działa również tryb
storage mode dzięki któremu Zaurus zacho-
wuje się jak czytnik kart CD/CF. Pomimo to
warto zainteresować się tą wersją dystrybu-
cji, gdyż określa ona kierunek, w jakim po-
dąża pdaXrom.
Opisywana wersja r198 cechuje się
między innymi nowym bootloaderem – U-
boot, zastępującym dotychczasowy ofe-
rowany przez oryginalny NAND. Umoż-
liwia on między innymi start systemu nie
tylko z pamięci NAND, lecz także z me-
diów zewnętrznych, np. karty SD, czy CF,
co wcześniej było niemożliwe. Bootloader
U-boot wykorzystywany jest również przez
część dystrybucji Debiana instalowanych
na karcie SD/CF. Choćby dlatego warto za-
interesować się tym bootloaderem. Ostrze-
gam jednak, że jego instalacja nie należy do
najprostszych, a błąd może zakończyć się
trwałym uszkodzeniem urządzenia. Dlate-
go zanim zabierzemy się do instalacji no-
wego bootloadera, należy starannie, kilku-
krotnie przeczytać zawarty poniżej opis te-
go procesu.
Jak (nie)zatopić U-BOOTa
U-boot to bootloader dostarczany w ramach
projektu pdaXrom, który w przyszłości ma
zastąpić oryginalne oprogramowanie Zauru-
sa. Jego instalacja wymaga wcześniejsze-
go wyczyszczenia pamięci NAND a dopie-
ro później właściwej instalacji oprogramo-
wania. Nieprzestrzeganie tej kolejności spo-
woduje poważny i trudny do usunięcia błąd
systemu plików pamięci NAND.
Przed przystąpieniem do jakichkolwiek
prac należy przede wszystkim zachować
wszystkie krytyczne dla nas dane zapisane
w Zaurusie, gdyż ulegną one nieodwracalne-
mu usunięciu. Należy również stworzyć bac-
kup własnego NAND, tak aby w razie niepo-
wodzenia mieć możliwość przywrócenia sys-
temu. W tym celu wyjmujemy baterię z Za-
urusa, przytrzymujemy na klawiaturze przy-
cisk D oraz M, a następnie podłączamy za-
silacz. Takie postępowanie uruchomi menu
serwisowe Zaurusa – coś w rodzaju progra-
mu konfiguracyjnego BIOS komputera klasy
PC. Korzystając z klawiszy kursorów prawo
/ lewo przechodzimy do trzeciego ekranu me-
nu, a następnie korzystając z klawiszy góra /
dół wybieramy pozycję BACKUP RESTORE
MENU. Backup NAND w przypadku C1000
będzie miał wielkość około 130 MB i zapi-
sać można go na karcie SD lub CF. Jednak
doświadczenie oraz informacje znalezione na
forach internetowych, wskazują, że dość czę-
sto proces ten wykonywany z użyciem kar-
ty SD nie udaje się – zdecydowanie pewniej-
sze są karty CF. Tak więc do slotu w szczy-
cie urządzenia należy włożyć kartę SD o po-
jemności min. 256 MB, a następnie z wy-
świetlanego menu wybrać pozycję NAND
Flash Back Up. W ten sposób obraz NAND
zostanie zapisany w pliku o nazwie SYST-
C1000.DBK. Plik ten może zostać wykorzy-
stany do przywrócenia systemu.
Gdy już wykonamy kopię zapasową
NAND Flash możemy przystąpić do instala-
cji nowego bootloadera. W tym celu na trze-
ciej karcie menu serwisowego znajdujemy
pozycję EXTRA MENU, a z podmenu wybie-
ramy NAND Flash Erase. Spowoduje to cał-
kowite wyczyszczenie pamięci NAND. Pod-
kreślam, że czynność ta jest konieczna dla
prawidłowego przebiegu instalacji nowego
bootloadera. Następnie npobieramy z inter-
netu wersję bootloadera odpowiadającą wer-
sji instalowanego systemu (np. U-boot r198
dla pdaXrom r198), pliki u-boot.bin, upda-
ter.pro, updater.sh, emergenc.img oraz auto-
boot.sh rozpakowujemy z archiwum na kartę
SD lub CF, którą umieszczamy w Zaurusie.
Należy pamiętać, aby była to jedna z dwóch
kart, nigdy dwie naraz, gdyż może spowodo-
wać to błąd instalacji bootloadera U-boot.
Następnie trzymając przyciski C+D podłą-
czamy kabel zasilający (przy wyjętej baterii),
co uruchomi proces instalacji nowego bo-
otloadera. Objawiać będzie się to zapaleniem
się zielonej diody Zaurusa na czas około 20
sek., a następnie jej zgaszeniem, co oznacza
pomyślne zakończenie. Miganie żółtej diody
oznacza, że proces instalacji U-boot nie po-
wiódł się. W tym celu, dla większej pewno-
ści, że nic się nie sanie, najlepiej jest ponow-
nie wyczyścić NAND (wg. opisu powyżej) a
następnie ponownie podejść do procesu in-
stalacji U-boota. Mimo, że powyższy pro-
ces wydaje się być banalny, to często z nie-
wiadomych przyczyn coś się dzieje i insta-
lacja bootloadera nie udaje się. Najczęstszą
przyczyną niepowodzenia jest sam użytkow-
nik, a dokładniej rzecz ujmując – jego zbyt-
ni pośpiech, nie czytanie manuali. Tak też się
ze mną stało, gdy po raz pierwszy instalowa-
łem bootloadera U-boot. Nie wyczyściwszy
uprzednio NAND nadpisałem stare oprogra-
mowanie nowym, co spowodowało błąd lo-
giczny systemu plików NAND Flash. Bardzo
długo trwało zanim znalazłem odpowiedź, co
mam w tej sytuacji zrobić. Nie było bowiem
możliwe odzyskanie NAND dzięki zapisane-
mu obrazowi. Pomogło dopiero sformatowa-
• http://wservices.ch/~lucas/hx4700/ - opis instalacji Familiar na HP iPAQ hx4700
• http://www.handhelds.org/moin/moin.cgi/HpIpaqHx4700HowtoInstallLinux – szczegółowy opis instalacji Familiar na HP iPAQ hx4700
• http://familiar.handhelds.org/ - strona domowa dystrybucji Familiar
• http://hackndev.com/ - portal poświęcony instalacji Linuksa na urządzeniach Palm
• http://miska-hnd.blogspot.com/ - blog dewelopera rozwijającego dystrybucję Linuksa na Palm TX oraz Palm LiveDrive
• http://www.pdaxrom.org/ - witryna dystrybucji pdaXrom
• http://zaurus.daemons.gr/menaie/ - strona domowa głównego dewelopera dystrybucji pdaXrom, twórcy pdaXii13
• http://zaurus.daemons.gr/menaie/mirror/jumbo/pdaxqtrom.html – strona poświęcona projektowi X/Qt
• http://trolltech.com/products/qtopia/greenphone – strona projektu Qtopia Greenphone – środowiska Qt/Embedded przeznaczonego
dla telefonów
• http://alp.access-company.com/ - strona projekty Access Linux Platform
W Sieci
38
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
39
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
www.lpmagazine.org
nie pamięci flash i przywrócenie systemu pli-
ków pamięci Flash dzięki narzędziom zawar-
tym w menu serwisowym.
Zakładam jednak, że każdy czytelnik te-
go artykułu, zgodnie z moją radą trzy razy
przeczytał tekst opisujący kolejne czynno-
ści instalacji, zanim zabrał się do pracy. Za-
kładam więc, że proces instalacji bootloadera
powiódł się. Należy więc teraz na kartę SD /
CF rozpakować pliki dystrybucji pdaXrom w
wersji 1.1.0r198 (lub innej wybranej, zgod-
nej z wersją bootloadera): autoboot.sh. ro-
otfs.img oraz kernel.img. Następnie przytrzy-
mując przycisk OK podłączamy Zaurusa do
prądu lub wkładamy baterię. Po ok. 20 sek
puszczamy przycisk OK, co spowoduje uru-
chomienie systemu awaryjnego oraz proce-
su instalacji nowego systemu na podstawie
informacji zapisanych w pliku autoboot.sh.
Proces ten zakończy się restartem systemu.
Ponowne uruchomienie Zaurusa odbędzie się
już z nowym systemem.
Jak widać z powyższego opisu instalacja
deweloperskiej wersji dystrybucji pdaXrom
nie dość, że jest pracochłonna, to naszpikowa-
na problemami jak przylądek Horn skałami, na
których łatwo zatopić naszego Zaurusa. Czy
więc warto się interesować tą wersją? Myślę,
że tak, gdyż, jak wcześniej napisałem, wyzna-
cza ona kierunek rozwoju tej dystrybucji. Po-
nadto sprawnie zainstalowany U-boot pozwo-
li nam wypłynąć na szerokie wody dystrybu-
cji Debian, uruchamianej w przypadku C1000
z karty SD / CF, co jest możliwe tylko dzię-
ki U-boot.
Jeśli pdaXrom r198 znudziłby się nam,
lub też z jakichkolwiek innych przyczyn
chcielibyśmy powrócić do pierwotnego
oryginalnego bootloadera, należy najpierw
usunąć z pamięci NAND oprogramowanie
U-boot, a dopiero później odzyskać z za-
wartość NAND z zapisanego obrazu. Odzy-
skiwanie przebiega podobnie do czyszczenia
NAND. Również i tym razem musimy uru-
chomić urządzenie w trybie diagnostycznym,
po czym przechodzimy do trzeciego ekranu,
gdzie wybieramy pozycję NAND Restore.
Oprogramowanie szuka obrazu NAND – naj-
pierw na karcie CF, a później na SD, po czym
odzyskuje dane. Doświadczenie moje poka-
zuje, że dość często z niewiadomych przy-
czyn nie udaje się odzyskać NAND z obra-
zu zapisanego na karcie SD. Jeśli zdarzyło-
by się, że nie zapisaliśmy wcześniej obrazu
NAND lub zapisany przez nas backup okazał
się uszkodzony, zawsze możemy sięgnąć po
backupy sporządzone przez innych użytkow-
ników Zaurusa, np. ze strony firmy Trisoft:
http://www.trisoft.de/ (dział downloads).
Całkiem ładne cacko
Cały czas twierdzę, że rosyjscy programi-
ści należą do elity informatycznej. Istnie-
je na to wiele dowodów, jak choćby dys-
trybucja Linuksa o nazwie Cacko, przezna-
czona dla wszystkich modeli Zaurusa. Jak
wcześniej napisałem dystrybucja ta cechu-
je się tym, że jest znacznie poprawioną wer-
sją oryginalnego ROMu dostarczanego przez
Sharp. Zachowuje z nim pełną zgodność, do-
starczając jednocześnie wiele dodatkowych
elementów. Cacko zapewnia nam pełną funk-
cjonalność Zaurusa, stabilność pracy i szyb-
kość działania. Niestety wybór dodatkowego
oprogramowania dla tej dystrybucji jest moc-
no ograniczony. Dzieje się tak za sprawą mię-
dzy innymi środowiska Qtopia, które podob-
nie, jak i Sharp ROM jest odpowiedzialne za
GUI. Problem ten jednak można ominąć sto-
sując pakiet X/Qt.
Pakiet X/Qt to paczka *.ipk do instala-
cji lub w najnowszej wersji obraz w forma-
cie cramfs lub squashfs do zamontowania
(XQtrom), zawierający wszystkie biblioteki
potrzebne do uruchomienia programów wy-
magających serwera Xfree. Zasada działania
X/Qt jest prosta: w działającym systemie uru-
chomiona zostaje sesja chroot z działającym
serwerem X-ów oraz oszczędnym menadże-
rem okien Fluxbox. Przy użyciu X/Qt może-
my uruchomić prawie wszystkie programy z
pdaXrom. Wadą tego rozwiązania jest to, że
programy uruchamiane przy pomocy X/Qt
działają dużo, dużo wolniej niż w natywnym
środowisku Xfree, czy samo Cacko. Dla przy-
kładu, samo uruchomienie się X/Qt zajmuje
około 2-3 min., a uruchomienie edytora tek-
stu Abiword – kolejne 2-3 minuty. Urucho-
mienie tego samego programu w pdaXii13
zajmuje mniej niż 1 minutę... Sytuacje nieco
poprawia dodanie pliku pamięci swap w Cac-
ko (min. 64 MB zgodnie z zaleceniami autora
lecz ja sugeruję maksymalne dostępne w Cac-
ko 128 MB). Nie spodziewajmy się jednak
zbyt wiele... Instalacja X/Qt jest nadzwyczaj
prosta. Ze strony projektu (patrz W Sieci na
końcu artykułu) lub z płyty dołączonej do cza-
sopisma należy skopiować na kartę SD lub CF
wybrane obrazy. Minimum musi to być pda-
XQtrom-base. Obraz zawierający aplikacje to
pdaXQtrom-apps. Wszystkie lub wybrane ob-
razy kopiujemy w jedno miejsce, np. do jedne-
go folderu, a następnie z tej samej lokalizacji
uruchamiamy skrypt pdaXQtrom-install.sh.
Skrypt ten montuje obrazy, kopiuje i podlin-
kowuje odpowiednie biblioteki do naszego
systemu. Aby nie musieć za każdym urucho-
mieniem systemu ponownie ręcznie monto-
wać obrazów, warto jest zainstalować pakiet
automonter-lite, który zrobi to za nas. Progra-
my zawarte w zainstalowanych obrazach zo-
staną zgromadzone w postaci osobnej zakład-
ki X/Qt. Możne je uruchomić poprzez kliknię-
cie ikony na pulpicie, wybranie odpowied-
niej pozycji z menu lub uruchamiając z kon-
soli w postaci:
# xlauncher nazwa_aplikacji
Jeśli coś idzie niezgodnie z naszymi oczeki-
waniami, możemy uruchomić program w try-
bie debugowania:
# xlauncher -debug nazwa_aplikacji
W X/Qt została wbudowana również funkcja
umożliwiająca uruchamianie aplikacji bez
wymagającej X-ów konieczności uruchamia-
nia całej sesji serwera Xfree.
# xlauncher -embed nazwa_aplikacji
Ostrzegam jednak, że aplikacje uruchamiane w
tym trybie, jeśli dadzą się w ogóle uruchomić,
to i tak pracują mniej stabilnie, niż wywołane w
sesji Xfree. Wydawałoby się, ze Cacko z X/Qt
jest niemalże idealnym rozwiązaniem- stabil-
ne i dopracowane środowisko Qtopia połą-
czone z bogactwem oprogramowania Xfree.
Jest to jednak tylko złudzenie. Czekanie pięć
minut na uruchomienie się aplikacji w X/Qt
zdecydowanie przekracza moją wytrzyma-
Większość urządzeń z wbudowany systemem stosuje pamięć typu flashs do przechowy-
wania danych. Dość często spotyka się sytuację braku rozdzielnej pamięci RAM i ROM.
Z tego też względu na potrzeby systemów wbudowanych powstały specjalne systemy pli-
ków. Najczęściej używany jest JFFS2 (The Journalling Flash File System, version 2). Jego
ograniczeniem jest maksymalny rozmiar do 128 MB. Innym systemem plików jest CramFS
– skompresowany system plików tylko do odczytu, którego maksymalny rozmiar wyno-
si 256 MB. Lepszy stopień kompresji w porównaniu do dwóch porzednich oferuje system
SquashFS – kolejnys system plików tylko do odczytu. Specjalnie dla pamięci typu NAND
opracowano YAFFS2 (Yet Another Flash File System).
Systemy plików w Linux embedded
40
Rozwiązania
Linux na urządzeniach z wbudowanym systemem
maj 2008
łość psychiczną. Natomiast brak nowocze-
snych programów dla Qtopii odstręcza mnie
od Cacko, a nie ma nadziei na pojawienie się
nowszej wersji dystrybucji, czy też nowszych
programów, ze względu na brak zaintereso-
wania głównego dewelopera Cacko dalszym
rozwojem projektu. Poniekąd jest to związa-
ne z faktem małej wszechstronności dystry-
bucji – przeznaczona była ona na sprzęt który
powoli odchodzi w zapomnienie. Dowodem
na to jest prężnie rozwijająca się dystrybucja
Ångström, która wspiera kilkanaście różnych
platform. Ta dystrybucja obecnie uważana
jest za przyszłość OpenSource'owej dystry-
bucji Linuksa wbudowanego.
Nokia & Linux
Nokia w 2005 roku wypuściła na rynek wtedy
dość kontrowersyjny produkt – Nokia 770 In-
ternet Tablet. Wydawało się dość kontrower-
syjnym podejściem stworzenie urządzenia,
którego jedynym zadaniem miało być przeglą-
danie stron internetowych. Jednak Nokia po-
czyniła mądry krok, umieszczając we wnętrzu
tego urządzenia odpowiednio zmodyfikowaną
dystrybucję Linuksa. To zaś, jak można było
spodziewać się, skończyło się stworzeniem
wielu alternatywnych rozwiązań, dystrybucji
Linuksa przeznaczonych specjalnie dla Nokia
770. Opracowano również liczne łatki, które
rozszerzały możliwości oryginalnego systemu
o funkcje, których istnienia deweloperom No-
kii nawet się nie śniło.
Tablet Nokia 770 jest kolejnym przykła-
dem na to, że nie nawet niezbyt trafiony pro-
dukt, bardzo nietypowy sprzęt dzięki Linuk-
sowi znajdzie grupę zwolenników, którzy
zrobią z tym produktem coś zupełnie nie-
oczekiwanego.
Android – Google
jak drugi Microsoft?
Dotychczas opisywałem rozwiązania Linuksa
wbudowanego, przeznaczonego na konkret-
ne platformy, konkretne modele urządzeń. Z
jednej strony jest to dobre rozwiązanie, gdyż
pozwala optymalizować software pod kątem
konkretnego urządzenia, co daje lepsze efek-
ty, niż budowanie wszechstronnej dystrybucji.
Jednak, jak pokazuje życie, a zwłaszcza żywot
elektroniki, takie rozwiązanie ma krótkie no-
gi – wcześniej, czy później wywraca się (patrz
przykład Cacko i Ångström).
Google Inc. to firma, która rocznie no-
tuje zyski sięgające trzech miliardów dola-
rów nie tylko dzięki powszechnie używanej
wyszukiwarce internetowej, lecz także dzię-
ki wielu innym usługom dodatkowym. Go-
ogle Inc. już od dłuższego czasu przejawia za-
pędy mocno zbliżone do tego co czyni Micro-
soft, chcąc znaleźć się w coraz to nowych re-
gionach rynku, dotychczas mu obcych. Mimo,
że na co dzień używam wyszukiwarki Google
wraz z całą masą dodatków i jestem z niej za-
dowolony, to ta ekspansja zaczyna mnie lekko
niepokoić. Pierwsze wzmianki o nowym tele-
fonie GooglePhone, które niczym różowe za-
jące rozpierzchły się po internecie, okazały się
jedynie pogłosem plotki prawdziwych zamie-
rzeń potentata branży internetowej. Niedawno
Google ogłosiło zaistnienie nowego projektu
– Android – otwartej, opartej na Linuksie, plat-
formy przeznaczonej na urządzenia typu smart-
phone. Celem projektu było stworzenie takiego
systemu, aby zwolnic programistów z myślenia
o sterownikach, kompatybilności ze sprzętem
itp., tak aby mogli skupić się na tworzeniu apli-
kacji z użyciem API dostarczonego przez plat-
formę. API dostarcza narzędzi do łatwego i zin-
tegrowanego posługiwania się wszystkimi nor-
malnymi elementami smartphonu, czyli książki
telefonicznej, usługi telefonowania, wbudowa-
nej kamery, czy też dostępu do internetu za po-
średnictwej smartphonu.
Aby zachęcić niezależnych programi-
stów do pracy – stworzyć społeczność wo-
kół projektu - Google poczynił dwa kroki.
Przede wszystkim wszystkie elementy pro-
jektu – API, emulator i kod dostępne są na
podstawie licencji OpenSource'owych – GPL
i LGPL. Po drugie ogłosił konkurs na naj-
lepszą aplikację napisaną dla platformy An-
droid. Bardzo mądre posunięcie... Jaki jest
stan platformy Android? Prace mają się cał-
kiem dobrze. W internecie dostępne są bo-
wiem pierwsze doniesienia na temat działają-
cych implementacji tego systemu na działa-
jące telefony. Myślę, że już w niedługim cza-
sie będzie można spodziewać się pierwszych
komercyjnych produktów z tym systemem.
Mam nadzieję, że dzięki otwartej polityce
Google nie stara się monopolizować rynku
IT, wciskając się we wszystkie zakamarki nie
zajęte przez Microsoft. Już teraz niektóre po-
sunięcia Google bywają niepokojące, więc
będziemy je obserwowali z uwagą.
Nie tylko Google
Aby być uczciwym, należy dodać, że nie tyl-
ko Google interesuje się Linuksem jako plat-
formą dla urządzeń mobilnych. Od dawna
na tym polu działa wspominana wielokrot-
nie, także w tym artykule, firma Trolltech
ze swym produktem Qt/Embedded. To śro-
dowisko graficzne wykorzystuje między in-
nymi Motorola już od 2003 roku, począwszy
od modelu A760, zawierającego odpowied-
nio przygotowane środowisko Linux wraz z
maszyną Java. Od tego czasu upłynęło wie-
le wody, a Motorola nadal świetnie się trzy-
ma, cały czas stosując Linuksa w swych te-
lefonach multimedialnych. Trolltech dostar-
cza bowiem już od dłuższego czasu środo-
wisko programistyczne Qtopia Greesuite po-
zwalające na tworzenie wydajnych aplika-
cji na telefony działające pod kontrolą Li-
nuksa z interfejsem graficznym opartym na
Qt/Embedded.
Również firma Access, właściciel praw do
systemu PalmOS, wydała, bez większego roz-
głosu, platformę programistyczną do tworze-
nia aplikacji pod system Access Linux Platform
– przeznaczony dla urządzeń mobilnych.
Czas już kończyć
Jak widać, Linuksem jako systemem wbu-
dowanym interesują się nie tylko pryszczaci
nastolatkowie, jak zwykli nazywać window-
so-zależni programistów działających w stre-
fie wpływów Open Source. Linux już od wie-
lu lat stanowi doskonałą alternatywę wobec
zamkniętych rozwiązań, ograniczonych tyl-
ko do jednej firmy. Jakie są tego przyczyny?
Przede wszystkim zastosowanie Linuksa ob-
niża koszty licencjonowania systemu, dzięki
czemu nadwyżki finansowe można przezna-
czyć na stworzenie lepszego software'u towa-
rzyszącemu systemowi, czy lepszego sprzę-
tu. To zaś zawsze przekłada się na dodatkowe
zyski. Kolejnym argumentem jest wszech-
stronność Linuksa. Z niewielką pomocą moż-
na go upchnąć wszędzie. Jedynym ogranicze-
niem jest wsparcie producenta sprzętu i moż-
liwości programisty. Pewnie nie ostatnim ar-
gumentem jest także możliwość stworzenia
środowiska wokół projektu OpenSource, któ-
re będzie dalej rozwijało system oraz za dar-
mo (lub prawie za darmo) tworzyło nowe
aplikacje, portowało system na co raz to no-
we urządzenia. Wszystko to sprawia, że Li-
nux jest już teraz teraźniejszością wielu urzą-
dzeń z systemem wbudowanym.
Starożytny uczony powiedział: Dajcie
mi punkt podporu, a poruszę Ziemię, ja tra-
westując te słowa powiem: Dajcie mi czas, a
upchnę Linuksa wszędzie...
Autor artykułu, z wykształcenia lekarz we-
terynarii, mikrobiolog, pasjonuje się Linuk-
sem od ponad 5 lat. Jego ulubione dystry-
bucje to Gentoo i Slackware.
Kontakt z autorem: madajczak@gma-
il.com
O autorze
Klub PRO
ZETO Bydgoszcz SA
Oferujemy pakiety systemowe wspomagają-
ce zarządzanie dowolnym obiektem gospo-
darczym, oprogramowanie narzędziowe i apli-
kacyjne, przetwarzanie danych w technice te-
ledostępu, projektowanie i wykonawstwo sieci
komputerowych, dostawę oraz serwis sprzętu
komputerowego i oprogramowania, konsulting
i ekspertyzy.
http://www.zeto.bydgoszcz.pl
ALAN SYSTEMS SP. Z O.O.
Jesteśmy dynamicznie rozwijającą się firmą
informatyczną, posiadającą swoje oddziały
w Katowicach i Rybniku. Tworzymy zaawan-
sowane aplikacje biznesowe dla koncernów
w Polsce i za granicą. Specjalizujemy się w
tworzeniu rozbudowanych systemów realizu-
jących wymagania Klienta z wykorzystaniem
platform .NET i JAVA.
info@alan-systems.com
RedHat, Novell, Ubuntu
U nas nauczysz się stosować Linuksa w ska-
li Enterprise. Zdobędziesz uznawane na całym
świecie certyfikaty RedHat, Novell poświadcza-
jące Twoje umiejętności. Jesteśmy jedynym w
Polsce, certyfikowanym dostawcą autoryzowa-
nych szkoleń Ubuntu. Szkolenia dla specjalistów
IT prowadzimy w siedmiu ośrodkach w kraju.
http://www.altkom.pl
BIURO-SERWIS
Oferujemy kontrakty w zakresie dostarczania
wysokiej jakości kopii i wydruków na nowych
urządzeniach czarno-białych i kolorowych, audy-
ty i redukcję kosztów. Zapewniamy rozwiązania
softwerowe, sprzedaż kopiarek, drukarek, nisz-
czarek dokumentów, systemów interaktywnych
i innych urządzeń biurowych.
http://www.biuro-serwis.lublin.pl
COMPUSERV POLSKA
Serwis, outsourcing, sprzedaż urządzeń tech-
niki komputerowej. Autoryzowany serwis ter-
minali WYSE. Systemy IBM POS, N-Compu-
ting, Multi-User Computing, WYSE Terminals.
Microsoft partner, systemy LINUX Serwis dru-
karek KYOCERA, HP, EPSON, skanerów ko-
dów kreskowych SYMBOL, DataLogic, monito-
rów CRT, LCD
http://www.compuserv.pl
CPU-Service A. i Z.
Maryniak spółka jawna
Warszawska spółka, posiadająca również od-
działy w Berlinie i Lwowie dostarcza korpora-
cyjny sprzęt komputerowy firm: IBM, EMC, Hi-
tachi do profesjonalnego zastosowania tj. ser-
wery klasy „mainframe”, pamięci masowe typu
„Enterprise”, wysokonakładowe systemy dru-
kujące, terminale i urządzenia sieciowe.
http://www.cpuservice.pl
Praktyka
Wprowadzenie do architektury D-Busa
42
maj 2008
Praktyka
Wprowadzenie do architektury D-Busa
43
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
D
-Bus jest uniwersalnym mechanizmem komu-
nikacji międzyprocesowej (IPC). Wspiera on
przesyłanie informacji zarówno bezpośrednio
pomiędzy pojedynczymi aplikacjami jak i po-
przez specjalny proces - demon. Transmisja jest asymetrycz-
na (w przeciwieństwie np. do TCP gdzie po nawiązaniu po-
łączenia mamy symetrię). Dane są przesyłane w postaci ko-
munikatów, a nie ciągłego strumienia danych. D-Bus był za-
projektowany przede wszystkim do komunikacji w ramach
pojedynczego systemu. Możliwe jest jednak jego rozszerze-
nie w przyszłości.
W praktyce aplikacje z reguły wykorzystują pośrednic-
two demona, zatem takie założenie przyjmiemy w tym arty-
kule. Demon D-Bus tworzy rodzaj magistrali, poprzez któ-
rą przepływa informacja (ang. message bus daemon). Zwy-
kle istnieją dwie magistrale: systemowa i sesyjna. Ta pierw-
sza jest uruchamiana przez skrypty startowe, służy do komu-
nikacji w systemie i pozwala uzyskać informację np. o podłą-
czeniu nowego urządzenia.
Magistrala sesyjna jest uruchamiana podczas logowa-
nia użytkownika i umożliwia m. in. komunikację pomię-
dzy desktopowymi aplikacjami chociaż oczywiście środowi-
sko graficzne nie jest do działania D-Busa potrzebne. Każdy
użytkownik ma zatem do dyspozycji własną magistralę.
Konfigurację systemu D-Bus znajdziemy w katalogu
/etc/dbus-1/, pliki konfiguracyjne są dokumentami XML. In-
formacja na temat automatycznie uruchamianych usług (bę-
dzie o tym mowa w dalszej części artykułu) znajduje się w
plikach z rozszerzeniem .service w katalogu /usr/share/dbus-
1/services/. Aby komunikować się poprzez D-Busa musi-
my znać adres magistrali. Systemowa jest zwykle dostępna
w ustalonym miejscu określonym w pliku konfiguracyjnym
(element <listen>), np.: unix:path=/var/run/dbus/system_
bus_socket. Jak widać jest to ścieżka do uniksowego gniaz-
da. D-Bus jest realizowany w oparciu o gniazda uniksowe,
może też korzystać z TCP/IP.
W przypadku magistrali sesyjnej adres jest generowany
dynamicznie i powinien być dostępny poprzez zmienną
DBUS_
SESSION_BUS_ADDRESS
. Dzięki temu aplikacje wiedzą jak się
komunikować z magistralą. Zwróćmy uwagę na fakt, że jeże-
li adres zawiera słowo abstract zamiast path to taki socket jest
trzymany w pamięci, nie odnajdziemy go w systemie plików.
Wspomniana zmienna powinna być ustawiana przez menadże-
ra logowania po uruchomieniu demona magistrali. Jeżeli jed-
D-Bus w praktyce
Celem niniejszego artykułu jest przedstawienie podstaw funkcjonowania systemu D-Bus i możliwości
jego wykorzystania. Zaczniemy od wprowadzenia podstawowych pojęć i idei związanych z D-Busem, a
następnie, na przykładach, pokażemy jak ten system funkcjonuje w praktyce.
Zbigniew Kozak
Praktyka
Wprowadzenie do architektury D-Busa
42
maj 2008
Praktyka
Wprowadzenie do architektury D-Busa
43
www.lpmagazine.org
nak sami uruchamiamy system D-Bus, powinni-
śmy zadbać o jej odpowiednie zdefiniowanie. Jak
to zrobić, pokażemy na zakończenie artykułu.
Chcąc skorzystać z konkretnej usługi, któ-
ra jest już dostępna poprzez magistralę, musi-
my znać jej adres. Każdemu połączeniu aplikacji
z magistralą demon przydziela unikalną nazwę w
postaci: :ciąg_cyfr.ciąg_cyfr (np. :1.17, proszę
zwrócić uwagę na dwukropek na początku na-
zwy). Same cyfry są tu nieistotne, ważne jest to,
że taki identyfikator jest unikalny, nie jest ponow-
nie wykorzystywany przez cały czas życia demo-
na i służy do trasowania wiadomości. Aplikacja
może również zająć dodatkową nazwę (ang. bus
name) w postaci odwróconej nazwy domeny in-
ternetowej (podobnie jak w przypadku nazw pa-
kietów w Javie), poprzez którą będzie łatwo adre-
sowalna i rozpoznawalna, np.: com.moja.dome-
na.SuperProgram. Są dwa podstawowe rodzaje
komunikatów przesyłane po magistrali: wywo-
łania metod (i odpowiedzi na nie) oraz sygna-
ły. W tym pierwszym przypadku mamy aplika-
cję świadczącą jakąś usługę i klienta. Klient przy
adresowaniu zwykle posługuje się wspomnianą
wcześniej, dobrze znaną nazwą. Co ciekawe, je-
żeli aplikacja nie jest jeszcze uruchomiona to bę-
dzie automatycznie wystartowana przez demo-
na, o ile została odpowiednio skonfigurowana.
Oprócz nazwy powinniśmy sprecyzować jesz-
cze na rzecz jakiego obiektu dana operacja ma
być wykonywana. Określamy to podając tzw.
nazwę ścieżkową (ang. path name) – podob-
nie jak w systemie plików, nazwy są rozdzielo-
ne ukośnikiem. Aplikacja może udostępniać (dla
danego połączenia) różne zestawy metod. Wy-
boru zestawu dokonujemy podając interfejs. Wi-
dać tutaj wyraźną analogię z programowaniem
obiektowym, a gdy przejdziemy do przykładów
w Pythonie będzie to jeszcze bardziej oczywiste.
W przypadku udanego wywołania metody do-
staniemy wiadomość z wynikiem, w przypadku
błędu – odpowiedni komunikat.
Programując D-Busa w języku wysokie-
go poziomu po stronie wywołującego mamy
do czynienia z tzw. obiektem pośredniczącym
(ang. proxy object). Jest to (w naszym przypad-
ku) obiekt w Pythonie, poprzez który wywołu-
jemy metody zdalnego obiektu.
Drugi typ komunikacji to przesyłanie sy-
gnałów. W tym przypadku transmisja jest jed-
nokierunkowa: aplikacja przesyła wiadomość,
a demon przekazuje ją do tych odbiorców, któ-
rzy wyrazili chęć jej odbioru, nie ma żadnej
zwrotnej informacji.
D-Bus jest przenośnym systemem, dostęp-
nym standardowo nie tylko we wszystkich po-
pularnych dystrybucjach Linuksa, ale również
w systemach BSD. Wykorzystywany do komu-
nikacji w środowisku GNOME, jest też dostęp-
ny w KDE 4. Coraz więcej aplikacji udostępnia
D-Busowy interfejs (HAL, gnome-volume-ma-
nager, Gajim, NetworkManager, Rhythmbox i
wiele innych). Istnieje również port D-Busa dla
Windows.
D-Bus z poziomu wiersza poleceń
Zostawmy teraz rozważania teoretyczne i
przetestujmy działanie D-Busa w naszym
systemie. Powinniśmy mieć zainstalowany
D-Bus w wersji co najmniej 1.0. Przykłady
Tabela 1.
Oznaczenia typów używane przez dbus-send
Nazwa
Oznaczenie
Opis
BYTE
byte
Całkowity, bez znaku, 8-bitowy, np. byte:5
BOOLEAN
boolean
Typ logiczny, false – fałsz, true – prawda, np. boolean:true
INT16
int16
Całkowity, ze znakiem,16-bitowy, np. int16:24
UINT16
uint16
Całkowity, bez znaku,16-bitowy
INT32
int32
Całkowity, ze znakiem, 32-bitowy
UINT32
uint32
Całkowity, bez znaku, 32-bitowy
INT64
int64
Całkowity, ze znakiem, 64-bitowy
UINT64
uint64
Całkowity, bez znaku, 64-bitowy
DOUBLE
double
Zmiennopozycyjny, podwójna precyzja (IEEE 754 double), np. do-
uble:1.6
STRING
string
Napis, np. string:"zielona 20", typ string jest domyślny więc moż-
na pisać po prostu :'zielona 20', apostrofy są potrzebne jedynie dla
ochrony przed powłoką (obecność spacji)
OBJECT_PATH
objpath
Nazwa obiektu (nazwa ścieżkowa), np. objpath:'/org/my/object'
ARRAY
array
Tablica, np. array:uint32:20,30 – tablica liczb typu uint32, w tym
przypadku dwuelementowa (elementy rozdzielamy przecinkiem)
VARIANT
variant
Typ wariantowy, np. variant:string
Tablica zawiera-
jąca DICT_EN-
TRY
dict
Słownik jest tablicą par klucz-wartość, np. dict:string:int32:
k1,20,k2,30 – słownik dwuelementowy, którego kluczami są stringi
(k1 oraz k2), a wartościami – liczby (odpowiednio 20 oraz 30)
Rysunek 1.
Wynik wypisania wszystkich nazw znanych demonowi magistrali
Rysunek 2.
Efekt wywołania metody Introspect
44
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
45
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
będą podane w języku Python (wersja co naj-
mniej 2.4), będzie potrzebny również pakiet
zawierający binding dla Pythona (dbus-py-
thon), wersja co najmniej 0.80. Poszczególne
paczki mogą mieć nieco inne nazwy w róż-
nych dystrybucjach (systemach). Przydat-
ne będą też graficzne programy pozwalające
łatwo przeglądać dostępne metody i sygna-
ły dla poszczególnych aplikacji np. dbus-vie-
wer lub dbus-Inspector.
Przykłady z niniejszego artykułu by-
ły testowane w systemach OpenSUSE 10.2
oraz Debian 4.0. Pewien problem pojawił
się w Debianie. Standardowo dostępna wer-
sja dbus-python to 0.71 (zamieszczony kod
nie będzie działać ze względu na zmianę
api). Użytkownicy wersji testing i unstable
nie będą mieć takich problemów. Najprost-
szym rozwiązaniem w moim przypadku oka-
zało się ręczne rozpakowanie pakietu z dys-
trybucji testing i poinformowanie o tym in-
terpretera Pythona. Powrócimy do tego za-
gadnienia później.
Zacznijmy eksperymenty od prostych
poleceń konsolowych: dbus-monitor i dbus-
send. Ten ostatni program pozwoli nam wy-
syłać sygnały i wywoływać metody. Nato-
miast dbus-monitor posłuży do obserwacji co
się dzieje na magistrali. Uruchamiamy go w
osobnym okienku terminala. W wierszu pole-
ceń można dość precyzyjnie określić jakie wa-
runki mają spełniać odbierane informacje. Nie
będziemy jednak z tych dodatkowych możli-
wości korzystać. Po prostu, w zależności od
tego, o którą magistralę nam chodzi, wydaje-
my polecenie:
dbus-monitor --session
lub
dbus-monitor --system
i obserwujemy wszystko co nam przesyła de-
mon. Uwagi: jeżeli dbus-monitor nie daje się
przerwać przy pomocy ctrl-c, można użyć ctrl-
4. Powróćmy teraz do dbus-send. Typowe jego
użycie dla wywołania zdalnej metody wygląda
następująco
(Listng 11.).
Na początek przyjrzyjmy się temu, co udo-
stępnia sam demon D-Busa. Jako przykład roz-
ważmy usługę org.freedesktop.DBus (wielkość
liter jest znacząca). Jest ona wykorzystywa-
na przez aplikacje do zarejestrowania nazwy
i innych działań administracyjnych. Udostęp-
nia interfejs org.freedesktop.DBus. Wywołanie
jednej z metod (Listing 12.)
Powyższe polecenie wypisze listę
wszystkich nazw zarejestrowanych na ma-
gistrali sesyjnej. Przeanalizujmy poszczegól-
ne argumenty:
• --dest
– określa nazwę usługi,
• --type
=method_call – dla wywołania me-
tody, signal gdy chcemy wysłać sygnał,
• --print-replay
– oczekujemy na odpo-
wiedź (bez tego parametru nie zobaczymy
wyniku),
•
/ - zwykle podajemy ścieżkę do konkret-
nego obiektu, akurat dla usługi org.fre-
edesktop.DBus nie jest to potrzebne, ale
dbus-send wymaga podania tego para-
metru, więc coś tu wstawiamy (wszystkie
ścieżki muszą zaczynać się od ukośnika),
• org.freedesktop.DBus.ListNames
– nazwa interfejsu i nazwa metody (po
ostatniej kropce), po tym elemencie mogą
występować parametry wywołania metody
(w naszym przypadku ich nie ma).
Na Rysunku 1. widzimy wynik wykonania na-
szego polecenia, ale dla magistrali systemowej.
Wypisana została tablica nazw znanych demo-
nowi, zarówno tych unikalnych, automatycznie
przydzielanych (z dwukropkiem na początku)
jak i tych w postaci odwróconych domen in-
ternetowych.
Wiedząc jakie usługi są dostępne, mo-
żemy je odpytać na okoliczność udostępnia-
nych obiektów, interfejsów, metod i sygna-
łów. Wszystko to można wykonać przy po-
mocy dbus-send korzystając ze specjalnego
interfejsu org.freedesktop.DBus.Introspecta-
ble (o ile, oczywiście, dana aplikacja go im-
plementuje).
W dalszych przykładach będziemy wyko-
rzystywać aplikację Rhythmbox. Posłuży ona
do pokazania sposobów komunikacji z wyko-
Rysunek 3.
Rezultat Introspect oglądany w przeglądarce
44
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
45
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
rzystaniem D-Busa. W praktyce każdy może
sobie wybrać dowolny program z obsługą te-
go systemu i „porozmawiać” z nim wzorując
się na zamieszczonych przykładach. Spróbuj-
my dowiedzieć się co Rhythmbox udostępnia
poprzez magistralę. W tym celu musimy go
uruchomić. Poza dobrze wszystkim znanymi
sposobami, możemy to uczynić korzystając
z aktywacji D-Busa (ang. D-Bus activation)
czyli wykorzystamy możliwość uruchomie-
nia danej aplikacji przez demona (jeżeli ist-
nieje plik /usr/share/dbus-1/services/org.gno-
me.Rhythmbox.service) (Listing 13.)
Zwróćmy uwagę na nową rzecz jaka się
pojawia w tym poleceniu – parametry. Każ-
dy z nich jest poprzedzony nazwą typu (patrz
Tabela 1). Oczywiście string oznacza napis (w
tym przypadku nazwę usługi), w razie potrzeby
można go ująć w cudzysłowy lub apostrofy dla
ochrony przed powłoką (np. gdy zawiera spa-
cje: string:'big secret'). Natomiast uint32 to licz-
ba całkowita, 32-bitowa, bez znaku. Wartość te-
go ostatniego parametru nie jest w tym przypad-
ku istotna. Warto za to popatrzeć na wyświetlo-
ny wynik: 1 – oznacza, że aplikacja została uru-
chomiona, a 2 – że usługa już była dostępna. Al-
ternatywnie, moglibyśmy wywołać jakąś meto-
dę samego Rhythmbox-a i też byłby on automa-
tycznie wystartowany, w szczególności możemy
zapytać o to co jest udostępniane przez ten pro-
gram, bo tego jeszcze nie wiemy. Korzystamy
ze wspomnianego wcześniej interfejsu org.fre-
edesktop.DBus.Introspectable (Listing 14.) wy-
nik polecenia przedstawia rys. 2. Jak widać, jest
to dokument XML, który zawiera listę obiektów
związanych z naszą usługą. Wiemy już o co py-
tać dalej, np. o /org/gnome/Rhythmbox/Player.
Tak naprawdę nieco tutaj „oszukiwaliśmy” idąc
na skróty. Powinniśmy najpierw zapytać o ścież-
Listing 1.
Przykładowe instrukcje języka Python
#!/usr/bin/env python
# Po znaku # jest komentarz do końca linii
# Możemy używać Pythona jako kalkulatora
print 2+2*2
# lista trójelementowa, może zawierać różne typy, jest
modyfikowalna
lista = [ 2, 10, "info"]
# dodanie elementu na koniec listy
# apostrofy mają to samo znaczenie co cudzysłowy
lista
.
append
(
'
cos
'
)
# listę indeksujemy jak tablicę w C – elementy są
numerowane od zera
lista
[
2
]
#
"info"
# krotka (ang. tuple) trójelementowa, podobna do listy
ale niemodyfikowalna
# zawarta wewnątrz nawiasów okrągłych
kr
=
(
2
, '
dane
',
[
5
,
3
]
)
# pętla for iteruje po listach, krotkach itp.
for
elem
in
lista
:
elem
,
# przecinek na końcu - drukowanie
wszystkich elementów w jednej linii
print # wypisuje znak nowej linii
# podobnie jak w C jest pętla while i instrukcja if
# zwróćmy uwagę na dwukropki i wcięcia
i = 10
while
i
>
0
:
if
i
%
2
==
0
:
# i jest parzyste
i
i
-=
2
# przykład definicji funkcji (potęgowanie
całkowitoliczbowe),
# nie chodzi o optymalizację potęgowania (jest
odpowiednia funkcja w Pythonie),
# ale o pokazanie przykładowego kodu
def power(a, m):
"""
Taki komentarz (napis zawarty pomidzy par
potrójnych cudzysłowów lub apostrofów)
zawiera opis danej funkcji lub klasy.
"""
# możemy sprawdzić typ w czasie wykonania
# '\' to znak kontynuacji wiersza, wewnątrz pary
nawiasów niepotrzebny
if
not
isinstance
(
m
,
int
)
or
\
not
(
isinstance
(
a
,
int
)
or
isinstance
(
a
,
long
)
or
isinstance
(
a
,
float
)
or
isinstance
(
a
,
complex
)
):
# zgłaszamy wyjątek, nieobsłużony kończy
program
raise
TypeError
if
m
>
0
:
w
=
a
for
i
in
range
(
1
,
m
):
#
1
,
2
, ...,
m
-
1
w
*=
a
elif
m
<
0
:
#
else
if
znane
z
j
zyka
C
if
a
!=
0
:
w
=
power
(
1.0
/
a
,
-
m
)
# rekurencja
else
:
# na razie korzystamy ze standardowych
nazw wyjątków
raise
ZeroDivisionError
elif
a
!=
0
:
if
isinstance
(
a
,
complex
):
w
=
1
+
0
j
# liczba zespolona
else
:
w
=
1.0
else
:
raise
ArithmeticError
return
w
# przykłady wywołania funkcji
power
(
2.5
,
2
)
# można podać nazwy argumentów, wtedy kolejność jest
nieistotna
power
(
a
=-
1.3
,
m
=
0
)
46
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
47
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
kę /, w odpowiedzi można byłoby zobaczyć na-
stępny element: /org. Po jego odpytaniu kolej-
ny: /org/gnome, itd. W praktyce często począ-
tek ścieżki jest taki jak nazwa usługi (tyle, że z
ukośnikami zamiast kropkami) i z tego skorzy-
staliśmy. Rezultat następnego polecenia najle-
piej przekierować do pliku i potem obejrzeć np.
w przeglądarce (Rys. 3), (Listing 15.) z tym, że
należy z wyniku usunąć dodatkowe komunikaty
czyli sam początek do pierwszego cudzysłowu
(włącznie) i cudzysłów z końca pliku – te czę-
ści nie należą do właściwego XML-a. Teraz wi-
dzimy udostępniane interfejsy, metody i ich pa-
rametry, i w zasadzie można się domyślić co one
robią. Analizujemy interfejs org.gnome.Rhythm-
box.Player. Przykładowe metody:
• setVolume
, jeden parametr wejściowy ty-
pu d (liczba zmiennopozycyjna – double),
domyślamy się, że ta metoda ustawia gło-
śność, a parametr ma zakres 0.0 – 1.0;
• getElapsed
, bez parametrów wejścio-
wych, jeden wyjściowy typu u (liczba cał-
kowita 32-bitowa, bez znaku), ile sekund
utworu zostało już odtworzone;
• next
, brak parametrów, przejście do od-
twarzania następnego utworu i tak dalej.
Symbole różnych typów są jednoznakowe
(ewentualnie występują ich kombinacje dla
typów złożonych), patrz tab. 2.
Przykładowo, poziom głośności możemy
ustawić na 50% wartości maksymalnej nastę-
pująco(Listing 16.) Warto poeksperymentować
z wywoływaniem innych metod. Widać, że sys-
tem D-Bus pozwala sterować daną aplikacją z
poziomu dowolnej innej (w ramach możliwości
dostępnych interfejsów).
D-Bus interaktywnie
Pewnie już wszyscy są zmęczeni wpisywa-
niem poleceń i ręcznym badaniem usług. Sko-
ro interfejs org.freedesktop.DBus.Introspec-
table może być wykorzystany do odpytywa-
nia D-Busa to można stworzyć aplikacje, któ-
re pozwolą wygodnie, z poziomu GUI, z tej
możliwości korzystać. Niestety, nie wszyst-
kie usługi wymagany interfejs rzeczywiście
implementują.
Na początek przyjrzyjmy się programo-
wi dbus-inspector. Adres jego strony domo-
wej jest podany na końcu artykułu wraz z lin-
kami do innych zasobów związanych z mate-
riałem prezentowanym w tym artykule. Na-
rzędzie to jest bardzo proste w instalacji i uży-
waniu. Wymaga zainstalowanego interpretera
Pythona (co najmniej 2.4) i python-dbus oraz
python-gtk2 (pyGTK) i python-glade2. Wy-
starczy dbus-inspectora ściągnąć i rozpako-
wać. Nie trzeba nawet instalować! Proponu-
ję umieścić tę aplikację w dowolnie wybra-
nym katalogu, a następnie utworzyć pomoc-
niczy skrypt (nazwany np. dbus-inspector)
tam gdzie będzie dostępny do wykonania (np.
/usr/local/bin lub ~/bin):(Listing 17.)
Oczywiście nie należy zapominać o odpo-
wiednich prawach dostępu, np.:h
chmod a+x /usr/local/bin/dbus-
inspector
Teraz w wygodny sposób możemy przeglą-
dać to co jest udostępniane przez Rhythm-
box-a (Rysunek 4). W lewym górnym okienku
mamy listę usług (ang. bus names), jako ciąg
podkatalogów jest widoczna ścieżka do obiek-
tu i na samym końcu lista interfejsów, symbo-
lizują to też odpowiednie ikony. Po prawej u
góry widzimy listę metod dla danego interfej-
su a na dole argumenty wejściowe i wyjścio-
we wybranej metody. Na razie dbus-inspector
nie umożliwia wywoływania metod i wysyła-
nia sygnałów, ale taka funkcjonalność jest w
planach.
Drugim narzędziem o którym chciał-
bym wspomnieć jest dbus-viewer (rys. 5),
został napisany z wykorzystaniem bibliote-
ki qt. Oprócz przeglądania, umożliwia wy-
woływanie metod i wysyłanie sygnałów a
także obserwację co się dzieje na magistra-
li. Zdarzało mi się jednak, że program się
zawieszał.
Rysunek 4.
dbus-inspector
Rysunek 5.
dbus-viewer
46
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
47
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
Programowanie D-Busa
D-Bus może być oprogramowany w różnych
językach np. C, C++, Pythonie, Javie, Per-
lu, Ruby. Dobrym wyborem, w szczególno-
ści dla początkującego użytkownika, jest Py-
thon. To dość łatwy do opanowania język
skryptowy, z którego interpreterem można
pracować interaktywnie korzystając z wbu-
dowanej pomocy. Programy są przejrzyste i
praktycznie mogą być zrozumiałe nawet dla
osoby, która nie zna tego języka.
Podsumowując: jeżeli ktoś pragnie po-
eksperymentować z programowaniem D-Bu-
sa i zna Pythona, może od razu przystąpić
do pracy. Pozostałe osoby są w stanie dość
szybko ten język opanować. Kto nie zamie-
rza uczyć się Pythona i tak będzie mógł po-
znać pewne idee, które może wykorzystać w
innych językach. Żeby przykłady były zro-
zumiałe, zrobimy w tym miejscu króciutkie
wprowadzenie do Pythona.
Programy umieszczamy w plikach teksto-
wych (typowo z rozszerzeniem .py). Możemy
je uruchamiać wywołując interpreter:
python skrypt.py
lub uczynić plikami wykonywalnymi i umieścić
w pierwszej linii skryptu standardowy tekst:
#!/usr/bin/env python
W razie potrzeby, można podać konkretną
wersję:
#!/usr/bin/env python2.4
Najbardziej charakterystyczną cechą Pythona
jest konieczność robienia wcięć – nie jest to tyl-
ko sprawa czytelności, ale wymaganie składni.
Do tworzenia wcięć można użyć spacji lub ta-
bulacji, w danym pliku należy korzystać tyl-
ko z jednego z tych znaków. Zalecane są spa-
cje, (np. cztery dla zaznaczenia jednego po-
ziomu wcięć). Przytaczane przykłady można
przetestować interaktywnie po prostu urucha-
miając interpreter Pythona lub wpisać do pli-
ku i wtedy wykonać. To ostatnie zalecamy dla
nieco dłuższych przykładów – łatwiej popra-
wiać błędy. Pomoc otrzymamy wpisując hel-
p(nazwa). Funkcja dir podaje atrybuty danego
obiektu: dir(nazwa). W tym języku nie ma de-
klaracji zmiennych, ale są oczywiście różne ty-
py danych. Przykładowe instrukcje są pokaza-
ne na listingu nr 1, a ich opis znajduje się w ko-
mentarzach.
Python jest językiem w pełni obiekto-
wym. Każda klasa dziedziczy (pośrednio lub
bezpośrednio) po klasie object (podobnie jak
Listing 2.
Funkcja x, y
#!/usr/bin/env python
class
Point
(
object
):
# x, y mają wartości domyślne równe zero
# pojedynczy znak podkreślenia na początku nazwy zmiennej
# nie ma specjalnego znaczenia,
# to kwestia indywidualnej konwencji nazewniczej
def
__init__
(
self
,
x
=
0
,
y
=
0
):
self
.
_x
=
x
self
.
_y
=
y
def
getX
(
self
):
return
self
.
_x
def
getY
(
self
):
return
self
.
_y
def
move
(
self
,
dx
,
dy
):
self
.
_x
+=
dx
self
.
_y
+=
dy
p
=
Point
(
2
)
#
p
.
_x
==
2
,
p
.
_y
==
0
p
.
move
(
1
,
7
)
#
p
.
_x
==
3
,
p
.
_y
==
7
Listing 3.
Oczekiwanie na wywołanie metody
#!/usr/bin/env python
import
sys
import
dbus
import
dbus
.
service
import
gobject
from
dbus
.
mainloop
.
glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
class
Calc
(
dbus
.
service
.
Object
):
def
__init__
(
self
):
# w przypadku magistrali systemowej używamy dbus.SystemBus()
dbus
.
service
.
Object
.
__init__
(
self
,
dbus
.
SessionBus
()
,
'/
somedomain
/
my
/
calc
',
dbus
.
service
.
BusName
(
'
somedomain
.
my
.
calc
'
))
#
"konfig"
self
.
_generVal
=
0
@
dbus
.
service
.
method
(
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
',
in_
signature
=
's',
out_signature
=
's'
)
def
echo
(
self
,
x
):
return
x
@
dbus
.
service
.
method
(
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
',
in_
signature
=
'',
out_signature
=
'i'
)
def
gener
(
self
):
self
.
_generVal
+=
1
return
self
.
_generVal
calc
=
Calc
()
loop
=
gobject
.
MainLoop
()
# w tej pętli oczekujemy na wywołania metod
loop
.
run
()
#
"oczekiwanie"
48
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
49
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
w Javie). Można jeszcze spotkać sporo kodu,
w którym klasa nie dziedziczy po niczym, ale
jest to konstrukcja przestarzała. Jako przy-
kład przedstawimy klasę opisującą punkt na
płaszczyźnie (listing nr 2). __init__ jest kon-
struktorem, inicjuje obiekt. Nazwa self odno-
si się do instancji klasy, konkretnego obiektu,
który utworzyliśmy. W zasadzie można po-
wiedzieć, że jest to odpowiednik this z C++,
ale jak widać self musi być jawnie używany
przy odwoływaniu się do pól obiektu. Stąd
wszystkie metody są deklarowane z self na
liście parametrów. Oczywiście przy wywo-
łaniu nie występuje on jawnie. W tym przy-
kładzie nie sprawdzamy typów argumen-
tów. Jest to dodatkowa operacja, którą moż-
na zrobić w czasie wykonywania programu
(tak jak to uczyniliśmy to w pokazanej wcze-
śniej funkcji).
Po obejrzeniu kodu z listingu nr 2, oso-
ba przyzwyczajona do języka C++ może za-
pytać: a gdzie public, private? Jaki jest wła-
ściwie domyślny poziom dostępu do pól i
jak go modyfikować? W zasadzie w Pytho-
nie wszystko jest ogólnie dostępne. Taka jest
filozofia tego języka. Programiści odwołu-
ją się do pól obiektu poprzez metody, bo tak
powinno się robić, a nie dlatego, że zosta-
li do tego zmuszeni. Jeżeli koniecznie chce-
my ukryć jakąś zmienną, powinniśmy nadać
jej nazwę zaczynającą się od dwóch znaków
podkreślenia. Ten sposób ukrywania też nie
jest doskonały, ale nie będziemy wnikać w
szczegóły.
Jeżeli potrzebujemy jakichś dodatko-
wych pakietów, dołączamy je instrukcją im-
port (zwykle na początku pliku). Np.:
import sys
Kto chce poznać zasady, którymi powinien
się kierować programista niech wypróbuje:
import this
Jeżeli chcemy używać w kodzie języka pol-
skiego, chociażby w komentarzach, powin-
niśmy na początku (zaraz poniżej linii #!...)
umieścić informację o kodowaniu, np:
# -*- coding: iso8859_2 -*-
lub
# -*- coding: utf_8 -*-
Jeżeli mamy jakieś moduły Pythona w nie-
standardowym miejscu, możemy na począt-
ku pliku do wykonania dodać następują-
ce linie:
import sys
sys.path[0:0] = [ 'sciezka1',
'sciezka2' ] # lista dodatkowych
cieek
Pamiętajmy, że każdy katalog do importu po-
winien zawierać m. in. plik __init__.py (mo-
że być pusty). W taki sposób dodałem ręcznie
Listing 4.
Wywołanie metody echo
#!/usr/bin/env python
import
dbus
bus
=
dbus
.
SessionBus
()
# dbus.SystemBus() w przypadku magistrali
systemowej
calc
=
bus
.
get_object
(
'
somedomain
.
my
.
calc
',
'/
somedomain
/
my
/
calc
'
)
test_iface
=
dbus
.
Interface
(
calc
,
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
'
)
test_iface
.
echo
(
'
Hi
'
)
# wywołanie metody echo
for
i
in
range
(
5
):
test_iface
.
gener
()
# powinny sie pojawiać kolejne liczby
Tabela 2.
Typy wykorzystywane w systemie D-Bus
Nazwa
Symbol Typ w Pythonie
Opis
BYTE
y
dbus.Byte, podklasa int
Całkowity, bez znaku, 8-bitowy
BOOLEAN
b
dbus.Boolean, podklasa int
Typ logiczny, 0 – fałsz, 1 – prawda
INT16
n
dbus.Int16, podklasa int
Całkowity, ze znakiem,16-bitowy
UINT16
q
dbus.UInt16, podklasa int
Całkowity, bez znaku,16-bitowy
INT32
i
dbus.Int32, podklasa int
Całkowity, ze znakiem, 32-bitowy
UINT32
u
dbus.UInt32, podklasa int lub long
Całkowity, bez znaku, 32-bitowy
INT64
x
dbus.Int64, podklasa int lub long
Całkowity, ze znakiem, 64-bitowy
UINT64
t
dbus.UInt64, podklasa int lub long
Całkowity, bez znaku, 64-bitowy
DOUBLE
d
dbus.Double, podklasa float
Zmiennopozycyjny, podwójna precyzja (IEEE 754 double)
STRING
s
dbus.String, podklasa unicode
Napis
dbus.UTF8String, podklasa str
OBJECT_PATH
o
dbus.ObjectPath, podklasa str
Nazwa obiektu (nazwa ścieżkowa)
SIGNATURE
g
dbus.Signature, podklasa str
D-Busowa sygnatura
ARRAY
a
dbus.Array , podtyp list (listy)
Tablica, np. au – tablica liczb typu 'u'
STRUCT
( )
dbus.Struct, podtyp tuple (krotki)
Struktura, np. (uus) – rekord zawierający dwie liczby typu 'u' oraz string
VARIANT
v
wariant jest określony przez parametr va-
riant_level przy definiowaniu innych typów
Typ wariantowy
Tablica zawierająca
DICT_ENTRY
a{ }
dbus.Dictionary, podtyp dict (słownika)
Słownik jest tablicą par klucz-wartość, np. a{s(yyi)} – słownik, którego kluczem
jest string a wartości to struktury zawierające dwa bajty oraz liczbę (typu i)
48
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
49
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
nowszy dbus-python do Debiana bez potrze-
by zmiany w istniejącej instalacji.
Udostępnianie własnych usług
Przygotujmy teraz prostą usługę testową, któ-
ra pozwoli zapoznać się nam z zasadami pro-
gramowania D-Busa. Wykorzystajmy fikcyjną
nazwę somedomain.my.calc. Należy przyjąć, że
my.somedomain to nazwa naszej domeny inter-
netowej (którą odwracamy przy tworzeniu na-
zwy usługi), a calc to stworzona przez nas apli-
kacja. Wykonywać ona będzie pewne proste
operacje na dostarczonych argumentach. Ścież-
ka do obiektu: /somedomain/my/calc (w zasa-
dzie może być dowolna). Interfejs do testów:
somedomain.my.calc.test. I dwie metody: echo
(zwraca przekazany argument) oraz gener (do-
starcza kolejną liczbę naturalną). Na listingu nr
3 znajdziemy odpowiedni kod.
Aby korzystać z D-Busa w Pythonie mu-
simy włączyć potrzebne pakiety instrukcją im-
port. Nasza usługa będzie w pętli oczekiwać na
zdarzenia (linia „oczekiwanie”). Cała obsługa
znajduje się w klasie Calc (jej nazwa nie jest
istotna) dziedziczącej po dbus.service.Object.
Musimy poinformować demona magistrali, że
chcemy się podłączyć. Załatwia to jedna linijka
w konstruktorze (linia „konfig”), która wywo-
łuje konstruktor klasy podstawowej.
Dla każdej metody, którą udostępniamy do
wywoływania poprzez D-Busa tworzymy od-
powiednią metodę w Pythonie. Dość charak-
terystyczne są linie zaczynające się „małpką”
(@). Są to tzw. dekoratory. Powodują mody-
fikację działania funkcji, którą ozdabiają. Nie
wnikając w szczegóły, w przypadku D-Bu-
sa należy taką linią poprzedzić każdą metodę
udostępnianą poprzez magistralę. Parametry
naszych dekoratorów (będące napisami) mają
następujące znaczenie: dbus_interface – nazwa
interfejsu, in_signature – typy parametrów wej-
ściowych (czyli po prostu przekazywanych ar-
gumentów), out_signature – typy parametrów
wyjściowych. Tabela 2 zawiera spis symboli
używanych do oznaczania poszczególnych ty-
pów. Spójrzmy na przykłady. Zapis: 'siy' doty-
czy trzech argumentów (typu STRING, INT32,
BYTE). W szczególności oznacza to, że na-
sza metoda musi mieć odpowiednią liczbę pa-
rametrów.
Bardziej złożony przykład:
'asua(ib)a-
{s(yyb)}'
. Tu mamy cztery parametry:
as
,
u
,
(ib)
,
a{s(yyb)}
. Objaśnijmy po kolei ich
znaczenie:
• as
– tablica napisów (stringów),
• u
– liczba bez znaku (UINT32),
• (ib)
– krotka dwuelementowa (INT32
oraz BOOLEAN),
Listing 5a.
Wysyłanie sygnału z własnej aplikacji
#!/usr/bin/env python
import
sys
import
time
import
dbus
import
dbus
.
service
import
gobject
from
dbus
.
mainloop
.
glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
class
Calc
(
dbus
.
service
.
Object
):
def
__init__
(
self
):
dbus
.
service
.
Object
.
__init__
(
self
,
dbus
.
SessionBus
()
,
'/
somedomain
/
my
/
calc
',
dbus
.
service
.
BusName
(
'
somedomain
.
my
.
calc
'
))
self
.
_generVal
=
0
# na tej liście gromadzimy informacje potrzebne do wygenerowania
# odpowiedzi na wywołanie metody
self
.
_jobs
=
[]
@
dbus
.
service
.
method
(
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
',
in_
signature
=
's',
out_signature
=
's'
)
def
echo
(
self
,
x
):
# jeżeli argument jest pusty, wywołujemy wyjątek,
# który będzie przekazany po magistrali do wywołującego metodę
if
x
==
''
:
raise
Exception
(
"Argument can't be empty"
)
else
:
return
x
# przy asynchronicznej obsłudze wywołań mamy dwa dodatkowe parametry
# (opisane w dekoratorze, w parametrze 'async_callbacks'),
# są to funkcje do wywołania w razie sukcesu lub porażki
@
dbus
.
service
.
method
(
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
',
in_
signature
=
'',
out_signature
=
'i',
async_callbacks
=(
'
success
', '
failure
'
))
def
gener
(
self
,
success
,
failure
):
self
.
_generVal
+=
1
# dla każdej dziesiątki generujemy sygnał (patrz następna metoda)
if
self
.
_generVal
%
10
==
0
:
self
.
next_ten
(
self
.
_generVal
)
# zbieramy na liście informację o aktualnym czasie, generowanej wartości
# i funkcjach callback dla późniejszego wykorzystania
self
.
_jobs
.
append
((
time
.
time
()
,
self
.
_generVal
,
success
,
failure
))
# sygnał może mieć pustą treść (instrukcja pass)
@
dbus
.
service
.
signal
(
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
',
signature
=
'u'
)
def
next_ten
(
self
,
val
):
pass
# ta metoda jest wywoływana co sekundę i sprawdza, czy minęło dla danego
wywołania
# ponad 5 sekund, wtedy wywołuje callback dla sukcesu (j[2])
# z argumentem j[1] czyli wygenerowaną wartością
def
compute
(
self
):
t
=
time
.
time
()
jobs
=
[]
for
j
in
self
.
_jobs
:
if
t
-
j
[
0
]
>
5
:
j
[
2
](
j
[
1
])
else
:
jobs
.
append
(
j
)
self
.
_jobs
=
jobs
# gdybyśmy zwrócili False, metoda nie byłaby ponownie wywoływana
50
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
51
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
• a{s(yyb)}
– słownik indeksowany napi-
sami (klucz to s), a wartości to krotki trój-
elementowe (BYTE, BYTE, BOOLEAN).
Jak przetestować naszą usługę? Najprościej
użyć dbus-send:(Listing 18.)
Jednakże za każdym razem chcąc wywo-
łać metodę trzeba byłoby uruchamiać naszą
aplikację ręcznie. To niewątpliwie niewygod-
ne. Skonfigurujmy w takim razie automatycz-
ny start. W tym celu musimy utworzyć plik
/usr/share/dbus-1/services/somedomain.my.cal
c.service z następującą zawartością:
[D-BUS Service]
Name=somedomain.my.calc
Exec=/sciezka/do/naszego/pliku/calc.py
Teraz wspomniane wyżej polecenie dbus-send
spowoduje, w razie potrzeby, automatyczne
uruchomienie usługi i po pewnym czasie po-
winniśmy otrzymać wysłany komunikat z po-
wrotem (tak działa nasze echo). Podobnie mo-
żemy przetestować drugą metodę. Oczywiście
ciekawiej będzie napisać własny program testo-
wy w Pythonie. Jest on raczej nieskomplikowa-
ny (listing nr 4).
Zauważmy, że w naszym przykładzie, za-
równo po stronie aplikacji usługowej jak i wy-
wołującej metodę mamy do czynienia z działa-
niem synchronicznym. Testowy program czeka
na wyniki, które zwróci wywołanie. W rzeczy-
wistości D-Bus działa asynchronicznie: po ma-
gistrali wędruje żądanie wywołania metody a
później wraca wynik (lub informacja o błędzie).
Programując w Pythonie możemy być tym fak-
tem zainteresowani. Czasami obsługa metody
trwa długo, w tym czasie obie strony nie mogą
się niczym innym zajmować. Tymczasem za-
miast czekać biernie na rezultat możemy robić
coś pożytecznego. Podobnie po stronie progra-
mu obsługującego wywołanie: zamiast bloko-
wać dostęp, powinniśmy oczekiwać na kolej-
ne wywołania. Możemy zwolnić zarezerwowa-
ną nazwę i umożliwić demonowi automatyczne
uruchomienie kolejnych wcieleń naszego pro-
gramu, ale efektywniej będzie obsługiwać wie-
le wywołań w jednym procesie. Oczywiście ta-
kie zmiany są przezroczyste dla drugiej strony,
czyli niezależnie decydujemy o synchronicznej
lub asynchronicznej obsłudze na poziomie Py-
thona po stronie klienta i po stronie programu
usługowego. Dokładniejszy opis możemy zo-
baczyć na listingu nr 5 (udostępnianie usług) i
nr 6 (klient do testowania).
W ostatnim przykładzie warto też zwró-
cić uwagę na obsługę błędów (wyjątków), któ-
re mogą się pojawić zamiast wyniku. W dal-
szych rozważaniach, dla uproszczenia, nie bę-
Listing 5b.
Wysyłanie sygnału z własnej aplikacji
return
True
calc
=
Calc
()
# wywołanie calc.compute co 1000ms (1s)
gobject
.
timeout_add
(
1000
,
calc
.
compute
)
loop
=
gobject
.
MainLoop
()
loop
.
run
()
Listing 6.
Funkcja finish
#!/usr/bin/env python
import
sys
import
dbus
import
gobject
from
dbus
.
mainloop
.
glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
bus
=
dbus
.
SessionBus
()
calc
=
bus
.
get_object
(
'
somedomain
.
my
.
calc
',
'/
somedomain
/
my
/
calc
'
)
test_iface
=
dbus
.
Interface
(
calc
,
dbus_interface
=
'
somedomain
.
my
.
calc
.
test
'
)
def
reply_cb
(
answer
):
"Received: "
+
answer
;
def
error_cb
(
err
):
"Error: "
+
str
(
err
)
;
def
finish
():
#wyjście z pętli oczekiwania
loop
.
quit
()
return
False
# wykrywanie wyjątków, wywołanie synchroniczne
try
:
'
Received
:
'
+
test_iface
.
echo
(
'
Hi
'
)
;
test_iface
.
echo
(
''
)
;
except
Exception
,
e
:
e
;
# wywołanie asynchroniczne, przekazanie dwóch funkcji callback
# do obsługi sukcesu i błędu (wyjątku)
test_iface
.
echo
(
'
Hello
!
',
reply_handler
=
reply_cb
,
error_handler
=
error_cb
)
test_iface
.
echo
(
'',
reply_handler
=
reply_cb
,
error_handler
=
error_cb
)
# za dziesięć sekund uruchomi się funkcja finish
# i zakończy pętlę oczekiwania
gobject
.
timeout_add
(
10000
,
finish
)
loop
=
gobject
.
MainLoop
()
loop
.
run
()
50
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
51
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
dziemy brać pod uwagę tego faktu. W rzeczy-
wistych programach należy jednak zawsze o
tym pamiętać.
Reagowanie na sygnały
D-Bus umożliwia również reakcję na określo-
ne zdarzenia. Używając dbus-monitora od-
kryjemy, że Rhythmbox wysyła sygnał elap-
sedChanged po każdej sekundzie odtwarzania
utworu i playingUriChanged po zmianie utwo-
ru na nowy. W przypadku sygnałów nie ma po-
działu na parametry wejściowe i wyjściowe, są
tylko przesyłane wartości – do odbiorcy trafiają
poprzez parametry funkcji wywoływanej przy
nadejściu sygnału (ang. callback). Nie ma od-
powiedzi zwrotnej, co wynika z natury sygna-
łu. Program, który sygnalizuje odtwarzanie i
zmianę utworu w Rhythmbox został pokazany
na Listingu 7. Tylko wyświetla on informacje,
ale mógłby w zasadzie wykonać dowolną inną
akcję. Na Listingu 5 (do poprzedniego punk-
tu) mamy przykład wysyłania sygnału z wła-
snej aplikacji.
Komunikacja
z HAL-em poprzez D-Busa
Teraz rozważmy bardziej skomplikowaną sy-
tuację – komunikację z demonem HAL (Har-
dware Abstraction Layer), który utrzymu-
je aktualną informację na temat sprzętu i np.
pozwala oprogramowaniu reagować na zmia-
ny w tym zakresie. Oczywiście HAL to te-
mat na odrębny artykuł. Tutaj wykorzystamy
go do zilustrowania możliwości komunikacji
poprzez D-Busa. Jako przykład przeanalizuj-
my możliwość automatycznego montowania
urządzeń typu pendrive lub CD-ROM. Zale-
ży nam na możliwości dostosowania tego pro-
cesu do naszych potrzeb, w szczególności do
nieograniczania się tylko do graficznego śro-
dowiska pracy. Pamiętajmy, że chcąc zarzą-
dzać poprzez HAL-a montowaniem urządzeń,
nie powinniśmy umieszczać wpisów ich doty-
czących w /etc/fstab. No chyba, że zamierza-
my je montować korzystając bezpośrednio z
polecenia mount (przy odpowiedniej konfigu-
racji też jest to możliwe), a HAL-a wykorzy-
stywać tylko do otrzymywania informacji.
Rozmowę z HAL-em prowadzimy po-
przez magistralę systemową. Warto przej-
rzeć sobie to co on udostępnia korzysta-
jąc z dbus-inspectora (Rysunek 6). A co
się dzieje podczas wkładania CD do napę-
du lub podłączania innych, wymiennych no-
śników możemy zaobserwować przy pomo-
cy dbus-monitora (Rysunek 7). Sygnał, któ-
ry przechwycimy to DeviceAdded. Oczywi-
ście może się on pojawić w wyniku doda-
nia różnych urządzeń, nie tylko montowal-
Rysunek 6.
Demon HAL widoczny w dbus-inspectorze
Listing 7.
Odtwarzanie i zmiana utworu w Rhythmbox
#!/usr/bin/env python
import
sys
import
dbus
import
gobject
from
dbus
.
mainloop
.
glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
# sygnał elapsedChanged dostarcza jedna wartość:
# czas jaki upłynął od początku utworu (w sekundach)
# i przekazuje do funkcji zwrotnej poprzez parametr
def
elapsedCallback
(
time
):
'
Time
elapsed
:
',
time
# sygnał playingUriChanged dostarcza jedna wartość:
# adres odtwarzanego utworu
def
playingChangedCallback
(
uri
):
'
Next
tune
:
',
uri
bus
=
dbus
.
SessionBus
()
# "podczepianie" się pod sygnał spełniający określone warunki
# handler_function - funkcja wywoływana w momencie odebrania sygnału
# pozostałe parametry muszą pasować do sygnału, aby był odebrany
bus
.
add_signal_receiver
(
handler_function
=
elapsedCallback
,
signal_name
=
'
elapsedChanged
',
dbus_interface
=
'
org
.
gnome
.
Rhythmbox
.
Player
',
path
=
'/
org
/
gnome
/
Rhythmbox
/
Player
'
)
bus
.
add_signal_receiver
(
handler_function
=
playingChangedCallback
,
signal_name
=
'
playingUriChanged
',
dbus_interface
=
'
org
.
gnome
.
Rhythmbox
.
Player
',
path
=
'/
org
/
gnome
/
Rhythmbox
/
Player
'
)
loop
=
gobject
.
MainLoop
()
loop
.
run
()
52
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
53
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
nych. Musimy zatem sprawdzić z czym ma-
my do czynienia. Ogólna idea jest następu-
jąca: przechwytujemy sygnał DeviceAdded,
odpytujemy HAL-a o podłączone urządze-
nie i jeżeli jest to coś montowalnego, wy-
wołujemy metodę Mount podając unikalną
nazwę w katalogu /media (użyjemy nazwy
montowanego urządzenia). Odpowiedni kod
jest na Listingu 8. Zwróćmy jeszcze uwagę
na kilka szczegółów.
• W znanej już nam metodzie add_si-
gnal_receiver użyliśmy dodatkowe-
go parametru: named_service='org.fre-
edesktop.Hal'. Nie było to możliwe dla
Rhythmbox-a ponieważ mógł on jesz-
cze nie pracować w momencie startu na-
szej aplikacji. Tymczasem demon HAL
jest z reguły uruchamiany przez skrypty
startowe więc już działa gdy rozpoczyna
pracę nasz program.
• Metoda GetAllProperties dostarcza
słownik (dict, ang. dictionary), używa-
my go jako tzw. tablicy asocjacyjnej
czyli indeksowanej nie tylko liczbami
ale i innymi obiektami, np. napisami. Je-
żeli wyrażenie klucz in slownik ma war-
tość True to możemy bezpiecznie użyć
zapisu „slownik[klucz]”, nie spowoduje
to błędu (a dokładniej wyjątku).
• Operator „and” jest obliczany tak jak
w C (operator &&) czyli np. w wyraże-
niu „a!=0 and b/a>10”, druga część (po
and) nie jest obliczana jeżeli a ma war-
tość zero, co nas zabezpiecza przed dzie-
leniem przez zero. Pozostałe uwagi znaj-
dują się w komentarzach.
Teraz wystarczy nasz program uruchomić i
urządzenia są montowane automatycznie w
podkatalogach /media/. A co z odmontowy-
waniem? Możnaby reagować na różne zda-
rzenia (np. w przypadku CD można wykry-
wać naciśnięcie przycisku eject). Na deskto-
pie może się pojawiać ikonka (tak, jak to się
dzieje w GNOME), i poprzez nią można by
odmontować urządzenie.
Użyteczną własnością D-Busa jest możli-
wość wykrywania kiedy dany program rozpo-
czyna i kończy pracę poprzez obserwację sy-
gnałów towarzyszących rejestrowaniu i wy-
rejestrowywaniu nazw. Można zatem, po za-
montowaniu zasobu, uruchomić odpowiednią
aplikację (menadżera plików) do jego przeglą-
dania. W momencie zamknięcia tego progra-
mu przez użytkownika urządzenie byłoby od-
montowywane.
A co z trybem tekstowym? Możemy
stworzyć polecenie odmontowujące, które
zwykły użytkownik wykorzysta do odmon-
towania. Jest jeszcze problem opcji z jakimi
montowany jest system plików, w szczegól-
ności fakt, że właścicielem tego zasobu po-
winien być użytkownik, który go podłączył.
Można się też zastanawiać nad czytelniejszy-
Listing 8.
Metoda mount
#!/usr/bin/env python
import
sys
import
dbus
import
gobject
from
dbus
.
mainloop
.
glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
# ta funkcja otrzyma nazwę nowego urządzenia poprzez sygnał (parametr name)
def
newDevCallback
(
name
):
obj
=
bus
.
get_object
(
'
org
.
freedesktop
.
Hal
',
name
)
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
org
.
freedesktop
.
Hal
.
Device
'
)
# pytamy o własności nowego urządzenia
properties
=
iface
.
GetAllProperties
()
method_names
=
'
org
.
freedesktop
.
Hal
.
Device
.
Volume
.
method_names
'
# jeżeli jest dostępna wymieniona powyżej metoda to możemy sprawdzić
# możliwość użycia metody Mount
if
method_names
in
properties
and
'
Mount
'
in
properties
[
method_names
]:
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
org
.
freedesktop
.
Hal
.
Devi
ce
.
Volume
'
)
# split dostarcza listę elementów rozdzielonych podanym napisem,
# a indeks (-1) oznacza ostatni element tej listy,
# metoda Mount powinna otrzymać następujące argumenty:
# punkt montowania (wewnątrz /media), typ systemu plików (może być
pusty)
# i listę opcji
iface
.
Mount
(
name
.
split
(
'/'
)[-
1
]
,
""
,
[
""
])
bus
=
dbus
.
SystemBus
()
bus
.
add_signal_receiver
(
handler_function
=
newDevCallback
,
signal_name
=
'
DeviceAdded
',
dbus_interface
=
'
org
.
freedesktop
.
Hal
.
Manager
',
named_service
=
'
org
.
freedesktop
.
Hal
',
path
=
'/
org
/
freedesktop
/
Hal
/
Manager
'
)
loop
=
gobject
.
MainLoop
()
loop
.
run
()
Rysunek 7.
Informacja pojawiająca się na magistrali podczas wkładania CD do napędu.
52
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
53
Praktyka
Wprowadzenie do architektury D-Busa
www.lpmagazine.org
mi nazwami katalogów, tak aby łatwiej moż-
na je było skojarzyć z urządzeniami. Meto-
da GetAllProperties jest ogromnym źródłem
informacji o urządzeniu (ścieżka do niego w
systemie plików, typ systemu plików i wie-
le innych). Warto po prostu wyświetlić wy-
nik jej działania i zastanowić się jak te in-
formacje wykorzystać. Ostatnie usprawnie-
nie, o którym warto pomyśleć to wyświetla-
nie okienka dialogowego dla wyboru opcji i
ewentualnego programu do uruchomienia w
momencie podłączania urządzenia. Tego ty-
pu rozbudowę pozostawiamy czytelniko-
wi. Oczywiście tworzona aplikacja powin-
na być niezależna od wybranego menadżera
okien. Tutaj spróbujemy zmodyfikować kod
w nieco innym kierunku, przy okazji umiesz-
czając w jednym programie obsługę dwóch
magistral.
Nasza aplikacja montująca będzie udostęp-
niać metodę do odmontowania zasobów, którą
to operację możemy wywołać z innego progra-
mu. Program montujący powinien działać ra-
czej jako demon, ale w celach testowych uru-
chamiamy go na konsoli w pierwszym planie
i obserwujemy ewentualne komunikaty o błę-
dach. Listing 9 przedstawia zmodyfikowany
kod montujący, a listing 10 – aplikację do od-
montowywania. Komunikują się one poprzez
D-Busa (magistralę sesyjną). Po uruchomie-
niu, program odmontowujący wyświetla listę
zamontowanych zasobów i pozwala podjąć de-
cyzję użytkownikowi.
Listing 9.
Zmodyfikowany kod montujący
# list - zwraca listę zamontowanych zasobów (as --
tablica stringow)
@
dbus
.
service
.
method
(
dbus_interface
=
'
our
.
list
.
of
.
de
vices
',
in_signature
=
'',
out_signature
=
'
as
'
)
def
list
(
self
):
return
self
.
devices
# unmount - odmontowuje podany zasób
@
dbus
.
service
.
method
(
dbus_interface
=
'
our
.
list
.
of
.
de
vices
',
in_signature
=
's',
out_signature
=
''
)
def
unmount
(
self
,
name
):
obj
=
bus
.
get_object
(
'
org
.
freedesktop
.
Hal
',
name
)
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
org
.
freedesktop
.
Hal
.
Device
'
)
info
=
iface
.
GetAllProperties
()
method
=
'
org
.
freedesktop
.
Hal
.
Device
.
Volume
.
meth
od_names
'
# testujemy obecność metody Unmout, chociaż
skoro dało sie zamontować
# dane urządzenie to możliwość odmontowania
też powinna być dostępna
if
method
in
info
and
'
Unmount
'
in
info
[
method
]:
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
o
rg
.
freedesktop
.
Hal
.
Device
.
Volume
'
)
# metoda Unmount powinna otrzyma nastpujce
argumenty:
# lista opcji
iface
.
Unmount
([
""
])
self
.
devices
.
remove
(
name
)
def
addDevice
(
self
,
name
):
self
.
devices
.
append
(
name
)
bus
=
dbus
.
SystemBus
()
bus
.
add_signal_receiver
(
handler_
function
=
newDevCallback
,
signal_name
=
'
DeviceAdded
',
dbus_interface
=
'
org
.
freedesktop
.
Hal
.
Manager
',
named_service
=
'
org
.
freedesktop
.
Hal
',
path
=
'/
org
/
freedesktop
/
Hal
/
Manager
'
)
devs
=
Devices
()
loop = gobject.MainLoop()
loop
.
run
()
#!/usr/bin/env python
import
sys
import
os
import
dbus
import
dbus
.
service
import
gobject
from
dbus
.
mainloop
.
glib
import
DBusGMainLoop
DBusGMainLoop
(
set_as_default
=
True
)
#pobranie id właściciela procesu, konwersja na string
userId = str(os.getuid())
def
newDevCallback
(
name
):
obj
=
bus
.
get_object
(
'
org
.
freedesktop
.
Hal
',
name
)
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
org
.
fre
edesktop
.
Hal
.
Device
'
)
info
=
iface
.
GetAllProperties
()
method
=
'
org
.
freedesktop
.
Hal
.
Device
.
Volume
.
method
_names
'
if
method
in
info
and
'
Mount
'
in
info
[
method
]:
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
org
.
freedesktop
.
Hal
.
Device
.
Volume
'
)
# split dostarcza listę elemetów, a indeks (-1)
oznacza ostatni element
# metoda Mount powinna otrzymać następujące
argumenty:
# punkt montowania (wewnątrz /media), typ
systemu plików, listę opcji
# właścicielem systemu plików będzie ten kto
uruchomi aplikację
iface
.
Mount
(
name
.
split
(
'/'
)[-
1
]
,
""
,
[
"uid="
+
userId
])
# program trzyma listę zamontowanych urządzeń
devs
.
addDevice
(
name
)
class
Devices
(
dbus
.
service
.
Object
):
def
__init__
(
self
):
dbus
.
service
.
Object
.
__init__
(
self
,
dbus
.
SessionBus
()
,
'/
devices
',
dbus
.
service
.
BusName
(
'
our
.
list
.
of
.
devices
'
))
self
.
devices
=
[]
# na magistrali sesyjnej udostępnione są dwie metody:
54
Praktyka
Wprowadzenie do architektury D-Busa
maj 2008
Listing 10.
Aplikacja do odmontowywania urządzeń
#!/usr/bin/env python
import
sys
import
dbus
bus
=
dbus
.
SessionBus
()
obj
=
bus
.
get_object
(
'
our
.
list
.
of
.
devices
', '/
devices
'
)
iface
=
dbus
.
Interface
(
obj
,
dbus_interface
=
'
our
.
list
.
of
.
devices
'
)
# pytamy się o listę zamontowanych urządzeń
devices
=
iface
.
list
()
for
i
,
dev
in
enumerate
(
devices
):
str
(
i
)+
'
:
'
+
dev
"Wybierz nr: "
,
answer
=
sys
.
stdin
.
readline
()
# powinniśmy sprawdzić czy użytkownik podał
# dopuszczalną odpowiedź, dla uproszczenia to pomijamy
iface
.
unmount
(
devices
[
int
(
answer
)])
Listing 11.
Nieco uproszczona składnia uruchomienia programu dbus-send dla wywołania zdalnej metody
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
[--
system
|
--
session
]
--
dest
=
nazwa
-
us
ł
ugi
--
-
reply
--
type
=
method_call
sciezka
-
do
-
obiektu
interface
.
metoda
[
opcjonalne
-
argumenty
]
Listing 12.
Wypisanie listy wszystkich nazw zarejestrowanych na magistrali sesyjnej
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
--
session
--
dest
=
org
.
freedesktop
.
DBus
--
type
=
method_call
--
-
reply
/
org
.
freedesktop
.
DBus
.
ListNames
Listing 13.
Uruchomienie aplikacji z wykorzystaniem aktywacji D-Busa
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
--
session
--
dest
=
org
.
freedesktop
.
DBus
--
type
=
method_call
--
-
reply
/
org
.
freedesktop
.
DBus
.
StartServi
ceByName
string
:
org
.
gnome
.
Rhythmbox
uint32
:
0
Listing 14.
Wykorzystanie interfejsu org.freedesktop.DBus.Introspectable do sprawdzenia udostępnianych przez Rhythmbox-a obiektów
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
--
session
--
dest
=
org
.
gnome
.
Rhythmbox
--
type
=
method_call
--
-
reply
/
org
/
gnome
/
Rhythmbox
org
.
freedeskt
op
.
DBus
.
Introspectable
.
Introspect
Listing 15.
Przekierowanie informacji o udostępnianych przez Rhythmbox-a interfejsach i metodach do pliku
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
--
session
--
dest
=
org
.
gnome
.
Rhythmbox
--
type
=
method_call
--
-
reply
/
org
/
gnome
/
Rhythmbox
/
Player
org
.
fr
eedesktop
.
DBus
.
Introspectable
.
Introspect
>
rhythmbox_player
.
xml
Listing 16.
Ustawienie poziomu głośności w programie Rhythmbox na 50% wartości maksymalnej
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
--
session
--
dest
=
org
.
gnome
.
Rhythmbox
--
type
=
method_call
--
-
reply
/
org
/
gnome
/
Rhythmbox
/
Player
org
.
gn
ome
.
Rhythmbox
.
Player
.
setVolume
double
:
0.5
Listing 17.
Przykładowy skrypt do uruchamiania programu dbus-inspector
#!/bin/sh
DBUS_INSPECTOR_DIR
=
sciezka_do_katalogu_z_dbus
-
inspectorem
DBUS_INSPECTOR
=
dbus
-
inspector
cd
$
{
DBUS_INSPECTOR_DIR
}
./$
{
DBUS_INSPECTOR
}
Listing 18.
Testowanie usługi z listingu 3 przy pomocy programu dbus-send
# poniżej znajduje się pojedynczy wiersz
dbus
-
send
--
session
--
dest
=
somedomain
.
my
.
calc
--
-
reply
/
somedomain/my/calc somedomain.my.calc.test.echo
string:’Nice to see you’
www.lpmagazine.org
Przytoczony kod montujący używa opcji
uid=... czyli określa, kto jest właścicielem
montowanego systemu plików. Nie dla wszyst-
kich systemów ma to sens, ale jest odpowied-
nie dla vfat (typowy dla pendrive) oraz iso9660
(CD). Najlepiej byłoby jednak sprawdzić, jaki
jest system plików na danym urządzeniu. Dwie
uwagi na zakończenie tego punktu:
• binding dla Pythona definiuje specjalne
typy – odpowiedniki typów D-Busowych
(tab. 2), jednak gdy introspekcja jest do-
stępna, konwersja jest automatyczna i nie
musimy sami jej przeprowadzać, może-
my używać standardowych typów Pytho-
na (chyba, że bardzo nam zależy na ja-
kimś konkretnym);
• warto obejrzeć usługi, które udostępnia-
my przy pomocy chociażby dbus-inspec-
tora, przekonamy się, że Python zapew-
nił nam automatycznie interfejs org.fre-
edesktop.DBus.Introspectable co jest
dość wygodne.
Podsumowanie
Najlepszym sposobem na nauczenie się czego-
kolwiek jest po prostu rozpoczęcie pracy z da-
nym systemem. System D-Bus jest obecnie do-
myślnie instalowany w popularnych dystrybu-
cjach a demon systemowy – uruchamiany pod-
czas startu systemu. Jeżeli nasz menadżer logo-
wania nie uruchamia magistrali sesyjnej gdy
rozpoczynamy pracę z systemem (w szczegól-
ności w trybie tekstowym), możemy sami uru-
chamiać naszego demona. Wystarczy do odpo-
wiedniego pliku, czytanego podczas logowa-
nia, wstawić następującą linię:
eval $(dbus-launch --sh-syntax --exit-
with-session)
To spowoduje wystartowanie procesu dbus-
daemon oraz jego zakończenie podczas wy-
logowywania. Ustawia to też automatycznie
zmienną
DBUS_SESSION_BUS_ADDRESS
. Para-
metru
--sh-syntax
używamy w przypadku
korzystania z powłoki sh (bash). Można też
skorzystać z własnej, niestandardowej konfi-
guracji D-Busa:
eval $(dbus-launch --sh-syntax --
config-file=/sciezka/do/session.conf
--exit-with-session)
Niestety automatyczne zamykanie demona
działa jedynie wtedy, gdy korzystamy z sys-
temu X window. W szczególności wtedy, gdy
do zdalnego systemu dostajemy się przez ssh z
włączonym X forwarding. W pozostałych przy-
padkach musimy zadbać o ręczne zabicie de-
mona (np. w .bash_logout). System D-Bus jest
dość rozbudowany i część zagadnień w ogóle w
artykule nie była poruszona. Np. konfiguracja,
bezpieczeństwo. Dalsze informacje można uzy-
skać korzystając z poniższych zasobów interne-
towych. Istnieje szereg protokołów do komu-
nikacji między procesami. W przypadku sys-
temów desktopowych idealnie by było gdyby
wszystkie aplikacje rozmawiały ze sobą wspól-
nym językiem. I właśnie D-Bus ma szansę stać
się takim uniwersalnym protokołem.
D-Bus:
• http://www.freedesktop.org/wiki/Software/dbus
• http://dbus.freedesktop.org/doc/
• http://www.freedesktop.org/wiki/IntroductionToDBus
• http://www.freedesktop.org/wiki/Software/DbusProjects
• http://people.freedesktop.org/~david/hal-spec/hal-spec.html
• http://www.linuxfromscratch.org/blfs/view/svn/general/dbus.html
Python:
• http://www.python.org
• http://www.python.org.pl
• http://pl.wikibooks.org/wiki/Python
dbus-inspector:
• http://www.vitavonni.de/projekte/dbus-inspector
W Sieci
R
E
K
L
A
M
A
Autor pracuje w firmie ComArch jako pro-
gramista od prawie dwóch lat. Jego zain-
teresowania zawodowe obejmują języki C,
C++, Python i Java. Posiada również do-
świadczenie jako administrator serwerów
linuksowych i BSD.
Kontakt z autorem: zbigniew.koza-
k@zk.net.pl
O autorze
praktyka
Linux komórkowy
56
maj 2008
praktyka
Linux komórkowy
57
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
W
iększość czytelników zapewne pamię-
ta jeszcze czasy, kiedy telefony komór-
kowe sprawdzały się równie dobrze ja-
ko urządzenia do wykonywania połą-
czeń telefonicznych, jak i broń obronno–zaczepna. By-
ły po prostu ogromne! Ze względu na swoją wagę oraz
rozmiary, którymi przypominały znane z hollywoodz-
kich filmów wojskowe telefony satelitarne, o noszeniu
ich w kieszeni można było praktycznie zapomnieć. Na
początku lat dziewięćdziesiątych telefonia komórkowa
trafiła również do Polski. Od tego czasu aparaty zmie-
niły się nie do poznania. Z biegiem czasu funkcje wyko-
nywania połączeń i pisania SMS–ów zeszła na drugi, je-
śli nawet nie dalszy plan. Najważniejsze w dzisiejszym
telefonie komórkowym jest to, żeby miał duży wyświe-
tlacz, odtwarzał muzykę, robił zdjęcia, nagrywał filmy,
miał radio... a niedługo poprzez telefony komórkowe bę-
dzie można nawet oglądać cyfrową telewizję w standar-
dzie DVB–H. Ale wróćmy jeszcze na chwilę do prze-
szłości. Kiedy telefony otrzymały możliwość komuni-
kacji za pomocą krótkich wiadomości tekstowych, ode-
brane SMS–y były przechowywane na karcie SIM, jed-
nak wiązały się z tym pewne ograniczenia. W zależno-
ści od operatora mogliśmy na niej przechowywać mak-
symalnie 25–30 wiadomości, co nie jest zbyt imponują-
cą ilością. Raz na jakiś czas trzeba było więc robić po-
rządki w pamięci poprzez wyrzucenie starych wiadomo-
ści. W okolicach roku 2003 w telefonach komórkowych
zaczęto montować wewnętrzną pamięć, na której mo-
gła się znajdować zawartość naszej książki telefonicznej
oraz skrzynki odbiorczej. Ostatecznie okazało się jednak,
że chociaż teraz w pamięci możemy zapisać nawet ponad
100 wiadomości, to i tak miejsca jest za mało. Spróbujmy
więc do przechowywania wiadomości wykorzystać na-
sze komputery, które nie tylko pozbawione są ograniczeń
związanych z ilością dostępnego miejsca, a oferują po-
nadto szeroki wachlarz różnorodnych możliwości. Pro-
gramy, które opiszę, oferują znacznie więcej niż pobiera-
nie SMS–ów z telefonu. W zasadzie to tylko wierzchołek
góry lodowej, przejdźmy więc do konkretów.
Wstępna konfiguracja
Opiszę tutaj jak podłączyć telefon korzystając z kabla
USB, chociaż wszystkie programy, które zaprezentu-
Linux komórkowy
Na początku był telefon komórkowy. Z biegiem czasu ewoluował w przenośny multimedialno–
rozrywkowy kombajn z zaszytą gdzieś głęboko funkcją telefonu. W tym artykule przedstawię kilka
programów, które pozwolą na lepszą kontrolę nad telefonem w środowisku systemu Linux.
Robert Multan
praktyka
Linux komórkowy
56
maj 2008
praktyka
Linux komórkowy
57
www.lpmagazine.org
ję niżej mają również możliwość komuni-
kacji za pośrednictwem podczerwieni (IR-
DA) oraz fal radiowych (Bluetooth). Na
początek musimy odpowiednio skonfigu-
rować jądro naszego systemu. Podłącza-
my więc telefon do portu USB i wydaje-
my polecenie
lsusb
, które pokaże nam li-
stę obecnych urządzeń. Jeżeli na liście od-
najdziemy nasz telefon (nie musi to być
dokładnie ten sam model), przechodzi-
my do właściwej konfiguracji. Jeżeli po-
trzebujemy tylko dostępu do systemu pli-
ków telefonu, wystarczy nam jedynie ob-
sługa urządzeń pamięci masowej podłącza-
nych pod USB, a ta jest integralną częścią
praktycznie każdej dystrybucji (część tele-
fonów wymaga odnalezienia opcji podłą-
czenia z komputerem i zmiany typu połą-
czenia z modem/fax na data storage). W ta-
kiej sytuacji podłączone urządzenie będzie
widoczne w systemie tak samo jak pendri-
ve czy zewnętrzny dysk twardy. Do trans-
feru plików będziemy więc potrzebowa-
li tylko zwykłego managera plików: Ko-
nquerora, Dolphina, Midnight Commande-
ra czy zwykłych konsolowych poleceń. Je-
śli zaś chcemy mieć dostęp do książki adre-
sowej i odebranych wiadomości, potrzebny
nam będzie moduł obsługi modemów USB.
Najpierw sprawdzamy, czy mamy w syste-
mie odpowiedni moduł wydając w konsoli
polecenie
modprobe -l | grep cdc-acm
.
Jeśli system odpowie twierdząco, przecho-
dzimy dalej. Jeśli nie, będziemy zmuszeni
doinstalować brakujący sterownik (odnaj-
dziemy go w konfiguracji jądra pod Devi-
ce drivers –> USB Support –> USB Modem
(CDC ACM) support). Zaopatrzeni w od-
powiedni moduł powinniśmy go teraz zała-
dować poleceniem
modprobe cdc-acm
. W
tym momencie powinno pojawić się urzą-
dzenie /dev/ttyACM0 prowadzące do na-
szego świeżo zainstalowanego telefonu.
Zostało jeszcze tylko ostateczne sprawdze-
nie, czy mamy odpowiednie uprawnienia
do pliku urządzenia (w przypadku systemu
Gentoo musimy należeć do grupy uucp) po-
leceniem
ls -la /dev/ttyACM0
i podsta-
wową konfigurację możemy uznać za za-
kończoną. Czas więc przyjrzeć się progra-
mom do obsługi naszego telefonu.
Gammu
Gammu jest niewielkim, konsolowym pro-
gramem umożliwiającym komunikację z
telefonami komórkowymi. Pomimo swojej
niepozorności oferuje użytkownikowi na-
prawdę szeroki wachlarz opcji. Przed przy-
stąpieniem do korzystania z programu na-
leży wcześniej skonfigurować połączenie
poleceniem
gammu-config,
które wywo-
ła pseudograficzny konfigurator służący
do ustalenia potrzebnych parametrów. W
przypadku większości nowszych urządzeń
podłączonych do portu USB, jako typ po-
łączenia powinniśmy wybrać at115200 (w
wypadku starszych modeli lepszym wybo-
rem jest at19200), a dla IRDA oraz Blueto-
oth odpowiednio irdaobex i blueat. Warto
także zwrócić uwagę na pozycję Synchro-
nize Time, dzięki której program będzie
synchronizował czas na naszym telefonie
z zegarem komputera przy każdym podłą-
czeniu. Po zakończeniu konfiguracji czas
przetestować połączenie. W tym celu wy-
dajemy polecenie
gammu identify,
które
wyświetla podstawowe informacje o tele-
fonie, numerze IMEI oraz wersji oprogra-
mowania. Czas na przedstawienie najbar-
dziej użytecznych funkcji. Kompletny ze-
staw opcji jest opisany w manualu progra-
mu, który możemy wywołać poleceniem
man gammu
.
Przejdźmy teraz do używania samego
programu, ściślej: do wysyłania SMS–ów.
Aby wysłać wiadomość wydajemy polece-
nie
gammu sendsms TEXT <numer odbior-
cy>,
następnie wpisujemy treść wiadomo-
ści, potwierdzamy naciskając kombinację
ctrl+D, czekamy chwilę na potwierdze-
nie wysłania SMS–a i już! Jedną z bardziej
użytecznych funkcji programu jest na przy-
kład możliwość wysyłania tak zwanych
flash SMS–ów (wystarczy dodać na koń-
• Strona domowa programu
Kmobiletools
http://www.kmobiletools.org/
• Strona internetowa Gammu
http://www.gammu.org/
• Strona Wammu
http://wammu.eu/
W Sieci
Rysunek 1.
Okno programu Wammu
Listing 1.
Wynik polecenia lsusb. Jak widzimy system zauważył nasz telefon
cthulhoo
~ #
lsusb
Bus
003
Device
007
:
ID
22
b8
:
4902
Motorola
PCS
E398
GSM
Phone
Bus
001
Device
003
:
ID
0402
:
5603
ALi
Corp
.
USB
2.0
Q
-
tec
Webcam
300
Bus
001
Device
001
:
ID
0000
:
0000
Rysunek 2.
Komunikator Wammu
58
praktyka
Linux komórkowy
maj 2008
59
praktyka
Linux komórkowy
www.lpmagazine.org
cu powyższego polecenia parametr -flash),
które nie mogą być zapisane w telefonie
odbiorcy i znikają zaraz po ich odczytaniu.
Kolejną przydatną funkcją jest możliwość
ustalenia okresu ważności SMS–a (mak-
symalnego czasu oczekiwania na odbiór)
poprzez podanie parametru -validity (od-
powiednie wartości parametru to HOUR,
6HOURS, DAY, 3DAYS, WEEK, MAX).
Warto przy tym nadmienić, że korzysta-
jąc z Gammu możemy wysyłać nie tylko
SMS–y, ale i EMS–y, dzwonki, animacje,
wizytówki VCARD oraz wiele innych.
Zatrzymajmy się teraz chwilę przy od-
czytywaniu SMS–ów. Jeśli chcemy wy-
świetlić jakąś wiadomość, musimy wydać
polecenie
gammu getsms <numer folde-
ru> <numer pocztkowy> <numer ko-
cowy>
. Numerem skrzynki odbiorczej jest
najczęściej 1, więc jeśli chcemy wyświetlić
piątą z otrzymanych wiadomości, wydaje-
my polecenie
gammu getsms 1 5 5
. Jeśli
zaś nie wiemy, jaki numer ma poszukiwana
przez nas wiadomość, możemy poleceniem
gammu getallsms
polecić programowi po-
branie wszystkich wiadomości i wyświetle-
nie ich na ekranie.
Jednak jedną z najprzydatniejszych
(choć może nie najczęściej używanych)
funkcji programu jest możliwość utwo-
rzenia kopii zapasowej wszystkich wiado-
mości, numerów telefonów oraz ustawień
poleceniem
gammu backup <nazwa pliku
docelowego>.
W razie potrzeby możemy
przywrócić wszystko z powrotem polece-
niem
gammu restore <nazwa pliku>
.
Wszystkim, którzy nie boją się konso-
li, szczerze polecam korzystanie z Gammu.
Program oferuje bowiem niespotykaną nig-
dzie indziej mnogość funkcji. Konsolowy
interfejs może nie jest dla wszystkich naj-
wygodniejszy, ale sprawdza się świetnie w
sytuacji, kiedy chcemy zapisać czy odtwo-
rzyć kopię zapasową, przeszukać książkę
adresową, czy wysłać szybko SMS–a.
Kmobiletools
Kolejną aplikacją jest napisany w oparciu
o biblioteki Qt programem do obsługi te-
lefonów komórkowych dedykowanym dla
środowiska KDE czyli Kmobiletools. Pew-
nym jego mankamentem jest fakt, że ostat-
nia stabilna wersja ukazała się dość daw-
no, bowiem w 2004 roku. Coś jednak się
ruszyło i obecnie w fazie beta jest kolej-
na wersja programu. Autorzy zapowiadają
prawdziwie rewolucyjne zmiany nie tylko
w interfejsie, ale i ogólnej funkcjonalności.
Na premierę stabilnej wersji przyjdzie nam
jednak poczekać.
Kmobiletools posiada bardzo przej-
rzysty, dobrze zaprojektowany interfejs,
w którym bez problemu odnajdzie się każ-
dy użytkownik. Przy konfiguracji nie ata-
kują nas zewsząd kreatory, ale tak napraw-
Rysunek 3.
Ustawienia KMobile Tools
Rysunek 4.
Nowa wiadomość w KMobile Tools
58
praktyka
Linux komórkowy
maj 2008
59
praktyka
Linux komórkowy
www.lpmagazine.org
dę nie są potrzebne w sytuacji, gdy jedyną
opcją, którą większość użytkowników bę-
dzie chciała zmienić, jest ścieżka do nasze-
go urządzenia (najczęściej to /dev/ttyACM0
dla połączenia USB, /dev/ircomm0 dla pod-
czerwieni, /dev/rfcomm0 dla bluetooth). W
przypadku ciągu inicjującego lepiej zdać
się na domyślną wartość. Kmobiletools
oferuje nam w zasadzie wszystko, czego
potrzebuje typowy użytkownik. Możemy
odczytywać, usuwać oraz wysyłać SMS–y,
dzwonić pod dowolny numer bądź wybrać
jeden z książki telefonicznej oraz monito-
rować siłę sygnału i stan baterii. Możemy
też zapisać dowolną wiadomość na dys-
ku. Brakuje niestety importu wiadomości
i ustawień do telefonu. Chociaż to z pozo-
ru mało użyteczna opcja, przydaje się bar-
dzo w sytuacji, kiedy zmieniamy numer
bądź telefon. Dzięki tej funkcji jesteśmy
bowiem w stanie w paru kliknięciach prze-
nieść wszystkie numery telefonów oraz
wiadomości z jednego aparatu do drugiego.
Przy każdym uruchomieniu aplikacja sa-
ma zgrywa z telefonu wszystkie wiadomo-
ści. Kontakty trzeba pobrać ręcznie. Warto
przy tym zaznaczyć, że Kmobiletools au-
tomatycznie zapisuje nasze numery telefo-
nów w książce adresowej KDE.
Jak wspomniałem, interfejs jest dobrze
zaprojektowany, ale jednak nie idealny. Z
niewyjaśnionych przyczyn pozbawieni je-
steśmy możliwości oznaczenia przycho-
dzących wiadomości jako przeczytane i o
ile samą wiadomość niemal natychmiast
możemy przeczytać na ekranie komputera,
to aby telefon uznał ją za przeczytaną mu-
simy niestety po niego sięgnąć.
Podsumowując, jest to program god-
ny polecenia dla użytkowników, którzy nie
stawiają na bogactwo opcji, a raczej pro-
stotę programu, który umożliwia zarządza-
nie numerami telefonów oraz wiadomo-
ściami. Kmobiletools ma bowiem w zasa-
dzie wszystko, czego potrzebuje przeciętny
użytkownik, a przy tym oferuje przyjazny i
dobrze zaprojektowany interfejs.
Wammu
Wammu, jak można się spodziewać, jest
graficzną nakładką na wspomniany wcze-
śniej Gammu. Do działania wymaga biblio-
tek gammu–python oraz wxWidgets. Pro-
gram napisany przez naszych sąsiadów z
Czech co prawda nie zachwyca ani wyglą-
dem, ani wygodą użytkowania, ale w za-
mian oferuje całkiem pokaźną ilość opcji.
Chociaż twórcy nie pokusili się co prawda
o zaimplementowanie wszystkich funkcji
programu gammu, to te, które oferuje nam
program, powinny zadowolić nawet wy-
brednych użytkowników. Już przy pierw-
szym uruchomieniu widać bowiem wy-
raźnie, że Wammu jest programem znacz-
nie bardziej rozbudowanym niż wspomnia-
ny wcześniej Kmobiletools. Wstępna kon-
figuracja w przypadku użytkowania wcze-
śniej Gammu okazuje się zbędna, bowiem
program korzysta z tego samego pliku kon-
figuracji ~/.gammurc. Jeśli jednak nie uży-
waliśmy wcześniej Gammu, przy określa-
niu ustawień możemy posłużyć się kre-
atorem, który – jeśli istnieje taka możli-
wość – skonfiguruje wszystko automa-
tycznie przepytując porty najczęściej uży-
wane przez wybrany sposób transmisji. Je-
żeli nasz telefon znajduje się na porcie in-
nym niż standardowy, nic nie stoi na prze-
szkodzie, żeby całą konfigurację przepro-
wadzić ręcznie.
Podobnie jak w przypadku wymienio-
nych wyżej aplikacji mamy możliwość
czytania wiadomości oraz pobierania za-
wartości książki telefonicznej. Wystarczy
wybrać stosowną opcję z menu Retrieve.
Możemy także dodawać nowe numery tele-
fonów oraz wysyłać i zapisywać wiadomo-
ści tekstowe korzystając z menu Create.
W przypadku niektórych typów tele-
fonów (najczęściej produkcji firm Nokia
oraz Sony Ericsson) będziemy mogli tak-
że dodawać notatki czy zdarzenia do ka-
lendarza.
Do tego dochodzi także bardzo wy-
godna funkcja wysyłania plików do telefo-
nu, co pozwoli uniknąć konieczności odłą-
czania telefonu i zmiany trybu pracy połą-
czenia USB z transferu danych na transfer
plików. Listę funkcji obsługiwanych przed
konkretny aparat możemy przejrzeć pod
adresem http://cihar.com/gammu/phonedb/
. Ciekawą opcją jest również możliwość
eksportu wszystkich bądź wybranych wia-
domości do postaci e–maili w trzech róż-
nych formatach.
Przy stałym połączeniu telefonu z kom-
puterem Wammu okazuje się być wygod-
niejszy w obsłudze od kmobiletools, jed-
nak brakuje mu nieco do ideału. Co prawda
nowe wiadomości są oznaczane jako prze-
czytane, ale dzieje się to automatycznie i
bez naszej ingerencji. Niestety nie jeste-
śmy również powiadamiani o nadchodzą-
cych SMS–ach.
Wammu jest aplikacją godną polece-
nia wszystkim wymagającym od managera
telefonu komórkowego czegoś więcej niż
tylko podstawowych funkcji. Nie zachwyci
raczej nikogo intuicyjnością czy urodziwo-
ścią interfejsu, ale jest naprawdę przyzwo-
icie napisanym programem. Aplikacja cały
czas jest dynamicznie rozwijana i z każdą
kolejną odsłoną oferuje nowe funkcje.
Rysunek 5.
Konsola Shell
Autor jest studentem drugiego roku Infor-
matyki na Uniwersytecie Jagiellońskim.
Prywatnie, użytkownik dystrybucji Gen-
too, grafik–amator i zagorzały fan angiel-
skiego humoru.
Kontakt z autorem:
jaszczur@bagienny.org
O autorze
Programowanie
Język programowania/FreeBasic
60
maj 2008
Programowanie
Język programowania/FreeBasic
61
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
Freebasic – Basic
na miarę XXI wieku
Język programowania Basic stracił bardzo wiele na popularności w ciągu ostatnich lat. W latach 80.
był to bardzo popularny język programowania szczególnie na komputerach ośmiobitowych takich jak
ZX Spectrum, Atari XL oraz Commodore C64. Wbrew pozorom znacznie późniejszy AMOS, znany z
komputerów AMIGA był językiem bardzo podobnym do Basica. O jego popularności zadecydowała m. in.
duża liczba rozszerzeń, które ułatwiały tworzenie efektownej grafiki oraz oprawy muzycznej i dźwiękowej.
Marek Sawerwain
D
zisiaj Basic jest kojarzony z makrami np.: w
programie OpenOffice. Jednakże, istnieją dwa
bardzo ciekawe projekty związane z Basiciem
dla systemu Linux. Pierwszym jest GAM-
BAS. Jest to próba przeniesienia języka Visual Basic do śro-
dowiska UNIXowego. I co warto podkreślić, całkiem udana.
Drugi projekt to FreeBasic, czyli bardzo nowoczesna odmia-
na języka Basic, ale zgodna w wielu aspektach z językiem
QuickBasic (był on dostępny w systemie MS-DOS). Oferu-
je dostęp do wielu współcześnie stosowanych bibliotek np.:
OpenGL, do funkcji systemu baz danych o nazwie SQLite,
czy też do funkcji z biblioteki SDL, o ile tylko wersja binarna
tej biblioteki jest dostępna w systemie. Jest to ogromną zale-
tą, ponieważ po instalacji standardowego pakietu uzyskuje-
my dostęp do wielu przydatnych funkcji.
Co może FreeBasic?
Współpraca FreeBasic'a z dostępnymi bibliotekami jest bar-
dzo ważna. Należy podkreślić, że FreeBasic oferuje łatwą
współpracę z innymi językami jak np.: C++ czy Java.
Jednak to nie wszystkie możliwości FreeBasica. Pozwa-
la on na tworzenie programów obiektowych, dostępne są wła-
sności a nawet istnieje możliwość przeciążania operatorów. Bez
kłopotów możemy korzystać z przestrzeni nazw, z preproceso-
ra zgodnego z ANSI C i z wielu innych nowoczesnych właści-
wości jak np.: wątki (ang. thread).
Warto się przyjrzeć jak wyglądają wobec tego możliwo-
ści programowania obiektowego. Zdefiniujmy klasę o nazwie
Vektor2D, która będzie zawierać dwa pola x oraz y typu single
(liczba zmiennoprzecinkowa o pojedynczej precyzji) oraz ope-
rator konwersji na ciąg znaków. Odpowiednia definicja przed-
stawia się w następujący sposób: (Listing 4.)
Zaletą FreeBasic względem języka C++ jest następujący
prosty fakt: operator konwersji został nazwany wprost słowem
Cast
. Polepsza to znacząco czytelność kodu i trzeba przyznać,
iż w tym konkretnym przypadku autorzy FreeBasica lepiej roz-
wiązali ten aspekt niż np.: w C++. Operator ten jest traktowany
jako funkcja, dlatego o typie konwersji decyduje także typ war-
tości wynikowej. Deklaracja operatora przedstawia się w nastę-
pujący sposób:
operator Vector2D.cast () As String
return "(" + Str(x) + ", " + Str(y) + ")"
End Operator
Programowanie
Język programowania/FreeBasic
60
maj 2008
Programowanie
Język programowania/FreeBasic
61
www.lpmagazine.org
Właściwą konwersję wartości pól x oraz y wy-
konuje funkcja
Str
. Jednakże, skoro mamy de-
finicję typu wektora dwuwymiarowego, to bez
większego trudu możemy przeciążyć operator
dodawania:
declare operator + ( ByRef leftArg As
Vector2D, ByRef rightArg As Vector2D
) As Vector2D
Gdzie argument leftArg odpowiada lewemu ar-
gumentowi, natomiast prawy o nazwie righ-
tArg zgodnie ze swoją nazwą prawemu argu-
mentowi operatora dodawania. Obydwa argu-
menty jak widać, są przekazywane przez refe-
rencję, co oznacza wysoką wydajność, ponie-
waż nie są wykonywane kopie argumentów.
Tym razem implementacja przedstawia się na-
stępująco: (Listing 5.)
Nowy wektor jest utworzony za pomocą
konstrukcji
Type<Vector2D>
, gdzie zgodnie z
kolejnością deklarowania argumentów podaje-
my wartości poszczególnych pól. W podobny
sposób możemy deklarować nowe wektory, ini-
cjalizując od razu pola obiektu:
Dim a As Vector2D = Type<Vector2D>(
2.2, 3.3 )
Naturalnie w klasie - czy używając nomenklatu-
ry FreeBasica: typie - możemy korzystać z kon-
struktora oraz destruktora. Zaletą jest również
obecność własności. Własność do odczytu dekla-
rujemy w następujący sposób:
declare property prop_name as integer
Natomiast jeśli chcemy jeszcze utworzyć wła-
sność do zapisu to odpowiednia deklaracja przyj-
muje następującą postać:
declare property prop_name( new_value
as integer )
Jednakże istnieją także mankamenty. Przedsta-
wiana wersja języka o numerze 0.18c nie oferuje
na obecnym etapie np.: dziedziczenia oraz funk-
cji wirtualnych, co naturalnie stanowi ogrom-
ne ograniczenie modelu obiektowego. Jednakże
autorzy mają w planach wprowadzenie tej mimo
wszystko zasadniczej właściwości. Toteż po uzu-
pełnieniu własności obiektowych będzie można
powiedzieć, iż jest to język o możliwościach zbli-
żonych do C++ czy Java.
Mimo ograniczeń w modelu obiektowym w
odróżnieniu od swoich protoplastów sprzed wie-
lu lat FreeBasic to sprawny 32-bitowy kompila-
tor, który daje możliwość tworzenia wydajnych
aplikacji, co stanowi od razu o jego zalecie np.:
względem Javy, która w przypadku większych
programów mimo wszystko nie oferuje zbyt du-
żej wydajności, a na poziomie programowania
strukturalnego, jego możliwości są podobne do
języka C czy np.: ciągle popularnego Pascala.
Pierwszy program
Nasz pierwszy program, to nieskomplikowana
aplikacja, która uruchamia tryb graficzny o nu-
merze 17, czyli tryb 640x400. Biblioteka funk-
cji graficznych, choć oferuje podstawowe możli-
wości, to oferuje bardzo proste API nie sprawia-
jące żadnych kłopotów. Naturalnie potrzebny jest
kompilator. Sposób jego instalacji został pokrót-
ce przedstawiony w ramce pt.: Instalacja kompi-
latora FreeBasic.
Nasz program będzie działał w ramach śro-
dowiska X-Windows choć wszystkie zawiłości z
obsługą okna są przed nami ukryte. Kod źródło-
wy jest w całości zawarty na Listingu 1. Pierwsze
Listing 1.
Uruchomienie trybu graficznego oraz wyświetlenie palety dostępnych kolorów
DIM
key
AS
STRING
,
driver
AS
STRING
DIM
AS
INTEGER
i
,
j
,
w
,
h
,
d
,
rate
CONST
depth
=
32
SCREEN
17
,
depth
SCREENINFO
w
,
h
,
d
,,,
rate
,
driver
LOCATE
2
,
2
:
"Mode: "
+
STR
(
w
)
+
"x"
+
STR
(
h
)
+
"x"
+
STR
(
d
)
;
IF
(
rate
>
0
)
THEN
" @ "
+
STR
(
rate
)
+
" Hz"
;
END
IF
" ("
+
driver
+
")"
FOR
j
=
0
TO
w
-
1
LINE
(
32
+
j
,
40
)
-
(
32
+
j
,
79
)
,
j
SHL
16
LINE
(
32
+
j
,
100
)
-
(
32
+
j
,
139
)
,
j
SHL
8
LINE
(
32
+
j
,
160
)
-
(
32
+
j
,
199
)
,
j
NEXT
j
SLEEP
Rysunek 1.
Uruchomiony przykład programu Stars oraz przykład z Listing 1, w tle fragmenty kodu źródłowe-
go programu
62
Programowanie
Język programowania/FreeBasic
maj 2008
63
Programowanie
Język programowania/FreeBasic
www.lpmagazine.org
dwie linie na Listingu rozpoczynające się od sło-
wa
DIM
to deklaracje zmiennych. Następnie de-
finiujemy stałą, która będzie oznaczać liczbę bi-
tów przeznaczonych na kolor. Uruchomienie try-
bu graficznego sprowadza się do użycia polece-
nia
SCREEN
. W rzeczywistości jest to procedu-
ra, a dokładniej podprogram, jednakże dla odróż-
nienia od innych funkcji np.: z biblioteki
FMOD
,
wszystkie nazwy związane bezpośrednio z Fre-
eBasiciem będą nazywane poleceniami.
Pierwszy argument polecenia
SCREEN
to
numer trybu (17 odpowiada rozdzielczości
640x400, a np.: 21 to rozdzielczość 1280x1024),
drugi argument to liczba bitów opisujących ko-
lor jednego piksela. Polecenie SCREEN, posiada
jednakże znacznie więcej parametrów np.: wy-
wołanie w postaci:
SCREEN 18, 32, 4, 1
oznacza uruchomienie trybu 640x480 o 32-bi-
towym kolorze, gdzie mamy dostęp do czterech
ekranów, po których można rysować. Naturalnie
tylko jeden z nich jest widoczny w danej chwi-
li. Ostatni parametr -- jedynka – oznacza, iż tryb
graficzny zostanie uruchomiony w trybie pełne-
go ekranu. Do uruchomienia trybu graficznego
wygodnie będzie też użyć polecenia
SCREENRES
.
Dwa pierwsze argumenty, to odpowiednio szero-
kość i wysokość, więc możemy napisać:
SCREENRES 640, 480, 32, 4, 1
W naszym programie po uruchomieniu trybu
graficznego za pomocą
SCREENINFO
uzyskujemy
szereg informacji o parametrach obrazu. Warto
zwrócić uwagę na to, iż część parametrów została
pominięta - wystarczy tylko wstawić przecinek, a
ewentualną nazwę zmiennej pominąć.
Kolejna część programu za pomocą funkcji
LOCATE
(ustawienie pozycji kursora) oraz
w lewym górnym rogu wyświetli podstawo-
we informacje o uruchomionym trybie graficz-
nym. Pętla
FOR
jest odpowiedzialna za narysowa-
nie trzech pasów w odcieniach czerwieni, zieleni
oraz koloru niebieskiego. Rysowanie jest realizo-
wane za pomocą funkcji
LINE
. Informacja o ko-
lorze jest zawarta w drugim argumencie, ponie-
waż pierwszy parametr to współrzędne początku
i końca zapisane w postaci dwóch par rozdzie-
lonych myślnikiem:
(x1,y1) – (x2,y2)
. Kod
źródłowy naszego programu należy poddać kom-
pilacji, ponieważ w przeciwieństwie do starych
wersji Basica, FreeBasic to kompilator. Kompi-
lacja niestety wymaga skorzystania z konsoli, ale
jest bardzo łatwa. Jeśli nasz program z Listing 1,
zapiszemy w katalogu domowym pod nazwą np.:
example_0.bas, to kompilacja sprowadza się do
wydania polecenia:
fbc example_0.bas
Uzupełniając jeszcze informacje o trybie gra-
ficznych trzeba dopowiedzieć, iż łatwo dowie-
dzieć się, jakie tryby graficzne, a dokładniej ja-
kie rozdzielczości, możemy włączyć. Wystar-
czy napisać prosty program o następującej po-
staci: (Listing 6.)
Kluczowym poleceniem jest SCREEN-
LIST, które jeśli uruchomimy z parametrem
oznaczającym ilość bitów przeznaczonych na
kolor zwróci liczbę całkowitą, gdzie starsze bi-
ty zawierają szerokość, natomiast młodsze bity
wysokość. Informacje o kolejnych trybach uzy-
skujemy wywołując polecenie
SCREENLIST
bez
dodatkowych parametrów. Na końcu
SCREEN-
LIST
zwraca wartość zero, oznaczającą koniec
Rysunek 2.
Strona domowa projektu FreeBasic
Rysunek 3.
Tworzenie interfejsu graficznego dla odtwarzacza modułów
Na płycie CD/DVD znajdują się wykorzy-
stywane biblioteki, kod źródłowy programu
oraz wszystkie listingi z artykułu.
Na płycie CD/DVD
62
Programowanie
Język programowania/FreeBasic
maj 2008
63
Programowanie
Język programowania/FreeBasic
www.lpmagazine.org
listy dostępnych rozdzielczości.
Mały odtwarzacz modułów
Na płycie DVD dołączonej do czasopisma
(oraz na stronie czasopisma Linux+) znajdują
się źródła omówionych przed chwilą przykładów
jak również kilka innych programów. Jednakże,
aby nie tracić miejsca na ich prezentację, zajmie-
my się tylko jednym z nich, a mianowicie pro-
gramem do odtwarzania modułów muzycznych.
Moduły muzyczne, czyli pliki o rozszerzeniu
min.: MOD, S3M oraz XM to bardzo popularne
formaty na tzw. demoscenie, ale nie tylko. Znana,
szczególnie miłośnikom gier, gra Unreal również
korzystała z modułów muzycznych.
Ponieważ FreeBasic oferuje dostęp do bi-
blioteki FMOD, która odtwarza tego typu pliki,
w ramach prostego ćwiczenia dość łatwo zbudo-
wać całkiem przydatny program. Listing 2 przed-
stawia kod źródłowy programu wykorzystujący
bibliotekę FMOD.
Nasz program zaczynamy od polecenia pre-
procesora #include. Podobnie jak jego odpowied-
nik w języku C, polecenie
#include
włącza plik
nagłówkowy. Dodatkowe słowo once zapewnia,
że plik zostanie włączony tylko raz.
Programy w Basicu nie mają wyróżnio-
nej funkcji, od której rozpoczyna się wykony-
wanie programu. Program rozpoczyna pracę od
pierwszej instrukcji w pliku źródłowym. W na-
szym programie jest to instrukcja warunkowa IF.
Wcześniej wprowadzamy deklarację funkcji
er-
ror_sub
przeznaczonej do obsługi błędów i kilka
stałych. Jedna z nich,
music_file
, zawiera nazwę
pliku do odtwarzania. Nie jest to dobre rozwiąza-
nie, gdyż lepiej byłoby wyposażyć nasz program
w interfejs dla użytkownika i tak zrobimy w na-
stępnym punkcie.
Zadanie pierwszej instrukcji warunkowej,
to sprawdzenie wersji biblioteki FMOD. Upew-
niamy się, czy używana przez program wersja
FMOD nie jest niższa niż wersja FMOD zastoso-
wana podczas kompilacji naszego programu. Jest
tak się stanie, funkcja
error_sub
zakończy dzia-
łania naszej aplikacji.
Gdy numer wersji biblioteki jest odpo-
wiedni, należy dokonać inicjalizacji bibliote-
ki FMOD. To zadanie wykonuje kolejna in-
strukcja warunkowa wywołująca funkcję
FSO-
UND_Init
. Pierwszy parametr to częstotli-
wość dźwięku, czyli 44kHz, natomiast liczba
32 oznacza ilość dostępnych kanałów dźwię-
ku. Ostatni parametr pozwala na wprowadzenie
dodatkowych flag, my jednak nie wykorzystu-
jemy żadnych dodatkowych właściwości.
Po udanej inicjalizacji od razu może-
my spróbować wczytać moduł funkcją
FMU-
SIC_LoadSong
. Wartość różna od zera ozna-
cza, iż moduł został poprawnie wczytany.
Jeśli tak się stało, uruchomienie odtwarza-
nia pliku nastąpi po wywołanie funkcji
FMU-
SIC_PlaySong
, natomiast zatrzymanie od-
twarzania za pomocą funkcji
FMUSIC_Stop-
Song
. Usunięcie modułu z pamięci następu-
je po wywołaniu funkcji
FMUSIC_FreeSong
.
Po rozpoczęciu odtwarzania muzyki FreeBa-
sic wykonuje swój program w sposób zupeł-
nie niezależny, więc nie musimy się martwić
o płynność odtwarzania muzyki. Bibliote-
ka FMOD jest pod tym względem niezależ-
na od naszego programu. Dlatego za pomo-
Listing 2.
Odtwarzanie modułu muzycznego
#
include
once
"fmod.bi"
DECLARE
SUB
error_sub
(
byval
Message
as
string
)
const
TRUE
=
1
const
FALSE
=
0
const
music_file
=
"aryx.s3m"
DIM
song
AS
FMUSIC_MODULE
ptr
IF
(
FSOUND_GetVersion
()
<
FMOD_VERSION
)
THEN
error_sub
(
"Do poprawnego działania programu naley zainstalowa co
najmniej wersj "
&
FMOD_VERSION
)
END
IF
IF
(
FSOUND_Init
(
44100
,
32
,
0
)
=
FALSE
)
THEN
error_sub
(
"Nie mona uruchomi systemu FMOD!"
)
END
IF
song
=
FMUSIC_LoadSong
(
music_file
)
IF
song
=
0
THEN
error_sub
(
"Nie mona wczyta pliku """
+
music_file
+
""""
)
END
IF
FMUSIC_PlaySong
(
song
)
"Nacinij klawisz spacji (lub dowolny inny) aby zakoczy działanie
tego programu."
SLEEP
FMUSIC_FreeSong
(
song
)
FSOUND_Close
END
SUB
error_sub
(
BYVAL
message
AS
String
)
"Błd: "
;
message
FSOUND_Close
END
1
END
SUB
• Strona projektu FreeBasic - http://www.freebasic.net
• Top50, czyli 50 najlepszych stron o FreeBasic'u - http://www.fbtop50.com
• Spis gier opracowanych we FreeBasic'u - http://games.freebasic.net
• Wiele narzędzi do programowania, również dla FreeBasic'a - http://www.phatcode.net
• Najnowsze informacje zawiązane z kompilatorem FreeBasic - http://
report.freebasic.info
• Ciekawa strona zawierająca interesujące przykłady wraz z kodem źródłowym, natu-
ralnie we FreeBasic'u – http://aapproj.phatcode.net
W sieci
64
Programowanie
Język programowania/FreeBasic
maj 2008
65
Programowanie
Język programowania/FreeBasic
www.lpmagazine.org
cą polecenia
wyświetlamy komunikat
i poleceniem
SLEEP
usypiamy nasz program,
ale muzyka nadal jest odtwarzana. Ta wła-
sność okaże się bardzo wygodna w następ-
nym przykładzie.
Duży odtwarzacz modułów
Poprzedni przykład, niestety, nie ma interfej-
su graficznego, toteż należy taki interfejs zbu-
dować. Załóżmy, że w naszym programie wy-
stąpi pięć przycisków. Trzy pierwsze związane
będą z odtwarzaniem muzyki: Play, Pause oraz
Stop. Przycisk O.K. kończy pracę naszej apli-
kacji. Ostatnim przyciskiem jest przycisk o na-
zwie „trzy kropki”. Za jego pomocą wybieramy
moduł do odtwarzania. Dodamy również pole
edycyjne, w którym wyświetlana będzie nazwa
pliku wraz z pełną ścieżką.
Do budowy tak prostego interfejsu, mi-
mo wszystko, najlepiej skorzystać z biblio-
teki GTK+, tym bardziej iż FreeBasic ofe-
ruje pełny dostęp do tej biblioteki. Wspiera-
ne są również pliki XML zawierające opis in-
terfejsu wygenerowanego za pomocą progra-
mu GLADE.
Niestety kod źródłowy naszej aplikacji jest
już zbyt duży, aby go zaprezentować w całości,
dlatego Listing 3 przedstawia tylko wybrane,
choć jak widać obszerne, fragmenty. Podobnie
jak w poprzednim programie rozpoczynamy od
dołączenia plików nagłówkowych. Oprócz bi-
blioteki FMOD dołączamy także pliki dotyczą-
ce biblioteki GTK+ oraz pakietu GLADE-XML.
Następnie deklarujemy nagłówki funkcji odpo-
wiadające na sygnały np.: na sygnał „clicked”,
czyli na tzw. kliknięcie na przycisk. Listing 3 za-
wiera tylko jeden przykład takiej deklaracji. Po-
dobieństwo do języka C jest jak widać oczywi-
ste, choć musimy użyć słowa kluczowego by-
val aby wskazać, iż wartości te są przekazy-
wane przez wartość (tzn. wykonywana jest ko-
pia wskaźników). Nim zaczniemy budować sam
interfejs, należy uruchomić bibliotekę FMOD
- ten fragment jest identyczny jak w poprzed-
nim punkcie, dlatego nie będzie on w tym miej-
scu omawiany.
Kolejny fragment to definicja przestrzeni
nazw o nazwie global. W ten sposób, wszyst-
kie zmienne, które chcemy aby były widoczne
dla innych funkcji i procedur są zawarte w prze-
strzeni global, pełniącej rolę przestrzeni zmien-
nych globalnych. Ważną zmienną jest zmienna
o nazwie song reprezentująca wczytany moduł
muzyczny. Po deklaracji zmiennych należy za-
inicjalizować bibliotekę GTK. To zadanie jest
realizowane przez funkcję gtk_init. Kolejne li-
nie kodu są praktycznie takie same jak w wielu
aplikacjach GTK+ pisanych bezpośrednio w ję-
zyku C. Zastosowanie funkcji glade_xml_new
Listing 3.
Fragmenty programu do odtwarzania plików muzycznych
#
include
once
"gtk/gtk.bi"
#
include
once
"gtk/libglade/glade-xml.bi"
#
include
once
"fmod.bi"
declare
sub
on_EndWorkBTN_clicked
cdecl
alias
"on_EndWorkBTN_clicked"
(
byval
object
as
GtkObject
ptr
,
byval
user_data
as
gpointer
)
'
usuni
te
fragmenty
namespace
global
Dim
music_filename
As
String
Dim
song
As
FMUSIC_MODULE
ptr
Dim
paused
As
Byte
Dim
FileNameENTRY
As
GtkWidget
ptr
end
namespace
Dim
xml
As
GladeXML
ptr
Dim
MainWin
As
GtkWidget
ptr
global
.
music_filename
=
""
gtk_init
(
NULL
,
NULL
)
'
inicjalizacja
FMOD
xml
=
glade_xml_new
(
"mplaywin.glade"
,
NULL
,
NULL
)
MainWin
=
glade_xml_get_widget
(
xml
,
"MainWin"
)
global
.
FileNameENTRY
=
glade_xml_get_widget
(
xml
,
"FileNameENTRY"
)
gtk_widget_show_all
(
MainWin
)
glade_xml_signal_autoconnect
(
xml
)
gtk_main
(
)
g_object_unref
(
xml
)
FSOUND_Close
end
0
'
usuni
te
fragmenty
sub
on_PlayBTN_clicked
cdecl
(
byval
object
as
GtkObject
ptr
,
byval
user_data
as
gpointer
)
export
global.song = FMUSIC_LoadSong( global.music_filename)
if
global
.
song
=
0
then
error_sub
(
"Nie mona wczyta pliku: "
&
global
.
music_filename
)
else
FMUSIC_PlaySong
(
global
.
song
)
end
if
end
sub
sub
on_StopBTN_clicked
cdecl
(
byval
object
as
GtkObject
ptr
,
byval
user_data
as
gpointer
)
export
FMUSIC_FreeSong( global.song )
end
sub
sub
on_PauseBTN_clicked
cdecl
(
byval
object
as
GtkObject
ptr
,
byval
user_data
as
gpointer
)
export
Dim
tmp
As
Byte
if
global
.
paused
=
0
then
tmp
=
FMUSIC_SetPaused
(
global
.
song
,
1
)
global
.
paused
=
1
else
tmp
=
FMUSIC_SetPaused
(
global
.
song
,
0
)
global
.
paused
=
0
end
if
end
sub
sub
on_SelFileBTN_clicked
cdecl
(
byval
object
as
GtkObject
ptr
,
byval
user_data
as
gpointer
)
export
'
usuni
te
fragmenty
end
sub
64
Programowanie
Język programowania/FreeBasic
maj 2008
65
Programowanie
Język programowania/FreeBasic
www.lpmagazine.org
powoduje wczytanie pliku z opisem interfejsu
użytkownika:
xml = glade_xml_new( "mplaywin.glade",
NULL, NULL )
Kolejny krok to odczytanie wskazania na wid-
get reprezentujący główne okno. To zadanie wy-
konuje funkcja
glade_xml_get_widget
. Ana-
logicznie postępujemy w przypadku uzyskania
odniesienia do pola edycyjnego. Po tych czyn-
nościach pozostaje już tylko wyświetlić całe
okno na ekranie za pomocą funkcji
gtk_wid-
get_show_all
i podłączyć sygnały do funkcji.
To zadanie samodzielnie wykona funkcja o na-
zwie
glade_xml_signal_autoconnect.
W tym
momencie uruchomienie programu nastąpi po
wywołaniu funkcji
gtk_main
, która uruchamia
główną pętlę przetwarzającą zdarzenia.
Do tych zdarzeń należą akcje podejmo-
wane przez użytkownika. Jeśli użytkow-
nik kliknie na przycisk z trzema kropka-
mi, zostanie wywołana funkcja
on_SelFi-
leBTN_clicked
. Zadanie tej funkcji to wy-
świetlenie okna dialogowego, gdzie użyt-
kownik będzie mógł wskazać plik z modu-
łem muzycznym. Trzeba zwrócić uwagę na
to, że funkcja jak i pozostałe funkcje prze-
znaczone do obsługi sygnałów w swej defi-
nicji posiadają słowo export. Jest to bardzo
ważne dla automatycznego podłączenia sy-
gnałów. Rozpoczniemy od deklaracji zmien-
nej dialog:
Dim dialog As GtkWidget ptr
Niektóre dystrybucje oferują odpowiednie pakiety z kompilatorem FreeBasica, np.: popu-
larna dystrybucja Ubuntu zawiera odpowiednie pakiety. Lepiej jednak zainstalować naj-
nowszą wersję binarną. Ze strony projektu ściągamy archiwum z najnowszą wersję kom-
pilatora np.:
FreeBASIC-v0.18.3b-linux.tar.gz.
Archiwum należy rozpakować np.: w następujący sposób:
tar zxvpf FreeBASIC-v0.18.3b-linux.tar.gz ,
a po dekompresji możemy bezpośrednio wywoływać polecenie fbc bez żadnej dodatko-
wej konfiguracji. Ten fakt oznacza, iż możemy kompilator zainstalować we własnym katalo-
gu domowym. Jednakże autorzy kompilatora przygotowali prosty skrypt do instalacji, który
po wywołaniu w następujący sposób (zakładając, że uruchamiamy skrypt jako zwykły użyt-
kownik poprzez polecenie sudo):
sudo ./install -i
zainstaluje kompilator oraz niezbędne pliki pomocnicze w katalogu /usr/share/freebasic,
a w katalogu /usr/bin utworzy link symboliczny fbc odnoszący się do kompilatora.
Instalacja kompilatora FreeBasic
R
E
K
L
A
M
A
66
Programowanie
Język programowania/FreeBasic
maj 2008
Za utworzenie okna dialogowego odpowiedzial-
ny jest poniższy kod (znak podkreślenia na koń-
cu linii oznacza iż dalsza część kodu będzie kon-
tynuowana w linii poniżej): (Listing 7.)
Stała GTK_FILE_CHOOSER_ACTION_
OPEN oznacza typowe okno dialogowe, gdzie
użytkownik może przemieszczając się po kata-
logach i wskazać plik, który go interesuje. Ko-
lejna ważna dla nas stała to
GTK_STOCK_OPEN
- oznacza przycisk Otwórz (ang. Open), nato-
miast stała
GTK_RESPONSE_ACCEPT
oznacza ja-
ka wartość ma zostać zwrócona w momencie
wybrania przez użytkownika pliku. Listę para-
metrów funkcji kończymy za pomocą wartości
NULL. Za uruchomienie okna odpowiada funk-
cja
gtk_dialog_run
. Należy sprawdzić, czy
wartość powrotna oznacza iż użytkownik wska-
zał plik do odtwarzania. Sprowadza się to do
sprawdzenia, czy wynikiem jest stała
GTK_RE-
SPONSE_ACCEPT
, a wykonamy to w następują-
cy sposób: (Listing 8.)
Trzy najważniejsze instrukcje znajdujące się
wewnątrz instrukcji warunkowej są następujące:
(Listing 9.)
Pierwsza odczytuje nazwę pliku, druga prze-
pisuje tę nazwę do zmiennej znajdującej się prze-
strzeni global. Symbol gwiazdki jest niezbędny,
ponieważ mamy do czynienia ze wskaźnikiem.
Trzecia linia wpisuje nazwę pliku do pola edy-
cyjnego. Obsługa okna dialogowego pokazuje,
iż port GTK+ zachowuje się w bardzo naturalny
sposób. Możemy korzystać z oryginalnej doku-
mentacji do języka C, w wielu prostszych przy-
padkach jedyną znaczącą modyfikacją jest usu-
nięcie średnika na końcu linii .
Uruchomienie odtwarzania modułu jest
identyczne jak w poprzednim przykładzie. Ko-
rzystamy z funkcji
FMUSIC_PlaySong
. Jednak-
że wprowadziliśmy możliwość wstrzymania od-
twarzania muzyki. Korzystamy z funkcji o na-
zwie
FMUSIC_SetPaused
. Jej pierwszy argu-
ment to zmienna reprezentującą moduł, ale dru-
gi decyduje o wprowadzeniu pauzy. Wartość je-
den oznacza pauzę, natomiast zero nakazuje kon-
tynuowanie odtwarzania muzyki. Nasz program
wykorzystuje zmienną z przestrzeni global, gdzie
zapisana jest wartość, czy pauza została włączo-
na, czy wyłączona.
Podsumowanie
Język Basic w wersji oferowanej przez kompila-
tor FreeBasic to nowoczesna wersja tego języka
porównywalna z możliwościami języka C. Moż-
na i należy wytknąć braki w modelu obiektu ale
trzeba pamiętać, że prace nad kompilatorem cią-
gle trwają.
Jednakże ze względu na obecność biblioteki
graficznej oraz wsparcie dla wielu innych biblio-
tek warto polecić tą wersję Basica osobom, któ-
re chciałyby rozpocząć naukę programowania.
Choć jest to zupełnie inny Basic, niż ten znany
z komputerów ośmiobitowych, nadal ma w so-
bie tę odrobinę magii, którą każdy kto pisał pro-
gramy w Basicu od razu zauważy uruchamia-
jąc kompilator i pisząc własne aplikacje. Wbrew
obiegowej opinii, że język Basic uczy złych na-
wyków programowania, która istotnie jest praw-
dziwa ale dotyczy Basic'a w wersji z przed wie-
lu lat, FreeBasic jest bardzo dobrym językiem do
nauki programowania. Instalując jeden pakiet
mamy dostęp do wielu bibliotek, mamy wbudo-
waną bibliotekę podstawowych operacji graficz-
nych, ale co warto podkreślić program napisa-
ny we FreeBasicu jest przenośny, czyli, o ile nie
używamy funkcji charakterystycznych dla dane-
go systemu, program napisany pod Linuxem bę-
dzie bez żadnych zmian kompilował się w środo-
wisku np.: Windows.
Autor zajmuje się tworzeniem oprogramo-
wania dla WIN32 i Linuksa. Zainteresowa-
nia: teoria języków programowania oraz
dobra literatura.
Kontakt z autorem: autorzy@linux.com.pl.
O autorze
Listing 4.
Definicja typu obiektowego Vector 2D
Type
Vector2D
Dim
x
As
Single
Dim
y
As
Single
declare
operator
cast
()
As
String
End
Type
Listing 5.
Operator sumy dla dwóch wektorów
operator
+
(
ByRef
lhs
As
Vector2D
,
ByRef
rhs
As
Vector2D
)
As
Vector2D
return
Type
<
Vector2D
>
(
lhs
.
x
+
rhs
.
x
,
lhs
.
y
+
rhs
.
y
)
End
Operator
Listing 6.
Krótki program wyswietlający listę dostępnych trybów graficznych
DIM
AS
INTEGER
mode
,
w
,
h
mode
=
SCREENLIST
(
32
)
WHILE
(
mode
)
w
=
HIWORD
(
mode
)
;
h
=
LOWORD
(
mode
)
STR
$
(
w
)
+
"x"
+
STR
$
(
h
)
mode
=
SCREENLIST
WEND
Listing 7.
Utworzenie nowego okna dialogowego
dialog
=
gtk_file_chooser_dialog_new
(
"Prosz wybra plik typu MOD/S3M/XM:
"
,
NULL
,
_
GTK_FILE_CHOOSER_ACTION_OPEN
,
_
GTK_STOCK_CANCEL
,
GTK_RESPONSE_CANCEL
,
_
GTK_STOCK_OPEN
,
GTK_RESPONSE_ACCEPT
,
NULL
)
Listing 8.
Wyświetlenie okna dialogowego
if
(
gtk_dialog_run
(
GTK_DIALOG
(
dialog
)
)
=
GTK_RESPONSE_ACCEPT
)
then
...
end
if
Listing 9.
Odczytanie nazwy pliku wybranego przez użytkownika
filename
=
gtk_file_chooser_get_filename
(
GTK_FILE_CHOOSER
(
dialog
)
)
global
.
music_filename
= *
filename
gtk_entry_set_text
(
GTK_ENTRY
(
global
.
FileNameENTRY
)
,
global
.
music_filename
)
OMEGA SOFT Sp. z o.o.
Oprogramowanie: Zintegrowany System Wspo-
magania Zarządzania „Omega”. Platforma: Li-
nux, Windows. Baza danych: PostgreSQL.
Usługi: Outsourcing sprzętu i oprogramowa-
nia. Sieci: Projektowanie i instalacja sieci kom-
puterowych, systemów CCTV, DVR, RCP, KD i
centrali telefonicznych.
http://www.omega-soft.pl
SZKOŁA LINUXA
Oferujemy szkolenia z zakresu Linuxa od naj-
prostszych jak Wprowadzenie do Linuxa do
najbardziej zaawansowanych kursów admi-
nistracji serwerami oraz siecią. W Szkole Li-
nuxa prowadzimy roczne kursy z zakresu Ad-
ministracji systemem Linux/Unix, na których
przeanalizowanych jest najwięcej ciekawych
zagadnień z życia administratora sieci i ser-
werów Unix.
http://www.szkola-linuxa.com
DUST
Jesteśmy dostawcą nowoczesnych rozwiązań
hostingowych dla biznesu. Zajmujemy się kom-
pleksową obsługą firm poprzez projekty serwi-
sów internetowych, rejestrację domen, oraz ho-
sting i serwery dedykowane. Indywidualne po-
dejście do każdego projektu jest bezcenne,
dlatego oferujemy je naszym klientom zupeł-
nie gratis.
http://dust.pl
Trawers ERP/MRP II
Oferujemy pakiet TRAWERS - ekonomicz-
ne rozwiązanie ERP/MRP II dla MP, szczegól-
nie dla firm wieloodziłaowych. Cechy pakietu:
szeroka funkcjonalność i kompletność systemu
uprawnień, duża szybkość pracy i stabilność,
obsuga Linux i Windows. Zapewniamy: wdro-
żenie, szybki i fachowy serwis, sieć Partnerów
w całej Polsce.
http://trawers.tres.pl
WSISiZ w Warszawie
INFORMATYKA ZARZĄDZANIE
studia stopnia I i II (stacjonarne i niestacjonar-
ne) specjalności: inżynierskie, magisterskie i
licencjackie. Szczegółowe plany studiów, opi-
sy poszczególnych specjalności – zaprasza-
my na stronę uczelni.
http://www.wit.edu.pl
Wyższa Szkoła Informatyki
Informatyka, Ekonomia, Fizjoterapia (NO-
WOŚĆ, Pedagogika, Wychowanie Fizyczne,
Artystyczna Grafika Komputerowa, Architek-
tura Wnętrz (NOWOŚĆ) Studia na odległość
e-learning (Informatyka II stopnia) Kompleks
sportowy w Łodzi (hala, basen, siłownia, sau-
na). Wydziały zamiejscowe: Włocawek, Byd-
goszcz, Opatówek.
http://www.wsinf.edu.pl
OFERTA SKIEROWANA DO FIRM
Jeżeli Twoja firma jest prenumeratorem Linux+ DVD,
za comiesięczną dopłatą 50 PLN + VAT możesz dodatkowo otrzymać reklamę.
Wyślij do nas: logo firmy, dane kontaktowe i informacje o firmie.
Reklama przez 11 kolejnych numerów tylko za 550 PLN + VAT.
Jeżeli nie posiadasz prenumeraty, możesz ją zamówić w atrakcyjnej cenie.
Skontaktuj się z nami:
linux@software.com.pl tel. 22 427 35 32
pren@software.com.pl http://buyitpress.com
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
68
maj 2008
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
69
www.lpmagazine.org
lin
ux
@
so
ftw
ar
e.
co
m
.p
l
Second Life
Zdarzyło mi się już recenzować wiele tytułów, w większości strategii, strzelanin, czasem RPG. Czegoś
takiego jak Second Life jeszcze nie. Jeżeli chodzi o gatunek, to jest to gra typu MMORGPG. Nazwanie
tego tytułu grą nie jest nawet do końca właściwe. Mamy bowiem do czynienia z niemalże samodzielnym,
wirtualnym światem, w którym po prostu egzystujemy. Nie będę może od samego początku zdradzał
wszystkich szczegółów.
Przemysław Żarnecki
G
ra została wydana w roku 2003, nie tak
dawno doczekała się wersji Linuksowej.
Dostępna jest w chwili obecnej na wszyst-
kie popularne platformy systemowe. Li-
nuksowy klient jest nieco mniej rozwinięty, niż jego
Windowsowe odpowiedniki, jednakże sukcesywnie nad-
rabia straty. W chwili pisania artykułu oznaczony był ja-
ko wersja beta.
Gra jest częściowo darmowa, częściowo zaś płatna.
Za pobranie i uruchomienie na koncie podstawowym nie
trzeba nic płacić. Istnieją jednak konta płatne, które do-
dają nowe elementy do wirtualnej rozrywki. O tym za
chwilę. W każdym razie ze względu na to, że gra bynajm-
niej nie posiada licencji GNU GPL, rzadko kiedy znajdu-
je się w oficjalnych repozytoriach, pomimo że sam pro-
ducent nie ma nic przeciwko temu. Można ją jednak zna-
leźć w wielu dodatkowych, dostarczanych często z syste-
mem repozytoriach (np. w Ubuntu, Mint). W większości
przypadkach konieczne będzie jednak jej ściągnięcie.
Tekst adresuję do graczy, ale również do rodziców,
którzy powinni sobie zdawać sprawę, z jakich uciech mo-
gą korzystać ich latorośle. Nie oznacza to bynajmniej po-
stawienia jakiejś kontrowersyjnej tezy na samym począt-
ku tekstu. Produkt potrafi z całą pewnością wciągnąć i ra-
zem z jak najbardziej pozytywnym przekazem powinno
iść również zdroworozsądkowe ostrzeżenie. Zresztą nie
mogę nie wspomnieć, że istnieje również wersja gry za-
adresowana dla nastolatków. Ale o tym później, teraz za-
praszam do recenzji.
Zanim rozpoczniesz rozgrywkę
Rejestracja związana jest z kilkoma krokami. W pierw-
szym przedstawiamy się, czyli wybieramy swoje wirtu-
alne imię i nazwisko. O ile pierwsze po prostu wpisuje-
my, to już w drugim przypadku wybieramy spośród cał-
kiem pokaźnej liczby przygotowanych. Znajdziemy rów-
nież na niej swojsko brzmiące. Ponadto wpisujemy da-
tę urodzenia, właściwy mail i przechodzimy dalej. W na-
stępnym kroku czas na wybór awatara, czyli widoku na-
szej postaci. Możemy wybierać spośród dwunastu posta-
ci – sześciu kobiet i sześciu mężczyzn. Wybór wskazuje
po części na nasze przysposobienie. Rozróżnienie prze-
biega wokół osi związanej z rozrywką. Mamy więc go-
ścia z dyskoteki, królika itp.
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
68
maj 2008
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
69
www.lpmagazine.org
Po ustaleniu najważniejszych z punktu
widzenia samej gry rzeczy, można przejść
do wpisania naszych prawdziwych danych.
Tego punktu nie ma co omawiać. Jeżeli pla-
nujecie grę kontem płatnym, to możecie tu-
taj dopisać kod promocyjny, o ile taki po-
siadacie. W następnej kolejności decyduje-
cie o rodzaju posiadanego konta. Może to
być któreś z kont Premium (wybierasz ro-
dzaj abonamentu), bądź konto darmowe (po-
mijasz ten krok).
Konto płatne różni się tym od darmowe-
go, że możesz kupować ziemię i budować na
niej różnego rodzaju rzeczy, a nawet otwie-
rać swój własny biznes. Zresztą jedno z ha-
seł reklamowych brzmi mniej więcej tak:
posiadasz własny biznes, najwyższy czas,
aby zaistniał w Second Life.
Na koncie darmowym możesz jedynie
wynajmować ziemię, bądź budynki. Różnica
jest więc co najmniej spora. Można posiadać
więcej niż jedno konto podstawowe, ale po-
za pierwszym wszystkie są płatne (aczkol-
wiek mniej niż premium. W chwili pisania
było to 9,95$ jednorazowej opłaty).
Posiadając konto premium możesz li-
czyć na otrzymywanie stypendium w wa-
lucie obowiązującej w świecie gry. Auto-
rzy nie byli tutaj jakoś specjalnie oryginalni,
bowiem owa waluta dostała miano L$, czy-
li Linden Dolarów. Linden to nic innego jak
nazwa studia, które opracowało grę.
Stypendia dostaje się za różne rzeczy.
Za rejestrację i korzystanie z komercyjnego
konta. Można również dostać stypendium
za podanie danych związanych z naszą kar-
tą kredytową, bądź systemem PayPal. Wy-
sokość stypendiów zmienia się stosunkowo
często, nie ma więc większego sensu poda-
wanie liczb. Z całą pewnością warto pamię-
tać, że większość z nich dotyczy kont płat-
nych, zaś wszelkie zapomogi dla posiadaczy
bezpłatnych, to tylko drobna próbka możli-
wości. Czy to oznacza, że nie ma większego
sensu grać bezpłatnie? Zastanowię się nad
tym w dalszej części recenzji.
Proces rejestracji kończy się dopiero po
tym, jak otrzymasz maila z aktywacją swojego
konta. Po aktywacji możemy przejść do gry.
Świat Second Life
Gra nie posiada ujednoliconego świata gry, jak
w wielu innych MMORPG. Na grę składa się
wiele serwerów, które połączone są w specjal-
ną sieć. Gracze posiadają klienty, które umoż-
liwiają im modyfikację otoczenia, jak również
uczestniczenia w tym wszystkim, co sprezen-
towali nam developerzy.
Wspomniałem, że świat nie jest jedno-
lity. Większość lokalizacji i postaci przypo-
mina zwyczajne, czasem mniej, ale znane
miejsca. Bohaterowie są zazwyczaj ludzcy.
Dzięki możliwości modyfikacji świata i bo-
haterów możemy trafić jednak do wielu nie-
standardowych miejsc. Nie jest niespodzian-
ką, jeżeli pewnego dnia znajdziemy się w
średniowieczu, innego w świecie fantasy.
Same postacie mogą nam również do-
starczyć wiele zabawy. O tym, jak się je
tworzy, w zasadzie już wspomniałem. Na
tym jednak cały proces się nie kończy. Mo-
żemy bowiem zmodyfikować naszego awa-
tara w każdej chwili, zaś zakres modyfikacji
jest co najmniej imponujący.
Za pomocą specjalnych suwaków zmie-
niamy kolor skóry, oczu, włosów. Nie ma
problemu z modyfikacją kształtu ust, długo-
ści włosów. Bardzo ciekawym rozwiązaniem
jest możliwości dodawania np. tatuaży do czę-
ści ciała. Najciekawsze jest to, że owe tatuaże
możemy sami stworzyć, a następnie wgrać na
serwer. Pod warunkiem, że dysponujemy od-
powiednią walutą w świecie gry. Nie jest to
specjalnie drogie. Niewiele od tego różni się
sposób ustalania ubrania awatara, które rów-
nież można modyfikować na wiele sposobów.
Generalnie mamy możliwość modyfikacji po-
nad 140 cech w skali od 1 do 100.
Najwięcej możliwości daje jednak do-
dawanie do naszej postaci tzw. przystawek
(z ang. attachments). W zasadzie za ich po-
mocą dodamy do naszej postaci dowolną
rzecz. Może to być broń (której oczywi-
ście nie użyjemy), biżuteria, niezwykle ory-
ginalne ubranie, czy nawet o wiele bardziej
osobista rzecz. Mam na myśli oczy, wło-
sy, uszy i wiele wiele innych. W ten sposób
spotkać można w grze nawet smoki czy in-
ne fantastyczne awatary. Jeżeli nasz wize-
runek znudzi się nam, możemy go w każdej
chwili zmienić.
Postać nie posiada statystyk, tak jak
w większości gier MMORPG. Zostały
nam przypisane informacje o bardziej spo-
łecznościowym charakterze. Jest to więc
nazwa/opis postaci, określenie zaintere-
sować, przynależności do jakiejś grupy
użytkowników, wreszcie obrazek. Tylko to
określa naszą postać. Nie jest to więc kla-
syczna gra fabularna, w której wraz z wy-
konywaniem kolejnych zadań zdobywa-
my określone poziomy doświadczenia i na-
sze statystyki poprawiają się. W przypadku
Second Life funkcjonowanie postaci zale-
ży tylko i wyłącznie od nas, a nie od wirtu-
alnego zestawu czynników. Nie bez koze-
ry twórcy wspominają wielokrotnie o sy-
mulatorze życia. Wynika to z bodajże naj-
ważniejszego hasła reklamowego gry: Your
World. Your Imagination (Twój świat. Two-
ja wyobraźnia).
Przez to gra nie ma z góry określone-
go celu. Ot mamy świat, w którym może-
Rysunek 1.
Ekran logowania
Rysunek 2.
Przykład ciekawego awatara
70
maj 2008
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
71
www.lpmagazine.org
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
my rozwijać, oczywiście wirtualnie swoje
zainteresowania, poznawać nowych ludzi,
a nawet robić interesy. Możliwości interak-
cji z otoczeniem są wręcz ogromne. Istnieją
wprawdzie pewne zasady, rzekłbym prawa,
jednak nic nie zmienia faktu, że naprawdę
trudno nazwać Second Life grą. Spotkałem
się z określeniem, że jest to wirtualne miej-
sce spotkań i uważam, że coś w tym jest.
Osobiście skojarzyło mi się z pewną słynną
grą, w której pielęgnowaliśmy milusińskie
wirtualne zwierzątko (miało ono niewątpli-
wie jedną zaletę, nie trzeba było naprawdę
po nim sprzątać). W Second Life zamiast
zwierzątka mamy do czynienia z posta-
cią, która żyje w rzeczywistym, aczkolwiek
wirtualnym społeczeństwie. Nie uważam,
żeby w moim stwierdzeniu była jakakol-
wiek sprzeczność. Z socjologicznego punk-
tu widzenia aby mówić o społeczeństwie
nie są potrzebne przecież takie kryteria,
jak wspólne terytorium, a na pewno nie bli-
skość zamieszkania, osobiste kontakty itp.
Przecież społeczeństwo polskie to też zbiór
jednostek, które niekoniecznie się znają. W
przypadku gry liczba i poziom skompliko-
wania interakcji doprowadziły do powsta-
nia swoistego społeczeństwa. Prawdziwe-
go, ponieważ wytworzyło ono pewne zasa-
dy związane z funkcjonowaniem w wirtu-
alnym świecie. Zasady nie odbiegające ja-
koś zasadniczo od rzeczywistych. Różnica
jest tylko taka, że sam świat nie jest już rze-
czywisty. Można się tylko zastanowić, czy
osoby, które mają niewątpliwą przyjemność
być członkami tej społeczności, zdają sobie
sprawę, jaka cienka jest czasem granica po-
między światem wirtualnym, a rzeczywi-
stym. Przynajmniej w sferze psychicznej.
Coraz częstsze przypadki przemocy w sto-
sunku do obcych, krewnych, będące prze-
dłużeniem tego, co się dzieje w światach
wirtualnej rozrywki dają z pewnością sporo
do myślenia. A przynajmniej powinny.
Taka dowolność w rozgrywce może
również prowadzić do wielu patologicz-
nych z założenia zachowań, gdzie ma miej-
sce wirtualna przemoc, łamanie zasad czy
nakazów moralnych. Z całą pewnością Se-
cond Life jest miejscem, w którym każdy
może pokazać swoje drugie często nie naj-
lepsze oblicze. Samo to w sobie nie jest
najlepsze, niektórzy przecież potrzebują
czasem najzwyczajniej w świecie się wy-
szumieć. Natomiast jest w tym jakaś doza
zagrożenia. Zwłaszcza, jeżeli w grę zaan-
gażuje się zbyt młoda osoba. Lub jeśli nie
daj Boże stanie się ona obiektem (gra) po-
lityczno–moralnego ataku ze strony środo-
wisk prawicowo–konserwatywnych, które
zazwyczaj robią w ten sposób więcej złe-
go niż dobrego.
Na szczęście została stworzona specjal-
na wersja gry dla osób niepełnoletnich, na-
stolatków, która posiada wiele ograniczeń z
uwagi na wiek. Polecam rodzicom zapozna-
nie się z nimi, być może w ten sposób uda
się dotrzeć do własnych pociech. Przede
wszystkim ograniczyć w miarę możliwości
potencjalne epatowanie przemocą. Wiem,
że osoby pokroju Johna Locke'a pisały o
tym, że ludzie z natury są dobrzy, państwo
i zasady są w zasadzie więc niepotrzebne,
jednakże życie pokazuje, że czasem warto
zadbać również o tych najmłodszych. Idź-
my dalej.
Rozgrywka
Przy pierwszym uruchomieniu klienta, tuż
po zalogowaniu będziecie musieli jesz-
cze zaakceptować licencję użytkownika.
W trakcie wczytywania mogą się jeszcze
pojawić okna z komunikatami krytyczny-
mi, czyli różnymi informacjami o błędach
w grze. Najlepiej nie lekceważyć sobie ta-
kich informacji i postępować zgodnie z in-
strukcjami. W domyślnej wersji są one, tak
jak pozostała część interfejsu po angielsku.
Polskiego niestety nie uświadczymy. To
może być pewna przeszkoda dla niektórych
użytkowników. Na szczęście niezbyt po-
ważna, przynajmniej moim zdaniem.
Tuż po uruchomieniu klienta nasz bo-
hater pojawia się w określonym miejscu w
losowo wybranej początkowej lokalizacji.
Tak jest przynajmniej za pierwszym razem.
Zanim jeszcze na dobre rozpoczniemy roz-
grywkę, zostaniemy poproszeni o doprecy-
zowanie naszego wyboru odnośnie języka.
Może to być angielski, koreański, japoński i
niemiecki. Pewien wybór więc mamy.
Pierwsze kroki to generalnie tutorial, w
trakcie którego zostajemy stosunkowo do-
kładnie zapoznani z wszystkimi elementami
interfejsu. Dowiadujemy się, w jaki sposób
można poruszać naszą postacią, jak doko-
nywać interakcji z różnymi obiektami, jak
również z innymi postaciami. Zresztą w ra-
mach wprowadzenia zostaną przydzielone
Ci drobne zadania, które umożliwią pełne
zorientowanie w świecie i możliwościach
gry. Będziesz musiał pochodzić w około,
powiedzieć coś do innych postaci. Sukces
zostanie nagrodzony radosnym podskokiem
naszego bohatera i odpowiednim dźwię-
kiem. Nie da się go pomylić z czymś in-
nym. Na zapoznanie się ze wszystkimi niu-
ansami lepiej poświęcić sporo czasu, dzię-
ki czemu w gruncie rzeczy zaoszczędzimy
go na właściwej rozgrywce. Tylko na czym
ta tak naprawdę polega. Mówiąc kolokwial-
nie, ale zarazem jak najbardziej poważnie,
rzeknę, że na życiu.
Rysunek 3.
To również awatar, który wygląda nieco bardziej groźnie
Rysunek 4.
W oczekiwaniu na towarzystwo
70
maj 2008
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
71
www.lpmagazine.org
rozrywka
Second Life – rzut okiem na wirtualny świat rozgrywki
Nasza postać zostaje rzucona w wirtual-
ny świat, w którym musi się odnaleźć. Mo-
żemy zostać znanym projektantem tatuaży
i sporo przy tym zarobić, w walucie wirtu-
alnej oczywiście. Możemy handlować róż-
nymi akcesoriami, świadczyć kompleksowe
usługi, budować/projektować/wynajmować
i sprzedawać nieruchomości. Jednym sło-
wem możemy prawie wszystko. To co ro-
bimy świadczy o nas samych, jest źródłem
naszej sławy i coraz to większych bogactw.
Jeżeli posiadasz ciekawą i sławną nierucho-
mość, to możesz np. stworzyć w niej klub,
dancing czy inne gniazdo rozgrywki. Za-
trudniasz kelnerów, barmanki, ochroniarzy
i zabawa do białego rana. Oczywiście mu-
sisz mieć odpowiedni kapitał, ale jak już go
masz to nic nie stoi na przeszkodzie, aby go
pomnożyć. Rozwiązań jest wiele, zaś eko-
nomia świata jest na tyle rozbudowana, że
każdy znajdzie coś dla siebie.
Nie każdy musi jednak być aż tak twór-
czy. Dużo zabawy zapewnia już zwykłe
przechadzanie się po świecie gry. W tym
miejscu muszę pójść na ustępstwo i zrezy-
gnować z osobnej części poświęconej gra-
fice w grze. Zwiedzanie świata stanowi je-
den z ciekawszych elementów, zaś grafika
ma tutaj pierwszorzędne znaczenie. W wer-
sji linuksowej zdarzają się podobno błędy
w renderowaniu wielu elementów krajo-
brazu i postaci. Przyznam się szczerze, że
przez wiele godzin poszukiwałem tych błę-
dów i (nie)stety nie udało mi się tego doko-
nać. Albo miałem po prostu szczęście, al-
bo jest to wyolbrzmiona przez kogoś spra-
wa. Przechadzając się w różnych lokacjach
można się napatrzeć na wiele dziwów. Weź-
my na przykład fantastyczne budynki awa-
tary w różnych odmianach, począwszy od
smoków, a skończywszy na latających dy-
wanach.
Po zwiedzaniu stałym elementem gry
jest komunikacja. Moim zdaniem najwięk-
szym plusem wszelkich gier on–line jest
możliwość komunikacji z ludźmi z całe-
go świata, w zasadzie w dowolnym języku.
Poza swobodą wymiany poglądów, ważny
jest aspekt edukacyjny – nauka języków ob-
cych, a przynajmniej jej ważny element.
W grze można znaleźć o wiele bardziej
wysublimowane rozrywki. Na przykład dys-
koteki, które założyły przedsiębiorcze oso-
by. Rzeczywisty świat jest odwzorowany do
tego stopnia, że można umówić się na rand-
kę, która skończy się w stosunkowo gorący
spokój. Naturalnie w wersji dla nastolatków
szereg rozrywek został nieco pomniejszony.
Jak nie odpowiadają Wam randki, możecie
udać się na arenę sportową, aby zobaczyć
mecz bokserski. Co odważniejsi, mogą sa-
mi spróbować sił.
Do tego wszystkiego zastosowano w
pełni trójwymiarową, realistyczną grafikę.
Połączono to z klimatycznymi dźwiękami,
jak najbardziej dostosowanymi do aktualnej
lokalizacji. Czegóż można więcej chcieć.
A... jest jeszcze jedna sprawa. W całym roz-
gardiaszu nie wspomniałem jeszcze, że wir-
tualne pieniądze można zamieniać na dola-
ry amerykańskie. Ta sprawa nie jest jeszcze
do końca rozwinięta, ale chodzi o to, że w
świecie Second Life można naprawdę zaro-
bić. I to całkiem spore pieniądze.
Czy warto?
Napisałem już wiele o grze, pytanie, czy jest
ona warta, aby w nią zagrać. Niesie ona ze so-
bą liczne zalety, o których już się rozpisywa-
łem, wady zresztą też, w postaci chociażby za-
grożeń dla małoletnich. Pojawiają się jesz-
cze problemy natury bardziej technicznej. Za
tą wspaniałą grafikę i muzykę musimy płacić
posiadaniem bardzo dobrego łącza interneto-
wego. Wyobraźcie sobie, że przy całym ogro-
mie świata autorzy udostępnili nam jedynie
niewielkiego klienta. Wszystkie dane – gra-
fika, dźwięk, są tam naprawdę na bieżąco ak-
tualizowane przez Internet. Już zwykła prze-
chadzka przez wyspę niesie ze sobą koniecz-
ność wymiany ogromnej liczby informacji, a
cóż dopiero taniec w dyskotece, wizyta na sta-
dionie i wiele wiele innych.
Mimo wszystko gra jest warta obejrze-
nia. Już chociażby z racji swojej oryginalno-
ści. W dzisiejszym świecie, po dziesiątkach
lat rozwoju rozgrywki elektronicznej (no mo-
że przesadziłem z tym wiekiem, niemniej jed-
nak rynek rozgrywki rozwija się na Zacho-
dzie od naprawdę wielu lat), naprawdę trud-
no jest stworzyć coś, co może pozytywnie za-
skoczyć gracza. Twórcom Second Life udało
się coś wyjątkowego i pomimo licznych, na-
prawdę oczywistych wad, warto się zaintere-
sować. Polecam, aczkolwiek przypominam o
przestrogach.
Autor jest redaktorem serii poradników o
praktycznym zastosowaniu OpenOffice.
Zajmuje się również propagowaniem idei
wolnego oprogramowania. Interesuje się
aplikacjami biurowymi oraz multimedialny-
mi zastosowaniami systemu Linux. Wolne
oprogramowanie stanowi dla niego hobby,
jak również przedmiot aktywności zawo-
dowej.
Kontakt z autorem:
p.zarnecki@plusnet.pl
O autorze
Rysunek 5.
Początek wieczoru
Rysunek 6.
Na spacerze
Tipsy
GKrellm
72
maj 2008
Tipsy
GKrellm
73
www.lpmagazine.org
GKrellm
Piotr Pawłowski
K
ażdy z użytkowników Linuxa
prędzej czy później zapragnie na
bieżąco kontrolować to, co dzie-
je się w jego systemie. W inter-
necie bez trudu odnaleźć można małe programy,
które wyświetlają informacje o poszczególnych
urządzeniach komputera. Umieszczenie wszyst-
kich potrzebnych programów na pulpicie mija
się jednak z celem. Z pomocą przychodzi pro-
gram GKrellm. Aplikacja pozwala na stałe mo-
nitorowanie komponentów komputera. Podsta-
wowa konfiguracja pozwala na dobrą współpra-
cę z użytkownikiem. Możliwości konfiguracyjne
GKrellm są bardzo duże więc zaraz po kompila-
cji należy przejść do personalizacji.
Kopie
Prace nad personalizacją aplikacji zazwyczaj po-
lega na metodzie prób i błędów. Sposobem na
uniknięcie problemów jest następujące polecenie:
gkrellm -c test
. W katalogu głównym progra-
mu powstaje folder data-test, w którym przecho-
wywane są wszystkie ustawienia. Pozwala to na
bezproblemowe zmienianie ustawień. Po skoń-
czonej zabawie nic nie stoi na przeszkodzie by
przenieść wyniki do 'głównego' programu.
Wygląd
Ciekawą rzeczą, na którą pozwala Gkrellm jest
zmiana wyglądu graficznego. Użytkownik, dzię-
ki skórkom, ma możliwość dopasowania wy-
glądu do indywidualnych ustawień graficznych
pulpitu. Klawiszami Page Down i Page Down
możemy szybko przeglądać dostępne wystroje.
Standardowo możliwa jest jedynie zmiana ko-
lorystyczna dostępnego motywu. Każdy, kto pra-
gnie zmienić nie tylko kolor ale i cały wygląd
programu powinien udać się na stronę domową
projektu. Po ściągnięciu interesującej nas skórki,
prostej kompilacji i instalacji, pojawia się ona w
katalogu Themes aplikacji.
Czujniki
Aby przejść do ustawień należy wcisnąć klawisz
[F1] podczas gdy kursor jest nad aplikacją.
Pierwszą opcją do modyfikacji są czujni-
ki. Ich ilość zależy od komponentów kompute-
ra. Jeśli użytkownik posiada sprzęt dobrej mar-
ki ma dostępne czujniki od temperatury proce-
sora, prędkości obrotów procesora oraz od na-
pięć na procesorze. Niestety mój sprzęt pozwa-
la tylko na ustawienia dotyczące temperatury.
Aby wprowadzić informacje o temperaturze
procesora należy zaznaczyć odpowiednie po-
le przy odpowiedniej wartości. Zmiana etykie-
ty pozwoli na rozpoznanie wartości temperatu-
ry. Przypominam, że każda wartość TZS odpo-
wiada innym komponentom.
W tym wypadku warto zwrócić uwagę na
opcję Alarmy. Aby ustrzec się niepożądanym
konsekwencjom związanym z dużymi tempe-
raturami można ustawić odpowiednie warto-
ści górnej granicy dla Ostrzeżenia i dla Alar-
mu. Warto tez ustawić odpowiednie polecenie
w przypadku przekroczenia wartości krytycz-
nej np. restart środowiska graficznego lub re-
start komputera.
Zegar
Jak sama nazwa wskazuje w tej zakładce dostęp-
ne są opcje dotyczące wyświetlania zegara oraz
kalendarza. Opcjami do edycji są tutaj sposoby
do wyświetlania godziny lub daty. Na przykład
aby kalendarz wyświetlał bieżący dzień, miesiąc,
rok oraz dzień tygodnia należy wpisać
%d.%m.%y
,%j dzie roku
. Jeśli chcemy aby zegar wy-
świetlał aktualną godzinę (w systemie 24 godzin-
nym) wraz z minutami i sekundami wpisujemy
polecenie formatowania:
%k:%M %S
( jeśli pre-
ferowany jest zegar 12 godzinny to zamiast
%k
wpisujemy
%l
). Szczegółowy wykaz zmiennych
do modyfikacji ukazany jest w Listingu 1.
Dla uatrakcyjnienia można włączyć wy-
bijanie dźwięków starego zegara, który wybi-
ja godziny.
CPU i PROCESY
Ta opcja nie pozwala na zbytnie modyfikacje.
Użytkownicy laptopów chętnie skorzystają z tej
opcji by sprawdzać na bieżąco obciążenie pro-
centowe procesora. W połączeniu z informa-
cją o temperaturze oraz aktualnej częstotliwości
procesora staje się ona pomocnym miernikiem w
przypadku, gdy jakiś proces w systemie powodu-
je zbytnie obciążenie komputera i należy go zabić
Listing 1:
zmienne daty i zegara
%
a
–
skr
ó
towa
nazwa
dnia
%
A
–
pe
ł
na
nazwa
dnia
%
b
–
rzymskie
okre
lenie
miesi
ca
%
B
–
pe
ł
na
nazwa
miesi
ca
%
c
oraz
%
C
–
aktualnej
daty
%
d
–
dzie
miesi
ca
%
D
–
data
w
formacie
dd
\
mm
\
rr
%
e
–
dzie
miesi
ca
%
F
–
data
bie
ca
w
formacie
rrrr
-
mm
-
dd
%
g
–
dwie
ostatnie
cyfry
roku
%
G
–
rok
%
h
–
miesi
c
w
cyfrach
rzymskich
%
H
lub
%
k
–
godzina
%
I
lub
%
l
–
godzina
w
notacji
dwynastogodzinnej
%
j
–
dzie
roku
%
m
–
miesi
c
(
cyfra
)
%
M
–
minuty
r
%
-
pe
ł
na
godzina
w
notacji
dwunastogodzinnej
R
%
-
pe
ł
na
godzina
w
notacji
dwudzi
estoczterogodzinnej
%
S
–
sekundy
%
T
lub
%
X
–
pe
ł
na
godzina
w
formacie
gg
:
mm
:
ss
%
z
–
czas
GMT
%
Z
–
czas
Europy
Centralnej
(
CET
)
Tipsy
GKrellm
72
maj 2008
Tipsy
GKrellm
73
www.lpmagazine.org
poleceniem
kill
. Aby przyspieszyć zabicie pro-
cesu warto ustawić uruchomienie np. KsysGu-
ard. W tym celu należy wypełnić pole polecenie
cpu pożądanym programem, w tym przypadku
KsysGuard
. Opcja wyświetlania procesów także
nie posiada rozwinięcia skrzydeł konfiguracyj-
nych. Jednak w połączeniu z wtyczką wyświetla-
jącą procesy, które najbardziej obciążają system,
staje się całkiem pożytecznym narzędziem.
DYSK
Bardzo przydatna opcja dla tych, którzy wyko-
nują wiele operacji związanych z przenosze-
niem i kopiowaniem plików. Gkrellm pozwa-
la na monitorowanie każdej partycji wykrytej
przez system. Wykres może pokazywać wy-
kresy wszystkich dysków razem bądź każdy z
osobna. W bardzo łatwy sposób można sfor-
matować etykietę informacji wyświetlanych
na wykresie. Aby wiadomo było ile kilobajtów
jest zapisywanych i odczytywanych z danego
dysku w formatowaniu etykiet należy wpisać
następujący tekst:
$r odczyt\n$w zapis
.
INTERNET i SIEĆ
Oba monitory są powiązane. Pierwszy po-
wiadamia o połączeniach przez zdefiniowany
przez użytkownika port. Jeśli chcemy wiedzieć
ile połączeń jest ustanawianych przez protokół
http należy wpisać zakres portów (standardowo
80 i 8080) oraz etykietę (najlepiej http). Z tego
narzędzia chętnie skorzystają administratorzy
oraz osoby z dużymi obciążeniami sieci przez
połączenia p2p.
Dzięki zakładce Sieć możemy obserwować
prędkości osiągane podczas ściągania bądź wy-
syłania danych z i do sieci Internet lub LAN.
Format etykiety jest taki sam jak w przypadku
odczytu/zapisu z dysków twardych. Aby efek-
tywnie prowadzić nadzór należy zaznaczyć od-
powiedni interfejs. Dla użytkowników Interne-
tu, którzy mają czasowy dostęp do Sieci, uży-
teczną opcja jest Licznik Czasu. Po uprzednim
ustawieniu interfejsu podłączonego do Liczni-
ka można łatwo manipulować czasem korzy-
stania z Internetu.
PAMIĘĆ
W każdym komputerze istnieje pamięć RAM.
Dodatkowo może występować pamięć SWAP.
Opisywany monitor przedstawia w prosty spo-
sób użycie obu pamięci w megabajtach. Aby na
etykiecie wyświetlana była ilość wolnej i zużytej
pamięci w Łańcuchu formatowania etykiet pane-
lu należy wpisać ciąg znaków:
$U – zajte $W
– wolne
, dla pokazania całkowitej pamięci użyć
trzeba zmiennej
$t
. Szczegółowy wykaz zmien-
nych znajduje się w Listingu 2.
SYSTEM PLIKÓW
Przydatna opcja dla tych, którzy wykonują nie-
zliczone operacje na dyskach. Opcja ta na bie-
żąco pokazuje wolne miejsce na dyskach za-
montowanych w komputerze. Konfiguracja
jest bardzo prosta. W polu etykieta wpisać na-
leży dowolną, wymyśloną przez siebie nazwę,
wyświetlaną na panelu Gkrellm, np. Dokumen-
ty. W polu Punkt montowania podajemy pełną
ścieżkę do dysku (katalogu), którego pojem-
ność chcemy sprawdzać na bieżąco, np. /home/
USER . Możliwe jest także montowanie party-
cji z użyciem pliku /etc/fstab. Aby tego doko-
nać trzeba uprzednio zmienić wyżej wspomnia-
ny plik tak, aby użytkownikowi nadać prawa do
montowania urządzeń.
POCZTA
Bardzo przydatny monitor. Na bieżąco spraw-
dza skrzynkę pocztową. Wszelkie parametry
konta pocztowego ustawiamy tak jak w każ-
dym programie do odczytu listów e-mail. War-
to ustawić opcję włączania programu poczto-
wego (np. Thunderbird) w celu pobrania ko-
respondencji. Aby to uczynić należy w po-
lu Program do czytania poczty wpisać nazwę
naszego ulubionego programu. Warto ustawić
sprawdzanie skrzynek co 5-10 minut aby na
bieżąco kontrolować przychodzące wiadomo-
ści. Moduł bardzo pomocny, gdy nie chcemy
mieć włączonego cały czas w systemie progra-
mu pocztowego.
BATERIA i CZAS PRACY
Obie opcje preferowane są przez użytkowników
laptopów. Są mało konfigurowalne lecz swoją
przydatnością zadowolą niejednego użytkowni-
ka Linuxa na laptopie, który chce pokazać wyż-
szość ich ulubionego systemu nad konkurencyj-
nym systemem operacyjnym z Redmond. Stan
baterii pobierany jest z biosu, lecz możliwa jest
własna konfiguracja czasu działania laptopa na
baterii. Warto to zrobić, gdy uważamy, że nasza
bateria pozwala na dłuższą pracę.
WTYCZKI
Rozbudowane opcje pozwalają na dobry mo-
nitoring systemu. Jednak dla każdego, kto pra-
gnie monitorować coś więcej, a czego nie po-
zwala nam robić GKrellm, możliwa jest rozbu-
dowa programu o wtyczki. Dodatkowe modu-
ły są dostępne na stronie domowej projektu. Ich
instalacja jest bardzo prosta i zawęża się do wy-
dania tych samych poleceń co przy kompilacji
kodu źródłowego każdego programu. Każdy z
nich ma osobne opcje konfiguracyjne dostępne
w zakładce Wtyczki .
Listing2: zmienne
dla pamięci
Dla
pami
ci
i
swap
:
$
t
-
razem
MiB
$
u
-
zaj
te
MiB
$
f
-
wolne
MiB
$
U
-
zaj
te
%
$
F
-
wolne
%
$
l
-
etykieta
panelu
Tylko
dla
pami
ci
:
$
s
-
dzielone
MiB
$
b
-
buforowane
MiB
$
c
-
MiB
w
pami
ci
podr
cznej
Piotr Pawłowski jest czynnym członkiem
Koła Naukowego Systemów Informatycz-
nych E-xpert działającego przy Katedrze
Informatyki Ekonomicznej Uniwersytetu
Gdańskiego.
Kontakt z autorem: p.pawlowski@e-xpert.pl
O autorze
74
maj 2008
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
75
www.lpmagazine.org
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
L+: Proszę opowiedzieć coś o sobie, aby przy-
bliżyć czytelnikom Pana osobę . Jak długo pra-
cuje Pan w Motoroli, czym się zajmuje, za jaki
sektor jest odpowiedzialny?.
MP: Nazywam się Maciej Piliński, moje sta-
nowisko to tak zwane Portfolio Lead. Obecnie
mam przyjemność w Motoroli zajmować się
nie tylko Polską, ale też innymi krajami Euro-
py Centralnej: Czechami, Słowacją i Węgrami.
W Motoroli pracuję właściwie od.... nie jest ła-
two odpowiedzieć na to pytanie, bo w Motoroli
zacząłem pracować w roku '96 na innym stano-
wisku, w roku 2000 opuściłem firmę i w 2004,
ponieważ miałem bardzo miłe wspomnienia
związane z Motorolą, postanowiłem wrócić.
Z firmą jestem więc związany już ponad 12 lat
można powiedzieć, z małą przerwą.W dziale
telefonów komórkowych Motoroli pracuję od
niecałych 4 lat
Na obecnym stanowisku jestem odpowie-
dzialny za produkt i to w wielu aspektach, są
to między innymi kwestie przygotowania pro-
duktu na polski rynek, przygotowanie odpo-
wiedniej zawartości pudełka, czyli np. jakie-
go rodzaju akcesoria mają się tam znaleźć oraz
jak ma wyglądać to pudełko. Do mnie należy
również dopilnowanie kwesti prawnych, ja-
ko że w przypadku telefonów sprzedawanych
na polskim rynku są wymagane odpowiednie
deklaracje, a w przypadku telefonów linu-
ksowych - dodatkowo informacja o dostępno-
już wkrótce telefony staną się np. elektro-
niczną portmonetką, a to narzuca bardzo re-
strykcyjne wymagania jeśli chodzi o bezpie-
czeństwo takiego rozwiązania. Nie oznacza
to oczywiście, że nie można dodawać no-
wej funkcjonalności czy programów. Są to
po prostu klasyczne, standardowe aplikacje
napisane w Javie. Ale i tu są pewne ograni-
czenia zwiększające bezpieczeństwo danych
użytkownika i jego portfela: gdy nowe opro-
gramowanie w Javie chce łączyć się z sie-
cią to wymaga to zgody użytkownika. Kiedy
oprogramowanie chce przeglądać np. książ-
kę telefoniczną, to zgodę na to musi wyrazić
użytkownik. Kiedy oprogramowanie chce
coś zapisywać np. na karcie pamięci itd.,
użytkownik również powinien na to de facto
wyrazić zgodę. Wynika to min. ze standar-
du Javy ale również z bardzo wysokiego po-
ziomu zabezpieczeń stosowanych w produk-
tach Motoroli . Źródłem tego jest po prostu
zdrowy rozsądek, bo jeżelibyśmy pozwolili
na to, żeby aplikacje robiły wszystko w na-
szym telefonie, żeby ktoś mógł np. modyfi-
kować kod w naszym telefonie, to następ-
nym krokiem byłyby robaki, wirusy, konie
trojańskie i itp. Każda operacja, która wiąże
się z komunikacją w sieci naszego operatora
(np. wysłanie sms'a, wysłanie mms'a, połą-
czenie telefoniczne, przesłanie danych) jest
jednoznaczna z opłatami.
ści kodów źródłowych oprogramowania Open
Source. Istnieje strona internetowa: http:
//www.motorola.com/opensource, gdzie moż-
na pobrać pliki źródłowe do konkretnego mo-
delu telefonu.
L+: Jak firma podchodzi do pracy ze środowi-
skiem open source i czy uważacie, że w ogóle
taka współpraca jest potrzebna?
MP: To bardzo ciekawe pytanie. Może od-
powiem w ten sposób: decyzję o tym, żeby
wykorzystać system operacyjny Linux, za-
padła tak naprawdę kilka lat temu, ponieważ
czas wytworzenia takiego produktu, który
będzie wykorzystywał zupełnie nowy sys-
tem operacyjny, trwa od kilku do kilkuna-
stu miesięcy. Wersja systemu operacyjnego
nazywanego przez nas LinuxJava, który jest
instalowany w telefonach komórkowych,
jest tak naprawdę systemem zamkniętym.
To znaczy nie daje on pełnych możliwości
tworzenia, zmiany tego systemu, dodawania
nowych funkcji, czy zmiany działania tych
funkcji poprzez zewnętrznych developerów.
Natomiast nie wykluczamy takich możliwo-
ści w przyszłości. Ingerencja w oprogra-
mowanie może mieć wpływ na wiele para-
metrów, które są istotne z punktu widzenia
operatora i przynajmniej na tym etapie także
operatorzy wymagają, aby oprogramowanie
w telefonach komórkowych nie było zbyt
otwarte. Proszę pamiętać choćby o tym, że
Wywiad z Maciejem
Pilińskim Portfolio
Lead w Motorola
Polska SP. z o. o.
74
maj 2008
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
75
www.lpmagazine.org
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
Wybraliśmy system operacyjny Linux,
gdyż widzimy przyszłość tego typu rozwią-
zań, chociażby ze względu na to, że dużo ele-
mentów, które są zawarte w tym systemie „za-
łatwiają” nam bardzo istotne potrzeby z punktu
widzenia konsumenta, użytkownika. Są to mię-
dzy innymi kwestie odtwarzania plików mul-
timedialnych, filmów, przeglądanie interne-
tu. W telefonach linuksowych stosowana jest
przeglądarka Opera Mobile, która tym róż-
ni się od Opery Mini, znanej z innych telefo-
nów, że nie wymaga żadnego serwera pośred-
niczącego. Ona po prostu bezpośrednio ściąga
sobie strony internetowe, bezpośrednio je prze-
twarza (parsuje), i wyświetla na ekranie telefo-
nu komórkowego. Również interface użytkow-
nika jest bardzo atrakcyjny, daje wiele nowych
możliwości.A są to wszystko bardzo ważne dla
użytkownika funkcjonalności.
L+: Jak długo i czy w ogóle przewidujecie roz-
wiązania na platformie Linux? W jakich urzą-
dzeniach oprócz telefonów znajduje on zasto-
sowanie?
MP: Mogę jedynie odpowiedzieć na to pyta-
nie w kontekście telefonów, chociaż wiem, że
moi koledzy z innych działów również wyko-
rzystują Linuksa, ale w jakim stopniu... nie
chciałbym tutaj wypowiadać się w ich imie-
niu, bo oni są fachowcami w swoich dziedzi-
nach. Myślę, że warto byłoby po prostu z ni-
mi przeprowadzić osobny wywiad.
Jeśli chodzi o telefony komórkowe,
pierwszym telefonem komórkowym z syste-
mem Linux Java, który wszedł na polski ry-
nek przebojem to MOTORAZR2 V8 z pła-
ską, szczupłą, bardzo elegancką klapką. Jest
to telefon w pełni multimedialny potrafiący
odtwarzać muzykę, filmy, dający dostęp do
internetu, a przy okazji również mający takie
narzędzia jak zaawansowany kalendarz, roz-
budowana książka telefoniczna. Kwestie np.
synchronizacji są tutaj dość zaawansowane,
czyli można synchronizować nasze kontakty
oraz kalendarz, zarówno bezprzewodowo jak
i przewodowo. Można oczywiście doinstalo-
wywać nowe aplikacje Javy, a ponieważ jest
to Linux, dostajemy również takie możliwo-
ści jak chociażby zakładanie nowych katalo-
gów w naszym menu. Do tych katalogów mo-
żemy wgrywać nasze aplikacje, możemy je
przenosić między katalogami itp. Jest to do-
syć elastyczne, jeśli chodzi o punkt widzenia
użytkownika.
L+: Chyba właśnie na tym większości klientów
zależy, żeby mieć możliwości ewentualnego ma-
newru prawda?
MP: Owszem, konsumentom zależy ma
spersonalizowaniu tego telefonu do swo-
ich potrzeb, czyli wgrania takiego zestawu
aplikacji i takiego poukładania tego w me-
nu , aby móc wygodnie korzystać z tych te-
lefonów. Już w najbliższym czasie, na prze-
łomie pierwszego, drugiego kwartału pojawi
się na polskim rynku telefon o symbolu MO-
TO U9, i mimo, że wydaje się niewielki, je-
śli chodzi o swoje wymiary, to w środku znaj-
duje się naprawdę bardzo potężna maszyna.
System operacyjny Linux wymaga przecież
dość dużej mocy obliczeniowej, czyli jest po-
trzebny bardzo wydajny procesor i dużo pa-
mięci w telefonach, które z niego korzystają.
W drugim kwartale będziemy chcieli wpro-
wadzić nasz flagowy muzyczny telefon o
symbolu ROKR E8, który jest telefonem mu-
zycznym: ma już wbudowane 2GB pamięci,
więc można wgrać do niego dużo utworów.
Oprócz tego można dołożyć na karcie pamię-
ci micorSD dodatkowe 4GB, ma wyjście na
słuchawki ze złączem Jack 3.5mm, Blueto-
oth stereo itd., natomiast najciekawszy w tym
telefonie jest interface użytkownika. Między
innymi dlatego telefon otrzymał w tym ro-
ku aż cztery nagrody na Consumer Elec-
tronic Show w Las Vegas. Dotykanie szkla-
nej powierzchni telefonu powoduje wykona-
nie określonej funkcji a użytkownikowi da-
je złudzenie naciskania prawdziwych klawi-
szy. Telefon można przełączyć w różne tryby,
na przykład w tryb muzyczny i wtedy znikają
cyfry a pojawiają się nam tylko te przyciski,
które służą do sterowania muzyką. Można go
przełączyć w tryb aparatu cyfrowego i wte-
dy w pojawiają się tylko takie klawisze, któ-
re służą np. do sterowania zoom'em, przełą-
czenia się na tryb przeglądania zdjęć itd.. Za-
wsze są to tylko te przyciski, które związane
są z daną funkcją a więc w znaczny sposób
ułatwiają korzystanie z niego.
Niebawem będziemy również wprowadzać
telefon linuksowy w formie rozsuwanej, czyli
tzw. „slider”.Jest on o tyle nietypowy, że został
wyposażony jeszcze dodatkowo w interfejs Wi-
Fi i umożliwia prowadzenie rozmów w trybie
Voice over IP. W tym modelu wykorzystywa-
ny jest standard UMA, który jest wykorzysty-
wany przez Orange w postaci usługi o nazwie
„unifon”. Daje ona możliwość zarówno prowa-
dzenia rozmów w sieci GSM, a po powrocie do
domu, w którym mamy np. stację WiFi telefon
łączy się poprzez nią z internetem i w ten spo-
sób rozmowy są prowadzone właśnie tą drogą.
Nasza stacja WiFi pełni funkcję malutkiej sta-
cji bazowej.
Jak widać tych telefonów jest kilka i pla-
nowane są kolejne modele. Zalety Linuksa są
oczywiście takie, że jest dużo elementów, jak
przeglądarki internetowe, odtwarzacze mul-
timediów itp., a w połączeniu z Javą daje to
możliwość połączenia z aplikacjami, które są
tworzone przez setki czy tysiące firm na ca-
łym świecie.
L+: Mi zdecydowanie telefon U9 się podoba ;)
Naprawdę jest dla kobiet idealny.
MP: Jest piękny... to prawda.
L+: Czy zastosowanie Linuxa jest opłacalne
i co powoduje, że jednak w większości sprzę-
tów stosują Państwo oprogramowanie inne niż
Linux?
MP: To jest kolejne bardzo dobre pytanie.
Dlaczego w innych telefonach jest zastoso-
wane inne oprogramowanie i jakiego rodza-
ju jest to oprogramowanie. Właściwie możli-
wości jest kilka. Albo jest to oprogramowa-
nie, które było tworzone przez firmy od sa-
mego początku, czyli jest to tzw. „proprieta-
ry system”, który niemal od pierwszej linij-
ki kodu był tworzony w firmie produkującej
telefony komórkowe. Na pewno można sobie
wyobrazić, że tworzenie takiego rozwiązania
nie jest efektywne kosztowo. Poza tym jest to
rozwiązanie zamknięte, dodawanie kolejnych
funkcji wymaga tworzenia i pisania konkret-
nych aplikacji pod konkretny system. I taka
jest pierwsza możliwość. Inną możliwością
jest np. Windows Mobile tworzony przez fir-
mę Microsoft, ale mimo, a może właśnie dla-
tego że ten system ma bardzo dużo zalet – nie
należy do rozwiązań najtańszych. Należy on
jednak do otwartej platformy, w której znaj-
dują się setki aplikacji napisane pod ten sys-
tem. Jest dużo narzędzi pro-biznesowych, ty-
pu synchronizacja poczty z serwerem (oczy-
wiście Microsoftu) itd. Jak łatwo się domy-
ślić, oprogramowanie Microsoft z oprogra-
mowaniem Microsoft będzie się bardzo do-
brze synchronizował...
L+: To na pewno.
MP: Proszę zwrócić uwagę na to, że urządze-
nia wyposażone w Windows Mobile są raczej
urządzeniami z wyższej półki. To są nadal
drogie telefony, nie dla wszystkich. W więk-
szości przypadków są to telefony duże, czę-
sto wyposażone w pełną klawiaturę. Również
Motorola ma takie telefony w swojej ofercie
– bardzo udany MOTO Q 9h – a będziemy
mieli kolejne w dalszej części tego roku. Na
pewno i tutaj będzie coś ciekawego.
Kolejnym otwartym systemem opera-
cyjnym jest Symbian i ciekawostka, rów-
nież i Motorola wykorzystuje to rozwiąza-
nie. Wykorzystujemy Symbiana w wersji 9
z nakładką UIQ, więc jest to troszeczkę inna
odmiana od tej, którą rozwija nasza konku-
rencja. Nie jesteśmy jednak sami, ponieważ
firma UIQ należy do Motoroli i do firmy So-
nyEricsson (mamy po 50 % udziałów). Je-
śli chodzi o Symbiana to tu również są set-
76
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
maj 2008
77
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
www.lpmagazine.org
ki aplikacji, które zostały dla tego systemu
stworzone. Platforma ta jest bardzo multi-
medialna, dająca możliwości np. otwarzania
filmów w bardzo wysokiej jakości, dogry-
wania nowych aplikacji takich jak „DivX
player” itd. Również my mamy telefony, w
których system Symbian znajduje zastoso-
wanie. Nadal jednak, tak jak większość tele-
fonów Symbianowych, są to telefony z wyż-
szej półki.
Dlatego mamy nadzieję, że tak naprawdę
dopiero Linux w przeciągu najbliższych kil-
ku lat spowoduje, że będzie to po raz pierw-
szy tak zaawansowany system operacyjny,
który trafi do najbardziej popularnych i po-
szukiwanych telefonów ze średniej półki.
Tak jak wspomniałem, otwarte systemy ope-
racyjne wymagają dużej mocy obliczenio-
wej i wymagają wydajnych procesorów, du-
żej ilości pamięci i to wszystko oczywiście
kosztuje. Każdy MB czy MHz, który dodaje
się do telefonu bezpośrenio przekłada się na
cenę. Na szczęście ceny tej elektroniki spada-
ją na tyle szybko, że system operacyjny Linu-
xJava będzie możliwy w najbliższych kwar-
tałach w coraz tańszych i bardziej popular-
nych modelach. A wracając do Pani pytania o
opłacalność: czy może być coś bardziej opty-
malnego kosztowo, niż coś, co jest po pro-
stu bezpłatne?
L+: Wracając do tego, wyprzedził Pan mo-
je następne pytanie. Czy Linux ma szansę w
ogóle zrewolucjonizować rynek telefonii ko-
mórkowej?
MP: Czy zrewolucjonizować? Na pewno
zmienić. To jest oczywiście tak, że 95% użyt-
kowników kupując telefony nie dba o to, ja-
ki system operacyjny jest w nim zastoso-
wany. Tak jak z użytkownikami samocho-
dów: większość z nich nie dba o to, w ja-
kiej technologii spalana jest benzyna ważne
jest, aby samochód jeździł do przodu spraw-
nie oraz aby zapewniał jak największą przy-
jemność z jazdy. W telefonach komórkowych
jest podobnie: użytkownicy oczywiście bar-
dziej zwracają uwagę na to, w jakiego ro-
dzaju funkcje jest wyposażony telefon, czy
jest telefonem multimedialnym, czy pozwa-
la robić zdjęcia i słuchać muzyki, przeglądać
strony internetowe, czy daje dostęp do pocz-
ty elektronicznej, czy łatwo zsynchronizo-
wać kontakty ze swoją książką itd. Jest bar-
dziej istotne z punktu widzenia użytkownika.
A to, że akurat system operacyjny Linux wie-
le z tych rzeczy robi bardzo dobrze, to my-
ślę, że to właśnie spowoduje, że użytkownicy
nawet nie będąc świadomymi, że kupują te-
lefon z Linuxem, będą te telefony wybierać
jako bardziej zaawansowane, bardziej mul-
timedialne dające więcej takich prokonsu-
menckich funkcji.
Natomiast zrewolucjonizować rynek tele-
fonii komórkowych mogą nowe technologie,
takie jak np. GPS.
L+: W nowych modelach również?
MP: Również w nowych modelach Motoro-
li, w drugiej połowie roku będziemy ofero-
wać wbudowane odbiorniki GPS. Proszę pa-
miętać, że Motorola była pierwszym produ-
centem, który wyprodukował telefony z od-
biornikami a-GPS. Modele takie jak A1000,
A925 do tej pory, mimo upływu czasu są in-
tensywnie używane, głównie wśród studen-
tów. Myślę, że w tym przypadku trochę wy-
biegliśmy „przed szereg” i za wcześnie poka-
zaliśmy takie technologie. Rynek jeszcze nie
był na to gotowy. Teraz już i ceny tych tech-
nologii, i dostępność na rynku powodują, że
coraz więcej telefonów będzie wyposażo-
nych w odbiorniki GPS.To daje zupełnie no-
we możliwości, funkcje, zastosowania. Tego
typu rzeczy zrewolucjonizują na pewno ry-
nek telefonii komórkowych, a system opera-
cyjny może co najwyżej pomóc w korzysta-
niu z tych dobrodziejstw.
L+: Czy Linux jest tym, co stanie się domyśl-
nym system na urządzeniach typu smartphone?
MP: Raczej będzie to zmierzało w tym kie-
runku, o którym mówiłem, czyli dostarcze-
nie atrakcyjnych funkcji, których poszukuje
użytkownik telefonu komórkowego. Łatwość
dzwonienia, łatwość wyszukiwania w książ-
ce telefonicznej, możliwość zapisywania
czegoś w kalendarzu, przejrzenia strony in-
ternetowej, posłuchania muzyki, obejrzenia
filmu, zrobienia zdjęcia, podzielenia się tym
zdjęciem. Ostatnio bardzo modnym stało się
hasło o nazwie „WEB 2.0”: użytkownicy nie
tylko czerpią z sieci, ale również udostępnia-
ją innym to co sami wytworzyli. Przykładem
są wszelkiego rodzaju serwisy, na których lu-
dzie dzielą się zdjęciami, takie jak Flickr, Pi-
casaWeb czy Fotka. Bardzo znanym przy-
kładem jest serwis z filmami: YouTube: to
jest najlepszy przykład, gdzie ludzie dzielą
się stworzonymi przez siebie filmami, i ro-
bią to bezpłatnie. Już dzisiaj możemy nakrę-
cić film przy pomocy telefonu komórkowe-
go i jednym naciśnięciem guzika umieścić
go na YouTube'ie . Więc myślę, że w tą stro-
nę będzie to zmierzać i Linux ma to umożli-
wić i ułatwić.
L+: Wiele firm stawia na inne systemy na
pierwszym planie, czy rewolucją i odmia-
ną narzucanych przez gigantów stereoty-
pów nie byłoby położenie wszystkiego na
sprzęt z systemem Linux i dobre wsparcie
techniczne?
MP: Wiele firm stawia na inne systemy na
pierwszym miejscu. To jest prawda. Jeże-
li Państwo spojrzą na naszych konkuren-
tów, to są firmy, które w swojej ofercie mają
np. tylko jeden system operacyjny, występu-
jący w kilku różnych odmianach. Nie mogę
mówić w imieniu swoich konkurentów, ale
jak widać my wykonaliśmy krok w kierun-
ku dywersyfikacji platform. W ofercie Mo-
toroli mogą Państwo znaleźć telefony, któ-
re są zrobione zarówno na platformie Win-
dows, na platformie Symbian, jak i na plat-
formie Linux. Każdy z tych telefonów jest
przeznaczony do innego rodzaju odbiorcy
i przeznaczony jest do spełnia innego ro-
dzaju funkcji. My rzeczywiście stawiamy
na Linuxa i mimo, że na pierwszym etapie
ten system jest zamknięty, to myślę, że w
przyszłości będzie on zmierzał w taką stro-
nę, by współudział przy tworzeniu tych te-
lefonów był również wśród szerokiego gro-
na developer'ów. Czy wsparcie technicz-
ne jest dobre? Tak, mamy np. dedykowane
strony przeznaczone dla developer'ów (http:
//www.motodev.com), gdzie firmy tworzące
oprogramowanie na telefony znajdą prak-
tycznie wszystkie niezbędne i konieczne
informacje do tego, żeby takie dodatkowe
oprogramowanie na te telefony tworzyć.
L+: Interesuje nas stworzenie programów Li-
nuksowych do komunikacji z telefonem. Jeże-
li chodzi o same systemy operacyjne telefo-
nów to ciekawi jesteśmy czy Motorola planu-
je umożliwienie hobbystom modyfikację opro-
gramowania nieobsługiwanych już modeli.
MP: Na tym etapie oprogramowanie, które
jest dodawane do telefonów Linuksowych
nie jest oprogramowaniem natywnym pod
konkretny system operacyjn ale jest opro-
gramowaniem pisanym w Javie. Daje ona
pewien poziom bezpieczeństwa związa-
ny z tymi aplikacjami, to o czym mówili-
śmy na początku: zbyt dużo operacji, któ-
re się wykonuje w przypadku telefonów ko-
mórkowych mogą mieć dość istotne konse-
kwencje.Znane są programy (np. MotoBac-
kup) które potrafi przeczytać zawartość na-
szej książki telefonicznej i zrobić jej bez-
pieczną kopię na serwerze. Jeżeli sobie jed-
nak wyobrazimy, że jakieś bliżej nieznane
oprogramowanie bez mojej wiedzy i kontro-
li mogłoby wysłać moją książkę telefonicz-
ną bezprzewodowo w świat, to mnie prze-
chodzą ciarki po plecach. Więc póki co bę-
dą to na pewno programy pisane w Javie,
co oczywiście nie oznacza, że są one w ja-
kiś sposób gorzej zintegrowane z tym tele-
fonem, czy dają mniejsze możliwości. Po
pierwsze Java jest taką platformą, która da-
76
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
maj 2008
77
wywiad
Wywiad z Maciejem Pilińskim Portfolio Lead w Motorola Polska SP. z o. o
www.lpmagazine.org
je bardzo dużą przenośność, więc napisa-
nie oprogramowania na jeden model telefo-
nu, daje dużą pewność, że to oprogramowa-
nie zostanie wykorzystane na innym mode-
lu, który nawet jeszcze nie wszedł do pro-
dukcji. Jeśli chodzi o tworzenie programów
Linux'owych do komunikacji z telefonem,
czyli wysyłanie sms'ów , synchronizacje itd.
to są dokładnie te rzeczy, o których mówi-
łem przed chwilą. Bardziej chodzi o bezpie-
czeństwo użytkownika, oczywiście oprogra-
mowanie w Javie pozwala wiele z tych rze-
czy, ale jeżeli oprogramowanie nie jest cer-
tyfikowane, nie jest podpisane specjalnym
certyfikatem, to użytkownik musi po prostu
za każdym razem wyrazić zgodę na to, by
połączyć się z siecią, wysłać smsa itd.
L+: Jeżeli chodzi o same systemy operacyjne
telefonów, to ciekawi jesteśmy, czy Motorola
planuje umożliwienie hobbystom modyfikację
oprogramowania?
MP: Na bieżącym etapie nie, ale w przyszło-
ści nie wykluczamy takiej możliwości. Myślę,
że to będzie właśnie zmierzało w taką stronę.
Modyfikacja pewnych fragmentów tego opro-
gramowania będzie możliwa: np. zainstalowa-
nie nowej książki telefonicznej, jeżeli nie bę-
dzie się podobała komuś standardowa książka
dostarczona w telefonie.
L+: Jesteśmy także ciekawi jakie możliwości
będą miały telefony z Linuksem. Czy będą to
pełnosprawne smartphony , czy też telefony dla
ubogich krewnych?
MP: O tym właściwie rozmawialiśmy. Dla
ubogich krewnych raczej nie, choćby ze wzglę-
du na to, że możliwości tych telefonów są na-
prawdę spore. Będą to telefony na pewno bo-
gato wyposażone, multimedialne, dające do-
stęp do internetu itd., choć niekoniecznie kosz-
tujące tysiące złotych. Są więc dostępne, a przy
okazji multimedialne. Myślimy i liczymy na to,
że to właśnie da nam Linux
L+: Wiemy, że pracujecie Państwo z firmą, któ-
rej płacicie za support do Linuksa. Co to za fir-
ma i dlaczego zdecydowaliście się na współ-
pracę z nią?
MP: Szczerze mówiąc nie posiadam takich
informacji, więc nie chciałbym się tutaj wy-
powiadać na ten temat. Możliwe, że tak jest.
Nie zaprzeczam. Jeśli chodzi o rozwój tego
systemu, z tego co mi wiadomo, to oprogra-
mowanie rozwijają nasze własne grupy pro-
gramistów.
L+: Jakie są plany na przyszłość, jakie plany co
do produktów spod Linuksa?
MP: Tych telefonów będzie na pewno coraz
więcej, będą to telefony różne, tzn., będą to
telefony ładne, muzyczne, z aparatami, z no-
wą funkcjonalnością taką jak chociażby UMA
, czyli unifone w Orange'u. Będą to rownież te-
lefony potrafiące kręcić filmy, łączyć się z In-
ternetem, wysyłać i odbierać pocztę itd. itd.
L+: W jaki sposób ocenia Pan grono czytelni-
ków Linux+ jako potencjalnych klientów?
MP: Myślę, że czytelnicy Linux+ jako oso-
by bardziej świadome jeśli chodzi o znacze-
nie systemów operacyjnych na pewno z zain-
teresowaniem pochylą się nad telefonem, je-
żeli usłyszą, że w środku jest Linux. Nie chce-
my jednak, żeby ten telefon był wybrany przez
użytkownika tylko dlatego, że ma w środku Li-
nux. Jest on bowiem narzędziem, a nie celem
samym w sobie. Chcemy, żeby telefon był wy-
godny w użyciu, multimedialny, żeby miał cie-
kawą szatę graficzną i aby można było je zmie-
niać. Tak jak wspomniałem, Linux jest narzę-
dziem a nie celem samym w sobie.Gdy za-
czniemy tak naprawdę analizować jakiego ro-
dzaju funkcje znajdują się w tym telefonie to
dochodzimy do wniosku, że to są tak naprawdę
małe multimedialne komputery. Czasy, w któ-
rych telefony służyły tylko do dzwonienia i pi-
sania sms'ów odeszły bezpowrotnie w zamierz-
chłą przeszłość. W tej chwili telefony potrafią
odtwarzać filmy, odtwarzać muzykę, zaczyna
być to oprogramowanie coraz bardziej skom-
plikowane. Proszę sobie wyobrazić taką sytu-
ację, że użytkownik wchodzi na strony, na jakiś
portal, zaczyna odtwarzać film lub wiadomości
na żywo - dzisiaj jest to możliwe. Ten film za-
czyna się odtwarzać na wyswietlaczu a ścieżki
dźwiękowej użytkownik słucha przez bezprze-
wodowe słuchawki Bluetooth stereo. Proszę
zauważyć ile elementów jest wykorzystywa-
nych równocześnie, aby taką wydawałoby się
prostą i oczywistą z punktu widzenia użytkow-
nika funkcjonalność przeprowadzić: transmisja
danych, dekodowanie strumienia mpeg, w ta-
ki sposób, aby go płynnie otworzyć i wyświe-
tlić na ekranie, obsługa ekranu, obsługa dźwię-
ku, który musi być jeszcze na dodatek przesła-
ny przez interface bluetooth stereo do kolejne-
go urządzenia. Dodatkowo ten telefon cały czas
powinien być dostępny w sieci, czyli umożli-
wić dodzwonić się w trakcie odtwarzania.Mo-
gę nawet zaryzykować stwierdzenie, że jest to
urządzenie conajmniej tak skomplikowane, jak
komputer, który stoi u nas na biurku. Oczywi-
ście są to ogromne sztaby ludzi, którzy nad tym
pracują, wiele problemów z którymi się bory-
kają, funkcjonalność. Doskonałym przykła-
dem jest zaprojektowanie interfejsu użytkow-
nika tak, żeby był on jak najprostszy w obsłu-
dze, a jednocześnie, żeby dawał jak najwięcej
możliwości: to właściwie są dwie rzeczy, któ-
re się wzajemnie wykluczają. Jeżeli mamy du-
żo opcji, możliwości, funkcji, to coraz trudniej
jest zaproponować taki interfejs, który jedno-
cześnie będzie prosty. Poza tym, to komputer
jest urządzeniem, które daje możliwości oglą-
dania filmów, słuchania muzyki i obsługi doku-
mentów, ściągania poczty i przeglądania inter-
netu. To są też urządzenia, które są skompliko-
wane. Starsi ludzie mają bardzo duży problem,
żeby z takich urządzeń korzystać, żeby takim
urządzeniem się posłużyć.
L+: Proszę mi powiedzieć, czy przed wpro-
wadzeniem nowego modelu jak np. MOTO U9 ,
robicie wywiad środowiskowy? Czy stwarzacie
modele dla konkretnej grupy użytkowników?
Czy są robione dla ogółu?
MP: Oczywiście, że tak. Myślę, że tutaj nie
mamy dyskryminacji pod kątem płci. Zda-
rza się też, że telefon bardziej podoba się ko-
bietom niż mężczyznom, ale tutaj na pewno
nie dyskryminujemy pod tym kątem. Nato-
miast tak... rzeczywiście jeżeli robimy tele-
fon muzyczny taki jak ROKR E8 to wiado-
mo, że grupą docelową będą młodzi ludzie,
którzy lubią słuchać muzyki i chcą tą muzy-
kę mieć zawsze ze sobą. Wiele funkcji tego
telefonu, chociażby duża pamięć wewnętrz-
na (2GB + miejsce na kartę microSD), wyj-
ście na słuchawki umieszczone wygonie u
góry obudowy, fragment okręgu, które po-
zwala bardzo łatwo nawigować po tysiącach
utworów itd. powoduje, że korzystanie z te-
lefonu jak z odtwarzacza muzyki jest dużo,
dużo prostsze. Z kolei w telefonie, który bę-
dzie przeznaczony do biznesu, nacisk będzie
położony na to, aby mieć dobrą przeglądar-
kę internetową, dobry dostęp do poczty elek-
tronicznej. W prostszych modelach stawiamy
na to, żeby móc łatwo wysyłać sms'y, nawią-
zywać i kończyć połączenie oraz rozmawiać
przez zestaw Bluetooth. Na przykład dla ta-
kich modeli kwestie słuchania muzyki są w
tym przypadku drugorzędne. Oczywiście są
określone grupy docelowe, do których dedy-
kujemy nasze telefony. Telefon z systemem
Windows jest np. dedykowany do biznesu
właśnie ze względu na tą łatwość synchro-
nizacji poczty, łatwość synchronizacji kon-
taktów, kalendarza, wygodną klawiaturę itd.
Oczywiście staramy się rozpoznawać potrze-
by rynku. Próbujemy zrozumieć, czego ocze-
kują nasi Klienci, co im się podoba, jakiego
rodzaju funkcje zwracają uwagę, jakiego ro-
dzaju telefony im się podobają. Proszę zwró-
cić uwagę, że do momentu, w którym w 2004
roku pojawił się RAZR V3, telefony były
brzydkie, nieporęczne, plastikowe i niecie-
kawe. Dopiero ten model spowodował, że
nie tylko Motorola, ale wszystkie inne fir-
my zaczęły produkować eleganckie telefony.
To była rewolucja, którą faktycznie mieliśmy
okazję stworzyć.
78
Felieton
Stąd do przyszłości
maj 2008
P
oczątkowo tylko garstka ludzi po-
trafiła zaprogramować kompu-
ter, dawniej nazywany maszyną
cyfrową. Odbywało się to oczy-
wiście sprzętowo. Nikt nie pisał wielu lini-
jek kodu. Po prostu wchodziło się do takie-
go komputera, który zajmował powierzchnię
kortu tenisowego i modyfikowało się połą-
czenia w nim. Dziś napiszemy coś w notat-
niku, skompilujemy to, prześlemy przy po-
mocy bluetootha na komórkę i nasz telefon
mieszczący się w kieszeni wykona oblicze-
nia szybciej, niż starodawny kilkutonowy
komputer, ale do tego przejdziemy później.
Na etapie sprzętowego programowania kom-
puterów, dążono do tego, by proces ten nie-
co ułatwić. Powstały więc karty perforowa-
ne itd. Dzięki temu coraz więcej osób mo-
gło uczestniczyć w tworzeniu oprogramowa-
nia. Służyło to oczywiście celom naukowym
– nie było tutaj mowy o zastosowaniach biu-
rowych, czy rozrywkowych – oczywiste jest
więc, że nie było nawet potrzeby upublicz-
niania kodu źródłowego.
Z czasem jednak komputery ewoluowa-
ły, rozmiar pamięci systematycznie się zwięk-
szał, procesory przyspieszały, a całość zamiast
powiększać swe rozmiary, zaczęła się zmniej-
szać, dzięki czemu możemy pozwolić sobie na
trzymanie tychże urządzeń w domach, a nawet
w kieszeniach. Wspomniane wyżej karty ode-
na rzecz Open Source. I chwała na wieki im za
to – w końcu nie chcemy, by pieniądze z na-
szych podatków zasilały konto wielkich firm,
których niezbyt lubimy. Bierzmy więc z takich
instytucji przykład.
Po wolnym oprogramowaniu przychodzi
pora na wolny sprzęt. Pojawiają się projek-
ty otwartych kart graficznych, etc. A co za
tym idzie? Wzrośnie konkurencyjność także
na tym rynku. Zyska tutaj oczywiście klient,
bo spadną koszta zakupu sprzętu, a system
operacyjny będzie lepiej współpracował.
Jest już także kilka otwartych modeli komó-
rek z Linuksem na pokładzie i są to napraw-
dę ciekawe urządzenia charakteryzujące się
ogromnymi możliwościami za stosunkowo
niewielką cenę.
Jak widzimy wszystko to zmierza w do-
brym kierunku. Pozostaje nam jedynie mieć
nadzieję, że z nadmiaru darmowego opro-
gramowani, firmy zajmujące się tworzeniem
oprogramowania nie zbankrutują, bo spowo-
dowałoby to wzrost bezrobocia wśród pro-
gramistów, a to groziłoby z pewnością spo-
wolnieniem rozwoju informatyki. Musi zo-
stać zachowana pewna równowaga, trzeba
znaleźć złoty środek. Nie można więc fana-
tycznie zwalczać ani oprogramowania za-
mkniętego, ani otwartego. Jedno i drugie ma
swoją wartość, swoje dobre i złe strony. Jest
to ważne dla przyszłości.
szły w niepamięć, zaczęły pojawiać się języki
programowania, które znamy do dziś, jak As-
sembler, czy C. Łatwość nauczenia się tych ję-
zyków, sprawiła, że co raz więcej ludzi naby-
wała umiejętność dogadywania się z kompute-
rami. Zaczęli oni tworzyć przeróżne aplikacje
bardziej lub mniej pomagające w codziennym
życiu oraz gry komputerowe i to zarówno w
celach komercyjnych jak i hobbystycznych.
W tym momencie ludzie stanęli na roz-
drożu, gdyż wypracowano dwie metody wy-
twarzania, a także dystrybucji oprogramowa-
nia – otwartą i zamkniętą. Wielkie korpora-
cje w zamkniętym oprogramowaniu dostrze-
gły łatwy sposób na wzbogacenie się, ale zna-
lazło się także grono ludzi, którzy w otwartym
oprogramowaniu dostrzegli pewne ideolo-
gie. Im bliżej dnia dzisiejszego, tym wolnego
oprogramowania więcej. Jest ono także co raz
częściej dostrzegane i wybierane. Co prawda
wielu instytucjom, czy organizacjom ciężko
przerzucić się z zamkniętego oprogramowania
na otwarte, bo przecież wiąże się to z koszta-
mi, które już raz poniosły zakupując oprogra-
mowanie zamknięte, ale na dłuższą metę taka
zmiana jest opłacalna. Warto tutaj zauważyć,
iż kraje, które dopiero się informatyzują mogą
etap ten bardzo sprawnie przeskoczyć. Polska
ma taką szansę. Zresztą nawet zinformatyzo-
wane już instytucje porzucają drogie, ale rów-
nie funkcjonalne zamknięte oprogramowanie
Stąd do
przyszłości
Roger Zacharczyk
Spójrzmy krytycznym, obiektywnym okiem na to, co dzieje się dziś w naszym informatycznym świecie
pełnym przeróżnej elektroniki, oprogramowania i użytkowników. Początki tego świata i użytkowników
sięgają odległych czasów, jednak początki komputerów oraz oprogramowania – nie tak daleko. Jak wiele
się zmieniło? Czy na lepsze? A może na gorsze? Co było ważne kiedyś, co jest ważne dziś, a co będzie
ważne jutro?
księgozbiór
79
Recenzje książek
www.lpmagazine.org
L
inux od samego początku zaj-
mował miejsce w zastosowa-
niach sieciowych, a od niespeł-
na kilku lat Linux zdobywa co-
raz większą popularność w zastosowaniach
biurkowych sukcesywnie wypierając sys-
temy Windows. Dlatego też ciągle rośnie
liczba programistów interesujących się tym
systemem.
Książka Oprogramowanie użytkowe w
systemie Linux jest bardzo wyczerpującym
podręcznikiem dla programistów zaintere-
sowanych programowaniem systemu Linux
oraz programowaniem Unixów. Całość pro-
gramowania pokazana jest przez pryzmat
Linuxa, wraz z uwzględnieniem jego spe-
cyficznych rozszerzeń.
Książka składa się z 4 części i 3 odręb-
nych dodatków A, B, C oraz słownika, lite-
ratury i skorowidza.
W pierwszej części złożonej z 3 roz-
działów czytelnik zapoznaje się z krótką
historią darmowego oprogramowania, sys-
temów uniksowych oraz Linuxa, ze szcze-
gólnym uwzględnieniem prawa autorskie-
go oraz różnych licencji na których jest roz-
prowadzane darmowe oprogramowanie (li-
cencja GNU-GPL), a także podstawowych i
przydatnych informacji o Linuxie.
Druga część książki (Środowisko i na-
rzędzia programistyczne) składa się z pię-
ciu rozdziałów.
Rozdział czwarty omawia edytory oraz
tak ważne dla programisty programy jak
make i gdb. Rozdział piąty traktuje o kom-
pilatorze gcc.
Następny rozdział mówi o problemach
i błędach związanych z alokacją pamięci,
Oprogramowanie użytkowe w systemie Linux
a także omawia narzędzia zabezpieczające
przed tymi kłopotami i służące do badania
pamięci. Rozdział siódmy porusza zagad-
nienia dotyczące tworzenia i korzystania z
bibliotek, a ósmy pomaga zrozumieć funk-
cje systemowe.
Część trzecia Programowanie systemo-
we – jest sercem tej książki (dwanaście roz-
działów). Ta część stanowi właśnie bardzo
dokładny kurs programowania pod syste-
mem Linux.
Dziewiąty rozdział jest dokładnym opi-
sem pojęcia procesu i jego właściwości za-
czynając od najprostszych atrybutów proce-
su, poprzez podstawowe funkcje związane
z procesem a kończąc na sesjach, grupach i
terminalach sterujących.
Następne trzy rozdziały poświęcone są
bardzo ważnej kwestii programowania sys-
temowego, jaką jest system plików i ka-
talogów oraz operacje na nich. Rozdział
dziesiąty to całkowite podstawy (takie jak
atrybuty pliku, podstawowe operacje na
nim, manipulowanie plikami i ich deskryp-
torami). Rozdział jedenasty omawia do-
kładnie operacje na katalogach, a dwuna-
sty opisuje zaawansowane możliwości ob-
sługi plików.
Następne rozdziały traktują kolejno o
obsłudze sygnałów, zarządzaniu zadaniami,
terminalach i pseudoterminalach z wyczer-
pującym omówieniem terminalu termios,
komunikacji sieciowej za pomocą gniazd,
budzikach i stanie uśpienia, liczbach loso-
wych, programowaniu konsoli wirtualnych
i konsoli Linuxa.
Część czwarta Biblioteki programisty
to ostatnie sześć rozdziałów prezentują-
cych różne przydatne dla programisty funk-
cje biblioteczne.
Przeczytamy tu o funkcjach porówny-
wania napisów, opisie bibliotek S-Langi i
db, bibliotekach obsługujących bazy da-
nych, bibliotece popt potrzebnej do analizy
składniowej opcji podanych z wiersza pole-
ceń, interfejsie dl obiektów dzielonych ła-
dowanych dynamicznie, a także w rozdzia-
le ostatnim o nazwie i bazie danych użyt-
kowników.
Wymienione na samym początku dodat-
ki A, B i C to:
• A – bezpośredni dostęp do portów wej-
ścia-wyjścia,
• B – pełny kod źródłowy przykładowej
powłoki ladsh,
• C – oryginalne licencje GNU.
Podsumowując:
książka jest bardzo obszerna i dobrze
napisana. Poruszane zagadnienia opatrzo-
ne są dobrze dobranymi, jasnymi i bogaty-
mi przykładami.
Niniejsza pozycja przyda się programi-
stom, którzy chcieliby zacząć programować
pod Linuxem (lub Unixem), a także tym,
którzy już to robią.
Niniejsza książka stanowi prawdziwe
(jak pisze wydawca): kompendium wiedzy o
pisaniu oprogramowania użytkowego w sys-
temie Linux, a także o przenoszeniu go z in-
nych platform na platformę linuksową.
inż. Wojciech Hryń
Autor: Johnson K.Michael i inni
Wydawnictwo: WNT
Rok wydania: 2000
Oprawa: Twarda
Ilość stron: 551
ISBN: 8320425522
Kontakt
1. Telefon
+48 22 427 36 53
+48 22 427 36 79
2. Fax
+48 22 244 24 59
2. Online
pren@software.com.pl
3. Adres
Bokserska 1
02-682 Warszawa
Polska
Roczna prenumerata
tylko
179
Linux+DVD jest przeznaczony dla początkujących i za-
awansowanych użytkowników Linuksa. Nasi czytelnicy to
w większości użytkownicy Linuksa, jak również specjali-
ści IT, technicy, a także ci, którzy szukaj alternatywy dla
MS Windows. Są oni zainteresowani bieżącymi nowościa-
mi ze świata Linuksa, m.in. jądrem Linuksa, Debianem,
Mandrakelinuksem i Auroksem. Dużym zainteresowaniem
wśród czytelników cieszą się stale działy pisma: Dla Po-
czątkujących, Dla Programistów i Sprzęt. Oprócz nich, w
każdym wydaniu znajdują się informacje dotyczące typo-
wego użycia Linuksa: bezpieczeństwa, multimediów, na-
rzędzi naukowych, programowania czy poczty elektronicz-
nej.
,-
1
Zamówienie prenumeraty
Imię i nazwisko ...............................................................................
Nazwa firmy.....................................................................................
Dokładny adres ..............................................................................
.........................................................................................................
Telefon ............................................................................................
E–mail .............................................................................................
ID kontrahenta ................................................................................
Numer NIP firmy .............................................................................
Fax (wraz z nr kierunkowym) .........................................................
Prosimy wypełniać czytelnie i przesyłać faksem na numer:
00 48 22 244 24 59
lub listownie na adres:
Software-Wydawnictwo Sp. z o. o.
ul. Bokserska 1
02-682 Warszawa
Polska
E-Mail: pren@software.com.pl
Przyjmujemy też zamównienia telefoniczne:
0048 22 427 36 53
0048 22 427 36 79
Jeżeli chcesz zapłacić kartą kredytową,
wejdź na stronę naszego sklepu internetowego www.buyitpress.com.
Prenumerujesz
– zyskujesz
l
oszczędność
pieniędzy
l
szybka dostawa
l
prezenty
l
bezpieczna płatność
on–line
Tytuł
Ilość
nume-
rów
Ilość
zama-
wianych
prenume-
rat
Od
numeru
pisma
lub mie-
siąca
Cena
Linux+DVD (płyta DVD)
Miesięcznik o systemie
Linux
11*
199/
179**
PLN
Linux+Extra! (płyty CD
lub DVD) Numery spe-
cjalne z popularnymi
dystrybucjami Linuxa
8
232/
198***
PLN
□ automatyczne przedłużenie prenumeraty
* W lipcu i sierpniu ukazuje sie jeden wakacyjny numer
** Cena prenumeraty rocznej dla osób prywatnych
*** Cena prenumeraty rocznej dla osób prenumerujących
już Software Developer’s Journal lub Linux+ DVD
Zadzwoń
+48 22 427 36 79
lub
zamów
mailowo!
Grafika i DTP
• Przegląd managerów fontów dostępnych dla systemu
Linux
• Piszemy mini commandera
• Scribus
W numerze planujemy
m.in. następujące artykuły
Numer w sprzedaży od 18 maja!
DVD : Open Enterprise Server 2.
Głównym tematem numeru czerwcowego Linux+ będzie
Aktualne informacje o najbliższym numerze: http://www.lpmagazine.org/pl
Redakcja zastrzega sobie możliwość zmiany zawartości pisma.