Mostrando entradas con la etiqueta Tutoriales. Mostrar todas las entradas
Mostrando entradas con la etiqueta Tutoriales. Mostrar todas las entradas

lunes, 23 de marzo de 2009

API LeJos en GNU/Linux con soporte para Eclipse

En esta entrada voy a mostrar como instalar la API LeJos para NXT (la versión 0.7 a día de hoy) en GNU/Linux. El conjunto de pasos es el mismo en cualquier sistema operativo GNU/Linux salvo extrañas excepciones que supongo que no se cumplirán (me refiero a paths extraños en los ficheros de eclipse por ejemplo)

Tras tener la instalación voy también a mostrar como instalar un plugin para el desarrollo de aplicaciones usando esta API en el entorno Eclipse aunque tras la instalación podréis llamar siempre a nxjc *.java, para los que estén más cómodos en vim :)

Al lio.

Lo primero es bajarse la API de la web: http://lejos.sourceforge.net/nxj-downloads.php y elegís la ultima versión, que en el momento de esta entrada es la 0.7.

Ahora movéis ese fichero tar.gz que acabáis de bajar (si es otro tipo sustituir las ordenes de descompresión por las correspondientes xD) a el path donde vamos a instalarlo. Yo por comodidad y por costumbre lo muevo a /usr/local/share/ de manera que cuando descomprima me quedare con un directorio /usr/local/share/lejos_nxj/

#Copiamos el tar.gz a /usr/local/share/
cp /path/del/archivo/targz/nombreDelArchivo.tar.gz /usr/local/share/
#Lo descomprimimos
tar zxvf /usr/local/share/nombreDelArchivo.tar.gz

Lo siguiente es ver que los archivos contenidos dentro de bin/ (dentro de la nueva carpeta que en mi caso es lejos_nxj: /usr/local/share/lejos_nxj/bin ) son ejecutables (el fichero StartUpText.bin no hace falta que sea ejecutable) para comprobarlo dentro del directorio ejecutamos:

ls -l

Y veríamos algo parecido a esto:
-rwxr-xr-x 1 root root 48096 nov 11 16:37 lejos_nxt_rom.bin
-rwxr-xr-x 1 root root 1000 nov 11 16:37 nxj
-rwxr-xr-x 1 root root 862 nov 11 16:37 nxjbrowse
-rwxr-xr-x 1 root root 319 nov 11 16:37 nxjc
-rwxr-xr-x 1 root root 784 nov 11 16:37 nxjconsole
-rwxr-xr-x 1 root root 784 nov 11 16:37 nxjconsoleviewer
-rwxr-xr-x 1 root root 799 nov 11 16:37 nxjdataviewer
-rwxr-xr-x 1 root root 627 nov 11 16:37 nxjflash
-rwxr-xr-x 1 root root 460 nov 11 16:37 nxjflashg
-rwxr-xr-x 1 root root 737 nov 11 16:37 nxjlink
-rwxr-xr-x 1 root root 793 nov 11 16:37 nxjmonitor
-rwxr-xr-x 1 root root 729 nov 11 16:37 nxjpccomm
-rwxr-xr-x 1 root root 795 nov 11 16:37 nxjsocketproxy
-rwxr-xr-x 1 root root 917 nov 11 16:37 nxjupload
-rw-r--r-- 1 root root 32527 nov 11 16:37 StartUpText.bin
Las x es que son ejecutables, como veis en el StartUpText.bin no hay x. Si no las hubiera (que lo normal es que no las haya podéis hacer un:

chmod a+x -R *
dentro de la carpeta, y después un
chmod a-x -R StartUpText.bin

para quitar los permisos de ejecución globales a StartUpText.bin

Ahora vamos a /usr/local/share/lejos_nxj/build y ejecutamos:

ant
Y listo, ya solo queda añadir los PATH. En el fichero /etc/profiles debéis añadir el nuevo PATH. Todo esto puede variar, pensar las cosas antes.
Veréis una cosa tal que así:

if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}"
else
PATH="/usr/local/bin:/usr/bin:/bin:${PATH}"

