sábado, 17 de octubre de 2009

Crea archivos pdf a partir de imágenes

Una tontería con la que tope hace unos días fue que tenia varias imágenes que quería agrupar en un solo archivo pdf (Acrobat Reader). Bueno hay mil formas de hacerlo...

Pero vamos a ver la rápida/sencilla. Simplemente necesitamos un conversor que esta en los repositorios de Ubuntu, así que lo instalamos con:
sudo aptitude install imagemagick gs
Una vez instalado, solo tienes que poner todas las imágenes que quieras unir en la misma carpeta. Renombra los archivos para que se ordenen según el orden que creas oportuno, puedes usar números por ejemplo (01photo.jpg, 02imagen.png, etc...). Después abre una terminal en la carpeta con las imágenes y escribes esta orden:
convert ./* ./archivo.pdf
Tomara todos los archivos de la carpeta actual y los unirá en un pdf.
Rápido, sencillo, y sobre todo eficiente.

Fuente: Blog/Carlos Riquelme

sábado, 10 de octubre de 2009

Comparte una carpeta usando HTTP

Hoy os traigo un tip muy útil para compartir una carpeta ya sea en red o por internet usando el protocolo HTTP (web). Lo lograremos gracias a python, el cual viene por defecto instalado en Ubuntu...

La cosa es tan sencilla como moverte a la ruta que quieres compartir con una terminal, por ejemplo:
cd /home/tu-usuario/Doumentos/
Una vez ubicado ejecuta el interprete de python de este modo:
python -m SimpleHTTPServer
Ya esta! Hasta que pulses Ctrl+C en la terminal o la cierres tendrás la carpeta compartida en el puerto 8000. Para probarlo abre esta dirección en tu navegador:
http://localhost:8000
Para acceder a través de la red interna deberás usar tu IP local, por ejemplo:
http://192.168.1.33:8000
Y si quieres que el directorio este disponible en internet dirigir el puerto 8000 de tu router a la IP local de tu PC. Entonces accederás usando la IP del router (IP externa) o usando un dominio como decíamos en el post anterior.

Un Saludo!

Fuente: Paraiso Linux

viernes, 9 de octubre de 2009

Historia de mucho miedo...

Blender nos cuenta este aterrador relato. Aterrador según quien o que le escuche, claro está:



Visto en: SinWindows

jueves, 8 de octubre de 2009

Dyndns. IPs estaticas con GNU/Linux

Dyndns.org es un servicio gratuito orientado a personas que tengan una IP dinámica (de las que van cambiando) y necesitan un IP que no cambie nunca (IP Estática).


Evidentemente, si conoces algo básico de redes, no se puede substituir una IP por otra salvo que seas el proveedor de la IP. Como podrás imaginar, si no conocías ya el servicio, lo que hace dyndns es asociar un hostname (dirección de internet) del tipo usuario.dyndns.org a tu IP. Como decíamos antes, tu proveedor de internet puede que te cambie tu dirección IP sin avisar, incluso mientras estas conectado. El servicio de Dyndns incluye un pequeño software que se encarga de actualizar tu información para que la dirección registrada siempre apunte hacia tu equipo, sea cual sea la IP que tengas.


Bien, la cosa es que el modo de hacerse, según los chicos de dyndns.org usando un software llamado ddclient sobre sistemas rpm (Red Hat es el que usan como ejemplo, cuyo sistema de gestión de servicios o demonios difiere de las derivadas de Debian, como Ubuntu), me parece algo complejo para un usuario medio de escritorio. Así que estuve buscando fuentes externas y como no, existen mil formas de hacerlo con sistemas Linux. Finalmente me decanté por esta opción que pasa por instalar un pequeño servicio, que muy probablemente podáis encontrar en otras distribuciones (ipcheck), crear un sencillísimo script de shell (que funcionara en cualquier "distro" basada en POSIX y con el interprete sh, osea todos los GNU/Linux y quizás otras como BSD o Solaris...) y programar una tarea para que ejecute dicho script cada cierto tiempo...


Vamos a instalar el servicio que nos actualizara nuestra información de dyndns.org con nuestra IP, desde Ubuntu abre una terminal y escribe:
sudo aptitude install ipcheck

Ahora crearemos un directorio para nuestra configuración personal (evitando tocar la configuración general del sistema). Nuevamente en una terminal, situaos en vuestro directorio personal y escribid estos comando para crear la carpeta y el script:
cd

mkdir ~/.dyndns
touch ~/.dyndns/dyndns-update.sh
chmod 700 ~/.dyndns/dyndns-update.sh
Con el último comando lo hemos hecho ejecutable y quitamos permisos de lectura/escritura a otros usuarios. Vamos a editar el contenido del script (que ahora mismo esta vacío):
gedit ~/.dyndns/dyndns-update.sh
Pega este texto en el editor:
#!/bin/sh

USERNAME=undukito
PASSWORD=********
HOSTNAME=undukito.dyndns.org

cd ~/.dyndns
if [ -f ~/.dyndns/ipcheck.dat ]; then
  /usr/sbin/ipcheck -r checkip.dyndns.org:8245 \
 $USERNAME $PASSWORD $HOSTNAME
else
  /usr/sbin/ipcheck --makedat -r checkip.dyndns.org:8245 \
 $USERNAME $PASSWORD $HOSTNAME
fi

Ahora substituye en las 3 primeras lineas (omitiendo la de #!/bin/sh), poniendo vuestros datos de dyndns.org y el dominio que queréis mantener actualizado.  Cierra el editor guardando los cambios y a partir de ahora cada vez que ejecutes el script creado (el archivo .sh), se actualizará la IP de vuestro dominio por la que tengáis en ese momento en el PC (o el router mas bien, jeje). ¿Pero como hacer para que se ejecute cada X tiempo, de forma automática?

Esto lo lograremos con el poderoso (pero sencillo) programador de tareas de Unix; Cron 

Si hechas un vistazo al enlace dado comprobaras que programar una tarea de cron es tan sencillo como añadir el momento que quieres que se ejecute y que quieres ejecutar a un fichero de texto y ya esta!
Añadiré que al momento de introducir el momento * es equivalente a "todo".
Ejecuta este comando en una terminal para abrir el fichero de cron de tu usuario:
crontab -e
Rellena una nueva linea abajo. Los 5 primeros datos serán referentes a cuando se ejecuta: minutos-horas-diadelmes-mes-diadesemana. El 6º será la ruta del script. Los minutos pueden ser del 0 al 59 o todos (*). Las horas pueden ser de 0 a 23 o todas (*). Los días del mes pueden ser del 1 al 31 o todos (*). Los meses pueden ser del 1 al 12 o todos (*). Y los días de la semana serían desde el 0 (Lunes) hasta el 6 (Domingo) o todos (*). 
También puede decirle que se ejecute a varios minutos concretos (u horas o lo que sea) poniéndolos entre comas. Por ejemplo una alarma que me avise del trabajo la programaría así:
# m     h    dom mon       dow       command
   15  9,16    *      *    0,1,2,3,4,5   /home/dukkon/alarma

Y se ejecutará la alarma a las 9:15 y las 16:15 todos los días menos el Domingo.


Pero vamos a programar el "actualizador de dyndns". En mi caso he optado por que se actualice cada hora por que el proveedor que tengo actualmente es algo malote y me cambia la IP a cada momento. Así que le digo al cron que me ejecute el actualizador el minuto 0 de cualquier hora, día o mes. Esta es mi linea de crontab:

# m h  dom mon dow   command
0 * * * * /home/dukkon/.dyndns/dyndns-update.sh

Así se ejecutara el "actualizador" el minuto sesenta de todas las horas, todos los días.
 

Si usas tu equipo como servidor web, para probar trabajos, o simplemente para acceder a los datos de tu equipo remotamente, seguro te vendrá bien tenerlo fácilmente accesible mediante un nombre de los que dyndns te puede brindar.


Fuente: Pixels and Politics