Polska Planeta Debiana (podsumowanie)
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.
Polska Planeta Debiana

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?
Instalacja pakietu Debiana bez zależności
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.
Bluetooth Proximity
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:
- DEVICE="MAC" - MAC zastępujemy MAC'iem naszego urządzenia
- CHECK_INTERVAL=2 - jak często ma być sprawdzane połączenie
- THRESHOLD="-1" - odległość, wartość dobrana eksperymentalnie
- FAR_CMD='dcop kdesktop KScreensaverIface lock' - komenda wywołana gdy urządzenie nie jest w zasięgu
- NEAR_CMD='dcop kdesktop KScreensaverIface quit' - analogicznie komenda wykonana przy "wejściu" w zasięg
- DEBUG="/tmp/logi" - gdzie zrzucane będą logi
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...
Toshiba Portege R200 + Debian GNU/Linux

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
- Procesor: Intel Pentium M ULV 753 1.2 GHz 400 MHz FSB, 2 MB L2 Cache
- RAM: 512 MB, DDR2 RAM, maks. do 1280 MB, 2x256 MB
- Grafika: Intel Graphics Media Accelerator (GMA) 900
- Matryca: 12.1 Zoll 4:3, 1024x768 pikseli, polikrzemowa
- Dysk: 60GB 4200obr./min. Toshiba MK 6006GAH
- Waga: ~1.13 kg
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ł :-).
