Derek Molloy

Raspberry Pi® a fondo para desarrolladores


Скачать книгу

variables de entorno (environment variables) son valores con nombre que describen la configuración de nuestro entorno Linux, por ejemplo la ubicación de archivos ejecutables o el editor de texto predeterminado. Para hacernos una idea de las variables de entorno configuradas en el RPi, ejecute el comando env y verá una lista de dichas variables en nuestra cuenta de usuario. En este caso, env se invoca en la imagen Raspbian:

      pi@erpi ~ $ env

      TERM=xterm

      SHELL=/bin/bash

      SSH_CLIENT=fe80::50b4:eb95:2d00:ac3f%eth0 2599 22

      USER=pi

      MAIL=/var/mail/pi

      PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:...

      PWD=/home/pi

      HOME=/home/pi ...

      Puede ver y modificar las variables de entorno de acuerdo con el ejemplo siguiente, que añade el directorio /home/pi a la variable de entorno PATH:

      pi@erpi ~ $ echo $PATH

      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

      pi@erpi ~ $ export PATH=$PATH:/home/pi

      pi@erpi ~ $ echo $PATH

      /usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/home/pi

      Este cambio se perderá después de reiniciar. Establecer las variables de entorno de manera definitiva requiere modificaciones en el archivo .profile, con los shells sh, ksh o bash, y en el archivo .login cuando usemos csh o tcsh. Para ello, necesitamos saber cómo realizar una edición básica de archivos en una ventana de terminal en Linux.

      Contamos con una variedad de editores de texto, pero uno de los más fáciles de usar es también el más potente: el editor GNU nano editor. Iniciamos el editor escribiendo nano seguido del nombre de un archivo existente, o bien de uno nuevo; por ejemplo, nano hello.txt muestra la vista capturada en la figura 2-6 (una vez se ha introducido el texto). Escribir nano -c hello.txt muestra el número de línea actual, lo que puede resultar muy útil durante la corrección de errores (debug). Podemos movernos libremente por el archivo mediante las teclas de cursor y modificar o escribir nuevo texto a partir de la ubicación del cursor. Puede observar algunos de los atajos de teclado en la barra que ocupa la parte inferior de la ventana del editor, pero existen muchos más, algunos de los cuales mostramos en la tabla 2-6.

      Figura 2-6: El GNU nano editor en acción durante la edición de un archivo de ejemplo,

      dentro de una ventana de terminal PuTTY en Linux.

      Tabla 2-6: Atajos de teclado para Nano. Referencia rápida.

TeclasComandoTeclasComando
Ctrl+GAyudaCtrl+YPágina anterior
Ctrl+CEncuentra el número de línea actualCtrl+_ o Ctrl+/Va a un número de línea
Ctrl+XSalir (¿guardar archivo?)Alt+/Va al final de una línea
Ctrl+LFacilita el ajuste de líneas largasCtrl+6Comienza a marcar texto (usamos las teclas de cursor para el marcado)
Ctrl+OGuardarCtrl+K o Alt+6Corta el texto marcado
Teclas de cursorMueven el cursorCtrl+UPega texto
Ctrl+AVa al inicio de una líneaCtrl+RIntroduce el contenido de otro archivo (pide la ubicación de dicho archivo)
Ctrl+EVa al final de una líneaCtrl+WBusca una cadena de texto
Ctrl+Barra espaciadoraPalabra siguienteAlt+WEncuentra el siguiente
Alt+Barra espaciadoraPalabra anteriorCtrl+DBorra el carácter del cursor
Ctrl+VPágina siguienteCtrl+KBorra una línea entera

      NOTA Ctrl+K parece eliminar toda una línea, pero en realidad la envia a un buffer desde el que podemos pegarla con el atajo Ctrl+U. Es una forma ágil de repetir múltiples Asimismo, los usuarios de Mac podrían tener que establecer una metatecla en Terminal para obtener la funcionalidad de la tecla Alt, que no tienen los Mac. Seleccione Terminal ➪ Preferencias ➪ Ajustes ➪ Teclado; luego, seleccione "Usar tecla Opción como metatecla".

      Una pregunta tan sencilla como "¿qué hora es?" causa más problemas de los que uno puede imaginar. Por ejemplo, escribir date después del símbolo del sistema puede mostrar lo siguiente:

      pi@erpi ~ $ date

      Thu 17 Dec 16:26:59 UTC 2015

      Que resulta ser correcto esta vez porque la placa está conectada a una red. Si fuera erróneo, podríamos preguntarnos por qué los fabricantes no han puesto en hora el reloj de la placa. La respuesta es que no pueden. A diferencia de un ordenador personal, el RPi carece de batería que asegure que los ajustes de la BIOS se conservan; de hecho, ni tiene BIOS. Este tema se examina con detalle en el capítulo siguiente, mas por el momento usaremos el protocolo NTP (Network Time Protocol, protocolo de hora de red) para establecer la hora. NTP es un protocolo de red que permite sincronizar relojes entre ordenadores. Si nuestro RPi da fecha y hora correctamente, es porque las obtiene desde la red utilizando un servicio NTP que se ejecuta en la placa:

      pi@erpi ~ $ systemctl status ntp

      • ntp.service - LSB: Start NTP daemon

      Loaded: loaded (/etc/init.d/ntp)

      Active: active (running) since Sat 2015-12-19 07:18:04 GMT; 22h ago

      Process: 499 ExecStart=/etc/init.d/ntp start (code=exited, status=0/SUCCESS)

      CGroup: /system.slice/ntp.service

      └─544 /usr/sbin/ntpd -p /var/run/ntpd.pid -g -u 107:112

      El servicio NTP está configurado mediante el archivo /etc/ntp.conf, y las líneas que empiezan con la palabra server identifican los servidores con los que se está comunicando nuestro RPi para obtener la fecha y la hora actuales (de ahí el carácter ^ en la llamada a grep):

      pi@erpi ~ $ more /etc/ntp.conf | grep ^server

      server 0.debian.pool.ntp.org iburst

      server 1.debian.pool.ntp.org iburst

      server 2.debian.pool.ntp.org iburst

      server 3.debian.pool.ntp.org iburst

      Para ser un buen ciudadano NTP, hay que ajustar estas entradas para que hagan referencia al grupo de servidores NTP más próximo. Para ello, diríjase a la web www.pool.ntp.org (el servidor más próximo al autor es ie.pool.ntp.org, para Irlanda) y actualice las entradas según corresponda. Si desea comprobar primero los ajustes, puede instalar y ejecutar el comando ntpdate:

      pi@erpi ~ $ sudo apt install ntpdate

      pi@erpi ~ $ sudo ntpdate -b -s -u ie.pool.ntp.org

      pi@erpi ~ $ date

      Sun 20 Dec 16:02:39 GMT 2015

      Después de ajustar fecha y hora, podemos establecer nuestra zona horaria. Utilice el comando siguiente, que proporciona una interfaz de usuario de texto para seleccionar nuestra ubicación. El RPi, en este caso, está configurado para Irlanda con el IST (Irish Standard Time, hora estándar de Irlanda):

      pi@erpi ~ $ sudo dpkg-reconfigure tzdata

      Current default time zone: 'Europe/Dublin'

      Local time is now: Sun Dec 20 16:37:48 GMT 2015.

      Universal Time is now: Sun Dec 20 16:37:48 UTC 2015.

      NOTA Si su RPi no está conectado a Internet, puede configurar fecha y hora manualmente con la herramienta timedatectl:

      pi@erpi ~ $ sudo timedatectl set-time '2017-1-2 12:13:14'

      pi@erpi