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

Podobne dokumenty