Samsung E215 , Bluetooth, java y Ubuntu

22 11 2008

e215-java-blue-ubuntu

Para poder funcionar bien con este teléfono, es decir,  poder correr juegos o aplicaciones java y navegar a traves de sus carpetas desde linux y hacer e traspaso de información a traves de bluetooth, es necesario dedicar “un par de minutos” de nuestro tiempo.

  • Conexión Bluetooth

Lo primero ha sido  hacer la conexión mediante bluetooth, para esto se necesitan instalar los siguientes paquetes que se encargar de la comunicación via Bluetooth :
sudo apt-get install gnome-bluetooth bluez-utils gnome-ppp
Ahora, para poder ver nuestro dispositivo como una carpeta más en nautilus, utilizaremos blueman, el cual se instala de la siguiente manera (copy/paste de aqui):
wget -q http://download.tuxfamily.org/blueman/blueman.gpg -O- | sudo apt-key add -
sudo wget http://download.tuxfamily.org/blueman/hardy.list -O /etc/apt/sources.list.d/blueman.list
sudo apt-get update
sudo apt-get install blueman

  • Hablilitar instalación aplicaciones java

Ahora, para poder ejecutar aplicaciones java en el móvil, es necesario activar esta opción, la verdad es que es bastante curiosa la forma, pero a la vez es sencilla, lo único qeu hay qeu hacer es ingresar el código *#9998*4678255# con esto se activa la opción para poder instalar aplicaciones java en nuestro telefono, ahora lo único que nos falta es instalar los juegos o aplicaciones que deseemos, pero esto no es tan simple :S

  • Instalar aplicaciones java

La mayoria de las apicaciones que existen para celulares vienen en formato .jar, pero estas aplicaciones no sirven directamente en el samsung E215, a parte de este archivo .jar se necesita el archivo .jad

En Ubuntu se puede crear un script qeu nos genere nuestro archivo .jad a partir del .jar
Este script lo obtuve desde aqui


#!/bin/bash
#
# Given a J2ME midlet jarball, create a JAD for it
# Usage: ./jadmaker.sh
# safety check 1
FILE=$1
if [ ! -f "${FILE}" ]; then
echo "Input file '${FILE}' missing, exiting."
exit 1
fi
# safety check 2
JAD="${FILE%.*}.jad"
if [ -f "${JAD}" ]; then
echo "${JAD} already exists, overwrite? (y/N)"
read tmpans
answer=$(echo "$tmpans" | tr '[:upper:]' '[:lower:]')
if [ "$answer" != "y" ] && [ "$answer" != "yes" ]; then
echo "Not overwriting ${JAD}, exiting."
exit 1
else
rm -f "${JAD}"
fi
fi
# unzip the internal manifest, changing line endings to our local OS
# the sed action removes blank lines, with or without spaces/tabs
unzip -aa -j -p ${FILE} "META-INF/MANIFEST.MF" | sed -e '/^[ \t]*$/d' > "${JAD}"
# generic variables
echo "MIDlet-Jar-URL: ${FILE}" >> "${JAD}"
echo "MIDlet-Info-URL: http://" >> "${JAD}"
# actual jarball size
FILESIZE=$(stat -c%s "${FILE}")
echo "MIDlet-Jar-Size: ${FILESIZE}" >> "${JAD}"
# weee
echo "Created ${JAD}."
exit 0

Lo guardamos con el nombre jadMaker.sh y damos permisos de ejecución ( chmod +x jadMaker.sh), ahora podemos probar con algun juego ver

./jadMaker.sh juego.jar

esto nos debe generar el archivo juego.jad, luego de esto copiamos ambos archivos al telefono, luego lo buscamos en el menu del telefono, al posicionarnos sobre el archivo .jad en Opciones nos aparecerá la información sobre el archivo y ofrecerá instalarlo, al presionar “si”, este lo instala en la carpeta de juegos.
y eso es todo 😛
Saludos





Dia del Software Libre en Curicó

12 09 2008

El grupo de usuario de Software libre y Open Source de la Universidad de Talca, tiene el agrado de invitar a toda la comunidad a la celebracion del dia del software libre 2008. que se realizará este 27 de Septiembre en el campus Los Niches.

Para mas informacion visitar : http://icc.utalca.cl/wiki/DiaSoftwareLibre/2008





Canon LBP3200 en ubuntu

19 04 2008

CanonLBP3200

:O cuando intenté imprimir con la canon LBP3200 en ubuntu gutsy me llevé una gran sorpresa, no imprimía , me pareció raro ya que había probado varias impresoras y todas estaban soportadas, pero este fué un caso distinto :S.

