Conceptos Básicos de BASH: Introducción a BASH - Parte 7

Después de tantas cuestiones teóricas en las últimas partes de esta serie, vamos a darnos un respiro e intentar de forma inteligente aumentar la productividad de BASH cuando trabajamos con ODROID. El sistema Ubuntu MATE por defecto está repleto de utilidades muy útiles sin recurrir a la instalación de programas adicionales. Ahora, tomemos todo este potencial no utilizado para darnos una vuelta.

Opciones de acceso remoto

Si estás leyendo este artículo, es probable que quieras acceder a tu ODROID no solo con el teclado y el ratón, sino también con una consola remota desde un sistema diferente. SSH es el tradicional estándar establecido para hacer esto: no te lo puede perder, ya que lo encuentras en cada documento de instalación y configuración para nuestros ordenadores de placa reducida. ¿Pero sabías que una completa instalación de un entorno gráfico se puede utilizar incluso a través de una conexión SSH?

Intenta empezar con:

ssh -X
cuando accedas al sistema desde otro ordenador Linux. Es posible hacer que funcione con Windows usando MobaXterm, pero explicar cómo hacerlo está fuera del alcance de este artículo en concreto.

Si tienes un liviano visor de imágenes como fbi, fim o feh instalado, ahora puedes introducir

fim /usr/share/backgrounds/ubuntu-mate-photos/
para navegar por el trasfondo de MATE a través de la conexión remota. También puede usar el visor de imágenes MATE eom si te gusta, aunque las alternativas livianas son más rápidas con una conexión remota. Avanza con ESPACIO, salte con q.

Desde la línea de comandos, puede iniciar cualquier aplicación gráfica en tu sistema ODROID. Dado que los programas se inician en ODROID, los cuadros de diálogo que abren archivos también abren el sistema de archivos ODROID y trabaja con los archivos remotos.

Lograr que los archivos de audio remotos se reproduzcan en local es sorprendentemente difícil. En lugar de usar configuraciones complicadas, haremos un poco de trampa usando SSHfs (instale con apt install sshfs). Crea o usa una carpeta vacía:

  • mkdir ~/remoteODROID en tu ordenador Linux local que utilizas para acceder a ODROID.
  • Con sshfs ODROID@myODROID.lan:/home/ODROID ~/remoteODROID, puedes montar el directorio de inicio de ODROID directamente en la carpeta local ~/remoteODROID, sin necesidad de configurar primero la red con NFS.

Ahora todo está montado y se puede usar como un archivo local para que puedas escuchar archivos de audio y visualizar archivos de video en el ODROID sin dificultad. No te olvides de desmontar con

fusermount -u ~/remoteODROID
una vez que hayas terminado.

Ejecutando procesos en segundo plano

Una peculiaridad de la conexión SSH es que, si cierra la conexión, los procesos que estén ejecutándose se interrumpen. Digamos que quieres sacarles partido a tus nuevas habilidades de programación BASH y creas un pequeño script para registrar la temperatura del ODROID. Quieres ver si el sistema se calienta demasiado en un nuevo entorno, con pruebas de rendimiento o en una carcasa cerrada, así que lo dejas que funcione durante una hora:

templogger.sh

#!/bin/bash
# This script logs system temperature for one hour
# A file 'temp.log' in the home directory is used and overwritten

if [ -f ~/temp.log ]; then
  rm ~/temp.log        #if file exists, remove it
  touch ~/temp.log     #create file
fi
  for run in {1..720}  #run 720 times (5s interval)
do
  cat /sys/devices/virtual/thermal/thermal_zone0/temp >> ~/temp.log
  #for XU4/HC1/HC2; adjust for own system
  echo $run
  sleep 5
done
Si cierras la conexión apagando el PC para poder tomar una taza de café, la prueba se detiene. Para evitar esto, puede poner una tarea de segundo plano con bg y llevártela al primer plano con fg, pero hacer esto es un poco engorroso. Más fácil y flexible es usar el programa tmux o su pantalla predecesora. Nosotros solo tocamos lo básico, pero puedes dividir la pantalla con tmux y hacer una vista con dos o tres paneles, entre otras cosas. Echa un vistazo al manual con man tmux, pero no te agobies

Instálalo como de costumbre con apt install tmux. Antes de empezar a registrar la temperatura, inicia en primer lugar tmux, simplemente introduciendo tmux. Observarás una línea de estado en la parte inferior que contiene, de izquierda a derecha, el nombre de la sesión actual entre corchetes; la lista de ventanas; el título del panel activo entre comillas dobles; y la hora y fecha.

Figura 1 - Una captura de pantalla de tmux

Si inicia el script templogger.sh ahora, puedes separar la sesión tmux con CTRL + B y d para desconectar. Solo a modo de recordatorio: si colocas todos tus scripts y programas en el directorio ~/bin, aparecerán automáticamente en tu ruta. Ahora cierre la conexión SSH con CTRL + D y el terminal local, igualmente con CTRL + D. Incluso puede apagar tu PC e irte a tomar la taza de café que mencioné anteriormente.

Cuando vuelvas a ingresar al ODROID con SSH, aparecerá la pantalla de bienvenida normal con el mensaje del día. ¿Dónde está el script que tenías ejecutándose? Un simple enlace a tmux volverá a abrir la ventana de sesión tmux, y podrás ver los datos que se han ido registrando mientras tanto.

Repite el procedimiento anterior para volver a desconectar la sesión. Cuando haya terminado, un simple quit o CTRL + D sale de tmux hasta que lo necesite de nuevo. Cuando necesites realizar operaciones que duren horas, o incluso de forma indefinida, tmux será tu aliado. Antes de explorar aún más la productividad, divirtámonos un poco con los efectos visuales.

Embellecimiento

La línea de estado de tmux es un recordatorio de que la información de estado bien colocada es útil para no perderse en nuestro sistema. Al principio aprendimos a personalizar el prompt BASH, pero admitámoslo, todas las opciones mencionadas han existido durante décadas y las hemos observado en consecuencia. Ahora el mundo ha evolucionado más allá del puro ASCII.

¿Qué podemos hacer para tener una consola con un buen formato con opciones que se vean recientes y novedosas? No es tan fácil como cambiar un prompt PS3 en .bashrc. Sin embargo, muchas personas ya han dedicado mucho tiempo a esto y han creado un gran paquete .deb para que lo usemos. Instálalo con apt install powerline en primer lugar. Te darás cuenta que nada parece haber cambiado. Tenemos que realizar también algunas modificaciones en el sistema.

Abre tu archivo .bashrc con tu editor de texto favorito y dirígete al final. Antes de añadir funciones personalizadas, el .bashrc estándar termina con un bloque que empieza con la siguiente línea:

#enable programmable completion features
y termina con la siguiente línea:
fi

Después de este bloque, inserta el siguiente texto:

# Powerline features for bash, based on Ubuntu packages
if [ -f `which powerline-daemon` ]; then
  powerline-daemon -q
  POWERLINE_BASH_CONTINUATION=1
  POWERLINE_BASH_SELECT=1
  .  /usr/share/powerline/bindings/bash/powerline.sh
fi
Guarda el archivo, salte del intérprete de comandos con CTRL + D y ábrelo nuevamente. ¡Voila! Dispones de un nuevo look que hará que trabajar con la consola y BASH sea aún más fácil.

Figura 2 - Powerline BASH

Referencias

Script Powerline BASH: https://github.com/brujoand/sbp Añade más potencia a tu terminal con Powerline: https://fedoramagazine.org/add-power-terminal-powerline/

Be the first to comment

Leave a Reply