Z MOC (music on console) korzystam od ponad roku. Inne odtwarzacze (np. Amarok, Exaile) kusiły mnogością funkcji, wtyczkami i tym podobnymi, jednak w ostatecznym rozrachunku przegrywały u mnie z szybkością i intuicyjnością konsolowego grajka.

Chciałbym opisać zastosowanie skryptu znalezionego na forum MOC pozwalającego na wyświetlanie tekstu danego utworu. Co ważniejsze odbywa się to w zgodzie z "duchem" odtwarzacza czyli szybko, prosto i w konsoli ;)

Będziemy operować na skryptach i modułach perla więc zacznijmy od zainstalowania przydatnego narzędzia jakim jest g-cpan :

# emerge -av g-cpan

Od razu z niego skorzystajmy i wyszukajmy moduły powiązane z frazą lyrics:

# g-cpan -s lyrics

Na pewno będziemy potrzebować modułu Lyrics::Fetcher zainstalujemy go w ten sposób:

# g-cpan -i -a Lyrics::Fetcher

Warto spojrzeć na komunikaty wyświetlane podczas instalacji. Czasem może się okazać że brak nam jeszcze jakiegoś modułu, ale g-cpan -s i g-cpan -i zazwyczaj przychodzą z pomocą.

Czas zainstalować moduły odpowiedzialne za łączenie się z określonymi serwisami udostępniającym teksty piosenek. Jest tu pewna dowolność wyboru, ale niestety niektóre moduły w moim przypadku informowały o błędzie podczas instalacji. Zainstalowałem dwa z nich Lyrics::Fetcher::AstraWeb oraz Lyrics::Fetcher::Lyrics007 :

# g-cpan -i -a Lyrics::Fetcher::AstraWeb
# g-cpan -i -a Lyrics::Fetcher::Lyrics007

Dobra, mamy wszytko co niezbędne zmierzamy do meritum sprawy :P. Przejdźmy do katalogu .moc i ściągnijmy tytułowy skrypt oraz nadajmy mu prawo do wykonywania:

# cd /home/[NAZWA_UŻYTKOWNIKA]/.moc
# wget ftp://daper.net/pub/soft/moc/contrib/moc-lyrics.pl
# chmod +x moc-lyrics.pl

Należ teraz otworzyć pobrany skrypt i w sekcji Definitions odkomentować nazwy serwisów z których będziemy pobierać teksty (czyli te do których wcześniej zainstalowaliśmy moduły). W moim przypadku odkomentowałem AstraWeb i Lyrics007. Poszukiwanie tekstu piosenki odbywa się zgodnie z kolejnością wystąpienia nazwy serwisu w skrypcie.

Jedyne co zostało do zrobienia to poinformować MOC, że chcemy korzystać ze skryptu. W tym celu otwieram plik config (katalog .moc) i dodajemy wpis:

ExecCommand1 = "/home/[NAZWA_UŻYTKOWNIKA]/.moc/moc-lyrics.pl --artist %r --title %t"

Uruchamiamy MOC, zaznaczamy piosenkę, wciskamy F1 chwila cierpliwości i już możemy śpiewać razem z wokalistą ;)

Dziś uaktualniłem xorg-server do wersji 1.4.2. Plik xorg.conf pozostał ze starszej wersji co przyczyniło się do tego że po uruchomieniu X-ów nie działała ani myszka ani touchpad. Po poszukiwaniach dotarłem do bugzilli gentoo. Okazało się że opcja "CorePointer" powinna występować tylko raz, więc sekcja "ServerLayout" powinna wyglądać mniej więcej tak:

InputDevice    "Mouse0" "CorePointer"
InputDevice    "Keyboard0"
InputDevice    "TouchPad"

Może komuś się przyda.

iriver e10

O to moje nowe cacko ;) Cud - miód odtwarzacz rozpisywać się o nim długo, ale inni zrobili to lepiej, chociażby KHRoN, a i sporo informacji wyczytać można w wątku prowadzonym na forum.mp3store.pl.

Niestety jest jedna irytująca rzecz. By utwory wrzucone na odtwarzacz były widoczne w przeglądarce tagów (tj. przeglądanie po albumach, artystach itp.) należy uaktualnić wewnętrzną bazę odtwarzacza za pomocą programu iRiverplus 3. Tyle, że ten program cechuje się:

  • skopanym, totalnie niepraktycznym interfejsem
  • brakiem wersji na linuksa

