domingo, 29 de diciembre de 2019

¿Cómo instalo pip en Ubuntu 18.04LTS?

Durante su ostracismo español Juan Perón emprendió una intensa comunicación multimedial - que abarcaba epístolas, télex, cintas magnetofónicas y películas cinematográficas - y que le permitió digitar acciones tendientes a su Retorno. En una de dichas epístolas remitidas al Sindicato de Jaboneros y Perfumistas, enseñó cómo instalar Pyhton PIP en Ubuntu.


¡Trabajadores!

Por intermedio de unos compañeros de la industria del vidrio he recibido vuestra pieza del 19 del presente, que atino a responder in situ para que les llegue de vuelta.

Las recomendaciones para la lucha que me solicitan en este caso sólo pueden ser generales. Es una inquietud natural de una industria de suma importancia como lo es la de los jabones y los perfumes, cuando me planteen la conflagración armada en la superficie, y el ajusticiamiento subrepticio de oligarcas. Sin embargo, no es este el tiempo de iniciar tales predicamentos, ni lo podremos hacer con perfumes. Tal tiempo llegará y no serán pocos los que hagan tronar el escarmiento.

Día a día recibo numerosas piezas de este tenor desde la Argentina e incluso paquetes. Esto me tiene perfectamente al tanto de lo que sucede y me permite configurar un Movimiento vibrante y deseoso de continuar la lucha. En ello hemos de obrar cada uno en su puesto y con miras a un objetivo común: la grandeza de la Patria y la felicidad de su Pueblo Trabajador.

Si no hubiese sido por un administrador de paquetes de excelente factura, poco habría podido hacer para coordinar todos los esfuerzos. Pues sí señores, gran parte del software que recibo y envío está preparado en lenguaje Python, el nuevo BASIC capaz de correr en todo tipo de máquinas. Y para gestionar su operación, es importante el uso del gestor de paquetes propio que este lenguaje dispone de facto: el pip. Se trata de un instalador de paquetes Python ampliamente difundido y popular. Fue creado para ser una mejor alternativa que el viejo easy install, al cual ha terminado suplantando.

Permite instalar y administrar paquetería libre adicional de PyPi que no son parte de la librería estándar de Python. Esta biblioteca de programas hobbistas presentan una excelente oportunidad para resolver algunos problemas cotidianos por medio de software empaquetado gratuito, y por lo tanto, al alcance de todos.

En la medida que la comunidad organizada de Python se hizo cualitativamente mayor, más y más partes de Ubuntu mutaron a dicho lenguaje. El por dicha razón doctrinaria que Python 2 conforma ahora parte fundamental de la instalación estándar de Ubuntu. A pesar de que Python 3 tiene muchas ventajas sobre Python 2, este último sigue siendo una dependencia crucial del sistema. Es por ello que remover Python 2.7 del cimiento de Ubuntu 18.04 puede causar muchos problemas a largo término y provocar un casi derrumbe de esta infraestructura programática. Debe evitarse en la medida de lo posible hasta que pase un buen tiempo y Python 2 deje de tener el sentido que aún conserva.

Ubuntu 18.04LTS incluye tanto Python 2 y Python 3 preinstalados. Una instalación de pip funciona con sólo una distribución de Python por vez, de modo que ha sido necesario separar pragmáticamente tanto los comandos que invocan a pip como la instalación en si misma. Por ejemplo, el comando pip por defecto lanzará a pip para Python 2 mientras que el comando pip3 lanzará a pip para Python 3.

Instalar pip3 y pip desde el Repositorio de Ubuntu

Comenzaremos actualizando nuestro repositorio de sistema, como suele ser reglamentario. Para ello abrimos una Terminal con Ctrl+Alt+T y le ingresamos el siguiente Comando de Organización:

sudo apt update

Acto seguido, ingresaremos el el segundo comando, encargado de instalar pip para Python 3 (referido como pip3) y pip para Python 2 (referido simplemente como pip), así como sus demás dependencias necesarias entre ellos:

sudo apt install python3-pip python-pip -y

Una vez que la instalación se haya finalizado, revisaremos y verificaremos que tanto pip como pip3  hayan quedado instalados exitosamente y respondan a la órden básica. Para ello utilizaremos:

pip --version
pip3 -version

Ambos comandos nos devolverán el número y ruta de las versiones de Python instaladas. Tengamos presentes que el número de versión indicado naturalmente puede variar dependiendo de lo actualizado que esté el repositorio, pero podría indicar algo como esto:

pip 9.0.1 from /usr/lib/python3/dist-packages (python 3.6)

pip 9.0.1 from /usr/lib/python2.7/dist-packages (python 2.7)

Instalar pip independientemente empleando el script oficial de instalación

Si bien el método indicado arriba es veloz y sencillo, existe otro método oficial que emplea el guión provisto por el equipo de desarrollo de pip. Inicialmente habremos de verificar que nuestro sistema no cuente ya con una instalación previa de pip. Ello lo haremos con:

pip --version

Y el sistema debería devolver:

pip: órden no encontrada

Intente: sudo apt install

Luego descargue el guión de instalación mediante el siguiente comando:

wget https://bootstrap.pypa.io/get-pip.py

Proceda a utilizar la versión de python que desee para ejecutar el guión. Debemos tener cuidado ya que guión no coordina bien con la versión de pip preinstalada y puede provocar conflictos si hacemos que get-pip.py se instale sobre una versión anterior.

Por ejemplo, el comando para instalar pip para Python 3 en todo el sistema será:

sudo python3 get-pip.py

...en cambio, si deseamos instalar pip para Python 3 sólamente para su usuario actual, debería utilizar el comando:

python3 get-pip.py --user

De forma similar opera el comando pip para Python 2. El comando para sistema completo debería ser:

sudo python get-pip.py

...en tanto que el comando para instalarlo únicamente para su usuario actual será:

python get-pip.py --user

Empleo básico de pip

Pip hace que instalar aplicaciones de paquetes de terceros sea muy sencillo. Una de las funcionalidades básicas es instalarlos con el siguiente comando:

pip install nombre_del_paquete

Para quitar el paquete Python, usaremos:

pip uninstall nombre_del_paquete

Buscar librerías
Podríamos iniciar un navegador y buscar los paquetes en el sitio web oficial de PyPI, pero también podremos utilizar nuestra línea de comandos. Un ejemplo, buscaremos un paquete relacionados a las "cameras". El comando search nos mostrará una extensa lista similar a la siguiente:

pip search cameras

...y pip nos devolverá algo como:

ybc-camera (1.0.5)                       - ybc camera
camera-fusion (0.0.8)                    - Multiple cameras calibration and fusion with OpenCV Python.
camera-discovery (1.0.11)                - A package to discover all onvif cameras on your network
camera (1.3.0)                           - A Python module to use a PiCamera easily
big-fiubrother-camera (0.3.0)            - Big Fiubrother Camera application
zorg-network-camera (0.0.3)              - A module which includes various network camera utilities.
django-camera-imagefield (0.2)           - A Django widget for using a device's camera to get an image to upload
scan-camera (0.0.5)                      - A scanner that could scan all the ip off the world
cameras-cli (1.0.1)                      - Cameras CLI
ONVIFCameraControl (1.0.6)               - Simple camera controls.
pygame_camera (0.1.1)                    - A Camera lib for PyGame
netsurv (0.1.5)                          - Configure IP cameras.
django-milcam (0.3.1)                    - Military Camera project
digimat.ipcamera (0.1.4)                 - Digimat IP Camera
motmot.fview (0.6.8)                     - extensible camera viewer program (part of the motmot camera packages)
sonycam (0.1.0)                          - Interfacing Sony cameras featuring the Sony Camera Remote API
campi (0.1.2)                            - Camera server and client software for Raspberry Pi beam profiling camera
cctvproxy (0.1.1)                        - CCTV camera image proxy
gamecam-sdrabing (0.8.3)                 - Remote-camera software suite.
pyobs-sbig (0.8.1)                       - pyobs module for SBIG cameras
pyobs-fli (0.8)                          - pyobs component for FLI cameras
pixelink (1.4.0)                         - A Python driver for the PixeLINK camera
onvif-zeep (0.2.12)                      - Python Client for ONVIF Camera
adafruit-circuitpython-mlx90640 (1.0.1)  - Driver for the MLX90640 thermal camera
(...)


Instalar dependencias en lotes
El código Python distribuido en línea a menudo incluye un archivo requirements.txt, en el cual se declaran cuáles son las dependencias del programa. Si encontramos este archivo, podremos ejecutar este comando para instalar todas las dependencias a la vez en lugar de ejecutar pip install individualmente.

pip install -r requirements.txt

Mostrar qué archivos se han instalados y sus rutas

En ocasiones, podríamos querer analizar el código del paquete instalado. Ello es posible gracias a la condición libertaria del Software que propugnamos, y a este comando que se encarga específicamente de ello:

pip show --files paquete_instalado

...el sistema debería devolvernos algo como:


Name: paquete_instalado
Version: 1.0
Location: /my/env/lib/pythonx.x/site-packages
Files:
  ../paquete_instalado/__init__.py
  [...]

Conclusión

Naturalmente, ahora tenemos un entendimiento iluminado de cómo proceder a instalar este gestor de paquetes, que nos vendrá de perillas. Si deseamos contar con su guía de usuario específica, podremos encontrarla en el idioma de Braden aqui.

sábado, 28 de diciembre de 2019

¿Cómo puedo usar el cliente Toot para Mastodon desde la Terminal en Ubuntu?

El Justicialismo conformó un Movimiento de las más variadas asociaciones. En vista de ello, su Conductor el General Juan Perón enseñó a utilizar Toot, el cliente para la terminal adaptado para el Fediverso Mastodon en Ubuntu.

¡Compañeros!

El hombre no es un animal gregario. Desde la época de los mastodontes y las cavernas, los desafíos por la supervivencia de la especie lo obligaron a adoptar formulaciones sociales cada vez más complejas, estamentos sin los cuales no hubiese surgido la Cultura.

Es así que se conformaron familias, asociaciones primigenias de recolectores, manadas de cazadores, clanes, y luego tribus, reinos de agricultores, y las naciones industrializadas, para establecer los Estados Nacionales de hoy en día. Pero no hemos atenernos ya a ellos, pues los Estados de los hombres se han impuesto la dura dicotomía de regionalizarse como deban o globalizarse como puedan.
En la informática sucede más o menos lo mismo. Debemos socializar los medios de producción como debemos. Con tal objetivo por bandera, el Movimiento ha desarrollado Mastodon, un software libre pensado para establecer servidores autogestionados de contenidos para microblogging federado. De esta manera, es posible contar con todas las ventajas del blogueo a nivel microscópico que ofrecen aplicaciones privativas como Twitter, pero en el fediverso, regidos por nuestras propias y convenientes reglas. Podremos de esta manera Combatir al Capital.

Normalmente podremos abrir una cuenta en Mastodon.social y usar nuestro navegador web para operarlo, pero también podríamos crear nuestro propio servicio federado o utilizar el provisto por un tercero. En mi caso, empleo mastodon.sdf.org. Cualquiera sea el servidor, al emplear el protocolo Mastodon podremos federarnos a la red compartida, como si de un sindicato confederal se tratara.

 Ahora bien ¿qué sucede si deseamos hacer uso de este servicio de microbloggin desde nuestra terminal de texto? Para ello bien podríamos emplear Toot. Se trata de un cliente abierto diseñado para poder postear, contestar, borrar, reblogguear, poner como favorito y poner Estados de microbloggin con Mastodon. Entre sus características principales dentremos la de poder subir archivos con contenidos (fotos o video), spoolear texto, y agregar status de contenido sensible a nuestros envío. También podremos buscar en el fediverso por cuenta o hashtag de contenido.

Naturalmente, podremos gestionar usuarios, pudiendo seguir, enmudecer o bloquear seguidores de la red. Asimismo, permite un cambio sencillo entre múltiples cuentas de Mastodon en caso de que tengamos varias.

Para instalar el cliente Toot en Ubuntu abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización.

echo "deb http://bezdomni.net/packages/ ./" | sudo tee /etc/apt/sources.list.d/bezdomni.list ;

curl https://keybase.io/ihabunek/pgp_keys.asc | sudo apt-key add - ;

Luego de haber agregado las llaves, lo instalaremos con:

sudo apt update 
sudo apt install python3-toot

Asociar Toot a una cuenta

Antes de tootear con el cliente Toot, debemos disponer ya de una cuenta creada en cualquier servidor del fediverso Mastodon, que ua debería estar habilitada. Debemos loguearnos a la misma idealmente a través de nuestro navegador web. Una vez que estemos logueados en él con nuestro navegador, podremos asociarlo mas fácilmente.

Para hacerlo ingresamos la siguiente orden a nuestra terminal:

toot login

Esto dará inicio la rutina de Toot que nos permite realizar su asociación a una cuenta en particular. En primer lugar nos solicitará que le aclaremos cuál es la instancia de servidor que queremos asociarle. El programa intentará plantearnos la típica que es mastodon.social, pero en mi caso utilizo mastodon.sdf.org.

Una vez correctamente ingresada la instancia de servidor, Toot intentará detectarla y si lo hace nos ofrecerá un enlace URL para pedirle la asociación de cliente. Naturalmente nos ofrecerá él mismo abrir nuestro navegador. Le indicamos que si (presionando "y").
En nuestro navegador web se abrirá, y se nos presentará la opción de autorizar la aplicación cliente Toot o desautorizarla. Debemos presionar el botón celeste Autorizar.
No bien cumplamos con este paso se generaráun código de autorización, que se nos presentará en pantalla. Debemos copiarlo (podemos usar el botón Copiar).
Finalmente volvemos a la Terminal, y habremos de pegar en ella el código de autorización (podremos usar clic con botón derecho del ratón y elegir Pegar en el menú contextual, o simplemente usar Ctrl+V y presionar Enter).
 Al finalizar el sistema debería indicarnos el éxito de la operación de asociación.

Access token saved to config at: /home/usuario/.config/toot/config.json

✓ Successfully logged in.


Como ya vemos, los Códigos de Asociación de Aplicación y de Usuario quedarán almacenados en el archivo de configuración ~/.config/toot/instances/config.json.


Modo de Uso
La manera más sencilla y útil para trabajar con Toot es hacer uso de su interfaz de usuario de texto (TUI). Podremos iniciarla ingresando en la terminal:

toot tui


Tras mostrar una pantalla de inicio, tendremos a nuestra disposición una cómoda interfaz de usuario para la terminal. Podremos acceder a su ayuda mediante la h.
Para crear un estado nuevo, podremos usar c ("Compose" o componer).
En la ventana Compose Status que se nos dispondrá, podremos escribir el mensaje de microblogging, asignarle una advertencia de contenido opcional, configurar la visibilidad escogida (pública, privada, o para usuarios específicos), y finalmente podremos Postearla o cancelar el mensaje.

Las otras opciones que permite usar la tecla f para configurar un estado como favorito, o t para ver un thread abierto. Si quisiéramos ver contenido de medios (fotos o videos), podremos usar la tecla v, que abrirá una pestaña con el medio solicitado en nuestro navegador web. Para finalizar el uso de la interfaz de texto podremos abandonar Toot por medio de q.


También podremos publicar un status o toot directamente desde la línea de comandos de la terminal. Para ello ejecutamos toot con el comando post y entre comillas aquello que deseamos postear. Por ejemplo:

toot post "¡Viva Perón! Toot desde la línea de comandos"

