Polska Planeta Debiana (podsumowanie)

Wpis zamieszczony o 08:50:21, 12 grudnia 2007 - 12 komentarzy


Dokładnie 12 dni temu wystartowała Polska Planeta Debiana. Zaczęliśmy od dwóch blogów (mojego oraz Hadreta) i we dwójkę mieliśmy nadzieję na cud.

I cud nadszedł. Po 12 dniach działalności Planeta zbiera wpisy z 13 technicznych blogów użytkowników Debiana! Kolejne dwa blogi są na liście "oczekujących na akceptację", a 9 blogów musieliśmy odrzucić jako "nie spełniających kryteriów" (cokolwiek to nie znaczy ;-)). Nie mamy niestety (jeszcze) danych dotyczących czytelników.

Mimo kilku głosów sprzeciwu w chwili, gdy Planeta pojawiła się w internetowym światku, możemy śmiało powiedzieć - udało nam się. I nie poprzestaniemy na tym. :-) Dzięki pomocy społeczności OpenSource zagościliśmy w takich serwisach jak jakilinux.org, LinuxRSS a także na chwilkę (choć nie na głównej) - wykop.pl. Dziękujemy za wsparcie!

Projekt debianlinux.pl nadal się rozwija. Chcemy, aby portal główny ruszył jeszcze przed świętami. Czy nam się uda? To zależy od Was - poszukujemy chętnych do współtworzenia Polskiego Portalu Debiana. Są jacyś? Mamy nadzieję że i tym razem nam pomożecie. :-) Szczegóły dostępne poprzez mail//jabber.

Czytaj dalej : 12 komentarzy

Polska Planeta Debiana

Wpis zamieszczony o 00:06:35, 30 listopada 2007 - 16 komentarzy


Ubuntu ma swoją Planetę, czemu zatem Debian nie ma mieć polskiego odpowiednika Planet Debian?

Zatem - otwiera... tzn. startujemy! ;-) Hadret przeprowadził na swoim blogu ankietę, w której większość jego czytelników opowiedziała się za potrzebą powstania Planet Debian w naszym ojczystym języku. Troszkę pracy i oto jest:

Polska Planeta Debiana


Jesteś bloggerem? Piszesz o Debianie? Chcesz zwiększyć poczytność bloga (a któż nie chce ;-))? Napisz... Więcej szczegółów do znalezienia na stronie Polskiej Planety Debiana.

Ponadto, jeśli chcesz pomóc w tworzeniu serwisu, masz ciekawe pomysły do realizacji, piszesz artykuły bądź newsy ze świata Debiana, możesz dołączyć do naszej skromnej dwójki :-)
Pozostaje pytanie - czemu nikt się nie zajął portalem traktującym o systemie Debian GNU/Linux wcześniej?

Czytaj dalej : 16 komentarzy

Instalacja pakietu Debiana bez zależności

Wpis zamieszczony o 08:21:45, 17 listopada 2007 - 22 komentarze


UWAGA! Poniższego rozwiązania używasz na własną odpowiedzialność. SOA#1

System zależności zaimplementowany w apt-get ma swoje wady i zalety. Niewątpliwą zaletą jest "zrób-i-zapomnij". Jedna komenda instaluje pakiet, jego zależności i wszystko co potrzebne do działania programu. Jednak największa zaleta czasem staje się największą wadą...

Dawno temu zauroczony systemem pakietów w Slackware napisałem sobie mały skrypt do instalacji pakietu Debiana bez jego zależności.

#!/bin/bash
sciezka=$(apt-cache show $1 | grep Filename | awk '{print $2}')
sciagnij=$(wget -c http://ftp.debian.org/$sciezka)
plik=$(apt-cache show $1 | grep Filename | awk '{print $2}' | sed "s/\//  /g" | awk '{print $5}')
dpkg -x $plik /

Tak proste że aż głupie :-). Jeden minus - trzeba znać nazwę paczki i podać ją jako parametr. Sam plik zapisujemy np. jako /sbin/apt-inst i cieszymy się jak dzieci że każdy program który zainstalujemy w ten sposób będzie zachowywał się mniej więcej "in_Slackware_style":