añadís
añadís las siguientes lineas:

PATH="/usr/local/share/lejos_nxj/bin"
NXJ_HOME="/usr/local/share/lejos_nxj"
LD_LIBRARY_PATH="/usr/local/share/lejos_nxj/bin"


quedando así:

if [ "$EUID" = "0" ] || [ "$USER" = "root" ] ; then
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:${ROOTPATH}:/usr/local/share/lejos_nxj/bin"
else
PATH="/usr/local/bin:/usr/bin:/bin:${PATH}:/usr/local/share/lejos_nxj/bin"
NXJ_HOME="/usr/local/share/lejos_nxj"
LD_LIBRARY_PATH="/usr/local/share/lejos_nxj/bin"
fi

Y ya tenéis todo listo, para comprobar que funciona como un usuario normal deberías poder ver el comando nxjc.

Ahora vamos a añadir a Eclipse un plugin para poder usar esta nueva API.

La web de descarga es esta: http://lejos.sourceforge.net/tools/eclipse/ldt/

En mi caso tengo dos Eclipse instalados, ya que Gentoo permite tener instaladas una misma aplicación pero de diferentes versiones. (Tengo la 3.2 y la 3.4, ya que el editor Visual Editor solo funciona hasta la 3.2 y me gusta también estar a la ultima) Este plugin funciona en ambas versiones así que sea cual sea la tuya debería funcionar.

Copiamos el .zip a /usr/lib/eclipse-3.2 (el path puede variar)
Y lo descomprimimos con unzip. Y ya debería el situar las carpetas en su sitio.

Para comprobar que funciona abrir el eclipse y veréis una nueva pestaña que pone LeJos.

Espero que os sea útil :)

EDITO: Para los que les sirva hay un plugin para netbeans, aquí hay una manera de instalarlo: http://homepages.feis.herts.ac.uk/~comqdhb/lego/netbeans.php

sábado, 14 de febrero de 2009

Ver actualizaciones disponibles en tu movil

EDITO: Un amigo mio me ha dejado con dos palmos de narices... Me ha demostrado que me comí exageradamente la cabeza... como se nota que aun soy un primerizo en la carrera xD aquí esta su versión, que es sin duda alguna mil veces mejor:

#!/bin/bash

updates=$(aptitude search "~U" | wc -l)

if [ $updates -ge 1 ]
then
date=$(date +%H:%M -d 'today +180 seconds')
gcalcli quick "$date You have $updates updates in $(uname -n)"
fi


Animo a que useis este en lugar de el mio. Está mucho mejor hecho. Gracias Doti :)



En esta entrada voy a poner un script de mi cosecha (creo que es el segundo script que hago entero mio sin basarme en ideas de otros)

Este script básicamente lo que hace es enviarte un SMS a tu móvil con las actualizaciones disponibles de tu Debian.

Vayamos por partes:

El sistema se basa en Google Calendar y en usar gcalcli, un programa que te permite trabajar desde el Shell con Google Calendar. Este genial programa esta disponible para GNU/Linux y Mac OS X.

En Debian (al menos en sid) esta disponible en los repositorios.

aptitude install gcalcli

Eso es todo lo que necesitamos para empezar, aparte lógicamente de una cuenta de gmail y un calendario en Google Calendar.

Una vez que tengamos instalado gcalcli lo siguiente es crear en tu HOME un documento que se llame .gcalclirc y dentro poner:

[gcalcli]
user: mail sin @gmail.com
pw: tu contraseña

Lo siguiente es configurar en Google Calendar tu móvil. Es un servicio gratuito al menos en España. En la opción de notificaciones del calendario tenéis que poner recibir un SMS 1 minuto antes del evento.

Tras tener todo eso listo solo queda usar el scipt que pongo a continuación.
Está bajo licencia GPL :D


#!/bin/bash

