„Wiele jest prac, których nie możesz wykonać, dopóki się nie odważysz, lecz jeszcze więcej takich, których się nie nauczysz, nie wykonując”.

(przysłowie armeńskie)

Obsługa dodatkowych przycisków myszki

wtorek, 18 listopada 2008 @ 21:19
Do kategorii: GNU/Linux, Komputer

Obecnie rozsądnym minimum, jeżeli chodzi o możliwości myszki, są trzy przyciski i jedna rolka. Mimo, iż jestem gorącym zwolennikiem maksymalnego wykorzystywania klawiatury, to jednak klikam całkiem dużo. A skoro już dłoń tak często leży na myszce, to czemu by nie skusić się na dodatkowe przyciski na gryzoniu? Z takim nastawieniem zakupiłem mysz Logitech MX400, która jest wyposażona w tylt (kółko przechylane na boki) i dwa przyciski na lewym boku, co łącznie daje cztery dodatkowe przyciski. Oczywiście, pojawił się problem, jak to skonfigurować pod Linuksem…

Tu zaczęły się boje ze znienawidzonym przeze mnie xorg.conf, kombinowanie ze sterownikiem evdev (który na Debianie zdołał przecież opanować tylt w jakimś starszym modelu Logitecha) i inne tego typu historie. Koniec końców stanęło na tym, że tylt jednak nie działał, a boczne przyciski pracowały tylko w Firefoksie, niejako same z siebie. Mogłem więc wygodnie skakać po historii stron, na czym mi bardzo zależało, ale pozostawał pewien niedosyt związany z niewykorzystanymi możliwościami, nietaniej przecież, myszki. Rzutem na taśmę zainstalowałem program btnx, który zdawał się wykrywać wszystkie przyciski, ale daemon nie chciał wystartować, więc nic z tego nie wynikało. W końcu postanowiłem odłożyć sprawę na później.

Niedawno zaktualizowałem system, po czym zauważyłem dziwne zachowanie myszy. Okazało się, że btnx wreszcie zaczął działać. Co prawda, program wciąż sprawia sporo kłopotów, gdy się chce obsłużyć kilka myszek, ale poza tym jest już całkiem nieźle.

Czytaj dalszą część wpisu »

Windows na Linuksie, czyli VirtualBox

sobota, 8 listopada 2008 @ 21:37
Do kategorii: GNU/Linux, Komputer

Mimo iż bardzo nie lubię systemu Windows we wszelkich jego odmianach, od czasu do czasu jestem zmuszony z niego skorzystać nawet na własnym komputerze. Na ogół potrzebuję sprawdzić, jak jakąś stronę renderuje IE. Pomocny tu bywa co prawda projekt IEs4Linux, jednak słabo obsługuje on najnowsze wersje tej niby-przeglądarki, a na dodatek nie potrafi jej zmusić do obsługi filtrów CSS. Pozostaje zatem uruchomienie IE w jego natywnym środowisku. Jako że z dostępem do Windowsa nie mam problemu, bo mogę legalnie pobrać chociażby XP z uczelnianego MSDNAA, miałem go zainstalowanego na starym laptopie. Trudno jednak mówić o wygodzie pracy, gdy swoje ulubione środowisko pracy ma się na Linuksie, a co jakiś czas trzeba zrestartować komputer, by podejrzeć efekty pracy w Windows.

Zastanawiałem się kiedyś nad instalacją Windowsa na wirtualnej maszynie, zawsze jednak miałem to rozwiązanie za skomplikowane i mało wydajne. Wczoraj jednak postanowiłem w końcu spróbować VirtualBoksa. Okazało się, że zadanie jest nad podziw proste.

Zacząłem od instalacji programu na moim Arch Linuksie. Do wyboru mamy tu wersję OSE (Open Source Edition) na licencji GPL i zamkniętą na licencji PUEL (VirtualBox Personal Use and Evaluation License). Ponieważ nawet do uruchamiania Windowsa wolę korzystać z otwartych narzędzi, zainstalowałem pakiety z -ose w nazwie (rejestrację pominąłem). Oznaczało to przede wszystkim brak wsparcia dla USB.
Czytaj dalszą część wpisu »

