Thursday, January 24, 2008
Exaile - GTKowy Amarok
Pozdrawiam !
Monday, January 21, 2008
Sieć bezprzewodowa w ubuntu
ifconfig eth1 down # Wyłączam interfejs na czas konfiguracji
iwconfig eth1 essid linksys # Wpisuje nazwe sieci z ktora chce sie laczyc
iwconfig eth1 key BA123RDZO65TAJNE # Podaje indentyfikator WEP
ifconfig eth1 up # Wlaczam juz skonfigurowany interfejs
dhclient3 eth1 # Pobieram dla niego adres z DHCP
Ubuntu i słuchawki w laptopie Fujitsu-Siemens Amilo Pro V3525
Na podstawie opisu zawartego tutaj (dzięki mich) doszedłem, że aby moje ubuntu zaczęło odtwarzać dźwięk na słuchawkach na końcu pliku /etc/modprobe.d/alsa-base wystarczyło dodać:
options snd-hda-intel model=targa-digPo zrestartowaniu dźwięk odtwrzany był tylko na słuchawkach. Minusem jest niemożliwość odtwarzania dźwięku przez wbudowane głośniczki bez wykosowania tej linijki i pononwego restartu komputera.
Saturday, January 19, 2008
Uruchamianie aplikacji SWT pod Windows
C:\Program Files\Java\jre1.6.0\lib\ext
C:\Program Files\Java\jre1.6.0_03\lib\ext
i wszystko pięknie działało :)
Dwa słowa o SWT
Na uczelni uczono nas programować interfejs z użyciem biblioteki swing. Korzystaliśmy z narzędzia jakim jest NetBeans. Projektowanie interfejsu z użyciem swinga generowało okienka, rysowane piksel po pikselu, identycznie w każdy systemie, bez względu na to jak w danym systemie system okienek realnie wyglądał. Oznacza to mniej więcej tyle, że jeżeli inaczej wyglądają okienka w Windows, inaczej w GTK a jeszcze inaczej w MacOS to z użyciem biblioteki swing okienka w każdym z tych przypadków wyglądałyby identycznie.
Inaczej jest z biblioteką SWT, w które wygląd okienek dopasowuje się do systemu w którym obecnie uruchamiamy aplikację. Ten sam program będzie wyglądał inaczej pod Windows, inaczej pod GTK inaczej pod MACami. Brzmi wspaniale nieprawdaż :) Zawsze lepiej jest mieć aplikację, do której wyglądu użytkownik danego systemu jest przyzwyczajony i która nie straszy swoją innością, choć nie mogę powiedzieć, żeby aplikacje pisane w Swing były nieschludne - poprostu są inne.
SWT w Ubuntu
Ostatnie kilka dni spędziłem na walczeniu z SWT w ubuntu. SWT to technologia dostępna w języku programowania Java pozwalajaca tworzyć interfejsy użytkownika wyglądające jak natywne okienka dostępne w systemie z którego korzystamy.
Na początku wpisałem sobie w synapticu SWT i zainstalowałem co następuje:
Paczka gtk-java zawiera pliki jar, zaś paczka jni pliki so. Później przyszedł czas na eclipse. Wiem, że na dzień dzisiejszy dostępna jest wersja 3.3, ale prawdopodobnie na moim poziomie zaawansowania nie zauważyłbym nawet różnicy w funkcjonalności :] więc zainastalowałem sobie:libswt3.2-gtk-gcj
libswt3.2-gtk-java
libswt3.2-gtk-jni
Nie wiem czy to wszystko jest potrzebne, ale :) z tym wszystko działa w porządku. Oczywiście o:eclipse
eclipse-jdt
eclipse-pde
eclipse-platform
eclipse-rcp
eclipse-source
sun-java6-jdknie wspomnę. Po zainstalowaniu tych wszystkich paczek mamy dwie opcje. Zrobić dowiązanie symboliczne w katalogu rozszerzeń jre do swt.jar tak, że będzie automatycznie lądowało w projekcie (wyglądał poprostu ładnie), albo dodawać do projektów w których korzystamy SWT za każdym razem zewnętrzne pliki JAR (pojawia się kolejna pozycja w menu). Jeżeli chcemy zrobić dowiązanie to w katalogu:
sudo ln -s /usr/lib/eclipse/plugins/org.eclipse.swt.gtk.linux.x86_3.2.2.v3236.jar /usr/lib/jvm/java-6-sun/jre/lib/ext/swt.jar
Teraz uruchamiamy Eclipse wchodzimy do: Window\Preferences\Java\Installed JREs, zaznaczamy java-6-sun, wybieramy Edit..., Add External JARs..., wyszukujemy dowiązanie symboliczne /usr/lib/jvm/java-6-sun/jre/lib/ext/swt.jar, OK, OK, OK. Teraz pozostaje nam jeszcze ponowne uruchomienie Eclipse. Od tej pory wszystkie projekty jakie będziemy tworzyć będą posiadały możliwość używania SWT.
Jeżeli chcemy samodzielnie dołączać SWT do projektu podczas tworzenia nowego projektu w widoku Java Settings w zakładce Libraries możemy wybrać Add External JARs i analogicznie do poprzedniego opisu dodać ją samodzielnie. Podaję kod przykładowej aplikacji:
package widok;Podczas uruchamiania z menu Run\Run As musimy wybrać SWT Application.
import org.eclipse.swt.widgets.*;
public class Okienko {
public static void main(String [] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setText("Hello World !");
shell.open();
while (! shell.isDisposed()) {
if(! display.readAndDispatch())
display.sleep();
}
display.dispose();
}
}
Aby stworzyć plik jar z menu File wybieramy export Java \ Jar File, zaznaczamy nasz projekt i klikamy kolejno Next aby w widoku JAR Manifest Specification ustawić MainClass na widok.Okienko. Powiedzmy, że zapiszemy plik pod nazwą morficzneOkienko.jar
Ponieważ java nie wie gdzie dokładnie ma szukać sobie informacji o swt dlatego aplikację musimy uruchomić:
java -Djava.library.path=/usr/lib/jni -jar morficzneOkienko.jar
wskazując javie, gdzie znajdują się biblioteki potrzebne do uruchomienia naszego programu.
Aby móc cieszyć się SWT w NetBeans 6 klikamy w prawym panelu "Projects", klikamy prawym przyciskiem myszy na nasz projekt i wybieramy Properties. W części Categories wybieramy Libraries i w zakładce Compile:
/usr/lib/eclipse/pluginsWybierzmy teraz Run i do pola VM Options wpiszmy:
i już możemy cieszyć się SWT w NetBeans 6-Djava.library.path=/usr/lib/jni
Friday, January 18, 2008
Dokumentacja w Ubuntu
Dziś chciałem sobie obejrzeć składnię funkcji read() w C. I co ? I kicha... ale się wściekłe. KateOS przyzwyczaiło mnie, że wszystko mam na wyciągnięcie ręki. Wystarczyło zainstalować paczki:
Być może list jest za długa, ale po uruchomieniu "man 2 read" dostałem to co chciałem :]manpages-pl
manpages-pl-dev
manpages-posix
manpages-posix-dev