Pero en la página de canon tiene un manual bastante bueno, genérico y sencillo de seguir, el cual replicaremos acá tomando como ejemplo la impresora canon LBP3200 :

Lo primero descargar el driver AQUI
Todo el proceso se debe hacer como super usuario ( root ): Extraemos el driver
su
tar -zxvf CAPTDRV160.tar.gz

Ingresamos al directorio donde se encuentran los paquetes .deb y los instalamos en el siguiente orden :
cd CAPTDRV160/driver/debian/
dpkg -i cndrvcups-common_1.60-1_i386.deb
dpkg -i cndrvcups-capt_1.60-1_i386.deb

Ahora reiniciamos CUPS y registramos nuestra impresora
/etc/init.d/cupsys restart
/usr/sbin/lpadmin -p LBP3200 -m CNCUPSLBP3200CAPTK.ppd -v ccp:/var/ccpd/fifo0 -E
/usr/sbin/ccpdadmin -p LBP3200 -o /dev/usb/lp0

Ahora iniciamos el demonio ccpd y listo, nuestra impresora debiese comenzar a funcionar 😉

/etc/init.d/ccpd start

Acá les dejo el manual de instalación de Canon, como lo dije anteriormente, es genérico y muy fácil de seguir BAJAR MANUAL CANON

Actualización : Este procedimiento ha sido probado tanto en Gutsy (7.10) como en Hardy (8.04)





Problema con script : /bin/bash: intérprete incorrecto: Permiso denegado

16 04 2008

Un error, no se si tan recurrente, pero que me ha quitado algunos minutos en encontrar una solucion, ya que no estan obvia, pero si es sencilla 😛
Paso a explicar mi problema :
creo el “hola mundo” en un script :
vim hello.sh
Lo escribo :
#!/bin/bash
echo "hola mundo desde bash"

Luego le doy los permisos de ejecución:
chmod +x hello.sh
Y al ejecutarlo, viene la gran sorpresa :
./hello.sh
me dá como respuesta :
bash: ./hello.sh: /bin/bash: intérprete incorrecto: Permiso denegado
:O :O :O
Obviamente no era problema de los permisos del archivo, ya que los habia cambiado durante el proceso :S, tampoco era problema de los permisos de la bash ya que al hacer :
/bin/bash < hello.sh
Lo ejecuta normalmente.

Finalmente, el problema es el disco en cual estamos ejecutando el script, al cambiar de directorio ( a otra particion) ya no hubo problema, pronto espero encontrar la forma de poder ejecutar el script en al particion que desee, por el momento tendré que trabajar en otra particion :S

Saludos.





Ejecutar comando de shell desde C

30 01 2008

Hay ocaciones en que ejecutar un comando nativo del sistema, o mejor dicho un comando reconocido por nuestra shell, nos facilita mucho la vida….

Bueno, no para todos es tan obvio como hacer esto, asi que aca voy a dejar registrado como realizar esta sencilla operacion 😉

El formato es simple 😀
system("comando que quieras");

Aqui dejo un sencillisimo ejemplo, primero creamos un archivo llamado myls.c y dentro de él ponemos el siguiente codigo:

#include<stdio.h>
int main(){
system("ls -l");
return 0;
}

Al copiar y pegar el codigo va a tener un problemas con las comillas, asi que las tienen que poner denuevo 😀

Para compilar hacemos lo siguiente:
gcc myls.c -o myls

y finalmente para ejecutarlo, hacemos lo siguiente :

./myls

Al ejecutar este programa , será lo mismo que ejecutar en la consola el comando “ls -l” ( sin comillas).

Saludos





Dar internet a otro pc con cable cruzado

8 12 2007

conexion.png

Para poder darle internet a otro computador solamente con un cable cruzado he encontrado un manual exelente.

Bueno al grano.

Para conectar computadores con ubuntu (ambos) debemos realizar lo siguiente :

Configurar el computador que tiene acceso a internet directamente con los siguientes parametros:
IP Fija : 192.168.0.1
Mascara de SubRed : 255.255.255.0

Configuracion Servidor

Ahora nos creamos un archivo llamado iptablesconf, en el directorio /etc/init.d/ que es donde se encuentran los scripts que se ejecutan cuando el computador es iniciado

 

sudo gedit /etc/init.d/iptablesconf

dentro de este archivos copiamos el siguiente script, cambiando ( segun corresponda en nuestra conexion) las lineas 4 y 6, lo que está con negrita :