#######################################################################
#By Alejandro Sáez Morollón #
#14/02/09 21:48 #
#######################################################################
#This program is free software; you can redistribute it and/or modify #
#it under the terms of the GNU General Public License as published by #
#the Free Software Foundation; either version 2 of the License, or #
#(at your option) any later version. #
# #
#This program is distributed in the hope that it will be useful, #
#but WITHOUT ANY WARRANTY; without even the implied warranty of #
#MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the #
#GNU General Public License for more details. #
# #
#You should have received a copy of the GNU General Public License #
#along with GNU gv; see the file COPYING. If not, write to #
#the Free Software Foundation, Inc., 59 Temple Place - Suite 330, #
#Boston, MA 02111-1307, USA. #
#######################################################################


hora=$(date +%H)
minuto=$(date +%M)
min=3
hor=1
if [ "$minuto" -ge 57 ]; then
fecha1=$(($hora+$hor))
fecha2=$(($minuto-$minuto))$(($minuto-$minuto))
else
fecha1=$hora
fecha2=$(($minuto+$min))
fi
update=$(aptitude search "~U" | wc -l)
if [ "$update" -ge 1 ]; then
host=$(uname -n)
gcalcli quick "$fecha1:$fecha2 Tiene $update actualizaciones en $host"
else
gxmessage -center -title "GcalcliEvent" -timeout 5 "No hay actualizaciones, no se enviaran datos a Google Calendar"
fi

Solo quedaría añadirlo a cron para que se haga cuando quieres.


No solo vale para esto, ni solo para Debian lógicamente. Otras utilidades serian por ejemplo ver los emails nuevos o ver los usuarios logeados. Hay mil y un posibilidades. Este script es una primer versión, se que tiene un fallo y es que no está contemplada la situación del cambio de día. En siguientes versiones lo modificare y pondré nuevas funcionalidades.

Si se os ocurren nuevas ideas y/o hacéis modificaciones me encantaría saber de ellas.

Espero que os sea útil.

martes, 30 de diciembre de 2008

KDE4 en Debian Sid (SOLO PARA DEBIAN)

Antes de empezar una aclaración: Por mucho que Ubuntu tenga ya versiones con KDE4 (la Kubuntu 8.04 y la 8.10), KDE4 es experimental. Está en estado (creo) beta, aunque hasta hace poco era una alpha como una catedral. Instalar KDE4 en Debian Sid implica la utilización de los repositorios experimentales. Es decir, hay un riesgo y esto se hace bajo TU responsabilidad. Luego no es para tanto, pero si que te encontrarás con bastantes problemas y fallos. Si no estás hecho para las alphas y las betas espera unos meses a que pase a Sid y como un año a que pase a Testing.

ADVERTENCIA: No lo he probado, pero tengo entendido que no es nada aconsejable instalar KDE4 si ya tienes una KDE3. Por la seguridad de vuestro sistema lo mejor es hacer un buen backup y hacer la instalación sobre una Debian limpia (al menos de KDE3).

Personalmente siempre he sido de GNOME y luego de OpenBox, precisamente por opinar como Linus en aquel famoso flame que montó. Pero KDE nunca me llamó y mira que le he dado oportunidades. Con la llegada de KDE4 (y de una nueva gráfica que está a punto de caer en mis manos) voy a ver si las criticas y los halagos que tiene son ciertos.

Lo primero, por ahora para instalar KDE4 tienes que estar en Sid. Si no estás en Sid esto implica dos cosas, o bien que pares en este punto o bien que actualices a la rama inestable. Para actualizar edita el sources.list de tu Debian (como root lógicamente) con un:

nano /etc/apt/sources.list


Y añade las siguientes lineas:

#Repositorios de Finlandia de Debian Unstable (contrib non-free)
deb http://ftp.fi.debian.org/debian/ unstable main contrib non-free
deb-src http://ftp.fi.debian.org/debian/ unstable main contrib non-free

#Repositorios experimental de Finlandia
deb http://ftp.fi.debian.org/debian/ experimental main
deb-src http://ftp.fi.debian.org/debian/ experimental main