Programator AVR USBasp na Linuksie

środa, 22 października 2008 @ 17:28
Do kategorii: Elektronika, GNU/Linux, Komputer

Programator AVR na bazie USBaspZ braku portu LPT w nowym komputerze zaopatrzyłem się w programator USB, żeby móc czymś męczyć AVR-y. Padło na urządzenie na bazie USBasp, konkretnie model firmy Protech Micro (można ich znaleźć także na Allegro). Zakup był trochę ryzykowny, gdyż producent nie gwarantował, że programator będzie obsługiwany pod Linuksem, choć fakt, iż układ jest wspierany przez AVRDUDE dobrze rokował. I rzeczywiście, pod rootem programator śmigał od ręki. Gorzej było z uruchomieniem go z konta zwykłego użytkownika. Drogą eksperymentów z udev udało mi się w końcu nadać odpowiednie uprawnienia i mogę spokojnie zająć się programowaniem. Oto droga do celu pod Arch Linuksem.
Czytaj dalszą część wpisu »

Holux M-241 na Linuksie

środa, 15 października 2008 @ 22:27
Do kategorii: GNU/Linux, Komputer

Holux M-241 Niedawno zakupiłem logger GPS Holux M-241. Generalnie do obsługi tego typu urządzeń pod Linuksem korzysta się z takich aplikacji jak gpsd i gpsbabel, okazało się jednak, że mój logger jest dosyć oporny w kwestii pobieranie danych z logiem trasy. Na szczęście, ktoś już się tym zajął. Rozwiązaniem jest MTKBabel (skorzystałem z wersji 0.7).

Ponieważ ani w głównym repozytorium Archa, ani w AUR nie znajdziemy tego pakietu, pobieramy archiwum z programem. MTKBabel jest napisany w Perlu i potrzebuje dwóch niestandardowych bibliotek. Zainstalujemy je przez CPAN.

Najpierw, jeżeli trzeba, doinstalowujemy moduł YAML do Perla:

# pacman -S perl-yaml

Następnie uruchamiamy cpan z konta roota, odpowiadamy yes na ewentualne pytania i wydajemy komendy:

install Device::SerialPort
install Date::Format

CPAN poinformuje nas o pomyślnym zainstalowaniu bibliotek.

Teraz potrzebujemy uprawnień do urządzenia /dev/ttyUSB0, pod którym będzie się meldować logger. Urządzenie to należy do grupy uucp, więc powinniśmy się do niej dopisać:

# gpasswd -a użytkownik uucp

Teraz możemy już pobierać dane:

$ mtkbabel -s 38400 -l off -f Trasa_testowa -t -w

Czytaj dalszą część wpisu »

Wirtualni użytkownicy FTP na vsftpd

środa, 20 sierpnia 2008 @ 12:51
Do kategorii: GNU/Linux, Komputer

Jakiś czas temu otrzymałem zadanie postawienia serwera FTP, który miał umożliwić pobieranie (bez możliwości zapisywania) plików ze wspólnego zasobu przez pracowników firmy. Logowanie anonimowe odpadało ze względów bezpieczeństwa. Korzystanie przez kilka osób z jednego konta wydało mi się mało wygodne, a z pewnością nieeleganckie. Idealnym rozwiązaniem byłoby stworzenie wirtualnych kont, które logowałyby się do tego samego chrootowanego zasobu z takimi samymi uprawnieniami. Niestety, w opcjach vsftpd nie znalazłem takiej możliwości — trzeba by wykorzystać użytkowników systemowych, a i tak pewnie wymagałoby to jakiejś ekwilibrystyki, żeby każdy z nich uzyskiwał dostęp do tego samego katalogu.

Można jednak obejść ograniczenia vsftpd korzystając z możliwości mechanizmu uwierzytelniania PAM. Do tego będzie nam potrzebna biblioteka pam_userdb.so i programik db_load, który w CentOS-ie jest udostępniany przez pakiet db4-utils.
Czytaj dalszą część wpisu »

Kłopoty z Samsungiem ML-1610