$ krusader
krusader: error while loading shared libraries: libkjsembed.so.1: cannot open shared object file: No such file or directory

No ale co za problem ;-).

# apt-inst libkjsembed1

I krusader działa :-).

Raz jeszcze piszę - używasz na własną odpowiedzialność. Sam skrypt przydaje się przy budowaniu minimalistycznego systemu, trzeba jednak posiadać dość sporą wiedzę na temat systemu Linux. Za pomocą tego "czegoś" udało mi się swego czasu zmieścić działającego Debiana + KDE (dość minimalistyczne) w około 350MiB. Wiem że możliwe jest postawienie bardzo minimalistycznego systemu (np. dla routera sprzętowego) na mniej niż 64MiB. Komuś się uda? :-)

ps. wbrew pozorom lubię slacka a wpis nie ma charakteru prowokacji :)

ps2. uprzedzam pytanie: "Jak odinstalować taki program?" - ręcznie. Sprawdzasz gdzie się zainstalował i ręcznie usuwasz pliki.

Czytaj dalej : 22 komentarze

Bluetooth Proximity

Wpis zamieszczony o 21:47:49, 15 listopada 2007 - 42 komentarze


Posiadasz laptopa z wbudowanym interfejsem BlueTooth? Korzystasz z telefonu//palmtopa z Bluetooth? Ten artykuł może Ciebie zainteresować.

Gdy tylko zakupiłem nowego laptopa zamarzyła mi się dodatkowa funkcja wykorzystująca BlueTooth. Chciałem, aby laptop automatycznie blokował ekran gdy tylko odejdę od niego po czym logował się automatycznie gdy zasiądę przy klawiaturze. Troszkę szperania w google, troszeczkę własnej inwencji i oto jest :-). Skrypt BlueTooth Proximity:

#!/bin/bash

DEVICE="MAC"
CHECK_INTERVAL=2
THRESHOLD="-1"
PID=0
START_CMD='true'
FAR_CMD='dcop kdesktop KScreensaverIface lock'
NEAR_CMD='dcop kdesktop KScreensaverIface quit'
HCITOOL="/usr/bin/hcitool"
DEBUG="/tmp/logi"

connected=1

function msg {
    echo "$1" >> $DEBUG
}

function check_connection {
    connected=0;
    found=0

    for s in `$HCITOOL con`; do
        if [[ "$s" == "$DEVICE" ]]; then
            found=1;
        fi
    done
    if [[ $found == 1 ]]; then
        connected=1;
    else
       msg 'Attempting connection...'
        if [ -z "`$HCITOOL cc $DEVICE 2>&1`" ]; then
            msg 'Connected.'
            connected=1;
        else
            connected=0;
        fi
    fi
}

function check_xscreensaver {
    PID=`ps -C xscreensaver --no-heading | awk '{ print $1 }'`
    if [ "$PID" == "" ];  then
        $START_CMD &
    fi
}

name=`$HCITOOL name $DEVICE`
msg "Monitoring proximity of \"$name\" [$DEVICE]";

state="near"
while /bin/true; do

    check_xscreensaver
    check_connection

    if [[ $connected -eq 1 ]]; then
        rssi=`$HCITOOL rssi $DEVICE | sed -e 's/RSSI return value: //g'`

        if (( "$rssi" <= $THRESHOLD )); then
            if [[ "$state" == "near" ]]; then
                msg "*** Device \"$name\" [$DEVICE] has left proximity"
                state="far"
                echo "daleko - wlaczam screena"
                $FAR_CMD
                echo $?
            fi
        else
            if [[ "$state" == "far" ]]; then
                msg "*** Device \"$name\" [$DEVICE] is within proximity"
                state="near"
                sleep 7;
                $NEAR_CMD
                kdialog --passivepopup "Urządzenie w zasięgu Bluetooth, odblokowanie ekranu" 5
                $START_CMD &
            fi
        fi
        msg "state = $state, RSSI = $rssi, PID = $PID"

    else
        if [[ "$state" == "near" ]]; then
            msg "*** Device \"$name\" [$DEVICE] has been disconnected"
            state="far"
            $FAR_CMD > /dev/null 2>&1
        fi
    fi

    sleep $CHECK_INTERVAL