#### SCRIPT DE CONFIGURACION DE IPTABLES ####
#!/bin/bash
# Dispositivo de red de internet
EXIF="eth0"
# Dispositivo de red local
INIF="eth1"
# Puertos tcp que se desean redirigir (separados por espacios)
puertosTCP="7778"
# Puertos udp que se desean redirigir (separados por espacios)
puertosUDP="7779"
# ip a la que se le redirigen los puertos
pc2="192.168.0.2"
fail=0
[ -f /etc/default/rcS ] && . /etc/default/rcS
. /lib/lsb/init-functions
log_begin_msg "Aplicando Reglas de Firewall..."
## Borrado de reglas anteriores
iptables -F || fail=1
iptables -X || fail=1
iptables -Z || fail=1
iptables -t nat -F || fail=1
## Establecemos politica por defecto
iptables -P INPUT ACCEPT || fail=1
iptables -P OUTPUT ACCEPT || fail=1
iptables -P FORWARD DROP || fail=1
iptables -t nat -P PREROUTING ACCEPT || fail=1
iptables -t nat -P POSTROUTING ACCEPT || fail=1
# Marcar paquetes salientes con su ip de origen
iptables -t nat -A POSTROUTING -o $EXIF -j MASQUERADE || fail=1
# Reenvio de IP
echo 1 > /proc/sys/net/ipv4/ip_forward || fail=1
# Aceptar paquetes para reenviar procedentes de la red local
iptables -A FORWARD -i $INIF -o $EXIF -j ACCEPT || fail=1
# Aceptar paquetes para reenviar procedentes de internet de conexiones ya establecidas
iptables -A FORWARD -i $EXIF -o $INIF -m state --state RELATED,ESTABLISHED -j ACCEPT || fail=1
##Se redirigen los puertos configurados arriba
for puerto in $puertosTCP
do
iptables -A FORWARD -i $EXIF -o $INIF -p tcp --dport $puerto -j ACCEPT || fail=1
iptables -t nat -A PREROUTING -i $EXIF -p tcp --dport $puerto -j DNAT --to $pc2:$puerto || fail=1
done
for puerto in $puertosUDP
do
iptables -A FORWARD -i $EXIF -o $INIF -p udp --dport $puerto -j ACCEPT || fail=1
iptables -t nat -A PREROUTING -i $EXIF -p udp --dport $puerto -j DNAT --to $pc2:$puerto || fail=1
done
# Se muestran los resultados
log_end_msg $fail
if [ $fail -eq 0 ]
then
log_success_msg "Verifique que lo que se aplica con: iptables -L -n."
else
log_warning_msg "Se ha producido un error al aplicar alguna de las reglas"
fi
#### FIN SCRIPT DE CONFIGURACION DE IPTABLES ####

Ahora lo guardamos, le damos permisos de ejecución y lo ejecutamos:
sudo chmod 755 /etc/init.d/iptablesconf
sudo /etc/init.d/iptablesconf

Actualizamos la “lista” de scripts que se deben ejecutar al inicio :
sudo update-rc.d iptablesconf start 20 2 .
OJO !!!! Al final debe incluir el punto

Bueno con eso ya estaría listo la configuración del “servidor” .

Ahora hay que configurar los otros PCs.
En los otros computadores se debe configurar la red de la siguiente manera :
IP fija : 192.168.0.2 ó 192.168.0.3 ó 192.168.0.4 o ….

( tiene que ser diferente en cada computador).
Mascara de SubRed : 255.255.255.0 ( esta es igual en todos los computadores ).
Puerta de Enlace : 192.168.0.1 ( esta es la misma para todos )

Configuracion Cliente

y listo !!!!

Saludos





Activar los sensores del PC

17 11 2007

Ahora que el clima se esta poniendo cada vez mas sofocante, no hay que descuidar la temperatura del pc, porque mas de una vez me avisó ( en windows ) que se estaba calentado, por lo mismo he activado los sensores en Gutsy.

La solucion fué bastante sencilla 😀

sudo apt-get install sensors-applet

Esto nos instala una serie de “administradores de sensores”, entre los que destaca sensord que a su vez depende lm-sensor .

Bueno, con esto ya podemos agregar en nuestro panel de Gnome los sensores (monitor de sensores ) , pero todavia no estan activos , asi que nos saldrá un aviso de que no se han encontrado sensores 😦 ( por lo menos, eso me salió a mi ).

Ahora para que detecte nuestros sensores escribimos en la consola :

sudo sensors-detect

Y aceptamos a todas las preguntas que nos haga, la gracia es que asi configura “automaticamente” nuestros sensores y agrega los modulos necesarios al kernel :O

Ahora reiniciamos y podremos ver que en el Panel ya aparecen nuestro sensores activos

Este applet tiene opciones para configurarlo :