...a lo cual el sistema nos debería indicar: "Toot posted" (Toot posteado") junto a un enlace que refiere al mismo.

Con gran simpleza podríamos postear ficheros de archivos de medios (imágenes o video) usando el sufijo --media. Por ejemplo:

toot post "Miren esta foto" --media ruta/a/foto.png

Naturalmente, si el contenido es sensible, deberá etiquetarlo como tal con el sufijo --sensitive a fin de que los usuarios deban hacer clic para autorizar su visualización.

toot post "Foto de minas en pelotas" --media minas_en_pelotas.png --sensitive

Si quisiéramos ver nuestra línea de tiempo (los post a los que estamos siguiendo) desde la línea de comandos, podremos ingresar:

toot timeline
Este comando a su vez ofrece algnas variables útiles, por ejemplo

toot timeline --public: Muestra la línea de tiempo pública.
toot timeline --public --local: Muestra la línea de tiempo pública, sólo en esta instancia.
toot timeline --tag peronismo: Muestra los posteos etiquetados con "#peronismo".
toot timeline --count 5: Muestra 5 toots (máximo 20)
toot timeline --once: No pregunta hacer fetch de mas toots.

Podremos notar que la Línea de Tiempo indica un número asociado a cada estado. Este nos permite realizar operaciones similares a las que nos ofrece la web del navegador de Mastodon, pero directamente desde la línea de comandos de nuestro intérprete de comandos.

Por ejemplo podremos marcar un estado como favorito con:

toot favourite 123456

...o reenviar un estado con:

 toot reblog 123456

Controles de Usuarios:
Estos comandos nos permitirán realizar búsquedas y gestionar a los otros usuarios a los que deseamos seguir. Por ejemplo, para buscar una persona:

toot search "nombre apellido".

...para buscar un usuario:

toot search "@usuario"

...para buscar en un servidor específico

toot search usuario@servidor.social

En nuestro fediverso propio, seremos caciques de muchos indios, y para Conducir se requiere ser un Hombre del Pueblo y Organizarse. Para diagramar nuestra tribu podremos:

...enmudecer usuario con:
toot mute usuario@servidor

...bloquear un usuario con:
toot block usuario@servidor

...o dejar de seguir un usuario
toot unfolow usuario@servidor

jueves, 26 de diciembre de 2019

¿Cómo instalo Nginix en Ubuntu 18.04LTS?

Apenas iniciada su primer Presidencia, Juan Perón impuso un plan en contra de la suba descontrolada de precios, que puso a tono los mismos y afianzó el poder de consumo del Pueblo Trabajador. Mientras presentaba el plan conocido como "de los sesenta días", explicó cómo instalar el servidor web Nginx en Ubuntu.


¡Señores!
Es tal la trascendencia que asigno a la necesidad de terminar con la carestía de la vida - especialmente en beneficio de la clase humilde de la Nación - que he llegado hasta aquí con el deseo de dar la iniciación de esta campaña que llamamos de los sesenta días.

En primer término se ha fijado ya hace tiempo cual es el concepto del equilibrio social entre sueldos y salarios. Existe una línea de la vida fijada por los salarios mínimos. Ese salario mínimo establece la línea de la vida. Los que por deficiencia de salario no alcanzan a ese salario vital, son sumergidos. Y los que lo pasan, son los emergidos.

Buscamos que en el país - en relación a los precios existentes - no existan salarios que establezcan la condición de sumergido para ningún ciudadano argentino. Si los precios suben justificadamente, no hay otro remedio que aumentar los salarios. Pero si suben los precios injustificadamente, el remedio está en bajar los precios.

En este momento, esos dos factores, el aumento justificado y el aumento injustificado, son las causas de la carestía de la vida.

En realidad, el aumento que puede considerarse justificado obedece a razones reales, impulsados por la escasez de producción, por el exceso de exportación o por la mala distribución de los artículos de primera necesidad. Y la causas ficticias obedecen a la especulación, a la mala distribución por acopio o por sustracción a la venta.

Lo primero ha de encararse para resolverlo en forma absolutamente racional, y por lo tanto con medidas racionales. Lo segundo, es decir la especulación, el acopio o la sustracción a la venta deberá combatirse con medidas drásticas de la mayor energía.

En este trabajo que hoy inicia el gobierno, para abaratar los artículos de primera necesidad necesitamos proceder racionalmente para llevar al mínimo los costos de producción, equilibrar la producción misma en su aspecto cualitativo, evitar el exceso de exportación en perjuicio del consumo interno, y racionalizar la producción. Y en segundo término contra las medidas ficticias, es decir la especulación, el acaparamiento o la sustracción a la venta, castigarlo con toda la fuerza de la Ley, ya que ambas cosas deben de considerarse en épocas como las actuales - en que la Nación debe servir al exterior en una proporción desconocida hasta hoy para abastecer a los pueblos hambrientos de otros continentes sin que la población argentina sufra las consecuencias de esa escasez - con una científica graduación de lo que podemos enviar al extranjero y lo que debemos mantener para el alimento de nuestra población.

Para ello, en primer término la colaboración de todos es absolutamente indispensable. Estamos encarando la solución de un problema de todos los argentinos, y en consecuencia todos los argentinos deben colaborar en su solución. Los productores, los industriales y los comerciantes deberán facilitar la solución del problema acelerando la producción, disminuyendo a lo indispensable la exportación, y asegurando la distribución adecuada. Eso en cuanto a las fuerzas patronales.

Los trabajadores tienen aquí también su cooperación, y ella ha de ser aumentando el rendimiento de su trabajo para producir más. Esa es la misión de todo trabajador en este momento. Y su cooperación en el taller, en la fábrica, y en el campo ha de ser asegurar para el país el mayor grado de producción posible, rindiendo con su trabajo en todas las horas el máximo posible.

Los consumidores - vale decir el Pueblo - también tiene su cooperación que asegurar en este problema. Cooperarán no pagando en ningún caso precios mayores que los fijados y denunciando a todo mal comerciante que quiera imponer precios sobre los oficiales fijados. Cada ciudadano debe ser un soldado de esta cruzada y cooperar con el Estado para el bien de todos.

Los funcionarios encargados de la vigilancia e inspección deben ser inflexibles y rígidos en el cumplimiento de su función. Los poderes y autoridades del Estado en todas sus jerarquías y funciones deben prestar apoyo y cooperación para la mejor realización de este plan.

Nadie dentro del país puede ser espectador indiferente sin que se lo considere un traidor a la causa de todos. Esta campaña de sesenta días, debe de poner a la Nación entera en marcha para vencer en ese plazo todas las dificultades, con la cooperación de los productores, industriales y comerciantes, con la cooperación de los trabajadores, haciendo rendir al máximo su trabajo, con la cooperación de los ciudadanos consumidores, no haciendo el juego a la especulación y no pagando en ningún caso un precio sobre los fijados.

Y señores, por sobre todas las cosas para no inutilizar todos estos esfuerzo de conjunto, necesitamos honradez. Honradez en el comerciante, para mantener la calidad de los artículos y no inutilizar los esfuerzos realizados. Honradez en el público, que no se preste a maniobras de ninguna naturaleza. Honradez en los funcionarios para hacer cumplir a todos con su deber de acuerdo a la ley.

Señores, vencidos los sesentas días, los precios de los artículos de primera necesidad serán los establecidos en 1945 por el Consejo Nacional de Posguerra, es decir, lo que necesita una familia obrera, en comida, menaje y vestido, para vivir dignamente con el salario vital mínimo establecido. 
En los servicios telemáticos también hemos de obrar de la misma manera. Hemos de disponer de software servidor capaz de cooperar y de gastar lo mínimo requerido. Nginix es la solución que hemos propuesto.

Se trata de uno de los servidores web más populares del mundo y aloja algunos de los sitios más grandes y con mayor tráfico en Internet. Es más fácil de utilizar que Apache en la mayoría de los casos y puede emplearse como servidor web o proxy inverso.

En esta guía os explicaré la manera de instalar Nginx en su servidor de Ubuntu 18.04LTS.

Requisitos previos

Antes de comenzar a usar esta guía, debería contar con lo siguiente:
  • Un servidor de Ubuntu 18.04 y un usuario regular que no sea Conductor (root) capaz de ejercer privilegios sudo. Además, debería ya tener habilitado un firewall básico capaz de bloquear los puertos que no sean esenciales. Para aprender a configurar una cuenta normal de usuario e instalar un firewall, siga nuestra guía de configuración inicial para Ubuntu 18.04.
Cuando disponga de una cuenta, inicie sesión como usuario no root para comenzar.

Paso 1: Instalar Nginx

Debido aq ue Nginx está disponible en los repositorios predeterminados de Ubuntu, puede instalarlo utilizando el sistema de paquetes apt.
Actualice su índice local de paquetes:

sudo apt update
sudo apt install nginx

Paso 2: Ajustar el firewall

Si siguió el tutorial de configuración del servidor de los requisitos previos, tendrá habilitado el firewall UFW. Compruebe los perfiles de aplicaciones ufw disponibles con el siguiente comando:

sudo ufw app list

...nuestro sistema nos devolverá:

Available applications:
  Nginx Full
  Nginx HTTP
  Nginx HTTPS
  OpenSSH

Habilitaremos el perfil más restrictivo, el cual de todas formas permitirá el tráfico que hemos configurado y con ello el tráfico en el puerto 80. Para ello ingresamos:

sudo ufw allow 'Nginx HTTP' 

Verificamos el cambio realizado con:

sudo ufw status 

...nuestro sistema nos devolverá:

Status: active

To                         Action      From
--                         ------      ----
OpenSSH                    ALLOW       Anywhere                  
Nginx HTTP                 ALLOW       Anywhere                  
OpenSSH (v6)               ALLOW       Anywhere (v6)             
Nginx HTTP (v6)            ALLOW       Anywhere (v6)

Paso 3: Comprobar nuestro servidor web

Realziaremos una verificación con el sistema init systemd para saber si se encuentra en ejecución el servicio, ingresando la siguiente órden:

systemctl status nginx

...a lo cual deberíamos recibir en la terminal algo como:
● nginx.service - A high performance web server and a reverse proxy server Loaded: loaded (/lib/systemd/system/nginx.service; enabled; vendor preset: enabled) Active: active (running) since Fri 2018-04-20 16:08:19 UTC; 3 days ago Docs: man:nginx(8) Main PID: 2369 (nginx) Tasks: 2 (limit: 1153) CGroup: /system.slice/nginx.service ├─2369 nginx: master process /usr/sbin/nginx -g daemon on; master_process on; └─2380 nginx: worker process

A través su dirección IP, accederemos a la página de destino predeterminada de Nginx para confirmar que el software opera de la manera deseada por el Pueblo:

http://IP_del_servidor

Deberíamos ver la insulsa página web de destino predeterminada de Nginx:

Paso 4: Configurar bloques de servidor (recomendable)

Al emplear el servidor web Nginx, podremos emplear _bloques de servidor _(similares a los hosts virtuales de Apache) a fin de encapsular detalles de configuración y alojar más de un dominio desde un único servidor.

Configuraremos un dominio llamado peronismo.com, pero debería cambiarlo por su propio nombre de dominio.

Creemos el directorio para peronismo.com, utilizando el indicador -p para crear cualquier directorio principal necesario:

sudo mkdir -p /var/www/peronismo.com/html

Asignamos la propiedad del directorio:

sudo chown -R $USER:$USER /var/www/peronismo.com/html

Los permisos de su las raíces de nuestras webs han de ser las correctas si no modificó su valor umask, pero podremos comprobarlo ingresando:

sudo chmod -R 755 /var/www/peronismo.com

Asimismo, crearemos allí una página de ejemplo index.html utilizando el editor GNU Nano:

nano /var/www/peronismo.com/html/index.html

Se abrirá el editor GNU Nano con el archivo vacío index.html. Le pegaremos el siguiente contenido:

Guardamos los cambios en el archivo con Ctrl+o y cerramos el editor con Ctrl+x.

Acto seguido, creamos un nuevo bloque de servidor en /etc/nginx/sites-available/peronismo.com. Lo haremos con:

sudo nano /etc/nginx/sites-available/peronismo.com

Le pegamos en dicho archivo el siguiente bloque de configuración, a fin de actualizar nuestro nuevo directorio y nombre de dominio:

server {
        listen 80;
        listen [::]:80;

        root /var/www/peronismo.com/html;
        index index.html index.htm index.nginx-debian.html;

        server_name peronismo.com www.peronismo.com;

        location / {
                try_files $uri $uri/ =404;
        }
}

Guardamos el archivo con Ctrl+o y cerramos el editor GNU Nano con Ctrl+x.

Habilitamos el archivo creando un enlace entre él y el directorio sites-enabled. Para ello utilizamos:

sudo ln -s /etc/nginx/sites-available/peronismo.com /etc/nginx/sites-enabled/

Al ingresar este comando de organización, quedará habilitado y configurado los dos bloques del servidor para responder las solicitudes según las directivas listen y server_name.
  • peronismo.com: responderá a solicitudes de peronismo.com www.peronismo.com, en tanto
  • default: responderá a cualquier solicitud en el puerto 80 que no coincida con los otros dos bloques.
Para evitar un posible problema de memoria de depósito hash que pueda surgir al agregar nombres de servidor adicionales, será necesario ajustar un valor en el archivo /etc/nginx/nginx.conf. A tal fin editaremos el archivo:

sudo nano /etc/nginx/nginx.conf

Se abirá Nano con dicho archivo. Usamos Ctrl+w para buscar la directiva server_names_hash_bucket_size. Al localizar dicha línea, le eliminamos el símbolo numeral ("#") a fin de descomentar la línea.


...
http {
    ...
    server_names_hash_bucket_size 64;
    ...
}
...

Tras guardar los cambios con Ctrl+o y salir del editor con Ctrl+x, realizaremos una prueba operativa en busca de posibles errores de sintaxis:

sudo nginx -t

Finalmente, reiniciamos el servidor Nginx para que se apliquen los cambios:

sudo systemctl restart nginx

Con todo esto, Nginx debería proporcionar su nombre de dominio. Podremos comprobar esto visitando http://peronismo.com. Allí, deberíamos ver el siguiente mensaje:

Conclusión

Conforme hayamos instalado y configurado neustro servidor web, contaremos con muchas opciones respecto del tipo de contenido que ofreceremos, y de las tecnologías que deseemos utilizar para crear una experiencia más completa y Justicialista para el Pueblo, que es el verdadero consumo.

martes, 17 de diciembre de 2019

¿Cómo cambio el color del cursor de la terminal de Ubuntu?

El Coronel Juan Perón propuso un encuadre humanista, solidario y cooperativo para la economía nacional, y explicó cómo cambiar la forma y el color del cursor de la Terminal de Ubuntu.

Nosotros proponemos la ayuda mutua, la ayuda del poderoso y del pobre, de un hombre para el otro hombre, la ayuda del pueblo al Estado y la ayuda del Estado al pueblo. Quienes se niegan a colaborar, no tienen sentimiento patriótico para el hermano de la tierra, no tienen sentimiento patriótico para su país, ni interés de colectividad sino interés mezquino y personal. Los países no son grandes sin esa colaboración.

Bajo este esquema solidario se hace ineludible la incorporación de las masas a la escena política, la urgencia por desarrollar la industria como factor indispensable de la independencia nacional, la sindicación, el cooperativismo en todas sus formas de consumo, de crédito, de producción urbana y agrícola, el mutualismo en sus diversas fases, y la previsión social.

Se debe alentar a que cada uno de los ciudadanos pueda acceder a las ventajas que ofrece la propiedad privada. Sin embargo, esta puede pervertirse cuando los beneficios de esta propiedad quedan restringidos a una minoría de privilegiados. Es por ello que, en el plano económico, propendemos un sistema en el que el uso de los bienes que un individuo posea deben estar al servicio del bien de la comunidad.

En la informática de consumo, esto tiene un correlato que no podemos ignorar. En nuestro tiempo, quien alquila un software mensualmente, y además alquila espacio de servidor en el extranjero está haciendo el negocio del zonzo. Si nos dejamos, aparecerán vivos que no sólo nos arrendarán uso y goce de material informático en cómodas cuotas para ser esclavo.


¡Para qué! Gracias a GNU con Linux hemos sido capaces de operar directamente y de forma remota un NAS en nuestro propio equipo, compartiéndolo en caso de ser necesario, y sin pagar los costos en moneda extranjera.

El costo de los materiales estratégicos, cuando están aquí, se reduce sensiblemente. Esto responde al conocido factor que cada moneda depositada aquí, vuelve.  El Software Libre, como herramienta multiplicadora, puede entonces dar una mano fundamental que - junto con la fuerza del Justicialismo,  pueda apalancar la economía hacia ese camino que auspiciamos vigoroso.
El proceder cooperativo oficiará de guía, un cursor que nos marque el camino y nos llame la atención diga cómo dar curso y cómo debemos actuar. La inspiración no deja de recaer en las primeras videoterminales, que determinaron el uso de un caret, o carácter que oficiaba de indicador en la interfaz proyectada en la pantalla. Con el podía determinarse en video el lugar exacto donde el usuario interactuaría (normalmente para introducir texto). En estas videoterminales tradicionales y las primeras computadoras era usual que el cursor presentara la forma de un bloque o cuadrado mediante la técnica de video inverso, y que el mismo parpadeara a intervalos regulares. Esto le permitía una gran agilidad y notoriedad adecuada en una pantalla monocromática de baja resolución.
La naturaleza de este cursor poco poco ha cambiado, y  aunque hubieron de sufrir mínimas alteraciones en su forma y comportamiento, su empleo básico sigue siendo el mismo. La tendencia ha sido convertirlo en una línea vertical poco obstructiva, y si bien este verticalismo suele ser pródigo en resultados, no deja de ser loable que existan otros gustos, o requiramos - por cualquier razón que sea - la posibilidad de alterar el cursor en nuestro sistema operativo GNU con Linux.

A toda necesidad corresponde un derecho, y será el Justicialismo el encargado de hacerlo Realidad Efectiva. Por tal motivo, os enseñaré cómo modificar el cursor en Ubuntu.

El cursor en el Entorno Gráfico
En primer lugar siempre es bueno comprender que la configuración de las opciones de parpadeo del cursor que gobiernan nuestro Escritorio gráfico podrán ser controlarlas desde las opciones del Teclado del sistema. Será sencillo acceder a ellas desde Sistema / Preferencias / Hardware / Teclado.

Esto nos abrirá el cuadro de diálogo de control del teclado, el cual normalmente utilizamos para definir cómo responden sus teclas, la distribucuión idiomática, etcétera.
En particular, en la solapa General podremos definir si queremos un cursor parpadeante en nuestro Escritorio, y en tal caso delimitar su velocidad de parpadeo con el deslizador correspondiente.

En mi caso, favorezco un parpadeo rápido y frenético, pero algunos podrían optar por uno más lento al estilo de las terminales DEC VT 220, que parpadeaban a unos 450ms. Naturalmente, aquí controlaremos estos parámetros a escala de todo nuestro escritorio gráfico en general, pero puede ser una opción para empezar, y tal vez, la única necesaria.

No es secreto para nadie que en nuestro Escritorio gráfico solemos contar con un emulador de terminal para el sistema gráfico de ventanas X, normalmente derivado del inoxidable Xterm. Este emulador de terminal es capaz de operar de una forma ágil cumpliendo la función de una verdadera miríada de clásicas terminales seriales de época, con la conveniencia de mostrar una ventana gráfica. Como tal, no ha sido extraño que los diferentes entornos de escritorio que benefician a nuestro sistema se hayan basado de forma directa en la terminal Xterm, y que lo usaran para realizar sus propias versiones, muy notablemente la Terminal de GNOME Mate y  XFCE.

Estos emuladores de terminal nos permiten editar sus Perfiles de Terminal. Estos nos permiten cambiar el aspecto gráfico y los aspectos de funcionamiento general, de forma de cambiar su estética y los resultados de operación. Normalmente ya cuentan con un "Tema" por defecto que hace a la apariencia de nuestra distribución.

En este caso, conviene crear un perfil nuevo para modificarlo según nuestro criterio. En la terminal desplegamos el menú Editar / Perfiles, y presionamos el botón Nuevo). Tras asignarle el nombre que querramos, en la solapa General podremos asignar el temperamento que tomará el parpadeo del cursor.
Podremos escoger entre Usar las preferencias del sistema (normalmente parpadea al estar activa la terminal y deja de hacerlo cuando no lo está). Las otras opciones son Parpadear Siempre y No parpadear nunca. También podremos escoger la forma del cursor de la terminal (bloque, línea o subrayado).

