tvtime czyli telewizornia pod Linuksa

Historia ta zaczyna się 2 tygodnie temu. Stała się wówczas rzecz niebywała – moja dziewczyna postanowiła pozbyć się Windowsa z powodu ciągłych alertów wirusowych i kompletnego zamulenia systemu. A ponieważ mnie dwa razy powtarzać nie trzeba zainstalowałem na miejsce ikspeka Ubuntu 7.10. Dodam jeszcze tylko, że komputer mej lubej pełnił także rolę odbiornika telewizji kablowej. Poszukiwałem zatem odpowiedniego oprogramowania do tunera TV marki Leadtek model WinFast TV2000 Expert (czy jakoś tak). Widziałem bardzo ładne centrum multimedialne pod Linuksa zwane MythTV. Zrezygnowałem jednak z jego instalacji, gdyż było nieco przyciężkawe (mnóstwo ficzerów, a ja chciałem tylko pooglądać tv). W końcu po mozolnych poszukiwaniach natrafiłem na bardzo przyjemny i kompaktowy program o nazwie tvtime.

Instalacja tvtime (na Debianie Lennym jak i na Ubuntu 7.10) sprowadza się do wydania komendy:

sudo apt-get install tvtime.

Podczas instalacji zostałem zapytany grzecznie o standard sygnału tv, jakiego się spodziewam w kablu i obszar geograficzny gdzie przebywam (jurop). Po tej zabawie program był gotowy do użytku. Tak wygląda m/w po pierwszym odpaleniu:

tvtime-490.png

Obsługa programu jest według mnie intuicyjna i chyba nie wymaga komentarza. W standardowej konfiguracji dla Europy zdefiniowanych jest coś grubo ponad 100 kanałów, które można oczywiście przeszukać i ustawić jako aktywne. Jeśli z jakiegoś powodu (np. w naszej kablówce kanały tv są na niestandardowych częstotliwościach) nam to nie wystarcza można zażyczyć sobie pełnego skanowania częstotliwości przez nasz tuner tv. Robi się to wydając z terminala komendę:

tvtime-scanner

Trzeba się uzbroić w cierpliwość. W zależności od modelu naszego tunera skanowanie w poszukiwaniu stacji tv może trwać od kilku do kilkunastu minut. Po tej operacji pozostaje nam uruchomić jeszcze tvtime i poinstruować go, aby użył zdefiniowanych przez nas kanałów. Wchodzimy w Channel management -> Change frequency table i tutaj wybieramy Custom. Może się także zdarzyć, że domyślnie tuner ustawiony jest w złym standardzie audio. W moim przypadku tak było, dlatego musiałem przełączyć Channel management -> Switch audio standard na tryb PAL-DK.

Po tych wszystkich czynnościach maszyna z Linuksem działa jak odbiornik tv. Co ciekawe, po przejściu z Windowsa na Linuksa odczułem zdecydowaną poprawę płynności obrazu. Jak widać oprogramowanie dla systemu Windows załączane przez firmę Leadtek nie grzeszy jakością i potrafi tylko wyświetlać obraz PAL z częstotliwością 25 klatek/s. Po Linuksem mamy pełne 50 klatek/s, co zdecydowanie poprawia komfort oglądania programów tv. Niestety, nie próbowałem używać pilota od tunera, gdyż akurat siadły mi w nim baterie. Może potem z tym powalczę.

A tak to wygląda in-real:
tvtime-ubuntu-2.jpg

Photoshop pod Linuksem

Adobe Photoshop CS2 pod Linuksem

Największą bolączką grafików, którzy chcieli przenieść się z Windowsa czy Maca na Linuksa jest oczywiście brak Photoshopa w wersji dla Linuksa (firma Adobe nie kwapi się z wydaniem swojego flagowego produktu pod pingwina). Fakt ten dostrzegli twórcy Wine – warstwy emulacyjnej systemu Windows, którzy, wsparci finansowo przez firmę Google, pracowali nad odpaleniem Photoshopa pod Linuksem. Wszyscy śledzący wiadomości ze świata linuksowego pewnie już wiedzą, że wyszła nowa wersja Wine o numerku 0.9.55, która wspiera Photoshopa CS2. Tak więc z ciekawości, a także z pewnej potrzeby chwili, postanowiłem sprawdzić, jak działa tandem Linux + Photoshop CS2. Poniżej kilka moich spostrzeżeń w tej kwestii.

