Tygodnik KDE — Droga do KDE 4
5 maja 2007, pbm
Poniższy artykuł jest tłumaczeniem tekstu The Road to KDE 4: Solid Brings Hardware Configuration and Control to KDE z serwisu dot.kde.org
Jednym z wielu nowych rozwiązań w KDE 4 jest Solid - warstwa pośrednicząca w obsłudze sprzętu. Obsługa sprzętu zawsze była jedną z wad Linuksa i innych systemów UNIXowych, ale Solid ma poprawić sytuację w KDE 4. Solid jest podobny do Phonona - jest to także API dla Qt/KDE oparte na istniejących niskopoziomowych komponentach, takich jak pochodzący z projektu freedesktop.org HAL. Solid jest już dość funkcjonalny a jego wykorzystanie jest widoczne w składnikach KDE.
Solid to API umożliwiające dostęp do informacji takich jak dostępne dyski lub sieci. Solid nie zawiera żadnych sterowników do sprzętu - obsługa sprzętu pozostawiona jest systemowi. Nie pobiera on także informacji bezpośrednio od sprzętu - za to odpowiedzialne są narzędzia takie jak HAL.
Solid został zaprezentowany światu na aKademy i wtedy też pojawiły się pierwsze informacje na jego stronie internetowej. Od tamtej konferencji informacje o Solidzie co jakiś czas pojawiają się w Commit-Digest Dannyego Allena lub też na blogach w planecie KDE. Jeśli zajrzysz na kanał #solid na irc.kde.org (freenode), zobaczysz że nie jest tam zbyt tłoczno i zazwyczaj jest cicho. Ale pozory mylą…
Prace nad Solidem trwały przez ostatnie półtora roku i stawał się on coraz stabilniejszy i coraz bardziej użyteczny. Aktualnie Dolphin i File Dialog wykorzystują Solida do obsługi przenośnych urządzeń do przechowywania danych.
Wewnętrznie Solid jest podzielony na wiele części i każda z tych części powstaje niezależnie. Dla przykładu:
Jedym z problemów jest dostęp do urządzeń przenośnych. W przeszłości powstawało już wiele rozwiązań, włączając w to automountery działające na poziomie kernela (kilka lat temu stosowane w Mandrake). HAL jest najnowszym rozwiązaniem tego problemu i radzi sobie całkiem nieźle, ale niektóre dystrybucje jeszcze go nie stosują. KDE tworzy API służące do obsługi tych urządzeń, dzięki czemu twórcy aplikacji nie będą musieli się przejmować tym co dzieje się w tle. Poprzez termin urządzenie przenośne rozumiem nie tylko urządzenia do przechowywania danych, ale także urządzenia audio, baterie w laptopach i inne…
Aktualnie jedynym wspieranym interfejsem jest HAL, więc urządzenia przenośne w KDE 4 będą go wymagały. Inne backendy dla innych systemów operacyjnych powstaną później. Mimo, że HAL nie istnieje na każdej platformie, to i tak powinien pokryć większość platform UNIXowych. Jeśli ktoś chce możne nawet napisać backend oparty bezpośrednio o mechanizmy znajdujące się w kernelu.
Nie chodzi tu tylko o obsługę urządzeń przenośnych, ale także o inne urządzenia. Phonon wykorzystuje Solida do wykrywania dostępnych urządzeń dźwiękowych i może przełączać się pomiędzy nimi niezauważalnie dla użytkownika. Możesz pamiętać to z demonstracji w artykule o Phononie. To co tam widziałeś to nie tylko Phonon ale także Solid, który dostarcza listę dostępnych urządzeń.
Istnieją także inne części Solida jak na przykład przenoszenie możliwości programu NetworkManager, dzięki czemu więcej aplikacji z KDE będzie mogło korzystać z takiej funkcjonalności. Większość pracy będzie wykonywał proces działający w tle, który już teraz obsługuje połączenia ethernetowe oraz WiFi. Pod koniec tygodnia będzie on posiadał już wsparcie dla VPN oraz połączeń wdziewanych. Zobaczymy co się w przyszłości stanie z KPPP, ale takie programy prawdopodobnie będą miały jeszcze swoją rolę do spełnienia. Celem prac nad wsparciem dla obsługi sieci jest dodanie do programów z KDE prawdziwego trybu offline, dzięki czemu będzie możliwe na przykład czytanie maili bez ciągłych komunikatów programu na temat braku połączenia z internetem. Will Stephenson sugeruje, że połączenia poprzez telefony komórkowe mogłyby być automatycznie zrywane, jeśli żaden program nie korzystałby z sieci.
Kolejną częścią jest zarządzanie energią. W tej dziedzinie praktycznie każda dystrybucja stosuje swoje własne rozwiązania. Na szczęście dystrybucje zawierające KDE 4 będą miały bardziej zunifikowany interfejs zarządzania energią. Ta dziedzina dostarcza API, które pozwoli Ci skonfigurować pobór energii poszczególnych urządzeń. Wykorzystuje ona HAL.
Ostatnio dodano także obsługę Bluetooth. Mimo, że jest ona dość świeża to już pozwala na odnalezienie urządzenia Bluetooth i połączenie. Tej usługi nie mogłem przetestować, gdyż nie posiadam żadnego urządzenia z Bluetooth.
Istnieje już narzędzie działające w konsoli, pozwalające wykorzystać funkcjonalność Solida. Program ten nazywa się ’solidshell’ i jest rozprowadzany wraz z bibliotekami Solida jako część pakietu kdelibs. Przykładowe komendy to:
solidshell network set wireless disabled
lub
solidshell hardware list details
która odpyta HAL i zwrócą listę wszystkich urządzeń oraz ich podstawowe własności. Ci, którzy mają zainstalowane KDE 4 i chcieliby zapoznać się z możliwościami tego narzędzia powinni uruchomić
solidshell --commands
Późniejsze dodanie w Solidzie wsparcia dla innych rodzajów urządzeń jest bardzo możliwe. Mogę wyobrazić sobie wparcie dla dodawania urządzeń wskazujących w locie lub użycia Solida do wykrywania zmian co do urządzeń wyświetlających (np podłączenie nowego monitora), dzięki czemu łatwiejsze byłoby konfigurowanie serwera X. Dziedziny te nie są jeszcze częścią Solida, ale być może zostaną dodane.
Jak pomóc:
Kevin Ottens (aka “ervin”), główny programista Solida ma kilka sugestii dla tych, którzy chcą pomóc. Pierwszą rzeczą jest wykorzystywania API w aplikacjach - im więcej aplikacji będzie z niego korzystało, tym bardziej kompletne API uda się stworzyć. Mile widziana jest też pomoc przy dodawaniu nowych dziedzin w których Solid mógłby być wykorzystany oraz dodawaniu obsługi backendów innych niż HAL.
Innym sposobem pomocy jest także testowanie sprzętu i zgłaszanie błędów. Szczególnie przydatne są zgłoszenia na temat sprzętu, który działa w KDE 3.x, ale nie działa z Solidem/HALem w KDE 4. Jeśli znalazłeś taki sprzęt programiści Solida chcieliby o tym wiedzieć.
Od autora:
Wiele dystrybucji korzystało z HALa, lecz każda dystrybucja miała także własne implementacje obsługi sprzętu. KDE pozostawiało obsługę sprzętu dystrybucjom. Wraz z nadejściem HAL i Solida powstanie bardziej ujednolicony system konfiguracji sprzętu. Jeśli twórcy dystrybucji wykorzystają Solida przyniesie to korzyść wszystkim użytkownikom KDE i uczyni obsługę sprzętu łatwiejszą.
Komentarze (RSS) | Trackback (URI)
Komentarze
W komentarzach możesz używać prostych znaczników HTML. Przykłady:
- Link: <a href="jaklinux.org">Linux dla każdego</a>,
- Wytłuszczenie: <strong>tekst pogrubiony</strong>,
- Kursywa: <em>tekst pochylony</em>,
- Przekreślenie: <strike>
tekst przekreślony</strike>, - Kod: <code>
printf("blok kodu");</code>, - Cytat: <blockquote>cytat</blockquote>


Do tego wpisu nie dodano żadnych komentarzy.