Vean señores, por medio de estas Configuraciones de Perfil podremos aproximar nuestra estética gráfica de una buena manera, y regular el tipo de cursor estándar.


Modificar el cursor en la terminal

Existen ocasiones donde no queremos modificar el cursor en el perfil de terminal, sino configurarlo directamente en el intérprete de comandos, por medio de un script (para lograr un efecto específico), o bien podríamos querer modificar otros aspectos como el tipo de cursor distinto al cargado en el perfil del emulador de terminal.

Controlar el cursor desde la terminal tiene ciertas ventajas. Por ejemplo, podremos cambiar su color específico.

Un ejemplo suele aclararlo todo, como decía Napoleón. Supongamos que deseamos emular completamente la estética que tenían la terminal del sitema IRIX. Su consola de terminal contaba con letras blancas sobre un fondo azul celeste, toda vez que operábamos un inconfundible cursor fijo de color verde lima.

Gracias a los comandos necesarios podremos controlar forma y color de cursor en un script fácilmente lanzable. En particular, bajo una terminal derivada de XTerm podremos modificar la estética del cursor según los siguientes comandos de organización:

Código para Activar
Resultado de Cursor
echo -ne '\e[1 q'
Bloque parpadeante
echo -ne '\e[2 q'
Bloque fijo
echo -ne '\e[3 q'
Rayita horizontal parpadeante
echo -ne '\e[4 q'
Rayita horizontal fija.
echo -ne '\e[5 q'
Línea vertical parpadeante
echo -ne '\e[6 q'
Linea vertical fija