done

Oryginał znajduje się pod tym adresem, ja jednakże nieznacznie go zmodyfikowałem aby odpowiadał moim preferencjom. W konfiguracji skryptu znajdujemy następujące parametry:

Skrypt najlepiej umieścić w /bin/btprox

# cp btprox /bin/btprox

Ostatnim krokiem jest udostępnienie użytkownikowi bez uprawnień korzystania z hcitool i l2ping.

# chmod +s /usr/bin/hcitool
# chmod +s /usr/bin/l2ping

I tyle. Odpalamy btprox i sprawdzamy działanie skryptu :-).

Podobną funkcjonalność oferuje nam bluez-utils wersji >3.0 jednak u mnie i kilku moich kolegów to po prostu nie działa. Ekran zostaje zablokowany gdy komórka całkowicie wyjdzie poza zasięg BlueTooth co może sprawdza się w gorszych chipsetach, jednak u mnie BT łapie na ponad 10 metrów przez dwie ściany...

Czytaj dalej : 42 komentarze

Toshiba Portege R200 + Debian GNU/Linux

Wpis zamieszczony o 15:15:54, 06 listopada 2007 - 25 komentarzy


Niedawno zakupiłem nowego notebooka - Toshiba Portege R200 (nadal posiadam Toshibę Portege R111, którą nie tak dawno opisywałem). I ponownie - w sieci nie znalazłem żadnego w miarę aktualnego opisu konfiguracji systemu Linux pod tą maszynkę. Opiszę sposób uruchomienia wszystkich możliwości tego sprzętu pod Linuksem. Troszkę się z tym męczyłem, więc mam nadzieję że komuś się to przyda i zaoszczędzi sobie kilka godzin pracy.

Specyfikacja techniczna

Dokładniejszy spis daje nam lspci:

00:00.0 Host bridge: Intel Corporation Mobile 915GM/PM/GMS/910GML Express Processor to DRAM Controller (rev 03)
00:02.0 VGA compatible controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:02.1 Display controller: Intel Corporation Mobile 915GM/GMS/910GML Express Graphics Controller (rev 03)
00:1c.0 PCI bridge: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) PCI Express Port 1 (rev 03)
00:1d.0 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #1 (rev 03)
00:1d.1 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #2 (rev 03)
00:1d.2 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #3 (rev 03)
00:1d.3 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB UHCI #4 (rev 03)
00:1d.7 USB Controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) USB2 EHCI Controller (rev 03)
00:1e.0 PCI bridge: Intel Corporation 82801 Mobile PCI Bridge (rev d3)
00:1e.2 Multimedia audio controller: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Audio Controller (rev 03)
00:1e.3 Modem: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) AC'97 Modem Controller (rev 03)
00:1f.0 ISA bridge: Intel Corporation 82801FBM (ICH6M) LPC Interface Bridge (rev 03)
00:1f.1 IDE interface: Intel Corporation 82801FB/FBM/FR/FW/FRW (ICH6 Family) IDE Controller (rev 03)
01:00.0 Ethernet controller: Marvell Technology Group Ltd. 88E8053 PCI-E Gigabit Ethernet Controller (rev 15)
02:05.0 Ethernet controller: Atheros Communications, Inc. AR5212 802.11abg NIC (rev 01)
02:0b.0 CardBus bridge: Texas Instruments PCIxx21/x515 Cardbus Controller
02:0b.4 Generic system peripheral [0805]: Texas Instruments PCI6411, PCI6421, PCI6611, PCI6621, PCI7411, PCI7421, PCI7611, PCI7621 Secure Digital (SD) Controller

Oraz lsusb:

Bus 001 Device 003: ID 08ff:2580 AuthenTec, Inc.

No to lecimy! Jeśli nie wymieniam poniżej któregoś z podzespołów znaczy to, że działa bez żadnych modyfikacji - OOTB.

