Redimensionar imagenes desde consola


Lo que hoy vamos a tratar es el redimensionado de imágenes desde la consola. Para ello necesitaremos tener instalado el paquete imagemagick:
$ sudo apt-get install imagemagick
La primera forma es indicandole el ancho o el alto resultante que queremos para nuestra foto.
Por ejemplo, tenemos una fotografia origen de 800x600 llamada foto1.jpg :
$ convert foto1.jpg -resize 400x resultado.jpg
$ convert foto1.jpg -resize x300 resultado.jpg
Estos dos comandos darian el mismo resultado (la imagen redimensionada a 400x300) puesto que si le indicamos el ancho, el alto será proporcional a la imagen de origen. Y viceversa.

Tambien podemos hacerlo de otra forma, y es simplemente diciendole que queremos reducirla a la mitad:
$ convert foto1.jpg -resize 50% resultado.jpg

Album de fotografias en PDF con Linux


A raiz del post del otro dia sobre el redimensionado de imagenes, he encontrado otra utilidad para el comando convert, esta vez vamos a concatenar imagenes o fotografias en un PDF.
El resultado no es excesivamente espectacular, pero el formato queda muy elegante y sencillo.
Como en el caso del anterior post, deberemos tener instalado el paquete imagemagick, para ello simplemente:
$ sudo apt-get install imagemagick
Para este ejemplo he descargado un pack de fondos de pantalla para que veais el resultado.
Como se trata de hacer un album lo más comodo supongo que sera crear un directorio donde alojaremos todas las fotografías (en mi caso 25 en total).
Los fondos de pantalla los descargue de aquí.
En mi caso son todas imágenes en formato JPG, pero podria estar en cualquier otro.
$ convert *.jpg album.pdf
Esto añadiría al album todas las imágenes jpg, así es que hay que estar seguro de lo que vamos a incluir. Otra forma es añadiendo el nombre de los ficheros uno a uno, de forma que las fotos en la página que nosotros queramos. Muy sencillo:
$ convert foto1.jpg foto2.gif foto3.png album.pdf
Incluso podemos añadirle otros documentos pdf como si fuera una fotografia mas. Por ejemplo vamos a hacer un album completo del año 2008 juntando los albumes de pascuas, verano y navidad:
$ convert album-pascuas.pdf album-verano.pdf album-navidad.pdf album2008.pdf
Hay que decir que cuando los albumes estan compuestos de muchas fotografias el proceso es cada vez más largo.

Matar procesos desde la consola


A estas alturas ya sabremos todos que desde la consola se puede hacer absolutamente todo. De lo que hoy hablaremos sera de cerrar tareas que se esten ejecutando.
Para ello voy a explicar alguna cosa basica para que tengamos todos algo de culturilla (que nunca viene mal):
  • Listar procesos en ejecucion:
En nuestro sistema linux hay normalmente ejecutandose muchos procesos (la mayoria puede que demonios) que se pueden listar mediante el comando:
$ ps - e
  • Nº de procesos en ejecucion:
Probablemente os asusteis un poco al ver tantos procesos abiertos, tendre que investigar un poco acerca de esto. El comando es muy sencillo:
$ ps - e | wc - l
  • Conocer el PID de un proceso
Como podeis ver, al ejecutar el primer comando nos aparece un numero a la izquierda por cada proceso, ese numero es el PID (Identificador de Proceso). Pues bien, os voy a enseñar dos formas de conocer el PID de un proceso (en este caso firefox):
$ ps - e | grep firefox
$ pidof firefox
Matar un proceso conociendo el PIDUna vez conocemos el PID todo es coser y cantar, simplemente pondremos kill y el PID:
$ kill 6834 # sustituyendo 6834 por el PID del proceso
Esto parece un poco engorroso, pero podemos hacerlo todo en una unica linea:
$ kill $(pidof firefox)

Edición Abril 2010:

Existe otra opción más drástica que cerrará todas las ventanas de un determinado proceso:
$ sudo killall firefox

Instalar DLLs en Wine (Winetricks)


