Linux+ 05 2008

background image
background image
background image
background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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/.

background image

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.

background image

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

background image

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.

background image

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

background image

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

.

google

.

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

background image

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

background image

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

background image

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)

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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.

background image

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

background image

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

background image

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

background image

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 Kon
t. 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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

background image

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

print

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

:

print

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

print

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 pomidzy 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

print

power

(

2.5

,

2

)

# można podać nazwy argumentów, wtedy kolejność jest
nieistotna

print

power

(

a

=-

1.3

,

m

=

0

)

background image

46

Praktyka

Wprowadzenie do architektury D-Busa

maj 2008

47

Praktyka

Wprowadzenie do architektury D-Busa

www.lpmagazine.org

/, 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

background image

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"

background image

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

cieek

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

'

)

print

test_iface

.

echo

(

'

Hi

'

)

# wywołanie metody echo

for

i

in

range

(

5

):

print

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)

background image

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

background image

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

):

print

"Received: "

+

answer

print

;

print

def

error_cb

(

err

):

print

"Error: "

+

str

(

err

)

print

;

print

def

finish

():

#wyjście z pętli oczekiwania

loop

.

quit

()

return

False

# wykrywanie wyjątków, wywołanie synchroniczne

try

:

print

'

Received

:

'

+

test_iface

.

echo

(

'

Hi

'

)

print

;

print

print

test_iface

.

echo

(

''

)

print

;

print

except

Exception

,

e

:

print

e

print

;

print

# 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

()

background image

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

):

print

'

Time

elapsed

:

',

time

# sygnał playingUriChanged dostarcza jedna wartość:
# adres odtwarzanego utworu

def

playingChangedCallback

(

uri

):

print

'

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

()

background image

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.

background image

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 nastpujce

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:

background image

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

):

print

str

(

i

)+

'

:

'

+

dev

print

"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

--

print

-

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

--

print

-

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

--

print

-

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

--

print

-

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

--

print

-

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

--

print

-

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

--

print

-

reply

/

somedomain/my/calc somedomain.my.calc.test.echo

string:’Nice to see you’

background image

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

background image

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

background image

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

background image

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 pocztkowy> <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

background image

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

background image

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

background image

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

:

PRINT

"Mode: "

+

STR

(

w

)

+

"x"

+

STR

(

h

)

+

"x"

+

STR

(

d

)

;

IF

(

rate

>

0

)

THEN

PRINT

" @ "

+

STR

(

rate

)

+

" Hz"

;

END

IF

PRINT

" ("

+

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

background image

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

PRINT

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

background image

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 naley zainstalowa co

najmniej wersj "

&

FMOD_VERSION

)

END

IF

IF

(

FSOUND_Init

(

44100

,

32

,

0

)

=

FALSE

)

THEN

error_sub

(

"Nie mona uruchomi systemu FMOD!"

)

END

IF

song

=

FMUSIC_LoadSong

(

music_file

)

IF

song

=

0

THEN

error_sub

(

"Nie mona wczyta pliku """

+

music_file

+

""""

)

END

IF

FMUSIC_PlaySong

(

song

)

PRINT

"Nacinij klawisz spacji (lub dowolny inny) aby zakoczy działanie

tego programu."

SLEEP

FMUSIC_FreeSong

(

song

)

FSOUND_Close

END

SUB

error_sub

(

BYVAL

message

AS

String

)

print

"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

background image

64

Programowanie

Język programowania/FreeBasic

maj 2008

65

Programowanie

Język programowania/FreeBasic

www.lpmagazine.org

cą polecenia

PRINT

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 mona 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

background image

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

background image

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

)

PRINT

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

)

background image

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

background image

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.

background image

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

background image

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

background image

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

background image

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

)

background image

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 – zajte $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

background image

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.

background image

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-

background image

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-

background image

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ć.

background image

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?

background image

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

background image

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.

,-

background image

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!

background image

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.

background image
background image

Wyszukiwarka

Podobne podstrony:
KINEZYTERAPIA WYKŁAD 13.05.2008- wojta i bobath, Fizjoterapia, kinezyterapia
cwiczenia 19 16.05.2008, cwiczenia - dr skladowski
4 wyklad 29 05 2008
scenariusz 05 2008 Rogalska, scenariusze
Wykład z dnia 10.05.2008, Zajęcia, II semestr 2008, Matematyka dyskretna i logika
ar 147 connect nav 60389170 05 2008
12 05 2008
29 05 2008 Bezpieczniki pradu stalego
Onkologia - zaliczenie (29.05.2008 - 13;00), Onkologia
ćwiczenia rachunek prawdopodobieństwa i statystyka, Z Ćwiczenia 18.05.2008
ćwiczenia rachunek prawdopodobieństwa i statystyka, Z Ćwiczenia 11.05.2008
mikroekonomia 19-05-2008
5 BIKW 05 2008
cwiczenia 8 9.05.2008, Prawoznawstwo, Materialy e-learning, mgr M. Zalewska
material na egzamin z pedagogiki, pedagogika 29.05.2008, Podmioty, które biorą udział w procesie wyc
wyklad 11 08.05.2008, Administracja UŁ, Administracja I rok, Ustrój organów ochrony prawnej

więcej podobnych podstron