He añadido ya los experimental por que solo "funcionan" cuando se les llama con un comando especial. Si tu caso es como el mio que ya usas Sid lógicamente omite las primeras tres lineas (bueno el comentario te lo puedes quedar si quieres xD)

Tendrás que actualizar y lo más seguro es que reiniciar para que cargue el nuevo kernel que instalará.

Tras esto, ya está todo listo para instalar.

Para instalar un paquete de la rama experimental hay que pasarle a aptitude un parametro de la siguiente manera:

aptitude -t experimental install nombredelpaquete


Vamos a instalar TODO KDE4 de la siguiente manera:

aptitude -t experimental install kde4


Si quieres ir por partes y no instalarlo todo:

aptitude -t experimental install kde4-minimal


Si encima quieres instalar kdm (el gestor de login de KDE)

aptitude -t experimental install kdm


Yo personalmente voy a instalar lo siguiente:

aptitude -t experimental install kde4-minimal kdeplasma-addons kdenetwork kdeadmin


Espero que os sea de ayuda.
Publicado con El navegador Flock

jueves, 4 de septiembre de 2008

Music Player Daemon

Music Player Daemon (MPD) es un demonio muy interesante. Poder escuchar música sin tener las X corriendo es sin duda algo muy útil.

No es solo cuestión de depender de lo mínimo, si no también poder trabajar con el sistema de cliente-servidor.

MPD es un servidor y los MPC son los clientes. Una explicación rapidísima: tenemos un PC con el MPD instalado y rodando, y luego otros PCs usando MPCs escuchando música del PC que tiene el MPD. Al ser un demonio los recursos necesarios son de risa. Y los MPCs pueden ser tanto en un terminal como con entorno gráfico. Vamos un ahorro en los recursos de la maquina realmente importante.

Pero como es de esperar podemos usar el sistema de locahost. Es decir nosotros mismos tenemos el MPD y el MPC.

En esta entrada voy a explicar como instalar y configurar en una Debian el MPD y Sonata, un MPC basado en GTK+. (También probado en Ubuntu 8.04) para escuchar música basandose en un localhost.

Antes de empezar, en la wiki de MPD hay una lista de los MPCs disponibles. Si sonata no os gusta, hay muchos más y su configuración es realmente fácil.

Empecemos:

Lo primero es instalar el MPD:

aptitude install mpd

sobra decir que como root, ¿verdad?

una vez instalado hay que hacer unas cuantas cosas un poco pesadas. Lo primero es crear un par de directorios. Esto no hacerlo como root o tendréis problemas de privilegios.

mkdir /home/nombredeusuario/.mpd
mkdir /home/nombredeusuario/.mpd/playlists

ahora a configurar MPD (recordar hacerlo como root, a mi se me paso y me molestó bastante...)

nano /etc/mpd.conf

music_directory "/home/nombredeusuario/music"
playlists_directory "/home/nombredeusuario/.mpd/playlist"
db_file "/home/nombredeusuario/.mpd/mpd.db"
log_file "/home/nombredeusuario/.mpd/mpd.log"
error_file "/home/nombredeusuario/.mpd/errors.log"
pid_file "/home/nombredeusuario/.mpd/pid"

En music_direcotory ponéis el path (para los profanos la dirección) de vuestra música lo demás no lo toquéis.
Ahora buscáis user y ponéis el nombre del usuario que va a ejecutarlo, es decir vosotros.

user "nombredeusuario"

buscar

port "6600"
bind_to_address "localhost"