Testy przeprowadziłem na dwóch maszynach. Na pierwszej zainstalowany był Ubuntu 7.10, a na drugim Debian Lenny. Instalacja nowego Wine na Ubuntu nie sprawia specjalnych trudności. Wystarczy:

apt-get install wine

Sprawa nieco się komplikuje w przypadku Lennego, gdyż w jego repozytoriach jest stara wersja Wine’a. Oczywiście nie ma takiego problemu, którego nie można rozwiązać. Zdecydowałem się na ręczną kompilację ze źródeł. Po ich rozpakowaniu komenda ./configure wykazała brak pakietów flex i bison, po których zainstalowaniu udało się odpalić kompilację. Dodam tylko, że trwało to około 10 minut i nie sprawiło problemów. Dla niezorientowanych lub zapominalskich 3 komendy potrzebne do kompilacji i zainstalowania Wine ze źródeł (odpalać w katalogu z rozpakowanymi źródłami):

./configure
make depend && make
sudo make install

I gotowe. Mamy zainstalowanego Wine’a.

Kolejnym krokiem jest instalacja Photoshopa. Sam posłużyłem się wersją trial, którą każdy może bez większych problemów znaleźć na wielu serwisach z plikami (np. tutaj). Niestety, nie dysponuję oryginalnym pakietem, więc nie wiem czy są jakieś różnice w instalacji czy działaniu w stosunku do wersji testowej (ponoć nie ma). Tak czy inaczej przed samą instalacją Photoshopa należy zainstalować pewne dodatki, które pozwolą mu w miarę bezproblemowo działać. Przykładem mogą być oryginalne czcionki systemowe z Windowsa a także Visual C++ 6 Runtime. Na szczęście istnieje bardzo przyjemny skrypt, który robi to za nas. Sprawa sprowadza się do 2 komend:

wget http://kegel.com/wine/winetricks
sh winetricks corefonts vcrun6

Działanie skryptu polega na zassaniu odpowiednich plików z sieci i ich zainstalowaniu pod Wine. Z tego też powodu będzie trzeba potwierdzać chęć instalacji poszczególnych komponentów w ich instalatorach.

Jak już dodatki się zainstalują można przystąpić do odpalenia instalatora Photoshopa. Znajdziemy go w podkatalogu Photoshop CS2 w archiwum z instalacją. Plik nazywa się setup.exe (co za niespodzianka). Zakładam, że każdy sobie z tym poradzi, więc nie będę opisywał tej części. :)

No i to właściwie koniec procedur instalacyjnych. Odapalmy Photoshopa z menu Wine -> Programs -> Adobe Photoshop CS2 i po kilku dłuższych chwilach mamy go do dyspozycji.

To, niestety, nie koniec. O ile uruchomić Photoshopa za pierwszym razem można, o tyle już drugie podejście może skończyć się bardzo brzydkim komunikatem o błędzie:

Ojojo, jest buba!

Co robić? Na szczęście jest rozwiązanie. Wystarczy skasować plik konfiguracyjny Photoshopa, aby ten błąd nie występował. Robi się to tak (wszystko w jednej linijce!):

rm "~/.wine/drive_c/windows/profiles//Application Data/
Adobe/Photoshop/9.0/Adobe Photoshop CS2 Settings/Adobe*.psp"

I tutaj mała dygresja. O ile w Ubuntu wystarczyło zrobić to jeden raz, o tyle już pod Debianem muszę to robić za każdym razem – tuż przed uruchomieniem Photoshopa. Nie mam pojęcia czemu tak jest. Kolejną sprawą jest to, że pod Lennym z włączonym Compizem nie można zmienić trybu mieszania warstwy – nie rozwija się combobox. Jest pewnie jeszcze kilka innych niuansów (np. prędkość działania), które utrudniają pracę z Photoshopem pod Linuksem. Tak czy inaczej Photoshop działa i wszystko idzie w dobrym kierunku.

Conky jako panel GNOME

conkybarpanel.png