Dlatego też szukałem alternatywy. Trafiłem na stronę projektu PMPlib - biblioteki zarządzającej przenośnymi urządzeniami między innymi firm iRiver, Samsug, MSI, oraz skryptu e10update - wykorzystującego pmplib , dostarczającego GUI.

PMPlib niestety nie uraczy się w portage. Skorzystałem z przygotowanego ebuilda którego można znaleźć w bugzilli, kierując się przy tym instrukcją Instalacji ebuildów spoza Portage. Najnowsza wersja to 0.14, więc zmieniłem nazwę ebuilda tak by jej odpowiadała ( działa, ale czy tak się to robi ? ), pobrałem kod źródłowy pmplib-0.14.tar.gz do distfiles i zainstalowałem standardowo przez emerge.

Przed rozpoczęciem korzystania z e10update należy się upewnić że mamy zainstalowany pakiet zenity (jest w portage), to on właśnie zapewnia prosty interfejs. Pozostaje ściągnąć najnowszą wersję skryptu e10update ze strony twórcy i postępować z zawartymi tam instrukcjami :

Przerzucamy skrypt by mieć do niego łatwy dostęp

# mv e10update /usr/bin

nadajemy mu prawa do wykonywania

# chmod +x /usr/bin/e10update

Pozostaje podłączyć odtwarzacz i odpalić skrypt

$ e10update

Urządzenie powinno być montowane w /media/E10 ewentualnie można wyedytować skrypt jeżeli preferujemy inną lokalizację. No to tyle, skrypt może mieć czasem problem z odmontowaniem odtwarzacza, więc wtedy trzeba samemu to zrobić. To teraz jeszcze tylko coś do skrobowania na last.fm ;) bo raczej na rockboxa nie ma co liczyć.

Żyjąc w studenckim mieszkaniu, bywa tak, że każdy ma coś ciekawego na kompie co by i u mnie na dysku mogło się rozgościć, więc się co nie co udostępnia. Jako że jedyny użytkuje linuksa a reszta współlokatorów siedzi na windowsach korzystam z Samby. Thunar będący domyślnym menadżerem plików w Xfce nie posiada przeglądarki zasobów Samby więc wyglądało to zazwyczaj tak, że krzycząc przez całe mieszkanie "to w jakim to folderze udostępniłeś?!", montowałem przez polecenie w konsoli podając adres i nazwę udziału. Postanowiłem oszczędzić trochę struny głosowe i znaleźć narzędzie do przeglądania udostępnionych zasobów, do tego graficzne bo czemuż by nie ;)

W głównym drzewie Portage doszukałem się tylko LinNeighborhood, ale wydał mi się i brzydki i martwy (ostatnia aktualizacja bodajże z 2002 roku). Tak więc google wskazał mi drogę do pyNeighborhood - który ma na nowo przepisany kod wymienionego poprzednika. Wykorzystuje GTK+ 2 tak więc wygląda nie zgorzej:

zrzut ekranu prezentowanego programu

PyNeighborhood nie znajduje się w głównym drzewie Portage, więc żeby zainstalować go przez emerge należy skorzystać z mechanizmu overlays. (Ogólnie i szczególnie o tym mechanizmie w Dokumentacji Gentoo.) Program można znaleźć w overlayu Sunrise którego dodajemy w ten sposób:

# emerge -av layman
# layman -f -a sunrise
# echo "source /usr/portage/local/layman/make.conf" >> /etc/make.conf

Kiedy mamy już dostęp do ebuildów z Sunrise instalujemy pyNeighborhood standardowo przez emerge

#  emerge pyneighborhood

Po zainstalowaniu odszukujemy go w Menu Xfce --> Sieć --> pyNeighborhood. W oknie programu klikamy Edit --> Preferencje. W zakładce General w polu mount folder podajemy ścieżkę do katalogu w którym mamy prawo zapisu (oczywiście jeśli planujemy działać z konta zwykłego użytkownika) czyli np. /home/nazwa_użytkownika/lan. Przechodzimy do zakładki File Managers, usuwamy będący tam wpis i dodajemy nowy zawierający nazwę naszego menadżera plików, czyli w moim przypadku thunar. Jako że pyNeighborhood jest graficzną nakładką na narzędzia Samby, musimy mieć dostęp do niektórych z nich jeżeli chcemy używać go z konta użytkownika. Dobierzemy się do nich dzięki:

# chmod +s /usr/bin/smbmnt 
# chmod +s /usr/bin/smbumount 