y descomentarlo si esta comentado. (Ya sabéis: quitar la #)

en AUDIO OUTPUT descomentais las siguientes lineas para usar ALSA.

audio output {
type "alsa"
name "My ALSA device"
device "hw:0,0"
}

y en MIXER descomentais estas:

mixer_type "alsa"
mixer_device "default"
mixer_control "PCM"

Bueno esto ya está. Salváis y listo por esta parte.

Lo siguiente es crear la base de datos con un:

mpd --create-db

Tras esto todo debería ir bien. Si da algún fallo para no comernos el tarro reiniciar el equipo y si sigue dando fallos revisar lo editado por que debería funcionar...

Ahora instalamos sonata con un:

aptitude install sonata

y editamos las preferencias en función de como hemos editado el mpdconf.

Debería todo ir bien.

¡Disfrutar de este genial reproductor!

martes, 27 de mayo de 2008

OpenBox


Antes de entrar en su instalación y configuración voy a hablar un poco de sus pros y contras.

OpenBox es un gestor gráfico que de por si solo no incluye las mismas posibilidades que GNOME o KDE. Ni si quiera tiene barra de minimizado. La idea es utilizar OpenBox con uno de los escritorios “grandes” remplazando su gestor de ventanas para hacerlo más ligero. Pero OpenBox incluye una segunda opción: Ser usado el solo.

Está pensado para equipos poco potentes y para equipos portátiles donde el ratón apenas es usado, ya que permite utilizar combinaciones de teclas para ejecutar aplicaciones y acciones.

Y ahora vamos a pasar a su instalación y un poco a su configuración.

(Advierto: aun me queda mucho por aprender...)


Requisitos:

-Un PC ¬¬

-Conexión a internet ¬¬

-Una Ubuntu o una Debian sid (tiene que ser sid, no se si en testing vale, por que en stable los paquetes están MUY obsoletos)


Empecemos:

Lo primero es instalar paquete openbox y algunos temas para no morirnos del asco.

sudo aptitude install openbox openbox-themes

Con esto tenemos instalado ya openbox y si vamos al login podremos elegir la sesión.

Pero necesitamos más paquetes.

Obconf y Obmenu son dos indispensables. El primero configura aspectos básicos, tales como la disposición de los botones en las ventanas, de OpenBox; y el segundo configura el menú que aparecerá si hacemos clic con el botón secundario del ratón en el escritorio.

sudo apt-get install obmenu obconf

Lo siguiente es el wallpaper.

Me gusta feh. Simple como el solo y permite hacer un script para que cambie el solo de wallpapers. Pero es algo que no me parece muy util a si que por ahora no lo comentaré.

sudo apt-get install feh

feh - -bg-scale /direccion/de/tu/wallpaper.img

Para poner iconos se puede usar idesk

sudo apt-get install idesk

(yo personalmente no lo utilizo)

Para manejarse por tu ordenador de forma gráfica podemos usar nautilus (nunca lo probé pero se que se puede) y rox-filer (que es un gestor muy bueno y liviano)

sudo apt-get install rox-filer

Para abrir una dirección basta con ejecutar:

rox /lugar/que/quieres/abrir

Y por ultimo la barra de minimizado. Hay muchas pero la más simple y atractiva en mi opinión es pypanel.

sudo apt-get install pypanel

en un terminal ejecutáis

pypanel &

(& es para que quede libre el terminal y poder seguir trabajando en el, pero no cerreis el terminal).

En próximas entradas comentaré con más detalles como configurar estos paquetes.

Blogged with the Flock Browser

martes, 15 de abril de 2008

Escritorios ligeros I

No todo es GNOME ni KDE. Si bien es cierto que son los más potentes también son los más pesados. ¿Qué ocurre cuando nuestra maquina no aguanta bien o simplemente no aguanta a ninguno de estos grandes? ¿Toca Xfce?

Mucha gente piensa que los escritorios de GNU/Linux se limitan a GNOME (para mi el mejor) KDE (cosas “chupis” de serie pero los menús los hace el enemigo) y Xfce (que no me gusta nada de nada) pero no es cierto. Existen otros escritorios que son más ligeros que los tres anteriores y que aunque inicialmente parezcan desoladores, pueden llegar (como mucha paciencia eso si) a ser preciosos y muy útiles.

Antes de empezar he de decir que son escritorios pensados para ahorrar recursos. Y que exigen un nivel muy elevado de conocimientos en comparación con lo sencillo que es configurar GNOME (no entro en KDE por que me parece la cosa más difícil del mundo).

Sin más preámbulos aquí va un listado de mis preferidos (que no son todos los que hay) de los cuales pretendemos hacer una documentación para su instalación (distribuciones Debian e hijas) y configuración (y decoración que es a mi modo de ver el software algo muy importante, no hay nada como currar y/o tocarse los...ejem.... a gusto):

    -Fluxbox: Ligero y minimalista. Se utiliza mucho en los LiveCD. Tiene una ventaja frente al resto de escritorios ligeros: no necesita configuración. Todo nos lo dan hecho. Valoración personal: No me gusta mucho aunque lo utilizo mucho con la DSL y Back | Track 2 ya que cumple su propósito de ser ligero y no darnos muchos problemas. Me parece bastante configurable pero para nada es el más ligero ni el más potente.


    -OpenBox: Me encanta, me chifla, es genial, muy ligero y altamente configurable (lo que no hagas aquí chungo lo hará otro escritorio). Problema: Es difícil. Tanto de manejar como de configurar. Por lo general todo se tiene que hacer en modo texto, desde instalar hasta decorar. Pero si consigues configurarlo tendrás un escritorio cojonudo. Si no te gusta el sistema de menús de Fluxbox no lo uses dado que es similar aunque es muy fácil (menos mal que tiene algo fácil) de modificar a tu gusto.


    -IceWM: Es el punto intermedio entre la sencillez de un escritorio tipo Fluxbox y el desquicie de uno tipo OpenBox. No hay que configurar mucho inicialmente aunque por norma general, al igual que OpenBox hay que configurarlo a pelo, en modo texto. Ventaja: Es posiblemente el escritorio más ligero. En ejecución en una Debian Sid más o menos consume 8 megas de RAM... Con eso lo digo todo.


Hay más pero creo que estos son los mejores dentro de los desconocidos. En próximas entradas haremos una FAQ y guía sobre OpenBox y IceWM. Pero para que veais lo guapos que puede ser este tipo de escritorios os dejo un enlace a Box-Look.org, La GNOME/KDE -Look.org de este tipo de escritorios.

Publicado con El navegador Flock

miércoles, 19 de marzo de 2008

Kill

Vamos a aprender a matar procesos.
Suena sádico pero es muy útil sobre todo cuando te enganchas a el fantástico mundo de las alfas y las betas, o cuando un archivo ejecutado con wine te toca las narices.

Las dos maneras más basicas de matar un proceso son: xkill y pkill.

Con el comando "xkill": en un terminal escribimos xkill y veremos como nuestro puntero se ha transformado en una X con mala pinta, solo tenemos que hacer clic encima del programa que vemos que no responde y fuera, cuidadito con el comando no sea que hagáis clic encima de algo que no debería cerrarse...

Con el comando "pkill": cuando vemos que nuestra maquina se revoluciona sin venir a cuento puede que sea por que está teniendo lugar un proceso no deseado y que no estamos viendo, ya que en este mundo no todo son ventanas bonitas. Este comando exige un poco más de practica pero es más rápido, útil y efectivo que el anterior puesto que en un sistema operativo sin X no podemos liarnos a clics con nada. Lo primero es detectar que es lo que nos está tocando las pelotas para ello un ps aux nos dará todos los procesos en ejecución y su comando. Después con un pkill -9 seguido del comando del proceso acabaremos con todo.
Tengo entendido que el -9 es para sacar a los procesos de ejecución y si detrás ponéis un -11 matareis las X11 xD cuidado con ese comando, nadie quiere tener un PC que no haga nada xD.
Por lo general el comando del proceso coincide con el nombre de este por lo que en vez de un ps aux usais un top para listar los procesos que más consumen podreis rapidamente saber que es lo que está molestando. Pero no siempre el nombre del proceso es el comando con lo que top no siempre vale...

Espero que os sirva de ayuda.

Publicado con Flock