Cómo ver el clima en la Terminal con Open Weather

portada-open-weather

En este artículo os queremos enseñar cómo podemos ver el clima actual en la Terminal de una forma muy chula. Para ello nos valdremos de Open Weather y su API para mostrar el clima a través de nuestra Terminal.

Es un procedimiento algo largo, o al menos no tan sencillo cómo puede parecer, puesto que tenemos que clonar su repositorio de GitHub para luego añadir una Clave de API y finalmente ejecutar el programa. Además, para los más curiosos, esta aplicación funciona con NCurses, una librería “gráfica” para la terminal, que obviamente también tendremos que instalar, con la que podemos implementar gráficos basados en caracteres de texto.  Por ello en Ubunlog te lo enseñamos paso a paso para que puedas realizarlo de la forma más sencilla posible. Empezamos.

Registro y obtención de la API Key

El primer paso es registrarnos en su Web Oficial para, posteriormente, poder conseguir una Clave de API (APi Key). Para ello tan solo tenemos que introducir un nombre de usuario, nuestro correo, y una contraseña que deberemos escribir dos veces, como siempre, tal cómo aparece en la siguiente imagen.

Captura de pantalla de 2016-05-10 15:18:42

A continuación, el sistema se dispondrá a proveernos una Clave de API, así como vemos en la siguiente imágen. Cómo podréis ver, podemos indicar el nombre de nuestra empresa (o el lugar dónde vamos a usar este widget) y, a continuación, cómo también veréis, ya se nos proporcionará la API Key. Pues bien, apuntad la Clave en un lugar seguro, o simplemente no cerréis el navegador, porque la necesitaremos más adelante.

api-key-openweather

 

Instalando la aplicación

Ahora que ya disponemos de una API Key, podemos proceder a instalar la aplicación. Cómo os decíamos al principio del artículo, para instalarla, tenemos que clonar su repositorio de GitHub en el directorio que deseemos.

Para poder usar esta aplicación, necesitaras tener una serie de programas previamente instalados: NCurses (librería gráfica para la Terminal), git (para gestionar el repositorio), bc (calculadora de GNU), curl (para obtener ficheros de una web) y finalmente grep (para filtrar salidas de comandos). Para ello ejecutamos el siguiente comando:

sudo apt-get upgrade
sudo apt-get install ncurses-bin git bc curl grep

Una vez instalados todos los programas necesarios, podemos pasar a instalar ya la aplicación. Para ello nos dirigimos a nuestra carpeta personal y clonamos el repositorio de GitHub de la aplicación para obtenerla en nuestros PC. Es decir, ejecutamos los dos siguientes comandos:

cd ~

git clone https://github.com/szantaii/bash-weather.git

Si os fijáis, veréis que se os ha creado un directorio llamado /bash-weather/ que contiene todos los scripts en Bash de la aplicación. Pues bien, ahora el siguiente paso podría ser mover el contenido de ese directorio a un directorio oculto llamado, por ejemplo, .bash-weather (cómo ya sabréis el ./ indica que es un directorio oculto). Para realizar este paso basta con ejecutar:

mv bash-weather/ .bash-weather/

Finalmente nos dirigimos al directorio creado:

cd ~/.bash-weather/

Justo ahora es cuando necesitamos indicarle a la aplicación cuál es nuestra API Key. Para ello, abrimos el fichero openweathermap.key y dentro copiamos nuestra clave. De la siguiente forma:

guardar-api-key

El último paso es otorgar al script principal permisos de ejecución, a través de chmod:

chmod +x bash-weather.sh

Finalmente, ya podemos ejecutar el programa simplemente con:

bash bash-weather.sh

O bien:

./bash-weather.sh

Se debería ver algo así:

Captura de pantalla de 2016-05-10 15:50:12

Además, el programa que hemos ejecutado cuenta con una serie de parámetros de configuración, que son los siguientes:

  • -k  Permite especificarle la API Key desde la línea de comandos, si no la hubiésemos incluido en el archivo openweathermap.key
  • -h  Nos muestra una pantalla de ayuda.
  • -t “nombre de ciudad”  Configura manualmente la ciudad a buscar.
  • -c código_pais  Configura manualmente el país en base al código de dos letras (Argentina es AR).
  • -c código_pais  Configura manualmente el país en base al código de dos letras (Argentina es AR).

Así, si ejecutaos por ejemplo:

./bash-weather.sh -t “Brasil” -f

Nos enseñaría el clima de Brasil (por el parámetro -t “Brasil”) y además nos mostraría el clima con colores (por el parámetro -f).

Ejecutando el programa desde cualquier directorio

La verdad es que parece un poco molesto tener que dirigirnos cada vez al directorio .bash-weather en nuestra carpeta personal y luego ejecutar el script. Así que la pregunta es: ¿es posible ejecutar el programa desde cualquier directorio y a través de un simple comando?

La respuesta es obviamente sí. Cómo bien sabéis, Linux dispone de un directorio llamado /bin/ que contiene una gran variedad de programas o scripts que podemos ejecutar directamente desde la terminal. Pues bien, la idea es escribir un pequeño script en bash que nos ejecute Open Weather, y a continuación guardar este script dentro de /bin/.

Cómo bien sabemos, el script que ejecutamos para iniciar la aplicación, llamado bash-weather.sh, se encuentra en ~/.bash-weather/ (directorio oculto dentro de nuestra carpeta personal, que podemos ver clicando Ctrl + H). Entonces sólo tenemos que crear un script que se dirija a ese directorio, y luego ejecute bash-weather.sh. Además, como os hemos dicho, es providencial que este script se encuentre dentro del directorio /bin, si no, no lo podremos ejecutar desde cualquier directorio en la terminal.

Para ello tenemos que crear un fichero vacío llamado, por ejemplo, mi_clima. Yo lo crearé en el escritorio. Ejecutamos:

cd ~/Escritorio

touch mi_clima

A continuación abrimos el fichero mi_clima y copiamos el siguiente contenido:

#!/bin/sh

cd ~/.bash-weather/

./bash-weather.sh

También podemos copiar el contenido a través de la terminal:

echo -e ‘#!/bin/sh\n\n cd ~/.bash-weather/\n\n ./bash-weather.sh\n’  | sudo tee ~/Escritorio/mi_clima

A continuación movemos el fichero mi_clima a la carpeta /bin. Para ello necesitamos tener permisos de superusuario, así que podemos ejecutar lo siguiente:

sudo mv ~/Escritorio/mi_clima /bin

Nos pedirá nuestra contraseña y el fichero será finalmente copiado dentro de /bin.

A partir de ahora, cada vez que escribamos mi_clima en la terminal, desde cualquier directorio, se nos ejecutará Open Weather y veremos el clima en cuestión perfectamente. ¿Facil verdad?

Esperamos que este pequeño tutorial os haya servido. Si tenéis alguna duda o algún problema dejadlo en la sección de comentarios y en Ubunlog estaremos encantados de ayudaros 🙂


Un comentario

  1.   Antonio dijo

    Hola, muchas gracias por este estupendo post, para un newbie como yo es muy interesante. Por cierto, qué aplicación es la tienes puesta para mostrar toda la info que se ve a la derecha, en la captura de pantalla? Pone procesadores, memoria, batería, redes, etc. Nuevamente muchas gracias!

Escribe un comentario