Przeskalowanie obrazków w katalogu

Pracując nad funkcjonalnością uploadu plików z możliwością ich wcześniejszego podglądu postanowiłem, że pliki nie będące obrazkami będą prezentowane za pomocą ikon odzwierciedlających ich rozszerzenie.

Ściągnąłem sobie z deviantarta [zestaw przykładowych ikon](http://fc07.deviantart.net/fs30/f/2008/064/4/5/4532f3c75d996fa7.rar). Bardzo fajne, kolorowe i duże obrazki. Stanąłem przed potrzebą przeskalowania wszystkich ikonek. Pierwsza myśl to poszukać przeglądarki zdjęć z możliwością masowej edycji plików. Chwilę później przypomniałem sobie, że mam zainstalowanego image magicka. 5 min i miałem już napisany prosty skrypcik w bashu, który tworzy podkatalog na miniatury, wyszukuje w bieżącym katalogu wszystkie pliki o zadanym rozszerzeniu i tworzy ich przeskalowane kopie.

#!/bin/sh
WIDTH=100
HEIGHT=50
EXT=png
THUMBDIR=./thumbnails-${WIDTH}x${HEIGHT}
 
mkdir $THUMBDIR
 
for IMG in `ls *.${EXT}`
do
	convert -resize ${WIDTH}x${HEIGHT} $IMG ${THUMBDIR}/$IMG
done

Aktualizacja Kubuntu do wersji 9.10 Karamic Koala

Zwykle podejmuję ryzyko aktualizacji systemu do nowszej wersji choć zawsze wtedy drżę czy wszystko pójdzie dobrze i czy znów nie spędzę paru godzin do doprowadzenia systemu do pełnej używalności.

Ostatnio tj. po aktualizacji do wersji 9.10 Jaunty Jackalope obyło się bez przygód. Byłem w niebo wzięty. Liczyłem, że i tym razem będzie podobnie. Niestety nie. Zaczęło się od tego, że nie mogłem nawiązać połączenia z netem. Nie bardzo rozumiem dlaczego system po aktualizacji gubi wszystkie dotychczasowe ustawienia, ale widać taki jest koszt aktualizacji KNetworkManagera. Niby pojawiło się w tym programie więcej opcji, niby zwiększyła się jego funkcjonalność, ale naprawdę nie wiem od czego zależy jego działanie. Nie dość że raz pokazuje wykryte sieci a innym razem nie to jeszcze już się skonfiguruje połączenie człowiek nie zawsze wie czy już się połączył czy jeszcze nie. Nie wspomnę, że KNetworkManager nie wykrywa rodzaju zabezpieczeń i nie potrafi połączyć się z siecią bezprzewodową z ukrytym SSID. Nie udało mi się skonfigurować połączenia przy zabezpieczeniu WPA2 Personal. Byłem już bliski sięgnięcia po wypróbowanego [WICD](http://wicd.sourceforge.net/) tyle, że bez netu nie mogłem go zainstalować 😉 W końcu udało mi się skonfigurować połączenie na WPA.

Przy wcześniejszych aktualizacjach zdarzało mi się, że musiałem na nowo konfigurować Apache-a lub też PHP. Widać, poradzono sobie z tym jednak ku mojemu zaskoczeniu problem pojawił się w miejscu, w którym absolutnie bym się go nie spodziewał. Po uruchomieniu [Eclipse-a](http://www.eclipse.org/) nagle przestało mi działać wyszukiwanie. Dokładniej rzecz biorąc to przyciski okien dialogowych przestały reagować na kliknięcie całkowicie je ignorując. Zrestartowałem Eclipse-a i nic. Zaciągnąłem sun-owskie środowisko uruchomieniowe sun-java6-jre i też to nic nie dało. W końcu (może powinienem od tego zacząć) sięgnąłem do googla i na [forum Ubuntu](http://forum.ubuntu.pl/) znalazłem [rozwiązanie](http://forum.ubuntu.pl/showthread.php?t=112148&highlight=eclipse). Dlatego właśnie używam tej dystrybucji. Wszelkie problemy szybko znajdują rozwiązanie.

Wracając jednak do Eclipse-a. Do czasu poprawienia błędu napisałem sobie skrypcik **eclipse.sh** ułatwiający uruchamianie eclipsa

export GDK_NATIVE_WINDOWS=1
/opt/eclipse/eclipse

Puki co więcej niespodzianek nie stwierdziłem i ogólnie rzecz biorąc jestem zadowolony z aktualizacji.

Nie wiem czy to tylko subiektywne wrażenie bo nie dokonywałem pomiarów, ale wydaje mi się, że system startuje szybciej. Po uruchomieniu pierwsze co się rzuca w oczy to poprawiony wygląd i usprawnienia w KDE 4.3.

Z dużym zadowoleniem przyjąłem ikonkę powiadomień, która na stałe zagościła na tatce systemowej. Teraz już nie ma problemu z przejrzeniem komunikatów o zdarzeniach mających miejsce w naszym systemie. Można je obejrzeć kiedy już znikną i samodzielnie zadecydować o ich usunięciu. Tego mi brakowało czemu dałem wyraz w jednym z wcześniejszych wpisów.

Cieszy też aktualizacja firefoxa do wersji 3.5, która nota bene powinna nastąpić już parę tygodni temu.

Czytałem, że zmiany nastąpiły co do wyboru domyślnego komunikatora. Ja mam to osobiście gdzieś gdyż używam tlen-a. O ile na Ubuntu nie miałem z nim nigdy większych problemów (nie licząc niedoskonałości wersji beta) o tyle na Kubuntu miałem wręcz permanentny kłopot, kiedy przychodziło do aktualizacji. Zwyczajnie po wpisaniu hasła nic się nie działo i trzeba było ręcznie ściągać nową wersję komunikatora – wiem, że to nie wina programistów Cannonical. Teraz ku mojemu zaskoczeniu aktualizacja po prostu się wykonała :D.

Zauważyłem parę zmian w menadżerze pakietów KPackageKit – zwłaszcza przy aktualizacji. Doceniam przede wszystkim możliwość sortowania wyników alfabetycznie. Do instalowania nowego oprogramowania jakoś mi ten program jednak nie pasuje i dalej sięgam do konsolowego aptitude.

To paradoks ale im dłużej używam Linuksa tym częściej sięgam do konsoli.

Jednak VirtualBox

Po moich próbach z qemu i KVM postanowiłem wypróbować VirtualBox. Obsługa qemu z konsoli okazała się na dłuższą metę niewygodna z kolei KVM działało zbyt niestabilnie.

Sama instalacja VirtualBoxa pod Kubuntu nie sprawiła trudności.

sudo aptitude install virtualbox

Jednak zaraz po stworzeniu wirtualnego dysku i podjęciu próby instalacji na nim Windowsa otrzymałem komunikat błędu:

VirtualBox can’t operate in VMX root mode. Please disable the KVM kernel extension, recompile your kernel and reboot (VERR_VMX_IN_VMX_ROOT_MODE).

Cuż pozostało uruchomić Boot-up Managera i wyłączyć usługę „Full virtualization on i386 and amd64 hardware – kvm”. Boot-up Manager nie jest domyślnie instalowany (przynajmniej w Kubuntu), ale to nie problem.

sudo aptitude install bum

Dalej poszło już bez niespodzianek. Windows zainstalował się i od razu miał połączenie z netem, widział CDROM-a (z czym była problem w KVM). Współdzielenie katalogów też nie okazało się trudnym do osiągnięcia. Właściwie wszystko załatwił dodatek Guest Additions instalowany na systemie gościu. O ile katalog, który ma być współdzielony wyklikuje się po wybraniu opcji „Urządzenia -> Współdzielone katalogi” w menu VirtualBoxa o tyle dostęp do tego katalogu z poziomu systemu gościa w przypadku windowsa uzyskuje się wklepując w linii komend następujące polecenie

net use x: \\\vboxsvr\shared

gdzie shared jest nazwą nadaną współdzielonemu katalogowi. Jeszcze tylko restart Windowsa i wszystko hula 🙂

Troszkę mnie to rozbawiło, że lokalizację w Linuksie wyklikuję a w Windowsie wklepuję 😉