Download: Spolecznosc_Projekty
Transkrypt
Download: Spolecznosc_Projekty
SPOŁECZNOŚĆ Projekty Przegląd najciekawszych projektów Open Source Projekty pod lupą W tym miesiącu niespodzianka dla linuksowych konserwatystów – zajmiemy się aplikacjami działającymi w trybie tekstowym. Wbrew pozorom stara, dobra konsola nie tylko ma się dobrze, ale rodzi kolejne interesujące projekty. Surfraw Słowo „surfraw”, czyli „surowe surfowanie” po stronach WWW, autor rozwija jako „Shell Users' Revolutionary Front Rage Against the Web”[1], a więc „Rewolucyjne, frontalne oburzenie użytkowników powłoki na WWW”. Jako że WWW jest coraz bardziej utożsamiane z Internetem, aby skorzystać z wielu użytecznych usług, jesteśmy zmuszeni uruchomić przeglądarkę, odnaleźć stronę oferującą daną usługę, a następnie wypełnić i wysłać formularz (co w przypadku przeglądarek uruchamianych w trybie tekstowym często wiąże się z wielokrotnym uderzaniem w klawisz TAB). Jest to wyjątkowo „niekonsolowy” sposób postępowania. Ze zrodzonej w ten sposób frustracji powstał Surfraw, który pozwala uniknąć części niedogodności związanych z korzystaniem z przeglądarki. Wraz z Surfraw otrzymujemy całkiem pokaźny zestaw skryptów, dzięki którym można skorzystać z popularnych usług webowych z li- nii poleceń. Jest to niezwykle wygodne i pozwala zaoszczędzić wiele czasu. Wystarczy na przykład napisać google linux magazine, by uruchomić przeglądarkę wyświetlającą rezultaty poszukiwania frazy linux magazine w Google. Dalej: wyobraźmy sobie, że potrzebujemy szybko znaleźć dyskografię Caroline Lavelle. Wpisujemy więc w linii poleceń cddb Caroline Lavelle i w chwilę później ukazuje nam się strona z dyskografią tej piosenkarki. Zazwyczaj jest to bardziej efektywne i dokładne niż google caroline lavelle discography. Do dyspozycji mamy więc słowniki, tezaurus, wyszukiwarki projektów Open Source i wiele innych (patrz ramka). Aktualną listę można obejrzeć pisząc sr -elvi. Każdy skrypt posiada własną listę opcji, odpowiadających polom formularza HTML używanym do wysłania zapytania. Jeśli więc przyzwyczaimy się do tego zestawu narzędzi, nasza praca może znacznie zyskać na efektywności. Nazwy poszczególnych skryptów są intu- Wybrane usługi obsługiwane przez Surfraw: amazon wyszukiwanie książek w największej księgarni internetowej ask zapytania poprzez usługę Ask Jeeves bbcnews przeszukiwanie BBC News cddb przeszukiwanie bazy ścieżek płyt CD audio cite przeszukiwanie bazy artykułów naukowych debcontents przeszukiwanie zawartości pakietów Debiana deja przeszukiwanie grup dyskusyjnych (Google Groups) fast przeszukiwanie WWW za pomocą Fast Search (alltheweb.com), jednego z najpoważniejszych konkurentów Google. freshmeat wyszukiwanie projektów w serwisie Freshmeat (analogicznie sourceforge dla SourceForge) imdb przeszukiwanie filmowej bazy danych leodict przeszukiwanie słownika niemiecko-angielskiego i angielsko-niemieckiego openbsd wyszukiwanie informacji związanych z OpenBSD (analogicznie – netbsd dla NetBSD i freebsd dla FreeBSD) pgpkeys przeszukiwanie bazy danych kluczy PGP rfc przeszukiwanie dokumentów RFC scpan przeszukiwanie bazy modułów Perla, Comprehensive Perl Archive Network slinuxdoc przeszukiwanie Projektu Dokumentacji dla Linuksa (LDP) wikipedia wyszukiwanie informacji w największej darmowej, tworzonej przez społeczność encyklopedii internetowej 104 Sierpień 2004 www.linux-magazine.pl Ronald Raefle, visipix.com ARTUR SKURA icyjne i łatwe do zapamiętania, jednak nie wszyscy życzą sobie, by były w ścieżce dostępu. Można je więc umieścić w katalogu /usr/lib/surfraw, pozostawiając w ścieżce dostępu jedynie skrypt sr. Wyszukiwanie w Google ma wtedy postać sr google szukana_fraza. Snownews Snownews jest programem wyświetlającym nagłówki RSS portali informacyjnych, takich jak Slashdot czy LinuxToday. Nie jest to niezwykle rozbudowana aplikacja, raczej niewielki program pozwalający bardzo szybko zorientować się w nowościach za pomocą RSS udostępnianych przez niektóre witryny. Jest to szczególnie przydatne, jeśli jesteśmy zainteresowani nowościami, a równocześnie chcemy kontrolować swój czas i nie marnować go niepotrzebnie na odpalanie przeglądarki, nawigację, omijanie reklam itd. Dzięki temu zamiast spędzać pół godziny każdego ranka na sprawdzaniu nowych informacji, możemy ten czas zredukować do 5-10 minut. Tdl i devtodo Oba niewielkie programy [2][3] pomagają zarządzać prostą listą zadań do wykonania. , Jeśli mówimy o planowaniu zadań, zazwyczaj na myśl przychodzą rozbudowane aplikacje pozwalające zarządzać projektami, Projekty zintegrowane z listą kontaktów, produkujące efektowne wykresy itd. Jeśli jednak nie jesteśmy zainteresowani umieszczaniem każdego aspektu swojego życia w bazie danych, a zależy nam jedynie na prowadzeniu prostej listy zadań, np. związanej z jakimś projektem, możemy skorzystać z prostych narzędzi pracujących w trybie tekstowym. Za pomocą prostych, intuicyjnych poleceń dodajemy, edytujemy i usuwamy zadania do wykonania. Możemy oczywiście generować raporty w różnych formatach (łącznie z PDF), jakkolwiek najbardziej użyteczne jest proste sprawdzenie, co mamy dziś do zrobienia, bez uruchamiania X Window, środowiska graficznego i ciężkiej często aplikacji do zarządzania projektami. Warto przy tym wspomnieć, że istnieją również bardziej rozbudowane narzędzia do zarządzania czasem, zasobami i projektami, działające w trybie tekstowym. Przykładem jest choćby Opensched, za pomocą którego można rozplanować nawet bardzo złożone projekty – Opensched sam zatroszczy się o rozwiązanie konfliktów między zasobami, weźmie pod uwagę dni robocze i wolne od pracy (w tym święta i urlopy) oraz stworzy wykresy w odpowiednim formacie. Screen Screen [4] jest jednym z najpotężniejszych narzędzi działających w trybie tekstowym, jednak zazwyczaj wykorzystuje się ułamek jego możliwości. Najczęściej służy do pozostawiania uruchomionych programów na serwerach, działających mimo wylogowania z systemu. Tego typu rezultat można osiągnąć korzystając ze znacznie mniej rozbudowanych narzędzi, takich jak dtach. Screen jest bowiem kompletną aplikacją do zarządzania tekstowym środowiskiem pracy, oferującą świadomemu użytkownikowi znacznie więcej. Podstawowa funkcjonalność, polegająca na odłączaniu się od sesji za pomocą kombinacji C-a d i ponownym podłączaniu poleceniem screen -r, zapewnia ciągłość pracy uruchomionych programów, bez względu na jakość połączenia między dwoma komputerami: nawet jeśli zostanie ono zerwane, uruchomiony przez nas program będzie nadal działał. Funkcjonalność tą, zwaną automatycznym odłączaniem sesji, można rzecz jasna wyłączyć, zazwyczaj jednak jest bardzo przydatna, pozwala bowiem również kontynuować pracę po ponownym nawiązaniu połączenia w niezmienionym środowisku. Każda sesja screena składa się z okien. Okna te nie są zbyt przydatne przy pracy lo- Rysunek 1: Ekran screena podzielony na dwa obszary, z których każdy zawiera inne okno. kalnej, kiedy mamy do dyspozycji konsole czy wirtualne terminale, między którymi możemy się przełączać za pomocą klawisza Alt i strzałek oraz klawiszy funkcyjnych. Jednak przy pracy zdalnej jest to niezwykle użyteczne: zamiast uruchamiać wiele kopii programów służących do łączenia się ze zdalnym hostem i przełączania się między nimi, wystarczy pojedyncze zalogowanie i uruchomienie screena. Nowe okna tworzy się za pomocą C-a c, zaś przełącza między nimi np. korzystając z C-a spacja. U dołu ekranu (lub na pasku tytułowym emulatora terminala, jeśli jest obsługiwany) pojawi się lista wszystkich okien dostępnych w danej sesji screena. W screenie możemy dowolnie manipulować niemal wszystkimi elementami zwykłego tekstowego środowiska pracy. Za pomocą sekwencji C-a : przechodzimy do trybu poleceń, w którym możemy używać wszystkich komend screena. Przykładowo blankerprg cmatrix ustawi program cmatrix jako wygaszacz ekranu, zaś idle 10 uruchomi go, jeśli terminal pozostanie bezczynny przez 10 sekund. Możemy też uruchomić wygaszacz bezpośrednio poleceniem blanker. To nie wszystko. Okna screena można również dzielić. Przykładowo tłumacz może w górnym oknie umieścić oryginał, zaś w dolnym pracować nad tłumaczeniem, nie zastanawiając się, czy jego ulubiony edytor posiada tego typu funkcjonalność i jak wygodnie się ją obsługuje. Okna mogą być dowolnie małe, dzięki czemu możemy np. w pierwszej lub ostatniej linii wirtualnego terminala umieścić zegar czy przewijający się pasek z aktualnymi wiadomościami – możliwości są nieograniczone. Istnieje jeszcze jedno ważne zastosowanie screena: można zapewnić innym użytkownikom dostęp do naszej sesji, przyznając im różne prawa uczestnictwa w niej. Mogą oni być np. biernymi widzami, i jedynie obserwować, co się dzieje na ekranie, lub też w niej aktywnie uczestniczyć. Ta funkcjo- SPOŁECZNOŚĆ nalność screena jest użyteczna głównie w zastosowaniach edukacyjnych lub podczas specjalistycznych prezentacji, kiedy prelegent nie tylko demonstruje działanie jakiejś aplikacji na rzutniku, co nie zawsze jest dobrze widoczne, lecz również na ekranach komputerów osób uczestniczących w prezentacji czy szkoleniu. W tym przypadku screen musi mieć ustawiony bit SUID, zaś dołączanie do sesji następuje poprzez screen -r nazwa_uzytkownika/. Screen posiada jeszcze wiele innych zalet, które same w sobie mogą nie wydawać się znaczące, jednak w sumie tworzą bardzo przydatną całość. Możemy więc monitorować dane okno pod kątem aktywności lub jej braku. Jeśli np. skończy się długo trwająca kompilacja w jednym z okien, screen poinformuje nas o tym sygnałem wizualnym lub dźwiękowym. Tak samo może zareagować, jeśli w jednym z okien (np. takim, na które przekierowujemy wyjście z lokalnego systemu wykrywania włamań) coś się pojawi. Możemy też wykonywać polecenia w innych oknach za pomocą komendy at, co może być użyteczne w przypadku, kiedy jesteśmy zalogowani na kilka maszyn, na których chcemy wykonać kilka takich samych operacji. Wreszcierozbudowany system kopiowania i wklejania umożliwia pracę z regionami, której wykonanie w inny sposób byłoby niepraktyczne czy wręcz niemożliwe. Za pomocą polecenia copy wchodzimy w specjalny tryb, w którym możemy dowolnie kopiować zawartość ekranu i bufora przewijania, bez interakcji z uruchomionymi programami (zawartość okna przestaje być wtedy odświeżania, co jest też przydatne, jeśli chcemy jedynie skopiować niewielki fragment myszką). Niezależnie od tego, zawartość okien i bufora przewijania można logować czy też zrzucać do pliku w odpowiednim momencie. Mamy nadzieję, że ta prezentacja kilku narzędzi działających w trybie tekstowym zachęci Was do zainteresowania się ich możliwościami i uczyni Waszą pracę na konsoli bardziej efektywną. Powodzenia! ■ INFO [1] Strona domowa Surfraw: http://surfraw.sourceforge.net [2] tdl: http://www.rrbcurnow.freeuk.com/tdl/ [3] devtodo: http://swapoff.org/DevTodo [4] GNU Screen: http://www.gnu.org/software/screen/ www.linux-magazine.pl Sierpień 2004 105