środa, 18 czerwca 2008 @ 18:02
Do kategorii: GNU/Linux, Komputer

Czy twoja ML-1610 na Debianie cię wkurza? Znów wypluwa śmieci na kartce, odmawia wydrukowania większej bitmapy, czy przerywa drukowanie PDF-a komentując to tekstem „INTERNAL ERROR” i ciągiem losowych liczb? Uczyń te trzy kroki:

  1. Usuń drukarkę z systemu.
  2. Zainstaluj pakiet splix.
  3. Dodaj jeszcze raz drukarkę, najlepiej przez interfejs WWW CUPS-a, wybierając sterownik Samsung ML-1610, 1.0 (en).

I nie usuwaj pakietu splix, bo znów kontrolę nad drukarką przejmie ten ohydny domyślny sterownik. splix też nie jest idealny, w tym czy innym programie czasem coś nie trybi, ale przynajmniej nie będzie ci marnował kartek. Wiem, co mówię.

Szybka instalacja PostgreSQL na Debianie

czwartek, 29 maja 2008 @ 21:26
Do kategorii: GNU/Linux, Komputer, Polibuda

Poniższy opis nie jest szczególnie odkrywczy, ale przyda się tym, którzy muszą szybko postawić PostgreSQL, np. na potrzeby pisania projektu z baz danych, gdy uczelniany serwer znów szwankuje. Przy okazji podaję opis prymitywnego testu, który pozwala sprawdzić, czy wszystko ze sobą współgra (bo sama instalacja to w gruncie rzeczy kilka poleceń w terminalu, ewentualnie parę kliknięć). Zatem do dzieła!

Instalujemy postgresql i php5-pgsql (zakładając, że Apache i PHP mamy już działające). Z poziomu roota, wykorzystując uprawnienia użytkownika postgres tworzymy nowego użytkownika bazy (najprościej, jeżeli będzie miał taki login, jak nasz). Hasło ustawiamy wedle uznania:

# su postgres -c "createuser -P użytkownik"
Enter password for new role:
Enter it again:
Shall the new role be a superuser? (y/n) n
Shall the new role be allowed to create databases? (y/n) y
Shall the new role be allowed to create more new roles? (y/n) n

Teraz tworzymy testową bazę, by sprawdzić, czy całość nam działa:

Czytaj dalszą część wpisu »

Gmrun

sobota, 10 maja 2008 @ 21:36
Do kategorii: GNU/Linux, Komputer, Lifehacking

Gmrun to mały programik, który służy do uruchamiania innych programów, czyli jest to wygodniejszy odpowiednik „menu Start” (chyba że ktoś za wygodne uważa przebijanie się przez menu). Dotąd używałem aplikacji fbrun z Fluxboksa, ale od przesiadki na Openboksa czułem potrzebę znalezienia jakiegoś bardziej funkcjonalnego odpowiednika, lżejszego jednak niż Katapult, który przy tych wszystkich swoich wodotryskach (kalkulator jest naprawdę przydatny) jest ciut kobylasty.

Gmrun na razie sprawdza się znakomicie. Podpiąłem go w xbindkeys do skrótu Win+R, wyedytowałem konfigurację i śmiga aż miło. Mam wreszcie podpowiadanie poleceń za pomocą klawisza Tab, wyszukiwanie wprzód i w tył za pomocą Ctrl+S oraz Ctrl+R (dodatkowo można wcisnąć ! przed rozpoczęciem wpisywania polecenia, by wyszukiwać frazę tylko na początku polecenia). Ponadto, za pomocą Cltr+Enter można uruchomić polecenie w emulatorze terminala. Program można także nauczyć rozpoznawania typów plików i obsługi protokołów, jak HTTP, FTP czy uruchamiać w Gvim strony manuala po wpisaniu np. man:ssh.

Poniżej mój świeżutki plik konfiguracyjny .gmrunrc:

Terminal = urxvt -geometry 121x100
TermExec = ${Terminal} -e $SHELL -c
AlwaysInTerm = mc lynx htop
Top=300
Left=250
History = 256
URL_http = firefox %u
URL_ftp = gftp %u
URL_man = gvim -R -c "Man %s" -c "bdelete 1"
URL_mailto = claws-mail --compose %s
EXT:txt,cc,cpp,h,java,html,htm,epl,js,css,xml,xsl,am,py,pl = gvim %s
EXT:tex,latex = kile %s
EXT:odt,ods = ooffice %s