Igual de fácil será alterar el color del cursor. En Xterm y sus derivados, el cursor tiene el mismo color que el texto en que escribimos. Sin embargo, podremos diferenciar el cursor aplicándole un color.

La manera más sencilla consiste en la orden printf

printf '%b' '\e]12;color\a'
Reemplazaremos color con alguno de los nombres en inglés de los colores, que derivan de la paleta que tengamos. Normalmente os recomiendo utilizar los colores incluidos en la paleta de 16 colores, que es la de mayor compatibilidad-
Si disponen de la paleta extendida de Linux, podrán utilizar:

white black red green blue cyan darkred darkgreen darkblue lightblue pink aqua yellow  lightyellow lime orange purple magenta

Asimismo, en caso de operar dentro de un guión de Bash, también podremos utilizar una secuencia de escape, en forma de la siguiente sintaxis:

 echo -ne '\e]12;color\a'

Siguiendo el ejemplo propuesto, para lograr el cursor de bloque fijo de color verde lima clásico de la terminal de IRIX de las Sillicon Graphics, podremos emplear dos comandos.

printf '%b' '\e]12;lime\a'
echo -ne '\e[2 q'


Naturalmente que al cerrar la terminal, estos cambios realizados al cursor se revertirán, y habremos de introducir nuevamente los comandos si es que queremos tener el mismo resultado.

Como esto es incómodo de hacer, sería útil crear un guión que se ejecute siempre si es que este cambio de color tome visos de permanencia.

A su vez, podremos agregar este guión al final del archivo de inicio de terminal de usuario (normalmente ~/.bashrc). Esto provocará que se ejecute siempre que encendamos una terminal. Supongamos que queremos contar con un cursor de color amarillo y parpadeante toda vez que encendamos la terminal. Crearemos un guión oculto con el editor Nano:

nano ~/.cursor_amarillo.sh

Esto abrirá el editor GNU Nano con un archivo vacío, al cual le pegaremos el siguiente código:

#!/bin/sh
# Pone el cursor de color parpadeante, color amarillo

#colores: white black red green blue cyan darkred darkgreen darkblue lightblue
# pink aqua yellow  lightyellow lime orange purple magenta
echo -ne '\e]12;yellow\a'

#opciones 1=bloque parpadeante; 2=bloque fijo; 3=raya parpadeante 4=raya fija
# 5=linea parpadeante 6=linea fija
echo -ne '\e[1 q'

...acto seguido guardamos el guión con Ctrl+o y salimos de Nano por medio de Ctrl+q. Como todo guión, debemos otorgarle permisos de ejecución por medio del siguiente comando de organización:

chmod +x ~/.cursor_amarillo.sh

Ahora podremos probarlo, ejecutándolo con:

./.cursor_amarillo.sh

Si el resultado nos complace y deseamos que se ejecute siempre, será necesario incorporarlo al final del archivo ~/.bashrc. Para ello ingresamos:

nano ~/.bashrc

Se abrirá el extenso archivo ~/.bashrc. Es importante no alterar nada de lo que exista ya escrito. Simplemente le pegamos al final el siguiente texto:

# Guión del cursor bloque amarillo parpadeante.
./.cursor_amarillo.sh


Naturalmente, guardamos el fichero .bashrc con Ctrl+o y salimos con Ctrl+x

sábado, 7 de diciembre de 2019

¿Cómo transmito archivos a través de FTP en Ubuntu?

El 7 de diciembre de 1950 por medio del Ministerio de Transporte, el General Juan Perón crea Aerolíneas Argentinas Sociedad del Estado, lo que produjo un fulgurante avance en la velocidad de transporte. En el Acto Fundacional, expuso cómo transmitir archivos por FTP en Ubuntu.

(...)

Estimados señores,

Toda ocasión es propicia para hacer de una cosa buena, algo mejor.
 
Ya mediante el Decreto Nº 9.358 del año 1945, la Secretaría de Aeronáutica había establecido la Política Aérea Nacional, que era la primera del país. Su principal parámetro rector instruía que las rutas de cabotaje debían ser realizadas con preferencia por el Estado. A tal fin se previó el uso de empresas mixtas nacionales creadas al efecto, con domicilio en el país, socios argentinos nativos y acciones nominativas, poseyendo el Estado Nacional el 20% de las mismas. Se les garantizaba al capital privado restante una rentabilidad del 5% anual. Esto es lo justo.

Así aparecieron las líneas aéreas FAMA, ALFA y ZONDA, que junto a la Aeroposta Argentina de existencia previa, han estelado nuestro cielo en su quehacer comercial.

Sin duda estos blasones operaron de manera mucho más eficaz gracias al nuevo material aéreo y humano incorporado, toda vez que trenes logísticos de moderna concepción habilitaban el desplazamiento a lo largo de todo nuestro mapa.

Pronto se comprendió la necesidad benefactora de la unificación, mancomunando los esfuerzo de las firmas en un conglomerado de bandera: las Aerolíneas Argentinas. Esta nueva supra-organización dinamizará enormemente el transporte aerocoercial, y nos permitirá mayores velocidades con un mayor control, tanto para cargas como para pasajeros.


Junto con la creación de portentosas líneas marítimas del estado y la Marina Mercante, así como la nacionalización de los ferrocarriles, disponemos de un variado y funcional herramental para el movimiento de bienes y la prestación de servicios bajo una órbita Justicialista.

Pues bien señores, esto que hemos llevado a cabo en el ambiente del transporte es también una Realidad Efectiva en las redes conmutadas de datos. Debemos imponer alló distintos protocolos acordados para el envío y la recepción de información, dependiendo de su urgencia, velocidad y volúmenes de bits a transportar. Esta es la manera en la que se puede organizar desde un punto de vista racional y técnico el manejo paquetizado de la información.

Vean señores, esta esquematización telemática queda en manos de los llamados "protocolos de comunicación", que serán utilizados por diferente infraestructura de comunicación para lograr la transferencia efectiva y sin errores.

Uno de los protocolos fundantes que ha previsto la técnica de nuestro Movimiento es el Protocolo de Transferenciad de Ficheros, o FTP. Este nos permite enviar y recibir archivos digitales a través de las redes telemáticas simples, utilizando para ello computadoras dotadas del software específico, conformados por un programa cliente de ftp (en la terminal local) y otro programa servidor de ftp (ejecutándose en el servidor remoto).