W pogoni za funkcjonalnością i ładnym wyglądem mojego pulpitu postanowiłem pobawić się narzędziem Conky. Jest to mały program, który potrafi wyświetlać różne informacje o systemie w czasie rzeczywistym. Przykładem może być np. obciążenie procesora czy transfer danych na eth0. Conky jest mocno konfigurowalnym narzędziem, a wygląd statystyk można dość dowolnie ustalać. W moim przypadku zapragnąłem posiadać cienki poziomy pasek z podstawowymi informacjami o stanie systemu. Widziałem takie cudo na stronie uela, który zresztą podzielił się plikiem konfiguracyjnym Conkiego (dzięki wielkie!). Nieco go zmodyfikowałem do swoich potrzeb, a wyniki można zobaczyć tutaj (to ten cienki paseczek u góry). Wszystko było bardzo fajnie, ale natrafiłem na jeden dość denerwujący problem.

Conky, o ile mi wiadomo, nie potrafi stworzyć okienka, które zachowywałoby się jak panel GNOME. Konsekwencje tego są takie, że każde okienko może przesłonić Conkiego i z obserwacji statystyk nici. Być może da się go poinstruować, aby był always-on-top, ale wtedy przesłaniałby on inne okna (paski okien z przyciskami sterującymi). Pogooglowałem więc nieco i znalazłem rozwiązanie. Jest nim specjalny aplet o nazwie gnome-swallow-applet. Aplet ów potrafi “połknąć” dowolne okienko z naszego pulpitu i umieścić jego zawartość w panelu. Właśnie o takim rozwiązaniu myślałem, a działa wyśmienicie. Poniżej przepis krok-po-kroku, jak uzyskać Conkego w panelu (na przykładzie mojego .conkyrc).

  1. Instalujemy pakiet gnome-swallow-applet (jest dostępny w Debianie Lennym) i Conkiego:

    sudo apt-get install gnome-swallow-applet conky
    
  2. Tworzymy w katalogu domowym plik konfiguracyjny do Conkiego o nazwie .conkyrc. Proponuję jako szablonu użyć mojej konfiguracji.
  3. Jeśli jednak ktoś pokusiłby się o samodzielne stworzenie .conkyrc to warto mieć na uwadze kilka rzeczy. Po pierwsze należy poinstruować program, aby stworzył własne normalne okienko bez dekoracji i bez przezroczystości:
    own_window yes
    own_window_transparent no
    own_window_type normal
    own_window_hints undecorate,sticky,skip_taskbar,skip_pager
    

    Co również ważne należy oknu temu nadać unikalny tytuł, aby aplet mógł je znaleźć i “połknąć”. Ja użyłem po prostu nazwy “conky”, jak poniżej:

    own_window_title conky
    

    Kolejną rzeczą jest ustalenie rozmiaru okienka, tak aby mniej/więcej wypełniało nasz panel. W moim przypadku chciałem aby panel rozciągał się na całą szerokość ekranu (czyli 1280 pikseli). Dlatego też dodałem poniższą linijkę do pliku konfiguracyjnego:

    minimum_size 1277 21
    

    Ustaliłem szerokość o 3 piksele mniejszą od rozdzielczości poziomej ekranu (tak wyszło z eksperymentów). Wysokość okna natomiast ustawiłem na wysokość panelu (o czym zaraz). Na końcu trzeba jeszcze ustawić kolor tła okienka Conkiego przez:

    own_window_colour 202010
    
  4. Gdy już mamy skonfigurowanego Conkiego należy dodać nowy panel. Ja zdecydowałem się na panel górny, ale nic nie stoi na przeszkodzie, aby był on na dole (jeśli panel sterujący mamy na górze). Jego grubość ustawiłem na 21 pikseli i zaznaczyłem opcję rozciągnięcia (Expanded). Do owego panelu następnie dodajemy Swallower Meta-Applet:
    swallower.jpg
  5. Na końcu ustawiamy applet, aby uruchamiał Conkiego i go “połykał”:
    swallow.jpg

Po tych wszystkich czynnościach powinniśmy mieć już działającego Conkego w panelu. Dodam jeszcze, że aby zrekonfigurować applet należy kliknąć prawym przyciskiem myszy na pierwszą kolumnę pikseli na panelu. W innym miejscu menu podręczne apletu po prostu nie działa. Co ciekawe wszystko pięknie również śmiga pod Compizem, prócz menu podręcznego. Dlatego też zalecam zabawę z ustawieniami bez włączonego Compiza. Mam nadzieję, że niczego w moim opisie nie pominąłem. Jeśli tak, proszę o komentarz. :)