Cualquiera que haya usado wine se habra dado cuenta que para ejecutar algunas aplicaciones nos hacen falta algunas librerias librerias DLL.
Existe un script llamado winetricks que nos facilitara bastante la vida, permitiendonos instalar gran cantidad de librerias con un simple click de ratón.
El primer paso será descargar la aplicacion (que realmente es un simple script), para ello usaremos el comando:
$ wget http://www.kegel.com/wine/winetricks

Deberemos instalar el paquete cabextract para extraer el fichero que hemos descargado:

$ sudo apt-get install cabextract
$ cabextract winetricks


ACTUALIZADO!!

Ya nos hemos descargado el script, pero es necesario asignarle permisos de ejecucion:
$ chmod +x winetricks

Lo unico que deberemos hacer ahora es ejecutar el script y nos aparecera una ventana como la de la figura:
$ ./winetricks

Marcaremos las casillas correspondientes a las librerias que deseemos instalar y pulsaremos aceptar. El solo se encarga de todo el proceso, y solo tenemos que cruzarnos de brazos ¡¡UNA MARAVILLA!!

Para los asiduos a la terminal, tambien es posible automatizarlo en un solo comando, por ejemplo para instalar corefonts y divx:
$ ./winetricks  corefonts  divx

Enlaces relacionados:

  1. Wine (Wikipedia)

Emular Android en Linux


Supongo que todo el mundo sabrá que Android es el nuevo sistema operativo de Google con el cual piensa hacerse un hueco en el mundo de la telefonía movil, y a saber hasta donde puede llegar.
De momento solo existe un movil real con este sistema, pero promete ser toda una revolucion cuando se implante masivamente (si llega a hacerlo algun dia).
Podremos descargar un emulador y instalarlo en nuestro linux desde la web: http://code.google.com/intl/es-ES/android/download_list.html

Tan facil como descomprimir y en el directorio tools, ejecutar el siguiente comando:
$ ./emulator -datadir ./

Instalacion Matlab en Linux


Matlab significa "laboratorio de matrices" y es un software matematico que nos permite trabajar con funciones, matrices, ...
Es un software que tiene un precio bastante elevado, por lo que optaremos por una version libre con licencia GNU cuyo nombre es Octave.
Para instalarlo teclearemos:
$ sudo apt-get install octave
Simplemente con teclear octave en la consola abrira nuestro clon de Matlab. Vemos que no tiene entorno grafico, que todo es en modo consola. La verdad, con las pruebas que he hecho pienso que es mas que suficiente, puesto que si realizamos algun comando plot() nos aparecera una ventana aparte.
De todas maneras, si alguien prefiere usar un GUI, puede descargarse qtoctave que a mi me funciona de maravilla. Nos bajeros aquellos que indiquen "binarios linux".
Simplemente descomprimimos y en la carpeta ejecutamos:
$ sudo ./install.sh


**********ACTUALIZACION***********
No me habia dado cuenta, pero es mas facil instalar el entorno grafico, simplemente:
$ sudo apt-get install qtoctave

Errores repositorios Launchpad


Hoy he conseguido arreglar el error que me daba al intentar actualizar el repositorio de Launchpad, era el siguiente:
W: Error de GPG: http://ppa.launchpad.net intrepid Release Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 9BDB3D89CE49EC21
Simplemente ejecutaremos un script que nos permita actualizar la clave (que es el problema que tenemos) indicandole nuestra version de ubuntu.
$ wget http://kukokuko.iespana.es/launchpad-update
$ sudo sh launchpad-update intrepid
Podremos sustituir intrepid por nuestra version de ubuntu, con las siguientes posibilidades:
  • hardy
  • intrepid
  • jaunty

Conocer puertos abiertos en Linux


Ya publique como usar el firewall de Ubuntu, pero no comente como hacer un escaner a nuestro equipo para averiguar que puertos tenemos abiertos.
Tan solo tenemos que ejecutar:
$ nmap localhost
En mi caso esta utilidad no estaba instalada (cosa que me extraño mucho), pero de todas maneras el comando es sencillo:
$ sudo apt-get install nmap
Si todo ha salido bien, solo tendremos que volver a ejecutar el primer comando, y nos devolvera la lista de puertos que tenemos abiertos con una breve descripcion.
Para obtener mas informacion de un puerto determinado, aqui dejo el enlace a un articulo de la wikipedia donde da una explicacion mas detallada sobre el tema.