Repozytorium i wymagania gBlipa

gBlip - screenshot z projektuDzisiaj napiszę o tym, jak zdobyć kod gBlipa i jak go uruchomić. :) Instrukcja ta dotyczy systemu Ubuntu 8.04 beta. Z założenia gBlip jest programem integrującym się z desktopem GNOME czy Xfce, więc póki co nie planuję jego wersji pod Windowsa (choć jest to możliwe).

UPDATE dla Windowsowców: Vigridowi udało się w dość prosty sposób uruchomić gBlipa pod Windowsem. Opisał to na swoim blogu. To nie wszystko. Wojtek Siudziński a.k.a. Suda przygotował instalator dla Windowsa. Wielkie dzięki dla nich! :)

Ale zanim napiszę o sednie sprawy mała uwaga: gBlip żyje póki co tylko parę dni, więc ciężko go nazwać choćby wersją pre-alpha. Nie oczekujcie zbyt wiele. To jest dopiero niestabilna wersja 0.1.x. :) Innymi słowy w tym stadium rozwoju prawdopodobieństwo wystąpienia błędów jest bardzo duże. Większość opcji jest niedostępna (choćby sidebar czy okienko konfiguracji). Mimo tego proszę Was o feedback w komentarzach – co zmienić, co jest niewygodne, co by się przydało itp. Póki co nie ma co pisać o błędach, bo jest ich cała masa. :)

Dodam jeszcze, że jesli poniższy opis wyda się komuś egzotyczny to może lepiej niech poczeka na wersję w postaci paczki. Zrobię ją tak szybko jak dowiem się jak to się robi (zna ktoś jakiś dobry tutorial do paczek debiana?). :)

Repozytorium kodu

Projekt gBlip został zarejestrowany na portalu SourceForge.net i tam też ma swoje repozytorium kodu. Zdecydowałem się na Subversion, gdyż jest wygodne, stabilne i dobrze mi znane. :) Oto komenda, którą trzeba wydać, aby zassać kod źródłowy gBlipa:

svn checkout https://gblip.svn.sourceforge.net/svnroot/gblip/trunk gblip

Subversion zapyta o certyfikat SSL, na co należy odpowiedzieć twierdząco. Po dłuższej chwili zostanie utworzony podkatalog gblip a w nim najświeższa wersja programu. Aby uaktualnić z koleji kody źródłowe należy wydać poniższą komendę będąc w tym samym katalogu co wydając poprzednią:

svn update gblip

Co jest potrzebne i jak to się uruchamia?

Aby uruchomić program trzeba mieć zainstalowanego Pythona i biblioteki PyGtk i cjson. Tak się składa, że standardowa instalacja Ubuntu zawiera dwie pierwsze zależności. Należy tylko doinstalować cjsona:

sudo apt-get install python-cjson

gBlip pod czystym Ubuntu 7.10Niestety, starsze Ubuntu nie mają paczki cjson w repozytorium i trzeba ją zainstalować ręcznie (trzeba mieć pakiety build-essential python-dev; instalacja za pomocą sudo setup.py install). Teraz można już uruchomić program. Robi się to wydając poniższą komendę będąc w katalogu gblip/src:

python gblip.py

W czasie pierwszego uruchomienia pokaże się okienko do logowania. Dane zapiszą się w profilu (nawet jeśli nie zaznaczony będzie ptasiek). Potem już gBlip jest do Waszej dyspozycji (albo raczej póki co niedyspozycji :P ). W razie kłopotów najlepiej skasować plik ~/.gblip/config zawierający konfigurację.

Z mojej strony póki co to wszystko. Zapraszam do komentowania. :)

