jueves, 29 de abril de 2021

¿Cómo evito que Skype se use para ver archivos multimedia en Ubuntu?

Mis queridos descamisados:

Como ya os he explicado, utilizo GNU Jami para tareas de transferencias de ficheros, videollamadas, llamadas de audio, y llamadas telefónicas gratuitas VoIP. Es un excelente reemplazo al Skype de Micro$oft.

Sin embargo, a veces hay que usar la ventana, para salir al balcón.

Skype es un programa de comunicaciones suele estar bastante extendido, pero es, como remedio, peor que la enfermedad. Aún así, si descontamos su plataforma privativa, Skype funciona adecuadamente para su tareas de comunicación. 

Sin embargo, no todo lo que reluce es oro. Bajo Ubuntu y Ubuntu Mate, Skype for Linux puede presentar un efecto molesto. En ocasiones la instalación de tal cliente de comunicaciones hace que en Ubuntu se nos presente la opción de "Abrir con Skype", pero lo hace a todo tipo de documentos multimedia. Entre estos se incluyen las imágenes .jpg, documentos .pdf y .doc, y archivos de audio .mp3. Esto hace que en lugar de abrirse con los visores normales (el visor de imágenes de Ubuntu o algún reproductor de audio o visor de PDF), se abren con el mismo cliente de Skype. Si bien parecería que esto está ingeniado para facilitar el envío de tales ficheros a través de dicha plataforma, lo cierto y tangible es que - en Ubuntu MATE al menos - esto resulta sumamente incordioso e invasivo. Como si de darle exclusividad a Skype se tratara...

Tal afrenta se puede solucionar desinstalando Skype, reiniciando el equipo, y volviendo a instalar Skype.

Lo más sencillo es abrir la terminal mediante Ctrl+Alt+T o bien desde Aplicaciones / Herramientas del Sistema / Terminal de MATE.

Acto seguido, desinstalamos el Skype escribiendo en la terminal el siguiente comando:

sudo apt remove skypeforlinux

Cuando presionemos la tecla Enter, Ubuntu nos solicitará la contraseña del usuario administrador. La ingresaremos "a ciegas" (no se verá nada cuando tipeemos), y presionamos la Tecla Enter.

El Ubuntu realizará comprobaciones que aparecerán en la pantalla y y nos preguntará queremos continuar con la desinstalación. Presionamos la tecla s para responder que sí.

Tras unos segundos se habrá eliminado Skype de nuestro sistema, y con él la molesta e inútil opción de abrir todos los documentos obligatoriamente con Skype.

Ya podremos reiniciar el equipo tipeando en la terminal el comando:

sudo reboot

(Naturalmente también podríamos reiniciarlo desde Sistema / Apagar y elegir la opción Reiniciar).

Una vez reiniciada la computadora, volvemos a abrir la terminal con Ctrl+Alt+t y reinstalamos Skype. Para ello el comando será ahora:

sudo apt install skypeforlinux

Ingresamos la contraseña, y Ubuntu debería descargar e reinstalar el paquete de Skype, pero ahora no usará la opción de "abrir con Skype". Para ejecutar Skype podremos ir a Aplicaciones / Internet / Skype.

Una vez que ingresemos a nuestro usuario de Skype, conviene configurar el funcionamiento del cliente. Normalmente conviene desactivar el inicio automético del mismo. Para ello en la ventana de Skype vamos a Herramientas / Configuración... y desactivamos Iniciar Skype Automáticamente e Iniciar Skype en Segundo Plano.

Demás está decir que si necesitamos enviar archivos usando Skype en Ubuntu, simplemente buscamos uno de nuestros contactos que será el destinatario del archivo y usamos el botón "Agregar Archivos" que se encuentra en la parte inferior de la ventana de conversación de Skype.

Si por algún motivo tuviésemos o quisiéramos que instalar Skype para Ubuntu de cero, podríamos ingresar en nuestra terminal los siguientes comandos (asegurándonos de contar con una conexión a internet, obviamente):

cd ~/Descargas/
wget https://go.skype.com/skypeforlinux-64.deb
sudo apt purge skypeforlinux
sudo dpkg -i skypeforlinux-64.deb

El sistema nos solicitará nuestra contraseña de administrador, y tras tipearla "a ciegas" (ya que nuevamente, no aparecerá escrita en la pantalla) y presionar Enter, se procederá a instalar Skype en Ubuntu. Luego podremos ejecutarlo desde Aplicaciones / Internet / Skype.

miércoles, 28 de abril de 2021

¿Cómo compilo y uso ORCA para componer música en Ubuntu?

¡Trabajadores!

Un Programador es un artesano capaz de entender un problema, plantear una solución a través del código, y resolver la dirección de trabajo de una máquina. Es un obrero, y en cierto sentido, un Dirigente Computacional. Cualquier cristiano que se empape en una técnica y una teoría puede hacer esto.

