čtvrtek 21. října 2010

JavaFX v Ubuntu

Častý problém uživatelů Ubuntu je spouštění, nebo spíše nespouštění JavaFX aplikací. Tento problém velmi často spočívá v instalaci jak OpenJDK, tak i javy od Sunu případně pouze prvního z nich. Ke spuštění JavaFX aplikace se využije OpenJDK a to způsobuje zmíněné problémy. Která java je nainstalovaná lze zjistit příkazem
 sudo update-java-alternatives -l  
Výsledek může vypadat například následovně:
 java-6-openjdk 1061 /usr/lib/jvm/java-6-openjdk  
 java-6-sun 63 /usr/lib/jvm/java-6-sun  
Řešení spočívá v instalaci Javy od Sunu (pokud ještě nemáte) a změně Java alternativy. Změna alternativy se provede následovně:
 sudo update-java-alternatives -s java-6-sun  
Pokud si budete později přát změnu na OpenJDK lze použít opět
 sudo update-java-alternatives -s java-6-openjdk  
Pokud si nyní chcete v prohlížeči spustit JavaFX nezapomeňte ho předtím restartovat.

neděle 6. června 2010

Canon PIXMA MP640 v Ubuntu 10.04 64-bit

Jednou ze slabin linuxových distribucí jsou ovladače. Tuto nespočetněkrát vyslovenou pravdu jsem si byl opět nucen ověřit při instalaci výše uvedeného zařízení. První část instalace spočívala v nainstalování tiskárny. Canon bohužel uvolnil ovladače tiskárny pouze pro 32 bitovou verzi a tudíž je postup lehce krkolomný. V tomto mi nejvíce pomohl Yellabelly's Blog podle kterého se dá tiskárna nainstalovat. Dokonce tam je i návod k instalaci scanneru, který je také funkční. To mi ovšem nestačilo, poněvadž na skenování není scangearmp tolik komfortní jako oblíbený XSane. V Ubuntu verze 10.04 je SANE stařičké verze 1.0.14 (v době psaní tohoto textíku je aktuální verzí 1.0.21) a ta neumí pracovat s deklarovaným zařízením. Binární balíčky na stránkách SANE nejsou a tak je třeba si stáhnout zdrojové kódy poslední verze (složka sane-beckends), rozzipovat a zkompilovat. Pokud je zařízení připojeno k USB portu, je třeba mít před kompilací ještě nainstalovaný balíček libusb-devel případně libusb-dev aby bylo zařízení k nalezení. Po obvyklém trojpříkazu ./configure - make - make install lze ověřit funkčnost příkazem sudo sane-find-scanner (nezapomeňte mít přitom zařízení zapnuté ;-)) Nyní můžeme nainstalovat XSane.Poslední verze XSane je vydaná již delší čas a tak se jí podařilo dostat i do balíčkovače poslední verze Ubuntu.

středa 19. května 2010

Spouštění serveru glassfish při startu ubuntu.

V oblíbeném editoru (zde gedit) vytvořit soubor jménem /etc/init.d/glassfish
 sudo gedit /etc/init.d/glassfish  

Do souboru vložíme následující text:
 #! /bin/sh  
 GLASSFISHPATH=/opt/glassfishv3/bin  
 case "$1" in  
 start)  
 echo "starting glassfish from $GLASSFISHPATH"  
 sudo -u glassfish $GLASSFISHPATH/asadmin start-domain domain1  
 ;;  
 restart)  
 $0 stop  
 $0 start  
 ;;  
 stop)  
 echo "stopping glassfish from $GLASSFISHPATH"  
 sudo -u glassfish $GLASSFISHPATH/asadmin stop-domain domain1  
 ;;  
 *)  
 echo $"usage: $0 {start|stop|restart}"  
 exit 3  
 ;;  
 esac  
 :  

Uživatele glassfish je třeba v obou případech (-u glassfish) změnit podle vlastních potřeb na existujícího uživatele pod jehož právy se bude glassfish spouštět. Také je třeba upravit druhý řádek podle toho, kde je glassfish nainstalovaný.
Soubor uložit, editor zavřít a nyní je třeba změnit uživatelská práva souboru:
 sudo chmod a+x /etc/init.d/glassfish  

Nyní nainstalovat na všechny úrovně běhu:
 sudo update-rc.d glassfish defaults  

Hotovo. Po restartování počítače by se již měl glassfish spouštět sám.

středa 14. března 2007

Jak jsem dělal SSH a SCP klienta

Zadání: Vytvořit aplikaci pro kopírování via SCP a spouštění příkazů via SSH. Dostal jsem k tomu .ppk soubor klíče, heslo, IP adresu serveru a login.
Poté co jsem vygoogloval projekt JSch, jsem se pustil do bádání. Jelikož se mi v examples nepodařilo nalézt to co jsem chtěl, respektive nedařilo se mi zadat svůj klíč, podíval jsem se do zdrojových kódů. Bohužel, nikde žádný komentář. Po dalším googlování se mi zadařilo najít projekt Ganymed SSH-2. Byl o poznání lépe okomentován a zde jsem také nalezl klíč k rozluštění mého problému s klíčem - jak vidno v API JAAS, JCE, atd. se příliš neorientuji.
Pro zadání klíče je totiž třeba mít ho v PEM formátu, kdežto já ho měl ve proprietárním formátu putty. K přeformátování lze tedy použít nástroj puttygen. V tomto nástroji stačí zadat File - Load private key a poté Conversions - Export OpenSSH key, jako příponu je vhodné uvést .pem. S tímto klíčem už bylo možné vyzkoušet examples projektu JSch, který jsem poté použil.