Mój plik konfiguracyjny do Conkiego
Strona Conkiego

X-Fi i Linux

Dzisiaj nieco wiadomości z pola kart dźwiękowych z X-Fi w nazwie. Karty te są są na rynku już około 3 lat. Mimo tego, firma Creative nie pokwapiła się do wydania sterownika dla swojego flagowego produktu pod Linuksa. Co prawda w tzw. międzyczasie wyszedł sterownik pod 64-bitowego Linuksa, lecz jest on niestabilny. Poza tym ilość osób, którym udało się go skompilować i zainstalować można chyba zapisać w formie liczby dwucyfrowej. Z tego też powodu zostałem niejako zmuszony do pozbycia się rzeczonej karty z mojego kompa, gdyż od prawie dwóch miesięcy pracuję pod kontrolą Debiana. Niestety, jakość dźwięku generowanego przez zintegrowaną kartę muzyczną woła o pomstę do nieba. Dość jednak narzekania, gdyż pojawiło się światełko w tunelu.

Przeczytałem ostatnio bardzo ciekawy artykuł na portalu Phoronix o tym, że firma 4Front Technologies wypuściła nową wersję systemu dźwięku OSS. Najnowsza wersja zawiera wsparcie dla odtwarzania dźwięku przez karty X-Fi. Jest to co prawda jeszcze sterownik w wersji beta, ale pozwala z optymizmem patrzeć w przyszłość. Co ciekawe, kod sterownika zawiera nieco plików dostarczonych przez samą firmę Creative, co być może ułatwi programistom z projektu ALSA wreszcie dodać wsparcie dla X-Fi w tworzonej przez nich bibliotece. Oczywiście wszystko wymaga czasu, ale osobiście mam nadzieję, że będę wreszcie mógł spowrotem wsadzić swojego X-Fi do kompa i cieszyć się czyściutkim dźwiękiem (być może nawet wspomaganym przez Crystalizera). Pożyjemy, zobaczymy.

Phoronix: Open-source Creative X-Fi Support

Adobe Flash Player i Debian 64-bit

Dzisiaj będzie krótki wpis związany z instalacją Flash Playera pod Debianem w wersji 64-bitowej (lenny). Do dzisiaj korzystałem z pakietu swfdec, ale sprawował się on dość kiepsko (wolny, z błędami w renderingu i obciążający procesor na 100%). Doszedłem zatem do wniosku, że przydałby się oryginalny Flash Player. No i zastałem małą zagwozdkę, a mianowicie brak wsparcia firmy Adobe dla Linuksa 64-bitowego. Na szczęście po googlaniu okazało się, że ludzie dobrej woli napisali wrapper na 32-bitowe wtyczki do przeglądarki. Cudo to nazywa się nspluginwrapper i znajduje się w repozytoriach debiana lenny’ego (contrib). Oto prosty przepis na Flasha pod Debianem 64-bit:

  • Instalujemy rzeczony wrapper poprzez:
    sudo apt-get install nspluginwrapper
  • Następnie zasysamy Flash Playera dla Linuksa 32-bit z adresu (wersja tar.gz):
    http://www.adobe.com/go/getflashplayer
  • Rozpakowujemy paczuszkę i wchodzimy do rozpakowanej zawartości:
    tar xvf install_flash_player_9_linux.tar.gz
    cd install_flash_player_9_linux
  • Teraz pora na przekopiowanie wtyczki do katalogu wtyczek Firefoxa:
    sudo cp libflashplayer.so /usr/lib/iceweasel/plugins
  • I ostatnia rzecz czyli odpalenie wrappera poprzez:
    sudo nspluginwrapper -i /usr/lib/iceweasel/plugins/libflashplayer.so
  • Jeśli był uruchomiony Firefox należy go zrestartować

Po tych kilku krokach mamy zainstalowanego Flash Playera. Należy pamiętać, że odpalenie pierwszego pliku swf w przeglądarce chwilkę trwa. Potem wszystko już działa jak burza.