Antiguamente este nexo realizaba a través de líneas telefónicas de voz, empleando módems de hasta unos 56 kilobaudios de velocidad, pero hoy es normal utilizar redes de datos a través del protocolo de comunicación paquetizada de internet, el TCP/IP.

El FTP es un protocolo simple y popular, y si bien es posible utilizar unas medidas de seguridad limitadas con él (en forma de sesiones únicas con usuario y contraseña, directorios protegidos, etc), actualmente se lo considera un modo de comunicación básico, recomendado sólo para ficheros y material que podamos considerar público. Inicialmente prevee un uso abierto y anónimo. En vista de ello, ha implementado el uso de medidas de seguridad bastante limitadas referidas como SFTP (protocolo de transferencia de ficheros asegurado por usuario y contraseña).

En caso de que requiramos una infraestructura segura y con cifrado punta a punta deberíamos decantarnos por el más moderno y capaz secure shell, y su programa de copiado seguro scp.

Aún así, conocer el manejo de un cliente FTP/SFTP nunca viene mal, ya que se sigue empleando como método para copiar archivos desde servidores descentralizados, y sigue estando muy extendido.

FTP a través del Escritorio gráfico de Ubuntu
El uso de FTP a través del Ubuntu por medio del sistema gráfico X nos presenta enormes ventajas de facilidad de uso para un cliente normal.  Para establecer contacto con el servidor FTP vamos al menú Lugares / Conectar con el Servidor. Simplemente en el campo "Tipo:" hemos de indicar si se trata de FTP Público o FTP (con entrada), e indicar la dirección del servidor FTP, y eventualmente su puerto (el puerto estándar de FTP es 21).
En caso de tratarse de un sistema de FTP con entrada, debemos indicar nuestro usuario y contraseña.

En cualquiera de los dos, se abrirá un navegador de internet y se empleará el mismo para resolver la navegación por medio de FTP en la carpeta remota. A su vez, debería aparecer un acceso directo en nuestro Escritorio con la carpeta remota solicitada. Por este medio podremos cargar o descargar copias de nuestros ficheros con suma facilidad (toda vez que tengamos los permisos adecuados en el servidor remoto, claro está).

Si hacemos un uso intensivo de estos protocolos, nos vendrá bien utilizar el práctico FileZilla, programa cliente capaz de utilizar FTP y una miríada de enlaces distintos para gestionar nuestras conexiones telemáticas remotas.

FTP en la Terminal de Ubuntu
El protocolo FTP es robusto, pero está originado en la primer era de las comunicaciones telemáticas. Sus comandos intrínsecos son numerosos y tienen una equivalencia numérica, la cual es empleada por el programa cliente y el servidor para intercomunicarse. Como usuarios - en tanto - podremos emplear esta serie de comandos estandarizados para realizar las tareas de envío, recepción, revisión del status de comunicación a través de la terminal del sistema.

Nunca viene mal dominar el empleo de la consola para encaramarnos a sistemas remotos y trasferirnos o recuperar archivos desde ellos. La terminal usa mínimos recursos para ello.

bin Modo binario para los archivos a recibir (recomendado)
ascii Modo texto para los archivos a recibir
get pide una copia del archivo remoto.
send evñia un archivo al servidor 
rename renombra un archivo remoto
dele borra los archivos remotos.
rmdir borra un directorio remoto

Por ejemplo, podremos abrir una terminal y conectarnos con el medio requerido. En Ubuntu podremos abrir una terminal con Ctrl+Alt+t y entrar cliente sftp (recomendado). Lo haremos por medio de:

sftp

...o s queremos el modelo seguro (recomendado), usaremos simplemente

ftp

Al ingresar a nuestro programa cliente de FTP, nuestro prompt del intérprete de comandos cambiará para indicarnos el cliente:

sftp>

Esto indica que estamos operando desde el cliente de FTP. Lo siguiente será conectarnos al servidor remoto de ftp. Ello lo haremos ingresando en el prompt ftp> el comando open, seguido de la dirección del servidor. En caso de un FTP público sería:

sftp> open servidor.remoto

...o bien, si se trata de un servidor con permisos de entrada, sería:

sftp> open usuario@servidor

El cliente intentará conectarse. Al establecer la conexión  podría mostrarse un indicador de status si es que el servidor cuenta con el mismo, y solicitarnos el usuario y contraseña del servidor (si el servidor requiere entrada). Por ejemplo:

Esto nos indica el modo de transferencia establecido por el protocolo FTP. El más normal es sistema binary, que nos asegura control de transferencia. El otro modo disponible es el sistema ascii, que nos normalmente se usa para transferencias tipo texto o principalmente para el órdenes de los comandos para el servidor remoto. Afortunadamente, los clientes actuales conmutan automáticamente estos modos de transferencia de acuerdo a la necesidad de lo realizado.

Una vez dentro del servidor de FTP, naturalmente podremos utilizar los comandos de operación que suelen ser los operaciones similares a UNIX o del intérprete de comandos de Windows. En el caso de los clientes FTP más simples, es una buena costumbre revisar siempre cuál es nuestro directorio de trabajo actual, pues el prompt de FTP no suele ser explícito en mostrarlo. Para ello usamos el comando:

sftp> pwd

...el sistema nos devolverá cuál es nuestro directorio de trabajo actual. Si queremos ver un listado del los ficheros contenidos en el directorio de trabajo actual, debemos ingresar:

sftp> ls

...o el sistema FTP Windows el consabid comando dir.


Asismismo, podremos subir en los directorios con

sftp> cd directorio/

...o volver un nivel con:

sftp> cd ..

Estos comandos de cambio de directorio de trabajo ("CWD"), deberían provocar un reconocimiento por parde del servidor en forma del mensaje  "250 CWD command successful".

Si quisiéramos descargar un fichero por FTP, utilizamos el comando get ("obtener"). Por ejemplo:

sftp> get archivo.txt

Esto lo descargará en nuestro directorio de trabajo (normalmente la carpeta /home si iniciamos la sesión de FTP desde allí).

La descarga será instantánea (o la mayor velocidad acordada entre nuestro cliente y el servidor). Asimismo, se nos podría presentar un indicativo de status:



Para subir un archivo, empleamos el comando put.

sftp> put archivo.local /directorio/remoto/archivo.remoto

Naturalmente, en este caso el archivo.local se guardará como archivo.remoto en el directorio /directorio/remoto/, el cual debe existir y deberíamos contar con permisos de escritura en el mismo. Si ese no es el caso, podríamos omitir tales parámetros:

sftp> put archivo.local

...y de esta forma archivo.local se enviará con dicho nombre en la carpeta raíz del servidor.

Una vez que hayamos terminado de transferir archivos, debemos cerrar la sesión de FTP. Para ello debemos ingresar:

quit

....y el servidor podría indicarnos un resumen de la sesión de conexión a través del comando 221 de FTP, y regresarnos a nuestro prompt del intérprete de comandos de nuestro sistema.

221-
    Data traffic for this session was 39 bytes in 1 file.
    Total traffic for this session was 7868 bytes in 3 transfers.
221 Thank you for using the FTP service on servidor.org.


martes, 3 de diciembre de 2019

¿Cómo chateo en IRC con Ubuntu?

El 27 de enero de 1958 Juan Perón llegó a la República Dominicana desde Caracas y puso en marcha la política de subrepticio pacto del Movimiento Justicialista con la UCRI. A tal fin hubo de enseñar cómo utilizar el IRC en Ubuntu.

Vean señores,

Al llegar la hora de los enanos en mi Patria - donde el generalato se ponía los galones unos a otros - hube de emprender el exilio. Tras algunas escalas he tenido a bien recalar en esta hermosa Tierra. Su cálido Pueblo me ha recibido con las deferencias de un hermano, y me han permitido fungir aquí en Ciudad Trujillo una útil base de operaciones desde donde seguir los acontecimientos de mi país. Son oportunidades que hemos de tomar por necesidad, pues allí están haciendo la lucha, sabe.

Desde lo dirigencial, la solución en esta etapa de la lucha política debe ser simple: si nos prohíben como lo han tenido que hacer, le pondremos chimichurri al sapo y votaremos a quien pueda votarse; lo importante es mantener la fuerza de las estructuras y la unidad de las organizaciones. Ellos quieren nuestros votos para eso, pero tendrán que dar seguridades.

Si cumplen, bienvenido sea, la próxima seremos nosotros los que mandemos en el gobierno. Sí, yo seré Presidente otra vez. Y si no cumplen, porque los militares no los dejan - porque seguramente no los van a dejar o los van a voltear - entonces vendrá otra etapa nueva y estarán los militares otra vez y estos caerán, de eso no tenga duda...