CPU - do poprawnej obsługi skalowania częstotliwości procesora potrzebujemy modułów toshiba_acpi asus_acpi freq_table acpi_cpufreq backlight processor toshiba i wszystkich zależnych od nich. Dodatkowe pakiety:

# apt-get install powersaved acpid kpowersave

Karta graficzna - chipset Intela jest jednym z najlepiej wspieranych obecnie układów graficznych pod linuksem. Ustawiamy sterownik na i810 i po bólu, dostajemy pełną akcelerację. Czasem trzeba zainstalować dodatkowy pakiet (np. w przypadku instalacji netinstall):

# apt-get install libgl1-mesa-dri

Karta bezprzewodowa - tutaj zaczynają się schody. Musimy skorzystać z modułów madwifi.

# apt-get install module-assistant madwifi-source

Resztę wyklikujemy w module-assistant. Kompilacja przechodzi bezboleśnie. Dodatkowe informacje o module możemy zobaczyć w:

# modinfo ath_pci

Klawisze dodatkowe - pakiet fnfxd zapewnia pełną obsługę klawiszy dostępnych pod kombinacją Fn+X.

# apt-get install fnfxd

Czytnik linii papilarnych - działa, jednakże nie istnieją jeszcze wrappery do komunikacji z biolib. Możemy skanować swoje paluszki ale do systemu nie zalogujemy się. Zacząłem pracę nad implementacją uwierzytelniania aes2501. Aby pobawić się skanerem instalujemy:

# apt-get install aes2501-wy

I odpalamy przez:

# aes2501 -r

W katalogu bieżącym dostaniemy skan swoich linii papilarnych. Niestety, wszelkie próby zastosowania istniejących metod identyfikacji i porównania skanu (m.in. mechanizm thinkfinger czy też biolib) kończą się klęską. Jeśli komuś udało odpalić się ten czytnik proszę o kontakt.

Bluetooth - implementacja toshiba_acpi nie umożliwia w domyślnej wersji korzystania z interfejsu Bluetooth. Toshset nie jest wspierany, więc trzeba ręcznie nakładać łatki na toshiba_acpi. Udostępniam Wam kod źródłowy toshiba_acpi.c dla jądra 2.6.23.1 do zastąpienia ręcznie w źródłach oraz patch na toshiba_acpi.c do nałożenia na dowolne jądro.
toshiba_acpi.c dla 2.6.23.1
patch_toshiba_acpi
Jedna i druga metoda zakłada kompilację jądra. Zamieszczam dodatkowo swój plik .config.
Config dla 2.6.23.1
Po kompilacji mamy dostęp do dodatkowego urządzenia /proc/acpi/toshiba/bluetooth. Parametry które przyjmuje interfejs to:

# echo enable > /proc/acpi/toshiba/bluetooth
# echo disable > /proc/acpi/toshiba/bluetooth

Zalety i wady, czyli czy warto...

Z zalet tego notebooka należy wymienić ciężar, małe rozmiary, bardzo długi czas działania na baterii, niski pobór prądu oraz design. Laptop po prostu świetnie się prezentuje :-). Całości dopełnia matowa matryca z bardzo dobrym podświetleniem.
Wady? Ano są... R200 potrafi niesamowicie się grzać. Jeśli nie zapewnimy prawidłowej wentylacji (np. będziemy korzystać z laptopa leżąc w łózku) temperatura procesora wzrośnie do 74 stopni Celsjusza(!). Obudowa jednak pozostaje chłodna (co dziwne). Z wad należy wymienić za małą klawiaturę. Osoby z dużymi palcami będą miały kłopoty z płynnym pisaniem.

Pełna recenzja zawarta jest w linku z początku tego artykułu więc nie będę się już rozwodził. Polecam ten sprzęt, pod Linuksem sprawuje się świetnie! Jeśli zatem potrzebujesz laptopa ultraprzenośnego, działającego kilka do kilkunastu godzin na baterii, dobrze wspieranego przez Linuksa wybierz Toshibę Portege R200. Nie będziesz żałował :-).

Czytaj dalej : 25 komentarzy

LinkLift