Pero un Verdadero Programador ve el código, lo aprecia, y lo entiende. Compila y ejecuta in mente. Este estado de omnicomprensión no está dado por la mancomunión con la máquina, sino por una percepción superior y de conjunto emanada del Pueblo. En esto no basta ya el estudio ni la práctica (partes inertes del arte sino la parte vital, que es el Artista. En otras palabras; él mismo, un Conductor. 

Obra allí el Oleo Sagrado de Samuel, y de ese no se vende en cualquier feria. 

Es a esta concreción a la que hemos de aspirar. Es posible y no es disonante decir que todo Peronista lleva en su mochila el bastón de Mariscal. 

La solución la ofrece la Organización. 

Vean señores: el hombre, aislado y sometido a lo que sólo la naturaleza le provee,  podrá atinar - con suerte - a conseguirse el pan con cachos de hardware viejo. El adagio enseña que si Dios bajara a la tierra a resolver el problema planteado entre los hombres, ya le habríamos perdido el respeto. Y no faltaría un tonto que quisiera reemplazarlo a Dios, porque el hombre es así.

Pero las Organizaciones se presentan como una evolución de este estado brutal. Están para otra cosa. Lo nuestro es la liberación de nuestro código y la Fellcidad del Pueblo. Enemigos no nos faltan. A nuestro frente, una Oligarquía coaligada con espuria sinarquías osan sumirnos en la más abyecta de las condiciones: la de depender de software privativo para hacer el cómputo. Ante esta ignominioso planteo no podemos más que hacer todos los días, todo lo que se pueda en pos de la Liberación.

Yo, como político, soy un mero aficionado. Mi profesión es la de Conductor. Para ello me he formado y he estudiado toda mi vida. De casualidad nomás llevo en mis oídos la más Maravillosa Música, que es la Palabra del Pueblo Argentino. 


Pues bien, en el campo de la música no dudarán que nos exponemos a lo mismo. Es indudable que el hombre, gracias a la tecnificación y al transistor, puede hoy utilizar Estaciones de Trabajo para Audio digital, y componer allí. No podemos negar que en esto se ha avanzado en los últimos cien años más que en los veinte siglos precedentes.

¿De qué serviría, si no es para clamar por la liberación?

Pero tampoco podemos negar que un verdadero músico ha de obrar por los mismos preceptos que un Verdadero Conductor. Ha de componer en hexadecimal utilizando código que pueda percibir directamente, de manera de compilar y ejecutar in mente. Las DAW son para neófitos y está bien que existan para la Masa Popular, que es el verdadero consumo... Pero los Verdaderos Programadores hacen música escribiéndola en ORCA.

ORCA es un lenguaje de programación orientado a la creación musical en vivo, que puede utilizarse con habilidad. Sumado a un conjunto de instrumentos e intrefaces de audio basada en tecnología MIDI, UDP y OSC, representa un nuevo paradigma para la composición musical en la Era Digital del Ciberespacio Peronista.

Dispuesto en una grilla bidimensional, tan esotérica como Lopecito, está destinado a crear muy rápidamente secuencais procedurales, donde cada letra del alfabeto represente una operación de control musical. Las letras minúsculas operan el disparo de acciones, en tanto que las mayúsculas operan cada cuadro secuencial individual.

Indudablemente que esta aplicación no es un sintetizador, sino un ambiente de programación en vivo capaz de enviar datos según el estándar MIDI, OSC y UDP a sus interfaces de audio y visuales. Como tal, es un excelente control de conducción estratégica que eleva la complejidad de aquellas estaciones de audio excepcionalmente sencillas para el comando táctico, tales como Ableto, Renoise, VCV Rack o SuperCollider.

Es sabido que en los sistemas GNU con Linux la Terminal puede utilizarse en todos los niveles del cómputo. En este caso, podremos utilizar una implementación escrita en C del lenguaje ORCA, y disponer de una interfaz de usuario basada en texto como elemento de superficie. Como es natural, está diseñada para ser potente y de bajísimo consumo, siendo capaz de operar secuencias grandes, incluso un sintetizador modular utilizando una terminal tipo DEC VT.


Pero de poco serviría si sólo el más selecto de los hombres puede conducirlo. En nuestro Movimiento impera la necesidad de un Trasvasamiento Generacional que lleve a las nuevas generaciones a la habilidad de hacer lo mismo y más que las generaciones anteriores. Esto es lo humanamente posible, biológicamente deseable, y humanamente inprescindible. Por tanto os enseñaré a grosso modo cómo hacer uso básico del entorno.

Para instalarlo abrimos una terminal con Ctrl+Alt+T y cargamos las dependencias:

sudo apt-get install git libncurses5-dev libncursesw5-dev libportmidi-dev

El sistema nos solicitara que ingresemos "a ciegas" nuestra contraseña. Luego instalará los paquetes necesarios de dependencia. Una vez finalizada esta acción, descargamos el código fuente, los ejemplos, y compilamos ORCA.

git clone https://github.com/hundredrabbits/Orca-c.git ;
cd Orca-c ;
git clone https://git.sr.ht/~rabbits/orca-examples/ ;
./tool build -d --portmidi orca ;


...Y lo ejecutamos con:
 

./Orca-c/build/debug/orca

Para asignar un dispositivo de salida MIDI que reciba las órdenes disparadas con ORCA, presionamos Ctrl+D en la terminal (o bien F1) para desplegar el menú gráfico principal, y luego elegimos la salida MIDI... Puede usarse cualquier sintetizador virtual que se les ocurra utilizar en su entorno GNU con Linux, ya que aparecerán en el menú.

+ ORCA ---------------++ PortMidi Device Selection -----+
|   New               || > (*) #0 - Midi Through Port-0 |
|   Open...           ||   ( ) #2 - Midi out Clavinova  |
|   Save              ||   ( ) #3 - Midi out VCV Rack   |
|   Save As...        |+--------------------------------+
|                     |
|   Set BPM...        |
|   Set Grid Size...  |
|   Auto-fit Grid      |
|                     |
|   OSC Output...     |
| > MIDI Output...    |
|                     |
|   Clock & Timing... |
|.....................|

Operadores

Para ver la lista de operadores adentro de Orca, se usa Ctrl+D,Ctrk+G.

A adición(a b): Da salida a la suma entre los valores de entrada.
B subtracción(a b): Da salida la diferencia entre los valores de entrada.
C clock(rate mod): Da salida en modulo de cuadro.
D delay(rate mod): dispara on modulo de cuadro.
E east: Mueve al Este, o dispara.
F if(a b): Dispara si las entradas son iguales.
G generator(x y len): escribe operandos con offset.
H halt: Detiene el operando más al sur.
I increment(mod de paso): Incrementa el operando mas al sur.
J jumper(val): Da salida el operando al norte.
K konkat(len): Lee múltiples variables.
L less(a b): Da salida a la más chica de las entradas.
M multiply(a b): Presenta el producto de las entradas.
N north: Mueve al norte, o dispara.
O read(x y read): Lee operando con offset.
P push(len key val): Escribe el operando hacia el este.
Q query(x y len): Lee operandos con offset.
R random(min max): Da salida a un valor aleatorio.
S south: Mueve hacia el sur, o dispara.
T track(key len val): Lee el operando hacia el este.
U uclid(paso max): Dispara en un ritmo Euclídeo.
V variable(write read): Lee y escribe variables.
W west: Mueve al oeste, o dispara.
X write(x y val): Escribe operando con un offset.
Y jymper(val): Da salida al operando hacia el oeste.
Z lerp(rate target): Transiciona el operando a la entrada.
* bang: Dispara los operandos vecinos.
# comentario: Detiene una línea:

Entrada/Salida

: midi(canal octava nota velocidad duración): Envía una nota MIDI.
% mono(canal octava nota velocidad duración): Envia una nota MIDI monofónica.
! cc(canal control valor): Envía un cambio de control MIDI.
? pb(canal valor): Envía un pitch Bend.
; udp: Envia un mensaje UDP
= osc(ruta): Envía un mensaje OSC.
$ self: Envía un comando de ORCA.

MIDI

El protocolo MIDI especifica órdenes de software y material de hardware para controlar digitalmente instrumentos musicales electrónicos, a través de una interfaz normalizada. En el caso de ORCA, podremos usar este establecido protocolo mediante órdenes específicas.

Los operadores MIDI en ORCA son órdenes escritas, compuestas ellas por cinco valores de entrada en su nemónico: 'canal, 'octava, 'nota, velocity, duración.

Por ejemplo, si mandamos el operador :25C, se compilará la nota Do ("C"), en la quinta octava, a través del 3er canal MIDI. En tanto, :04c será una nota Do Sostenido ("C#"), en la cuarta octava, a través del canal MIDI número 1. Recuerden que las minúsculas operan las notas negras.

Velocity es un valor opcional de intensidad que va de 0(0/127) a g (127/127). La variable Duración es la duración referida en números de cuadros, en los cuales esta nota permanecerá pulsada.

Por ejemplo, podríamos elaborar un programa midi.orca, con el siguiente código fuente:

..........................................
.#.MIDI.#.................................
..........................................
...wC4....................................
.gD204TCAFE..################.............
...:02C.g....#..............#.............
.............#..Canal....1..#.............
...8C4.......#..Octava.234..#.............
.4D234TCAFE..#..Notas.CAFE..#.............
...:13E.4....#..............#.............
.............################.............
...4C4....................................
.1D424TCAFE...............................
...%24F.2.................................
..........................................
..........................................
..........................................
..........................................


 

MIDI MONO

El operador MONO % consta de 5 entradas en su nemónico ('canal, 'octava, 'nota, velocity, duración).

Este tipo de operador es bastante similar al operador MIDI que usamos por defecto, con la salvedad que cada nota nueva que introduzcamos detendrá la ejecución de la nota anterior, impidiendo por tanto que su duración se solape con la siguiente. Como esto resulta en que sólo se puedan ejecutar secuencias monofónicas, viene bien para controlar sintetizadores modulares monofónicos que no pueden hacer acordes ni portamento (como el Moog Mini Brute Revisited, o cualquiera monofónico que tenga MIDI, se entiende).

MIDI CC

Este operador se usa para alterar algún control MIDI adicional (CC).

El operador MIDI CC ! lleva 3 entradas en su nemónico ('canal, 'control, 'valor). Envía un valor entre 0-127, donde este valor se calcula como un radio de 36, sobre un máximo de 127. Por ejemplo, !008 envía 28 o (8/36)x127, en el primer Canal MIDI, al control mapeado como id0. Para asignar un mapeado a un control MIDI, se puede oprimir la Tecla Intro, con el operador ! seleccionado.

Por defecto, el operador MIDI CC envía al MIDI CC64 y superiores. De esta forma el offset puede cambiarse con el comando cc:0 para poner un offset de 0. Naturalmente, se entiende que es útil conocer de memoria los valores de los CC MIDI para todo esto. Un verdadero músico los sabe, yo no se los tengo que explicar.

RUEDA DE PITCH MIDI

Este operador manda una instrucción de alteración tonal progresiva.

El operador MIDI PB ? requiere 3 entradas ('canal, 'lsb, 'msb).

Envía dos valores diferentes entre 0 y 127, donde el valor se calcula como un radio de 36, sobre un máximo de 127. Por ejemplo, el operador ?008, enviará un MSB (bit más significativo) de 28, específicamente (8/36)*127, y un LSB (bit menos significativo) de 0 y lo hará al Canal MIDI 1.

SELECCIÓN DE BANCO / CAMBIO DE PROGRAMA

Mas que un operador, este es un comando (ver abajo), y combina las funciones de Cambio de programa MIDI con las de Selección de Banco MIDI (las cuales se utilizan para escoger instrumentos en la memoria de masa del sintetizador).

La sintaxis es pg:canal;msb;lsb;programa.  Canal especifica de 0 a 15 para elegir el canal MIDI, en tanto que msb/lsb/programa permiten indicar entre 0 y 127, pero el programa será traducido de 1 a 128 por el controlador MIDI. Programa equivale a lo que en la nomenclatura moderna es "patch" o "parche", y denota la selección del instrumento en un sintetizador. Tengan presente que msb también puede identificarse como "Bank" y lsb como "Group" o "Sub" en algunos sintetizadores como los Yamaha SY, los AKAI, los Clavinova, o bien o DAWs como qTractor o Ableton Live.

Los msb y lsb pueden dejarse en blanco si solamente queremos mandar un cambio de programa común y corriente. Por ejemplo, pg:0;;;32 cambiará al Patch 33 (el bajo eléctrico pulsado según la convención General MIDI), sin cambiar el banco.

UDP

El control por UDP permite controlar instrumentos o módulos musicales usando tipología de red tipo ethernet.

El operador UDP ; bloquea todos los puertos hacia el este (consecutivos). Por ejemplo, ;hola mandará la cadena "hola" a disparar, a través del puerto 49160 en el localhost. En el Commander, se debe usar "udp:7777" si quieren seleccionar el puerto por defecto 7777 de UDP, e "ip:127.0.0.12" para cambiar la dirección IP que oficiará de objetivo. UDP no está disponible en la versión para navegador de Orca, naturalmente.

Puede utilizar el fichero listener.js para probar los mensajes UDP. Puede verlos en acción en el ejemplo udp.orca.

OSC

El Open Sound Control es un estándar abierto para poner en red instrumentos musicales, considerado una evolución sobre el tradicional MIDI en un entorno libre como ha de ser la creación musical. 

ORCA opera con ellos gracias a una serie de operadores distintos a los MIDI.

El operador OSC = traba cada puerto consecutivo hacia el este. El caracter final se usará como ruta, y los caracteres siguientes serán evniados como integrales por medio de la Tabla Base36. En el Commander, se usa "osc:7777" para seleccionar el puerto OSC personalizado 7777, e "ip:127.0.0.12" para cambiar la IP de destino. OSC no está disponible en la versión de Orca para Navegador tampoco.

Por ejemplo, =1abc enviará 10, 11 yd 12 a /1, a través del puerto 49162 en el localhost; =a123 enviará 1, 2 y 3, a la ruta /a. Se puede usar el programa listener.js para evaluar los mensajes OSC. Oidrña verlo en acción en el programa osc.orca o  probarlo con SonicPi.

Controles Avanzados

Algunas de las características de Orca se pueden controlar externamente
vía el puerto UDP 49169 o a través de su propia interfaz de línea de
comandos. Para activar el prompt de comandos Commander debemos usar Ctrl+K.

Modo Proyecto

Se pueden insertar rápidamente ficheros .orca agregándolos así al archivo actual, usando el prompt de la línea de comandos. Esto le permitirá navegar a lo largo de múltiples ficheros como lo haría en un proyecto. Se usa Ctrl+L para cargar múltiples archivos .orca, y luego se usa Ctrl+B para tipear el nombre de un fichero .orca cargado para insertarlo allí.

Puertos por defecto

Entrada UDP  Entrada OSC  Salida UDP   Salida OSC
49160        Ninguno      49161        49162

Comandos

Todos los comandos tienen un equivalente de abreviación equivalente a sus primeros dos caracteres en inglés. Por ejemplo, podrá escribir usando "wr". La lista completa de los comandos es la siguiente:

play Reproduce un programa.
stop Detiene un programa.
run Corre el cuadro actual.
bpm:140 Configura la velocidad a 140 compases por minuto.
apm:160 Animate la velocidad a 160 compases por minuto.
frame:0 Configura el valor de cuadro a 0.
skip:2  Suma 2, al valor de cuadro actual.
rewind:2 Resta 2, al valor de cuadro actual.
color:f00;0f0;00f  Colorea la interfaz.
find:aV Envía el cursor a la cadena aV.   
select:3;4;5;6 Mueve cursor a posición 3,4 y selecciona tamaño 5:6(opcional).
inject:peron;12;34 Inserta el fichero local peron.orca, en 12,34(opcional).
write:H;12;34 Escribe el glifo H, en 12,34(opcional).
time Presenta el tiempo, en minutos y segundos, desde 0f.
midi:1;2 Configura el dispositivo de salida MIDI al #1, y el dispositivo de entrada al #2.
udp:1234;5678 Configura el puerto de salida UDP a 1234, y el puerto de entrada a 5678.
osc:1234 Configura el puerto de salida de OSC a 1234.

Anexo A: TABLA DE INCREMENTOS Base36

Orca se opera en base a 36 incrementos. Los operadores que emplean valores numéricos generalmente también operan sobre letras y las convierten a valores según la siguiente tabla. Por ejemplo, el Do se dispará en cada cuadro 24 de la secuencia.

0   1   2   3   4   5   6   7   8   9   A   B   
0   1   2   3   4   5   6   7   8   9   10  11

C   D   E   F   G   H   I   J   K   L   M   N
12  13  14  15  16  17  18  19  20  21  22  23

O   P   Q   R   S   T   U   V   W   X   Y   Z
24  25  26  27  28  29  30  31  32  33  34  35



    Anexo B: TABLA DE TRANSPOSICION

El operador MIDI interpreta cualquier letra sobre la escala cromática como un valor de transposición. Por ejemplo, 3H equivale a la nota Do (A4 en la notación ingles, y nomenclado 4A en ORCA).

0   1   2   3   4   5   6   7   8   9   A   B
_   _   _   _   _   _   _   _   _   _   A0  B0

C   D   E   F   G   H   I   J   K   L   M   N
C0  D0  E0  F0  G0  A0  B0  C1  D1  E1  F1  G1

O   P   Q   R   S   T   U   V   W   X   Y   Z
A1  B1  C2  D2  E2  F2  G2  A2  B2  C3  D3  E3

Referencia / Turorial Básico

Como se vio, ORCA opera en base a 36 incrementos secuenciales, y los operadores convierten valores alfanuméricos a valores que van de 0 a 36. Para manerjas las interacciones entre plataforma y cliente se usan caracteres especiales

Con esta sección enseñaré lo básico para tocar una nota y una secuencia de notas.

Enviar una Nota MIDI

D8, enviará un Disparo, cada 8 cuadros.
:03C, enviará un Do ("C") en la tercer octava. Para mandar un Do Sostenido ("C#", se usa la minúscula c3.

D8....:03C

Tocar una nota aleatoria

aRG, dará salida a un valor aleatorio entre A & G, la mayúscula de la derecha indica la salida en mayúscula.

D8.aRG.
.:03D..


Hacer una melodía

04TCAFE, creará una pista de 4 notas, y le dará salida a su primer valor.

D814TCAFE
.:03A....

Tocar la melodía

8C4, contará de 0 a 3, a 1/8 de la velocidad.

.8C4.....
D804TCAFE
.:03C....

Lógica

Esta sección le enseñará lo básico de la lógica automática de decisión y el cambio dinámico de los valores de los operadores.

Tocar cada segunda nota

2I6, incrementará a 6 a una velocidad de 2.

.2I6.......
D626TCAFEDG
.:03F......
 

Tocar una nota con un offset

1AC, agregará 1 a Do (C), para darle salida a un Re (D). Para lograr un Re Sostenido (D#), se usa d minúscula, como en 1Ac.

D8.1AC.
.:03D..


Tocar una secuencia de atrás y adelante 

La combinación de la salida de C6 a B3 revolará a un valor entre 0 y 3 durante 6 cuadros.

4C6......
.4B3.....
D414TCAFE
.:03A....

Tocar una nota en un intervalo específico

.I4, incrementará a 4, a una velocidad de 1.
.F2, disparará solo si la entrada de la izquierda es igual a 2. 

I4.....
3F2.1AC
..:03D.

Proyectores

Esta sección explica lo básico para crear nuevos operadores proceduralmente. Detienen un operador en movimiento.

E, se moverá a la izquierda cada vez, en cada cuadro.
H, detendrá el movimiento de E.

..H
E..
 

Lee un operador en una posición

22O, pone el operador E en el offset 2,2. 

22O...
..E..H
.....E

Escribe un Operador en una posición.

22X, le da salida al operador E en el offset 2,2. 

22XE.
.....
.....
....E

Animar un Proyector

B4, rebotará desde 0 a 4, de ida y vuelta.

C...........
.B4.........
.1XE........
........:03C
........:03D
........:03E
........:03F
........:03G

Variables

Esta sección ejemplifica lo básico para almacenar, acceder y combinar dichos datos almacenados. 

Escribir una variable 

aV5, almacenará 5 como variable a. 

aV5

Lee una variable 

Va, le dará salida al valor de la variable a. Note como las variables tienen que ser siempre escritas encima de donde son leídas.

.....Va
.......
aV5..Va
.....5.
.......
aV6..Va
.....6.

Leer 4 variables 

3Kion, dará salida a los valores de i, o y n, lado a lado. 

iV0.oV3.nVC
...........
3Kion......
.:03C......

Mover un valor horizontal y verticalmente 

Y, Mueve la entrada hacia la izquierda.
J, Mueve la entrada hacia abajo. 

3..
J..
3Y3

Portar un disparo

Este método permite llevar los disparos a un lugar cerrado.

D43Ka...
.Y.:03C...


lunes, 26 de abril de 2021

¿Cómo hago sonar la campana de terminal en Compiz en Ubuntu?

Ante la algarabía de los obreros en la Secretaría de Trabajo y Previsión, el Coronel Juan Perón pronuncia un discurso que se transmite por radio, en el cual enseña cómo activar el sonido de la campana de la terminal terminal en Ubuntu.

¡Trabajadores!

Obreros: [Estruendo] ¡Aaaah!

Perón: ¡El apoyo que me brindan las fuerzas del trabajo es el que me llena del mayor orgullo que puede sentir este soldado! Sólo la encomiable acción organizada es capaz de vencer la acción omnímoda del capital oligárquico.

Los trabajadores argentinos vivían harapientos y ganando unos magros pesos. Hoy, gracias a la acción reivindicativa que hemos emprendido desde esta Secretaría de Previsión, contamos con las más vangaurdistas legislaciones de protección social que se han producido en el Continente. Esta acción de Previsión Social es la que ha propugnado las mutualidades, y aumentado el número de los argentinos destinados a las Pensiones de una manera inusitada.

¡La obra social que hemos encarnado la aprecian no los charlatanes, sino los obreros, que la sienten! ¡Venceremos en un año o en diez, pero Venceremos!

¡En esta obra, me pongo al servicio del Pueblo! Y así como me pongo a su servicio, juro que jamás he de servirme de él para ninguna otra cosa que no sea su Pueblo!

Obreros: ¡Eeeh!

Y si algún día es necesario para despertar a esa fé, me incoporaré a un sindicato y lucharé desde abajo!

Obreros: ¡Presidente, presidente, presidente!

Por eso, al dejar el gobierno e incorporarme al Pueblo en mi calidad de Ciudadano, les pido una vez más que sean unidos y se despojen de todo otro sentimiento que no sea servir a la clase trabajadora.

Desde Anoche, con motivo de mi alejamiento de las funciones, se ha corrido en algunos círculos la versión de que los obreros están agitados. Yo les pido, que en esta Lucha me escuchen: ¡no se vence con violencia, se vence con inteligencia y organización!

Obreros: ¡Perón! ¡Perón! ¡Perón!

Por eso les pido también que mantengan una absoluta calma y cumplan con lo que es nuestro lema de siempre: "De trabajo a casa y de casa al trabajo".

¡Cuando los necesite, los llamaré con un campanazo de terminal de Ubuntu!

Obreros: ¡Mande Coronel! ¡Mande Coronel!

Saben ustedes que originalmente, las terminales de teletipo que se utilizaban como dispositivo de entrada/salida para los mainframes UNIX, contaban con una campana similar a la de las máquinas de escribir. Esta se disparaba electromecánicamente al recibir el código binario del carácter de control número 7 de la tabla ASCII, llamado caracter BEL (el "campanazo"). Este campanazo de terminal podía utilizarse como una advertencia sonora para llamar al Obrero cuando este estaba lejos de la terminal.

Con el tiempo este carácter fue reemplazado por pitidos electrónicos, normalmente a través de un oscilador conectado a un altavoz, o bien un altavoz piezoeléctrico.

Pues bien, en los sistemas más modernos, provistos ya de emuladores de videoterminal, lo usual es que se asigne el caracter BEL a un simple fichero de audio, y que la reproducción del mismo se dispare por medio del servidor de audio.

Normalmente suele querer desconectarse esta campana, pero en mi caso la encuentro necesaria para advertir ciertas tareas operativas. Y por qué no, me resulta simpática.

Si no oímos la campana, en primer lugar debemos tomar noción si en nuestro emulador de terminal, tal opción está activada. En el caso del escritorio MATE, como el Gnome3 de Ubuntu se usa la Terminal. En ella vamos activamos la opción Mostrar la Barra de Menú, y nos dirigimos al menú Editar / Preferencias del Perfil. En la solapa General nos aseguramos que esté tildada la opción "Campana de Terminal"

En el emulador de terminal de Ubuntu podremos intentar probar en dicha terminal el sonido de la campana usando la combinación Ctrl+g o bien introduciendo el comando:

tput bel

Si aún así no recibimos sonido de terminal, debemos a continuación evaluar que no tengamos silenciado o muteado las alertas de audio, ya que esto también enmudecerá la campana. Para ello vamos a Sistema / Preferencias / Hardware / Sonido.

En la solapa Efectos de Sonido nos aseguramos de que la opción Volumen de alerta esté destildada. También podremos escoger un tema de sonido (normalmente se usa "Default" o Yaru en Ubuntu Mate.

También será útil evaluar que los ficheros de audio estén presentes en nuestro sistema. Es raro que ello no sea así, pero nos quitaremos la duda. Como en caso del tema de audio de escritorio Default de Ubuntu Mate, el archivo de sonido asignado a la campana normalmente es  /usr/share/sounds/freedesktop/stereo/bell.oga, y en el tema de audio de escritorio Yaru, cuyo archivo de campana será /usr/share/sounds/Yaru/stereo/bell.oga., podremos utilizar:

play /usr/share/sounds/freedesktop/stereo/bell.oga
play /usr/share/sounds/Yaru/stereo/bell.oga

Los dos ficheros de audio deberían poder reproducirse. Si alguno de estos ficheros de audio nos parecen molestos, podremos reemplazarlo por otro fichero de tipo .OGG, siempre que lo renombremos para usar el mismo nombre de archivo bell.oga.

En el caso de utilizar el gestor de escritorio Gnome, Marco o Marco con Efectos, con esto debería ser suficiente para contar ya con la campana de terminal en el servidor de audio digital de nuestro entorno libre.

Campana de terminal en Compiz

El gestor de escritorio Compiz cuenta con gran despliegue de animaciones y plugins de control, por lo cual puede ser el favorito de las Masas Peronistas. Normalmente para activar la campana en el gestor de escritorio Compiz  debemos asegurarnos de ir a Sistema / Preferencias / Aspecto y Comportamiento / CompizConfig Setting Manager. Esto arrancará el configurador de Compiz.

Luego debemos hacer clic sobre la categoría Opciones Generales.

...y a continuación seleccionamos la solapa  General. En ella nos aseguramos de tildar "Timbre Audible", lo que activará la opción audible_bell de Compiz.

Hasta la versión 16.04LTS de Ubuntu esto era lo único que se requería. Lamentablemente, el compositor de escritorio Compiz tiene un problema con esta campana a partir de la versión Ubuntu 18.04LTS. 

En las versiones más nuevas de Ubuntu (incluyendo de momento 20.04LTS) puede hacerse necesario asignar específicamente un módulo de audio para la campana y asociarle un fichero de audio específico al caracter del timbre audible para que se dispare el campanazo. Sólo de esta manera Compiz podrá reproducirlo.

Por gran fortuna, esto es muy sencillo de hacer, e incluso existen varias maneras de llevarlo a cabo. La manera más directa y simple consiste en agregar una modificación dentro del archivo de autoejecución de sesión gráfica ~/.xprofile, la cual cumpla con dicho anhelo. 

Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente bloque de comandos de organización:

echo '' >> ~/.xprofile ;
echo '## Este programa activa la campana de terminal en Compiz con Ubuntu Mate 20.04LTS' >> ~/.xprofile ;
echo 'pactl upload-sample /usr/share/sounds/freedesktop/stereo/bell.oga x11-bell >> /dev/null' >> ~/.xprofile ;
echo 'pactl load-module module-x11-bell sample=x11-bell display=$DISPLAY >> /dev/null' >> ~/.xprofile

En el caso de utilizar el emulador xterm, podríamos querer agregar esta opción de uso específico para que active la terminal:

echo '' >> ~/.xsession
echo '# Agregado para que toque la campana en xterm' >> ~/.xession
echo 'xset b on' >> ~/.xsession

Para finalizar, debemos reiniciar nuestra sesión gráfica de usuario. Lo más sencillo puede ser reiniciar directamente el sistema con:

sudo reboot

Completado el arranque, deberíamos poder activar la campana por medio del caracter ASCII 7 BEL en nuestro emulador de terminal, y debería oírse el fichero bell.oga en la sesión gráfica de nuestro escritorio Compiz. Recordemos que en las terminales tipo DEC VT se puede hacer sonar la campana presionando Ctrl+g

Sin embargo, en ocasiones podríamos querer hacer sonar la campana dentro de un guión de Bash, o algún otro intérprete de comandos. Para ello, dependiendo la sintaxis requerida por el intérprete que utilicemos, podríamos ingresar:

echo -ne '\007'

...o bien:

echo -ne '\a'

En las terminales que utilicen tput (como los Shell Linux básicos), podríamos querer emplear:

tput bel

Con esto ya debería ser suficiente.

Sin embargo, existe una segunda manera de hacer esto, gracias a un script cualquiera de autoejecución para la sesión gráfica. Esto nos permitirá activar o desactivar este predicamento según lo creamos necesario.

Otra forma es agregar un script que lo haga de forma gráfica.

nano ~/.compiz_bell.sh

...le pegamos el siguiente contenido:

#!/bin/sh
# Script peronista para activar la campana en Compiz con Ubuntu Mate 20.04LTS

# Script to activate the terminal bell in Compiz under Ubuntu Mate 20.04LTS
pactl upload-sample /usr/share/sounds/freedesktop/stereo/bell.oga x11-bell
pactl load-module module-x11-bell sample=x11-bell display=$DISPLAY


(Naturalmente, podríamos reemplazar bell.oga con otro fichero de sonido). Guardamos el archivo y salimos del editor con Con Ctrl+o y Ctrl+x. Será necesario otorgarle permisos de ejecución con:

chmod +x .compiz_bell.sh

Luego haremos que este script se ejecute toda vez que iniciamos sesión gráfica. Para ello vamos a Sistema / Preferencias / Personal / Aplicaciones al Inicio, y presionamos el botón +Agregar.

En el campo "Comando:" debemos agregar la ruta al script: /home/usuario/.compiz_bell.sh. Debemos asignarle un nombre y una descripción opcional, y presionar el botón Añadir para que se agregue a las aplicaciones autoejecutables al inicio.

Indudablemente que el fichero bell.oga puede cambiarse por otro. Por ejemplo, bien podrían disfrutar de los sonidos de las terminales más típicas del mundo del cómputo, compiladas en este archivo de sonidos comprimidos que os obsequio.

¡Dentro de esa fe democrática fijamos nuestra posición incorruptible e indomable frente a la oligarquía! Los trabajadores sólo deben confiar en sí mismos, ¡y recordar que la emancipación de la Clase Obrera y su software está en el obrero mismo!

Obreros: ¡Viva la Huega General Revolucionaria! ¡Un millón de votos! ¡Un millón de votos! ¡Un millón de votos! ¡Perón si, otro no! ¡Perón si, otro no!

sábado, 24 de abril de 2021

Se lanza la versión 5.0 de Huayra GNU/Linux

Se lanzó la versión 5 de GNU/Linux Huayra, el sistema operativo oficial del remozado Plan Federal Juana Manso.

Huayra GNU/Linux es el sistema operativo para computadoras desarrollado en la Argentina. Está basado en Debian y se ha orientado al uso educativo bajo la bandera de la Soberanía Tecnológica.

Huayra se desarrolló a partir del año 2012 con el fin de servir al programa tecnológico educativo Conectar Igualdad. Este propuso la elaboración y entrega de equipos informáticos portátiles (netbooks) provistas de un programas de cómputo especialmente pensados para la educación.

Así nació Huayra (que significa "Viento"), un entorno de bajo consumo y alto desempeño, capaz de satisfacer todas las necesidades educativas. Se convirtió en el primer Sistema Operativo oficial del ámbito educativo y de la administración pública del país, y fue eje de un despliegue productivo que acompañó las 5 millones de netbooks distribuidas a alumnos de escuelas primarias y secundarias.

El entorno hace uso de un escritorio gráfico bien diseñado y gran variedad de aplicaciones poderosas para todo tipo de cómputo general y - sobre todo - a la medida de la enseñanza moderna. Huayra recibió actualizaciones progresivas y llegó hasta la versión 3.2 bajo un equipo denominado CENITAL, pero en el año 2016 el programa Conectar Igualdad fue desahuciado por la administración Macri. 

En 2018 - y en el marco de numerosas medidas de ajuste sobre todos los sectores del Estado - la gestión Macri intentó reemplazarlo con el infructuoso programa Aprender Conectados.

Superada dicha etapa, el nuevo gobierno reconoció la necesidad de reorientar nuevamente los valores educativos que el Software Libre permite y avala, remozando la experiencia anterior, sobre todo teniendo en cuenta los nuevos desafíos que plantea la pandemia global del COVID19, específicamente en el ámbito de la educación a distancia. La necesidad central de impulsar los valores educativos y las propuestas de la industria del conocimiento, obligan a un nuevo esquema donde Huayra cobra una relevancia estratégica.

La sumatoria supone un despliegue tecnológico inusitado, y el software libre es capaz de afrontar con éxito tal desafío. 

En principio se reiniciará la entrega sustancial de equipamiento tecnológico a los alumnos, previendo alcanzar unos 600 mil equipos en el año. En este caso se dará relevancia únicamente a la opción libre basada en GNU, abandonando la entrega de un sistema operativo no libre.

Huayra permite el accionar con de servidores federales para las tareas hogareñas y se entrega documentación instalada en el mismo sistema (bibliografía para todos los niveles). Asimismo, permite montar clases con respuesta audiovisual de alta performance y hace caso a las demanda necesarias para las aulas virtuales de hoy en día.

En un futuro próximo se provee la liberación de contenidos existentes bajo licencias libres Creative Commons, así como la realización de nuevos contenidos bajo este tipo de licencias Copyleft.

Ya es posible descargar la ISO de instalación (3,5GB) de Huayra GNU/Linux de 64 bits desde este enlace, con el cual se podrá crear el pendrive o DVD de instalación. Al ejecutar dicho pendrive aparecerá el menú que permite instalar o ejecutar Huayra 5.


domingo, 18 de abril de 2021

¿Cómo me conecto a un servidor Secure Shell utilizando llaves cifradas en Ubuntu?

¡Trabajadores!

La nuestra es una Comunidad Organizada, que se ha elevado para proveer a los hombres de esta tierra con la capacidad de reivindicar y defender sus derechos. Entre estos se destacan - junto a los Derechos del Trabajo, de la Niñez y los de la Ancianidad - los Derechos Digitales.

Entre sus grandes valores no debemos soslayar la seguridad y privacidad en los ambientes telemáticos. En un mundo grave donde las comunidades se organizan en ambientes que pueden resultar hostiles, debemos velar especialmente por este aspecto.

Debe de ser un Estado Fuerte y ágil quien asegure a todos tales premisas. Sólo un iluso puede pretender que el accionar de privados, interesados con fines inconfesables, nos otorguen por mágico designio estos principios innegociables. Es el Estado - como principal agente protector de una Comunidad a la que representa - quien puede otorgar estos beneficios. 

Decía el Mariscal de Sajonia que los Ejércitos no valen tanto por su número, sino por el hombre que tienen a su frente. Y esto puede aplicarse a todas las organizaciones. 

Como muestra basta sólo un botón: dejen cualquier grupo de hombres del cómputo al albedrío del Capital, y no tardarán en ver en los transportes telemáticos a analfabetos vendedores con la bragueta abierta que ofrecen pedazos de hardware en una caja. Se creerán dueños del tren, y si los dejan, querrán manejar la locomotora. Este fenómeno no es exclusividad de los tiempos que corren. Cuando Dios mandó a su hijo a ensuciarse las chancletas caminando los desiertos de Judea, fue porque ya en ese entonces existían también estos mercaderes en los Templos. Sólo hace falta un justo flagelar para limpiarlos...

Hete aquí señores que nuestro Justicialismo ha decidido presentar enconada lucha a estas excrecencias, y ofrece hoy una infraestructura del cómputo salvador, capaz de servir a todos bajo la autoridad de un Conductor que se ha formado y capacitado en este quehacer.

Nadie desconoce que en los sistemas operativos multiusuario, el sistema de Shell Seguro (SSH) constituye un factor de singular importancia. En él, lo normal ha sido siempre utilizar las llamadas "contraseñas de acceso" para gran seguridad. No son estas mas que claves secretas capaces de operar para su cometido básico: el de establecer contacto cifrado a un entorno de terminal de cómputo.

Sin embargo, este proceder suele contar con algunos inconvenientes que es necesario sopesar. El primero es lógico, y consiste en la natural obligatoriedad de recordar estas contraseñas si es que deseamos acceder. El segundo implica el compromiso en el cual tales contraseñas pueden caer, llevando a graves inconvenientes de seguridad, y para colmo de forma generalizada.

Para suplir tales deficiencia, nuestro Movimiento ha previsto al Shell Seguro la deseable característica de utilizar el llamado mecanismo de "par de llaves cifradas", en lugar de afectar contraseñas. 

Este cometido en beneficio de todos hube de defenderlo con toda mi autoridad. Consiste en dar uso a dos ficheros de cifrado, uno de los cuales es secreto y permanece en nuestro poder, mientras que el otro que se hace público y es utilizado para la certificación. Obrar así nos permite una comunicación enormemente más segura en las redes de datos.

Para usar este tipo de llaves asiduamente es necesario seguir - por única vez - cuatro paso, el cual instruiré de manera detallada.

Crear un par de llaves de cifrado

En primer lugar habrán de abrir una terminal en vuestro sistema local mediante Ctrl+Alt+T, y crear allí un par de llaves cifradas específicas para tal dispositivo. Esto puede hacerse mediante los siguientes comandos de organización:

cd ~/.ssh/ ;
ssh-keygen -t ed25519

El ordenador presentará un mensaje similar a este:

Generando un par de llaves púbico/privado tipo ed25519.
Ingresa el nombre de fichero para la llave (/home/fulano/.ssh/id_ed25519):

Este mensaje solicita proveer un nombre que identifique los ficheros del par de llaves.



Habrán de introducir entonces un nombre, que puede ser descriptivo para las llaves de cifrado. Háganlo en lo posible sin utilizar espacios, acentos ni eñes. Napoleón fue un hombre que solía decir que un ejemplo podía verter luz sobre todo. En esta ejemplificación, si nos llamamos Fulano y desde el equipo lugar compu1 anhelamos conectarnos  al servidor remoto llamado nodopj.org, bien podríamos utilizar el nombre de llave llave_nodopj_compu1_de_fulano.key.

Se generarán así dos ficheros que conforman las llaves criptográficas, en este caso llamados llave_nodopj_compu1_de_fulano.key llave_nodopj_compu1_de_fulani.key.pub. Ambos ficheros quedarán a resguardo en una carpeta local denominada ~/.ssh/. Ya no te será necesario volver a crear este par de llaves, al menos en este equipo local.

Revisar la llave pública

En segundo lugar debe revisarse el contenido del fichero que supone la llave pública de este equipo local compu1. Siguiendo el ejemplo que he propuesto, podrían hacerlo con el comando siguiente:

cat ~/.ssh/llave_nodopj_compu1_de_fulano.key.pub

Se mostrará en la terminal el contenido del fichero llave_nodopj_compu1_de_fulano.key.pub que compone vuestra llave pública. Debería presentar una apariencia similar a esta:
ssh-ed25519 EstaEsLaLlaveCifradaYFormaUnaUnicaLineaAlfanumericaQueDebeMandar fulano@compu1
Habrán de asegurarse de copiar este contenido, pues será necesario pegarlo más adelante en el archivo authorized_keys del equipo remoto.

Agregar la llave pública al equipo remoto

En tercer lugar agregaremos la llave pública de nuestro usuario al equipo remoto. Podremos hacerlo con:

ssh-copy-id -i ~/.ssh/llave_nodopj_compu1_de_fulano.key.pub fulano@nodopj.org

En caso de no contar con ssh.copy-id, se debe operar en forma naual. Para tal fin conectarán al equipo remoto nodopj.org por medio de una sesión SSH con contraseña. En este caso propuesto, deberían utilizar:

ssh fulano@nodopj.org

Conforme haya establecido una conexión remota introduciendo la contraseña como siempre, habrán de editar el fichero .ssh/authorized_keys remoto y pegarle el contenido de la clave pública anteriormente copiada. 

Para ello abriremos el fichero con el editor GNU Nano. Utilizaremos el comando:

nano ~/.ssh/authorized_keys

...el cual abrirá el editor.

Han de saber que dentro de este fichero, cada contenido de llave pública va colocada en una línea de texto individual. Pegamos el contenido de la llave pública en el fichero.

Simplemente debe presionarse la tecla Intro para crear una nueva línea, y en esta nueva línea pegar el contenido de la nueva  llave_nodopj_compu1_de_fulano.key.pub

Nota: Si se diese el caso que ya existan una o más llaves públicas preexistentes en este fichero, no deben eliminárselas. Sólo deben eliminarse las llaves si se las desea inutilizar. 

Una vez guardados los cambios al fichero mediante Ctrl+o, se puede salir del editor GNU Nano por medio de Ctrl+x.

No suele venir mal modificar los permisos de directorio y fichero adecuados para este servicio de Secure Shell:

chmod 700 ~/.ssh ;
chmod 600 ~/.ssh/authorized_keys

Verificar la configuración

Conforme se haya finalizado el agregado de la llave pública en el servidor remoto, será útil evaluar la efectividad de la conexión con llave. Esto lo verificaremos logueándonos al servidor remoto nodopj.org mediante un comando que especifique manualmente el fichero de la llave. En este ejemplo, desde el cliente compu1 ingresaríamos:

ssh -i .ssh/llave_nodopj_compu1_de_fulano.key fulano@nodopj.org

Deberíamos poder conectarnos al servidor usando la llave, y ahora sin necesidad de ingresar la contraseña. Sin embargo, como este comando es bastante incómodo para escribir asiduamente pues es bastante largo, podremos proceder a configurar el cliente para que establezca en enlace con la llave específica automáticamente.

Configurar el uso de la llave el el sistema local

Para usar la llave sin tener que especificarla en el comando cada vez que desees conectarte, es necesario modificar en el equipo local el archivo de configuración ~/.ssh/config de manera acorde. Para ello en el equipo compu1 debe ingresarse:

nano ~/.ssh/config

...se abrirá el editor GNU Nano con dicho fichero. Al final de todo agrega el contenido que armonice la configuración para el servidor remoto nodopj.org, por ejemplo utilizando un contenido similar a este:

# Llave para nodopj.org
Host nodopj
Port 22
User fulano
IdentityFile ~/.ssh/llave_pirulo_compu1_de_fulano.key
HostName nodopj.org

Conforme esté preparada la configuración para vuestro caso particular, podrán guardarse los cambios con Ctrl+o y abandonar el editor con Ctrl+x. Nuevamente, no es imprescindible pero suele ser muy recomendable introducir a continuación los permisos de directorio y ficheros adecuados en este dispositivo, con el fin utilizarlos asiduamente:

chmod 700 ~/.ssh/ ;
chmod 600 ~/.ssh/config

Todo esto se realizar por única vez.

Conectarse por SSH sin contraseña

Al haber configurado el cliente y el servidor como os he indicado, de ahora en más podrán conectarse al servidor nodopj.org de manera segura y sencilla. Simplemente introduzcan el comando en el equipo cliente:

ssh nodopj

...Y se establecerá el enlace seguro y cifrado con un comando simple de escribir y recordar, y además utilizando la llave en lugar de una contraseña. 


Tengan presente conservar la contraseña en un lugar seguro, pues en caso de necesidad podrá continuar utilizándola para acceder al servidor remoto.

Es adecuado notar que en ciertas ocasiones reservadas a ambientes de seguridad certificada, podrían bien desear omitir el uso de contraseñas, y sólo habilitar el empleo del par de llaves cifradas de acceso. Este proceder puede configurarse así en el equipo remoto. Normalmente no es el temperamento que suelo recomendar, pues deja el acceso a merced de la existencia efectiva del fichero de llave pública.

Nota: Si se diese el caso de contar con otros equipos locales (compu2, compu3, etc) - desde los cuales se hace necesario también acceder asiduamente al usuario del servidor remoto nodopj.org - debe repetirse el paso de creación de un par llaves para cada uno de estos equipos locales. Asimismo, deberán agregarse el contenido de las llaves públicas al archivo de configuración .ssh/authorized_keys sito en el servidor remoto.

En conclusión, el uso de un par de llaves cifradas permite encriptar los enlaces a un servidor remoto, y permiten hacerlo de manera simple una vez configurado todo.