Todo esto se puede predecir por quehacer político, e instrumentar gracias a las herramientas del Justicialismo. Nos podemos mantener al tanto gracias al IRC o Internet Relay Chat, herramental imprescindible para entablar por medio de una terminal informatizada comunicaciones telemáticas en tiempo real para operar desde la superficie.

Se trata de un modelo de formato abierto cliente-servidor. Específicamente, nos permite conectarnos a través de un puerto TCP 6667 a servidores de sólo texto y muy baja velocidad, ya fin de emitir y recibir mensajes generales. Gracias a ellos no será ajeno hacer amigos y reunir grupos del Pueblo con nuestros mismos intereses, e incluso realizar tareas de conducción y adoctrinamiento.

Ahora bien, a diferencia de un chat privado, las salas de chat nos permiten precisamente permiten entablar conversaciones entre varios usuarios que se encuentren en la misma. Ello implica que no deben considerarse necesariamente como privadas. Podríamos encontrar múltiples personas que abarroten un establecimiento.
A tal fin, las salas de chat IRC pueden diagramarse dentro de un servidor de la forma que queramos a fin de lograr cierta privacidad, mediante el uso de "canales (los cuales también podríamos llamar "sub-salas"). Este temperamento se puede hacer a nivel servidor, pero normalmente también se habilita a los propios usuarios, a fin de permitirles orientar las charlas si fuese necesario.

Para usar esta vía comunicativa, debemos hacer uso de un programa cliente, y eventualmente contar con un servidor de IRC, o utilizar uno de los muchos disponibles.

Uno de los programas clásicos para chatear a través del IRC es el peronista irssi, un clásico de Unix y otras plataformas.

Para instalarlo poremos abrir una terminal de Linux con Ctrl+Alt+T e ingresarle los siguientes comandos de organización:

sudo apt update
sudo apt install irssi


No bien se haya descargado el paquete, podremos dar arranque al cliente de conexión desde la misma terminal con:

lrssi

La vemtana inicial será parca, y habremos de utilizar una larga lista de comandos para dirigir el programa.

Afortunadamente, los comandos básicos deñ protocolo IRC son pocos y estandarizados. irssi a su vez permite algunas opciones más. Naturalmente, estas operan en modo texto.

En este caso podremos adherirnos a un servidor donde tengamos usuario, mediante la orden /connect. Por ejemplo, podríamos abrir el servidor de IRC público de la sdf.org, mediante:

 /connect irc.sdf.org
En el caso de que el servidor sea privado, se nos solicitará usuario y contraseña o se indicará cómo darnos de alta. En la pantalla inicial además suele utilizarse para ofrecer informaciones sobre cómo obtener un usuario con el administrador del servidor, si es que tal procedimiento es requerido. En el caso del sdf.org debe utilizarse nuestro usuario de dicha red.