Komentarzy:19 Responses to “Repozytorium i wymagania gBlipa”

  1. szaq138:

    Dzięki wielkie, odpaliłem zobaczyłem i widzę że niedługo będzie to naprawdę coś! :)

  2. rav:

    Wygląda wspaniale! Chciałoby się coś takiego na Windowsa ;)

  3. Marcin Seredyński:

    Jest taki pakiet ‘hello’, który jest “Hello, World’em” jeśli chodzi o pakiety dla Debiana :) HTH

  4. bayger:

    @shaq138:
    dzięki

    @rav:
    może z czasem zrobi się wersję pod windę

    @Marcin Seredyński:
    dzięki za info :)

  5. Hadret:

    Orajt – włączył się (: Python-cjson jest obecny w repozytoriach Debiana w wersji 1.0.5 (z tego co widziałem, jest to najnowsza wersja), po włączeniu gBlip wypluwa:

    python gblip.py
    Exception in thread Thread-1:
    Traceback (most recent call last):
    File “/usr/lib/python2.4/threading.py”, line 442, in __bootstrap
    self.run()
    File “/usr/lib/python2.4/threading.py”, line 422, in run
    self.__target(*self.__args, **self.__kwargs)
    File “/home/hadret/src/gblip/src/com_queue.py”, line 60, in __worker
    self.queue.task_done()
    AttributeError: Queue instance has no attribute ‘task_done’

    Traceback (most recent call last):
    File “gblip.py”, line 109, in pulse_consumer
    self.comQueue.successQueue.task_done()
    AttributeError: Queue instance has no attribute ‘task_done’

    Nie pobiera statusów (tych, które winny wyświetlać się pod spodem), ale wyświetla ostatni dodany na Blipie bezproblemowo (:

  6. bayger:

    @Hadret:
    Zaraz zerknę co może nie grać, ale podejrzewam różnice w Pythonie 2.4 (którego używasz) i 2.5 (którego ja używam). Mam książkę Beazleya Python Essentials (o 2.4) i w niej nie ma tej metody, więc chyba za stary Python. Pewnie da się po prostu pominąć użycie tej metody i będzie grało. Zrobię commita i dam Ci znać na blipie. :)

  7. Hadret:

    Python 2.5 będzie lada chwila w Debianie (już jest w unstable, ale psuje niektóre zależności, które – póki co – są mi niezbędne), więc będę “na czasie” (:

  8. Marcin Seredyński:

    Co się ma nie dać uruchomić pod Windowsem, jak się da? Nawet pod jego najpodlejszą odmianą: gBlip pod Vistą. :)

  9. nrm:

    odpaliłem (ubuntu 8.04 beta), działa, wczesna pre alfa ;) ale już trzymam kciuki za rozwój – zapowiada się bardzo przydatna aplikacja dla blipersów ;)

  10. suda:

    Korzystając z opisu Vigrida odpaliłem na Win (pobawię się z instalatorem zależności aby zautomatyzować ten proces). Projekt faktycznie w początkowej fazie, ale podoba mi się bardziej niż blipper ;) Chyba nie ma sensu dalej modzić z AirBlip-em który leży w moim katalogu ‘projects’ :P

  11. bayger:

    @suda:
    Ależ jest jak najbardziej sens aby napisać coś jeszcze. Rozumiem, że AirBlip korzystałby z AIR’a? No to tam można poszaleć i jeszcze odpalić w przeglądarcy czy na blogu. Ja bym na Twoim miejscu nie porzucał projektu. Tak naprawdę blipper, gblip czy airblip w pewien sposób się uzupełniają.

  12. suda:

    @bayger: Niby by się uzupełniały, choć wolał bym połączenie sił w celu stworzenia jednego ale dobrego klienta (choć w naszym wypadku to mało możliwe, bo jeszcze nie widziałem mashupu Java+Python+ActionScript :D ). Na pewno za jakiś czas będzie AS3BlipLib :)

  13. bayger:

    @suda: anyway, trzymam kciuki za AirBlipa :D

  14. szaq138:

    No więc tak, update zrobiłem przed chwilą gblipa.

    Zauwazyłem żę pole gdzie są obserwowani można hmm zciągnąć w lewo tak że go nie widać i fajnie – chodzi mi o ten sidebar.

    I wtedy wpadłem na pomysł, może by tak zrobić okienko gblipa teraz trochę węższe jak teraz? Nie dało rady… Zrobiło się szersze ;o, w height działa rozciąganie, a w width nie…


    gblip.py:210: GtkWarning: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 466
    gtk.main()
    gblip.py:210: GtkWarning: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 356
    gtk.main()
    gblip.py:210: GtkWarning: gtk_widget_size_allocate(): attempt to allocate widget with width -3 and height 484
    gtk.main()
    gblip.py:210: GtkWarning: gtk_widget_size_allocate(): attempt to allocate widget with width -2 and height 484
    gtk.main()

    Troszkę z konsoli…

  15. Wojtek 'Suda' Siudziński :: BLOG:

    Instalator gBlip dla Windows…

    Dzisiaj dowiedziałem się o powstaniu projektu gBlip, czyli klienta Blip-a napisanego w Pythonie, z użyciem GTK. Nie mogąc się doczekać przetestowania (co było by równe z czekaniem aż pójdę do domu i odpalę na Ubuntu), postanowiłem uruchomi…

  16. bayger:

    @szaq138: no tak, nie kumam tego layoutowania w gtk jeszcze. Muszę doczytać i to wtedy poprawię. Póki co to jest tak zakręcone, że nie wiem jak. :) Ale dzięki za uwagę, zapisałem i niedługo się tym zajmę.

  17. Patryk Bajer == Bayger » Wpisy » Wersja 0.1.3 leży już w repozytorium:

    [...] wpis informacyjny. gBlip w wersji 0.1.3 leży już w repozytorium i czeka na testowanie. Jest to najprawdopodobniej ostatnie wydanie przed 27 kwietnia z powodu mojej [...]

  18. kaliber:

    Czy sa udostepnione “tarballe” do aktualnych wersji? Jesli by byly to chetnie dodalbym ten pakiet do swojej ulubionej dystrybucji :)

  19. bayger:

    @kaliber: niestety, tarballi jeszcze nie ma. Będą dopiero pod koniec przyszlego tygodnia (mam nadzieje), jak bedzie wersja 0.2.

Skomentuj