Samo użytkowanie programu jest intuicyjne i proste. Po lewej stronie dwukliknięcie myszką na globusie powoduje wyszukanie grup roboczych w naszej sieci, dalsze klikanie na grupie wyszukuje komputery do niej należące. Gdy klikniemy dwukrotnie na, którymś z wyszukanych komputerów pojawi się okno dialogowe, w którym wybieram try to retrieve missing data a jeżeli nie przyniesie to efektu to ręcznie wprowadzamy ip dodawanego kompa. Po przerzuceniu się na lewą stronę, dwuklik powoduje wyszukanie udostępnionych folderów na danym komputerze a kolejny dwuklik je montuje we wskazanym przez nas wcześniej folderze. Prawe kliknięcie na udziale rozwija menu pozwalające otworzyć folder w menadżerze plików jak i od montowanie zasobu.

Niestety jak można przeczytać na stronie programu, jego rozwój się zatrzymał i raczej już nie ruszy. Nie mniej w obecnym kształcie spełnia on swoje podstawowe zadania bardzo dobrze i myślę, że warto się nim zainteresować.

Zachciało mi się otrzymywać maila podsumowującego dzień pracy mojego systemu. Trafiłem na dwa programy Logwatch (właściwie będący zbiorem skryptów) oraz Logcheck będący częścią app-admin/logsentry. Opiszę ten pierwszy ponieważ nie wymaga większej konfiguracji po zainstalowaniu by otrzymywać w miarę satysfakcjonujące podsumowania.

Zacznijmy od tego że będzie nam potrzebne coś do wysyłania maili. W moim przypadku skorzystałem ssmtp, bo już było, a jeśli nie ma to

# emerge mail-mta/ssmtp

oczywiście można skorzystać też z innego agenta przesyłania poczty. Skrzynkę mam na gmailu więc konfiguracja jest pod pasowana pod wymogi serwera smpt googla. W pliku /etc/ssmtp/ssmtp.conf powinno się znaleźć:

mailhub=smtp.gmail.com:587

rewriteDomain=

#Ma być właśnie UseSTARTTLS a nie inne dostępne opcje z TLS
UseSTARTTLS=YES

AuthUser=nazwa_uzytkownika@gmail.com
AuthPass=twoje_hasło 
FromLineOverride=YES

Dopisujemy jeszcze do /etc/ssmtp/revaliases

root:nazwa_uzytkownika@gmail.com:smtp.gmail.com:587

Maile możemy już wysyłać więc czas zająć się samym logowaniem

# emerge logwatch 

Kopiujemy zawartość /usr/share/logwatch/ do /etc/logwatch (pozwoli to zachować oryginalną konfigurację, a pod uwagę brane będą ustawienia z /etc/logwatch)

# cp -R /usr/share/logwatch/ /etc

Nazwę folderu /etc/logwatch/default.conf zmieniamy na conf i przystępujemy do edycji /etc/logwatch/conf/logwatch.conf w którym to powinny znaleźć się następujące opcje

LogDir = /var/log
TmpDir = /var/cache/logwatch
MailTo = nazwa_uzytkownika@gmail.com
MailFrom = Logwatch
Print = No
#mail będzie wysyłany po północy, i ma dotyczyć dni minionego więc:
Range = yesterday
#tu wybieramy szczegółowość raportu, dostępne są trzy poziomy: Low = 0, Med = 5, High = 10
Detail = 5
Service = All
mailer = "sendmail -t"

Mamy już skonfigurowanego logwatch-a więc trzeba sprawić by uruchamiał się o zadanej porze, zbierał informacje z logów i przesyłał je na naszą skrzynkę. Po instalacji Logwatch w katalogu /etc/cron.daily/ powinien znajdować się plik 00-logwatch. Jeżeli go nie ma, tworzymy go i wypełniamy:

#!/bin/sh

if [ -x /usr/sbin/logwatch.pl ] ; then
        exec /usr/sbin/logwatch.pl 2>&1 > /dev/null
fi

Ponieważ chcę aby podsumowanie dotyczyło całego dnia, ustawiłem w /etc/crontab wykonywanie codziennych czynności 5 minut po północy

5  0  * * *     root    rm -f /var/spool/cron/lastrun/cron.daily

W zasadzie to wszystko. Problemem może być to, że gdy komputer nie jest akurat włączony o ustalonej godzinie nie zostanie wykonane zadanie. Z pomocą przybywa anacron, który wykonuje pominięte przez crona zadania standardowo 5 minut po uruchomieniu systemu.

# emerge anacron