Conforme hayamos iniciado la sesión con el usuario, podremos unirnos a alguno de los canales de chat propuestos (se los indica con el signo # para los canales externos y & para los internos del servidor). Para unirnos a un canal se emplea el comando /join o /j. Por ejemplo podremos crear o unirnos al canal #peronismo podríamos utilizar:

/j peronismo

En la parte superior contaremos con los diferentes mensajes de status y un reporte de los usuarios indicados. Para ingresar nuestro mensaje simplemente lo tipeamos y enviamos al servidor presionando Enter. Todos los presentes en el canal normalmente podrán recibirlo, por lo que las IRC requien el consabido decoro tradicional de las salas de chat.

Cada servidor de chat es programable y suelen permitir múltiples canales de chat, o dejar algunos abiertos.

Naturalmente contaremos con la opción de banear ciertos usuarios del chat para evitar que reciban nuestros mensajes.

 El cliente irssi cuenta con varias ventanas de trabajo que podremos acceder con Alt+nro de ventana. Esto permite charlas independientes con varias sesiones o canales.

En el caso de la SDF.org, es normal encontrar en Alt+1 el canal de ayuda #helpdesk, donde podremos solicitar ayuda (en inglés). Nuestras conversaciones quedarán en la pantalla Alt+2 en adelante.

Naturalmente, podremos abandonar el programa con:

/quit

Si quisiéramos invocar automáticamente siempre los mismos canales o servidores (salas de chat) debemos realizar un procedimiento simple para programarlo.

Primero iniciamos irssi, y luego ingresamos el servidor y los #canales que querramosmdentro de cada servidor mediante la siguiente sintaxis:

/network add sdf 
/server add -auto -network sdf irc.sdf.org 
/channel add -auto #spanish sdf



Podremos agregar los canales que querramos. Una vez ingresados, salimos del cliente con /quit.

Luego volvemos a ingresar a irssi, y se abrirán todos los canales. Elegimos la pantalla que deseamos ver en primera instancia toda vez que abramos el programa con Alt+nro de sesión o mendiante Ctrl+p. Una vez que hayamos elegido la pantalla del #canal deseado, guardamos la configuración con el comando /save layout.

miércoles, 27 de noviembre de 2019

Estrenamos nuevo diseño

El blog Ubuntu Peronista se ha caracterizado por su enconada lucha por el adoctrinamiento de las Masas en el banderas del Justicialismo y del Software Libre, y por su duradero diseño. Hoy estrenamos un remozado del mismo, pensado para adecuarse con mayor comodidad a los monitores de definición extrema.

Esto responde a la masificación del estándar Full HD, con unos 1920 pixels de ancho en lugar de los anteriores 800 o 1024 de la antigua norma SVGA. El nuevo diseño también es capaz de operar también en los modernos monitores 4K o 5K . Los resultados con la función HiDEP han mejorado.

Nuevo nuevo diseño, que es el del Pueblo, mejora la visibilidad de sus tipografías en teléfonos celulares ya que ahora no se requiere hacer zoom a nivel fijo para leerlo, y adopta su inefable "modo nocturno" si el usuario lo desea.
No obstante los cambios, el blog mantiene su clásico concepto gráfico panfletario, soportado por las masas obreras peronistas movilizadas.

Ubuntu Peronista se declara como puntal de avance en la lucha por un Software Libre, Justo y Soberano.

jueves, 21 de noviembre de 2019

¿Cómo instalo VCV Rack en Ubuntu?

¡Descamisados!

En ocasiones, la política suele ser una cosa enmarañada de difícil comprensión. Por ello un verdadero Conductor ha de poseer la habilidad para dividir su accionamiento político en partes pequeñas y comprensibles, que le avalen la realización de muchas cosas sencillas. El total de sus logros será la suma de las partes, y será esta la única manera en la que podramos proyectar en grande un futuro provechoso.

Indudablemente que la música electrónica tiene por necesidad un despliegue que podríamos considerar similar. No es secreto para nadie que los primeros sintetizadores de audio utilizaban electrónica analógica, y que constituían un enorme potencial de desarrollo y estudio de tales elementos, con un costo sideral.

La generación tonal se basaban en el uso de etapas electrónicas definidas: un elemento oscilador capaz de excitar una señal eléctrica que a su vez se transducía en un altavoz amplificado. Mediante el uso intermedio de distintos elementos de circuitería controlables, se hizo evidente que se podrían modificar las características sónicas del sonidos resultante. Mediante etapas de post-filtrado,, que no eran otra cosa que el empleo concienzudo de un circuito dependiente de frecuencia, se lograban estos efectos.

Este es el secreto de los primeros instrumentos electrónicos peronistas, como por ejempo el masivo sintetizador "Moog System 55". Su modularidad se hacía patente en su diseño de control. Su masivo panel de control dotado de potenciómetros para el filtrado, y por el hecho de poder redireccionar a piacere la señal eléctrica mediante el uso de cables phono. La estrategia de conexión permitía definir módulos en su panel de control

Esta manera modular de implementar el instrumental se ha replicado ad eternum, y existe ya una forma creativa puramente analógica de estructurar los la síntesis y su interconexión en gabinetes pensados al efecto, los "Racks". Este es un sentido puramente peronista, donde una comunidad organizada de sintetización lleva a la creación de la más maravillosa música.
El avance tecnológico continuó con el intento de resolver los problemas inherentes a esta organización modular: la programación de los sonidos no dejaba de ser algo incómodo de replicar, y de difícil ejecución en el vivo. Al fin y al cabo, para lograr un sonido específico debían configurarse las potencias, los potenciómetros e instalar los cables de patcheo, y todo ello para un único sonido. La aparición de la integración de memorias digitales facilitó mucho guardar dichas configuraciones en memorias preprogramadas, o en distintos esquemas de memorias digitales de usuario (por medio de cinta, cartucho, discos flexibles, rígidos, etc.

Nuestro Pueblo se ha hecho Movimiento gracias a las herramientas que hemos sabido suplirle. En este caso os he traído VCV Rack, un poderoso entorno sonoro de software libre pensado para emular auqellos grandes sintetizadores modulares del primer peronismo. En este, podremos recrear los encadenamientos de señal de audio y reflejar un modo de trabajo analógico. En particular, entorno gráfico simula un gabinete en el que se pueden ir apilando y conectando entre sí los distintos módulos que ofrece el programa, que también pueden conectarse a  fuentes externas.

El objetivo final es difícil de dilucidar en un principio, pero con técnica podremos realizar amplias melodías sintetizadas por medio de sus múltiples componentes individuales, toda vez que una enmarañada parva de fideos alimenta de voltios nuestro Rack,
Instalar VCV Rack en Ubuntu

VCV Rack es multiplataforma, lo que significa que existen versiones para varios sistemas operativos. En nuestro caso, lo instalaremos en nuestro sistema GNU con Linux de 64 bits, en particular Ubuntu 18.04LTS.

En este caso lo más sencillo es utilizar Terminal de comandos, que abrimos con con Ctrl+Alt+T. En ella le pegamos los siguientes comandos de organización, seguidos de la tecla Enter:

cd ~ ;
wget wget https://vcvrack.com/downloads/Rack-1.1.6-lin.zip ;
unzip Rack-1.1.6-lin.zip ;
mv Rack/ .rack/ ;

Como el VCV Rack no está paquetizado específicamente, para nuestro Linux conviene crearle un archivo de inicialización propio, que no es otra cosa que un archivo que contiene todos los comandos para que VCV Rack arranque fácilmente. Para ello ingresamos:

nano  ~/.rack.sh

...se abrirá el editor GNU Nano con un archivo vacío. Le pegamos el siguiente contenido:

#!/bin/sh
# Guión peronista de ejecución para Rack
# Copyleft Ubuntu Peronista.
cd ~/.rack/
./Rack
Tras poner dicho texto, guardamos los cambios en el fichero presionando Ctrl+o y abandonamos el editor Nano con Ctrl+x. Al volver a la Terminal sólo resta otorgarle al archivo de inicialización recién inaugurado el pertinente permiso de ejecución. Lo haremos con:

chmod +x ~/.rack.sh

Ahora ya podríamos dar inicio a Rack desde la terminal, ingresando:

./.rack.sh

Naturalmente, también podríamos querer crear un lanzador en Aplicaciones / Sonido y Video / VCV Rack, que nos dirija al archivo inicializador recién creado, que es /home/usuario/.rack.sh

Si hicimos esto, podremos iniciar el programa desde Aplicaciones / Sonido y Video / VCV Rack y debería ejecutarse.

Registrar VCV Rack
Podremos utilizar el programa sin registrarlo, pero al hacerlo podremos actualizarlo e instalar una miríada de plugins o módulos adicionales, la mayoría gratuitos. Para registrar el programa lo hacemos desde la web oficial, debemos ingresar un correo electrónico básico y una contraseña de uso.
Para actualizarlo, una vez ejecutado VCV Rack vamos al menú Library e ingresamos en los espacios correspondientes nuestro correo electrónico de registro y la contraseña que hemos asignado. Luego elegimos Update All.
Asimismo, si elegimos la opción Library / Manage Plugins el programa nos abrirá la página web que nos permite adquirir nuevos módulos. Si estamos logueados, desde ella podremos elegir descargar o comprar nuevos módulos o plugins. Existen muchos gratuitos, para instalarlos hemos re presionar en el botón "Free" y luego actualizar el programa. Son muy livianos, pero si elegimos instalar todos, su descarga puede requerir varios minutos dependiendo de nuestra velocidad de conexión.

Cómo usar VCV Rack
Al arrancar el programa ya nos presentará un gabinete y distintos racks apilables instalados en él. Podremos movernos en la ventana que representa la gabinete presionando la rueda de scroll del mouse y arrastrándonos.

Cada Rack tiene su utilidad y un manual de uso específico que encontraremos en la web oficial. La mayoría de los racks constan de sus controles en formas de potes, perillas o deslizadores, y conectores de entrada y de salida, de la misma forma que un sintetizador modular analógico real, como el Moog original.  Los conectores de salida se usan por medio de cables interconectores de colores, que llevan la señal de audio o eléctrica de un lado a otro. Con esta señal podremos alimentar los módulos y transformar los resultados según queramos.

El sintetizador modular intenta reflejar de forma más o menos fiel el resultado real. Naturalmente esto no es posible con señales puramente digitales, la idea es obtener un resultado convincente.

Ahorea bien, el setup presentado al principio nos trae un conjunto de racks sencillos ya patcheados (conexionados),  pensados para evaluar el correcto funcionamiento del sistema.

Antes que cambiar nada, conviene grabarlo por las dudas, desde el menú File / Save As...

Lo primero que tenemos que hacer para que suene en Ubuntu es escoger una salida de audio correcta en el modulo de salida AUDIO-8. Para ello hacemos clic con el botón derecho del mouse en el asignador de salidas en donde dice "No Devices" ("sin dispositivos"), y en la lista desplegable que aparecerá elegimos el dispositivo de audio que queramos utilizar.

En mi caso elijo la opción Default (1-8 in, 1-8 out), que es la salida por defecto de audio analógico de la computadora.


Ya podremos usar el sintetizador y oírlo. Las filas de teclas QWERTY y ZXCVB de nuestro teclado dispararán notas MIDI, que serán convertidas a la cuarta octava (IV-oct) y en señales de GATE (la compuerta de ruidos). Si quisiéramos controlar el módulo de generación de notas MIDI-CV por medio de un teclado o controlador MIDI, podremos asignarlo también con el botón derecho del mouse y elegir el dispositivo que tengamos, o los servidores de entrada de ALSA o JACK.

Módulos de VCV Rack

El arreglo básico consta de  siete módulos (llamados "core" o básicos, en la jerga de Rack). Su despliegue de izquierda a derecha sigue el recorrido de la señal, y son el generador de notas MIDI-CV (que estará configurado para responder a nuestro teclado), el generador de ondas osciladas de triple salida VCO-1, el modulador de osciladores de baja frecuencia VCF, un generador de envolvente ADSR, un osciloscopio SCOPE para graficar las oscilaciones, un mezclador MIXER, y el selector de salidas del servidor AUDIO-8, así como un anotador llamado NOTES.

Conforme toquemos las notas, en las salidas y entradas de la señal se irán iluminando en el circuito que está patcheado mediante los cables de colores. Si la señal es suficiente, se graficará en el osciloscopio SCOPE, y habremos de oírla a través de AUDIO-8. Tengamos presentes que el osciloscopio virtual es útil porque podremos aprender sobre formas de onda con él.

Podremos mover los potes con clic con el botón izquierdo y arrastrándolos arriba/abajo con el mouse. Manteniendo presionada Ctrl mientras arrastramos nos permitirá realizar un ajuste fino de los potes. Editaremos los potes con clic derecho del mouse, y doble clic para inicializarlas.

Podremos hacer clic con botón derecho y arrastrar entre los conectores para crear y mover cables.

Ejemplo simple:

En la parte inferior del módulo VCO-1, encontraremos un cable que conecta alguna de las salidas SIN, TRI, SAW, SQR (onda sinusoidal, triangular, diente de sierra y cuadrada repectivamente) a la entrada "IN" del módulo VCF que tiene al lado. Si en lugar de usar la señal diente de sierra queremos una señal triangular, cambiamos el cable de la salida SAW que viene por defecto, a la salida TRI.

Tengamos en cuenta que es posible apilar varios cables en una toma, si apretamos Ctrl. y arrastramos el cable a una salida ya utilizado. Esto nos permite controles más ágiles o novedosos, pero irreproducibles en la realidad.


Si quisiéramos agregar un nuevo rack de la librería al gabinete para empezar a conectarlo, debemos hacer clic derecho en un espacio vacío del gabinete, y de esta forma podremos apilar apilar nuevos módulos. Se abrirá la ventana de la Libería con un filtro por tipo de módulos, y representaciones de los módulos en sí.

Por defecto, el programa contiene varios módulos VCO y LFO (osciladores controlados por voltaje y osciladores de baja frecuencia), mezcladores, y otros sintetizadores estándares. Sin embargo pueden agregarse más unidades apilables como plugins por medio del sitio web del fabricante de VCV Rack (por medio de registro online).

La ventaja de VCV Rack es la enorme variedad de efectos propios que podremos hacer.

Cada módulo producirá efectos diferentes. Algunos de ellos directamente son secuenciadores o cajas de ritmo. Algunos tienen salidas de baja potencia o un canal de ruidos, o salidas independientes para los canales izquierdo y derecho. En tales casos contaremos con salidas Mono, estéreo o Surround.

Asimismo, podremos escoger el manual del programa (en inglés) desde aquí.

Desinstalar VCV Rack
Si hicimos la instalación con el procedimiento anteriormente indicado y quisiéramos desinstalar todo, podremos hacemos desde una Terminal con el siguiente bloque de comandos:

cd ~
rm .rack/ -r
rm .Rack/ -r
rm ~/.rack.sh