Jednakowy wygląd aplikacji Qt i GTK

czwartek, 24 kwietnia 2008 @ 16:17
Do kategorii: GNU/Linux, Komputer

Niedawno po raz kolejny męczyłem się z uzyskaniem jednakowego wyglądu aplikacji pisanych w Qt i GTK. Robiłem to jakiś czas temu w Debianie, teraz przyszło mi powtarzać to dla Archa. Nie mogłem sobie przypomnieć, jakiż to styl pozwala pogodzenie tych dwóch światów, w końcu wygooglowałem: to QtCurve. Powinniśmy zatem szukać pakietów mających qtcurve w nazwie, np. gtk2-engines-qtcurve i kde-style-qtcurve w przypadku Debiana.

Gdy mamy już zainstalowany styl w wersji dla Qt i GTK, przystępujemy do jego zaaplikowania. Najpierw odpalamy Centrum sterowania KDE (kcontrol) -> Wygląd i motywy -> Styl -> Styl interfejsu -> QtCurve. Gnome’owcy, którzy nie mają Centrum sterowania chyba muszą je sobie dociągnąć. Zapewne doinstalowania będzie też wymagał programik gtk-chtheme, w którym każemy GTK korzystać z QtCurve. Teraz pozostanie nam zrestartować X-y, by wszystkie programy przyjęły zmiany.

Oczywiście, QtCurve nie wszystkim musi się podobać. Niemniej ten styl ma naprawdę bogate możliwości konfiguracyjne, wystarczy kliknąć Konfiguruj w Centrum sterowania. Jeżeli zmienimy schemat kolorów dla KDE (można coś sobie pobrać np. z KDE-Look.org) przejmą go też aplikacje pracujące pod GTK.

U mnie, pod Openboksem, większość programów obsługuje poprawnie QtCurve i mogę cieszyć się w miarę spójnym pod względem wyglądu środowiskiem graficznym.

Jeżeli ktoś jest zainteresowany tematem i chciałby spróbować rozwiązać problem w inny sposób, może na początek zajrzeć tu:

NumLock przy starcie systemu

środa, 12 marca 2008 @ 10:12
Do kategorii: GNU/Linux, Komputer

Jest pewna teoria, która dość dobrze modeluje zachowanie systemów operacyjnych a także środowisk takich jak Windows. Mówi ona, że wszystko, co jest związane z komputerem można sprowadzić do głupiego, tępego i złośliwego blackboksa. Wobec tego modelu nie jest dziwne, iż po starcie Linuksa NumLock jest wyłączony, co mnie zawsze wkurza, bo z jakiegoś dziwnego powodu uważam, że klawiatura numeryczna świetnie nadaje się do wpisywania liczb.

W GNOME czy KDE można chyba sobie NumLocka gdzieś wyklikać, ale co ma począć użytkownik gołego Openboksa? Są przede wszystkim dwa sposoby. Pierwszy wymaga zainstalowania programu numlockx i dopisania do .xinitrc czy .xsession jednej linijki:

numlockx &

I po bólu, odtąd X-y będą sobie włączać klawiaturę numeryczną. Miłośnicy czystej konsoli mają trochę trudniej. Ja zrobiłem tak: znalazłem sobie skrypt, zapisałem go jako

/etc/init.d/custom-numlock

dodałem na mój poziom uruchamiania (wiem, elegancja wymaga, by dodać odpowiednie wpisy także na innych poziomach, ale mnie się nie chciało)

# ln -s /etc/init.d/custom-numlock /etc/rc2.d/S40custom-numlock

Teraz nie potrzebuję nawet numlockx, bo X-y zachowują ustawienia konsoli. (A jednak nie bardzo :P — numlockx musi być przynajmniej zainstalowany w systemie.)

Jeżeli chcecie poznać inne rozwiązania, polecam zacząć od wiki Archa.