Ubuntu Peronista@TTBP

Este es un espejo en el Tilde Blog Project del blog original Ubuntu Peronista. Se encuentra disponible en Tildeverso únicamente con fin histórico.



29 november 2022

¿Cómo configuro el cifrado OMEMO con el cliente de chat Gajim en Ubuntu?

La década de 1960 encontró a Juan Perón detallando los desafíos que aguardaban a los Movimientos de corte popular que se erigían en el mundo. Sus epístolas refieren sobre cómo activar el cifrado de extremo a extremo OMEMO en el cliente de chat XMPP/Jabber Gajim en Ubuntu.

¡Compañeros!

Los Movimientos Populares - como lo es el Justicialismo - disponen de ventajas intrínsecas a la hora de la lucha estratégica. Cuando hace 18 años lanzamos nuestra Tercera Posición, el mundo superaba una conflagración de enormes proporciones. Pero los Pueblos no quedan inermes y hoy, tres cuartas partes del Mundo giran hacia nuestra Tercera Posición. El Asia y el África se observan en nuestro justo espejo y claman por una Liberación definitiva del software que nos torne a todos en hermanos, y en dignos destinatarios de los beneficios de nuestro propio trabajo.

Nuestros Movimientos deben - sin embargo - cobrar una muy especial precaución en la Conducción del estamento táctico. Esto es así pues los canales que debemos usar han necesariamente de considerarse dominados. Oscuros poderes de una sinarquía sin Patria ni bandera, coaligada a oligarquías locales, intentarán los más abyectos e inconfesables ardides para someter nuestro Software. Las vías de comunicación podrían constituírse en sus herramientas de dominación.

La telemática moderna permite una gran agilidad, que nos es necesaria para establecer enlaces veloces a través de las redes de datos. Pero de poco valdrán si lo hacemos a través de infraestructuras no neutras, dominadas por dicho Capital. Por demás, las redes sociales basadas en empresas son - hoy en día - una de las más perniciosas organizaciones, donde se las prevee con destino de lucro y como tal, deben ser combatidas con decisión y con una visión de Justicia Social.

En particular, todo militante ha de saber y difundir que tales servicios no hacen más que someter a una esclavitud de datos, ya que no utilizan sistemas de cifrado ni aseguran el secreto de los mismos por una simple razón: su objetivo no es permitir la comunicación, sino es forzar a las Masas a comunicarse a través de infraestructura podrida.

En este aspecto es fundamental lograr la independencia de todos los servicios telemáticos que usemos, reemplazando enlaces del Capital por otros no sólo libres, pero sino también descentralizados.

Nuestro Movimiento dispone de herramental necesario para tal cometido. En el campo de la conversación telemática, ya he expuesto cómo obrar a través del internet relay chat o IRC. Este se basa en el concepto de salas o foros públicos o semi-privados, los cuales se establecen en un servidor remoto y al cual se accede con un cliente de ejecución local. Sin embargo, esta tecnología extensible puede ser complementada por otro medio, el XMPP, el Protocolo Extensible de Mensajería y Presencia, originalmente conocido como Jabber. Este protocolo de mensajería instantánea basada en un modelo cliente-servidor, con información de perfil, y capacidad de almacenar lista de contactos. Gracias a esta base tecnológica, quien lo anhele podrá mantener un servidor propio, y logra una potente descentralización tendiente a una mayor capacidad organizativa. Podrá así suscribir una instancia identificada como JID en un servidor XMPP, la cual se podrá utilizar con el fin de establecer los enlaces de militancia y liberación.

Pero estas características no son más que el comienzo, y sólo elevan muy parcialmente al IRC tradicional. Sin duda el aspecto más fundamental hace pié en la posibilidad de incorporarle una capa de cifrado de punta a punta a las conversaciones, denominadas OMEMO. Es una encriptación de este tipo la que nos provee una condición indispensable, sin la cual nada bueno puede hacerse: la de conservar el secreto específico de la conversación a lo largo de toda la transmisión, y asegurar así el éxito real del enlace.

Para hacer uso de este protocolo de liberación os puedo recomendar el cliente de chat Gajim, capaz de correr en un sistema GNU con Linux. Si hacen uso de dispositivos móviles, bien podrán utilizar el Conversations con fundamental parecido.

Para instalar el cliente de chat Gajim, podremos hacer uso de la terminal abriendo una con Ctrl+Alt+t, e ingresaando en ella los comandos de organización necesarios. Primero desinstalamos la versión empaquetada con Ubuntu:

sudo apt remove gajim ;

El sistema nos solicitará nuestra contraseña y la desinstalará. Acto seguido, agregamos la llave y el repositorio de Gajim ingresando en nuestra terminal el siguiente bloque de Comandos de Organización:

wget -q https://gajim.org/gajim.key -O - | sudo apt-key add - ; sudo sh -c "echo deb https://ftp.gajim.org/debian unstable main > /etc/apt/sources.list.d/gajim.list" ; sudo apt update

Finalmente, instalaremos las dependencias requeridas y la versión más reciente de Gajim.

sudo apt install build-essential libssl-dev libffi-dev python3-dev python3-setuptools python3-cryptography python3-axolotl python3-qrcode ; sudo apt install gajim-nightly ; sudo apt install gajim-default-nightly

Ahora podremos ejecutar el cliente de chat desde Aplicaciones / Internet / Gajim.

La primera vez que iniciemos el programa, nos veremos en la posibilidad de Registrar una nueva cuenta con algún servidor libre que se nos ofrecerá , o bien introducir los datos de una cuenta que ya tengamos, informando en tal caso el usuario y contraseña del servidor XMPP/Jabber que utilicemos.

En mi caso debo introducir el usuario y la contraseña. También requiere oprimir el botón de Configuraciones Avanzadas e introducir los datos del host (requeridos por el servidor de Jabber en algunos casos).

Pues bien, una vez que nos conectemos con el servidor de XMPP/Jabber, se abrirá al instante el el cliente de chat.

En él se asociarán nuestras acciones y grupos de chat o IRC. Si tenemos varias cuentas de chat podremos agregar otras adicionales, usarlas de forma independiente entre ellas o integradas (condición que se puede configurar).

Podremos crear conversaciones con contactos con Ctrl+n y/o crear grupos de charla (públicos o privados) mediante Ctrl+g.

Tanto los servicios de XMPP/Jabber como los foros de conversación tipo IRC, deben asumirse como públicos, y como tal inherentemente inseguros. Naturalmente, al menos el administrador del servicio podría acceder a ellas y a los envíos telemáticos intermedios. Sin embargo, esta práctica ya de por sí es mucho más segura que depender de una omnímoda empresa de la sinarquía para comunicarse.

Para evitar este inconveniente, nuestro Movimiento ha implementado el cifrado punta a punta OMEMO. Esta estrategia consiste en un plugin de cifrado y descifrado opcional, que debe acoplarse a nuestro cliente de conversación Gajim. El receptor de nuestros mensajes también deberá activarlo en su propio cliente si desea poder desencriptar nuestros mensajes.

Para activar el Plugin OMEMO en Gajin debemos abrir la ventana del Gestor de Extensiones presionando Ctrl+E. En la ventana Plugins haremos clic en la solapa Available ("disponibles"), lo cual nos presentará la lista de extensiones disponibles para descarga. Simplemente buscamos la extensión "OMEMO", tildamos la opción Install, y presionamos el botón Install / Update.

La extensión debería descargarse y presentarse en la solapa Installed del Gestor de Plugins.

Conforme el plugin OMEMO esté instalado en nuestro cliente Gajim, podremos activar la encriptación opcionales para cada charla con un contacto o grupos de charla (son distintas para cada instancia). En cualquier caso se realiza haciendo clic en el ícono del candado y tildando OMEMO.

Pues bien señores, la primera vez que envíen un primer mensaje encriptado con OMEMO a uno de sus contactos - este Plugin solicitará las llaves de encriptación del referido contacto, y las presentará en nuestro propio cliente en una ventana de certificación denominada Fingerprint. Esto se realiza con el fin de gestionar el nivel de confianza de las Huellas Digitales de cifrado. Habremos de indicar confianza en al menos UNA de las Huellas Digitales para poder enviarle mensajes.

Para establecer el nivel de confianza, debe hacerse clic en el botón en el escudo de confianza (al costado izquierdo de la huella digital) y elegir el nivel de confianza desde el menú:

Normalmente escogeríamos Thrusted ("confiada"), o Unthrusted ("desconfiada"). Si ya está confiada, podremos elegir elevar nuevamente el nivel de confianza al máximo escogiendo la opción Blind Thrust ("confianza ciega"). Debemos reservar este nivel máximo de confianza para los casos donde estamos absoluta y positivamente seguros - tal vez incluso a través de otros medios de comunicación - que el contacto es el usuario que dice ser y que estamos en contacto con él.

Es importante tener en cuenta que el nivel de confianza no implica "bloquear" a un contacto (ya que el bloqueo se realiza de la forma tradicional con clic derecho sobre el contacto / Bloquear). Se podrá recibir mensajes desde las Huellas que no ha confiado, pero no podrá recibir Mensajes desde las Huellas no no confiadas.

Es importante saber que cada conjunto de llaves y huellas sirve idealmente para cada cliente de chat y cada dispositivo. Si instalamos otra instancia de cliente de chat en otro dispositivo, este registrará una nueva llave, la cual habremos también de darle confianza. De esta manera, podremos sincronizar las conversaciones entre varios clientes y dispositivos.

Ahora podremos chatear normalmente, con la seguridad de la encriptación OMEMO. Todos los mensajes que enviaremos con OMEMO activado serán cifrados de un extremo al otro (y naturalmente, si nuestros contactos tienen activado su cifrado OMEMO, descifraremos automáticamente sus conversaciones). De lo contrario no podrán ser leídos leerlos y se recibirá una advertencia referente a activar OMEMO en el cliente. Si fuese necesario enviar una conversación sin cifrar, podríamos deshabilitar el cifrado seguro OMEMO desde el ícono del candado y seleccionar "Deshabilitado". Envío de Adjuntos

En el caso de transmisión de archivos adjuntos a través de XMMP/Jabber presenta una de sus limitaciones. Naturalmente, OMEMO será capaz de encriptarlos, pero sólo en el caso que tengan un peso inferior a 1,5MB. Esto normalmente favorece documentos normales, mensajes de audio de corta duración, y fotografías relativamente pequeñas.

Cuando envíe o reciba un adjunto de un contacto con OMEMO producirá la encriptación del fichero en una cadena cifrada específica para el destinatario, y enviará el mismo sólo si cuenta con conexión directa. Este podrá descargar una copia del fichero ya encriptado desde su cliente, pero únicamente con su cliente haciendo uso de un enlace URL especial denominado AES-GCM. Al hacer clic sobre este enlace URL ascgcm:// se procederá a la transferencia:

Gajim descargarán la cadena de datos ininteligible produciendo localmente la desencriptación "al vuelo", colocando la copia desencriptada en carpeta de descarga de Gajim ~/.local/share/gajim/downloads. Una vez producido esto, ofrecerá abrir dicha carpeta (botón Open Folder) o bien abrir el fichero transferido por medio una aplicación externa asociada (botón Open).

Normalmente presionaríamos Open, lo cual cargará el adjunto por medio del visor de fotos, reproductor de audio, o reproductor de video de nuestro sistema operativo.

NOTA: Es importante saber que estas URL AES-CGM JAMÁS deben ser enlazadas ni enviadas a terceros, y los clientes de chat jamás podrán abrirlas y mucho menos realizar la insegurísima acción de presentarlas por sí mismos en la ventana de chat. Esto, difundido en aplicaciones de chat de la oligarquía, no deja de ser el más simple vector de infección con troyanos que se puede imaginar.

Afortunadamente, la limitación de 1,5MB en los ficheros adjuntos puede suplirse con extensiones como PGP (para envío por correo electrónico cifrado) o la extensión Jingle XMPP, que establecerán un enlace par a par y cifrado.



28 november 2022

¿Cómo hago que GRUB toque la Marcha Peronista en Ubuntu?

El 10 de marzo de 1956, y desde su venturoso exilio en el Panamá, Juan Perón mantiene tenue contacto epistolar con sectores del Justicialismo. En dicha pieza evalúa el accionar ante las políticas represivas de la reacción e impone cómo hacer que el arrancador Grub toque la Marcha Peronista en Ubuntu.

Hotel Davisor Correlinda 8 Ciudad de Panamá 10 de Marzo de 1956

¡Compañeros!

Los kilómetros que nos separan no impiden que conozca al dedillo lo que sucede en el país. El frondoso informe que me ha acercado el compañero Guzzetti y la compañera Corti no dejan lugar a dudas.

Las condiciones actuales imponen a nuestro Movimiento la necesidad de golpear desde las sombras bajo un apresto mínimo. Quitaremos así "el cuerpo" a los golpes del enemigo y reservaremos nuestras fuerzas para las situaciones en las que serán más efectivas.

Pero no podemos pensar que para que esto ocurra, tiene que dejarse todo librado al imperio de la casualidad. La improvisación es una excrecencia que no suele ser pródiga en resultados, por lo cual habremos de evitarla y hacer del gabinete y de las maniobras en campaña - nuestras más confiables tutoras. Es importante entonces sustentarnos en estudios concienzudos del terreno y sobre todo en definir los ritmos de la acción.

El campo de la lucha táctica es uno que debemos conocer primero para luego dominar, máxime cuando un enemigo es poderoso o se encuentra coaligado. A todo lo que han hecho, estos desalmados lacayos de la Oligarquía han sumado un enjundioso "Decreto Ley 4.161/56", cuyo fin confeso no es otro que prohibir toda expresión del Pueblo, e ilegalizar la representación del Movimineto.

Esto nos obliga a recurrir a la llamada "guerra no convencional". Esta forma - a pesar de su nombre novedoso - no deja de explicar algo que es tan viejo como la historia misma. En ella se planifica orgánicamente y se ejecutan inorgánicamente, acciones de todo tipo en serie y en paralelo, que pueden llevarse a todos lo órdenes, incluído el telemático. Si ese tonto de Aramburu piensa que con eso nos va a parar, se equivoca pavorosamente...

Nuestro Movimiento se ha sometido a una preparación de rigor. Ninguno de ustedes ignora que los sistemas operativos similares a UNIX suelen contar con un programa capaz de dar arranque al entorno residente en su almacenamiento de masa. Esta programática - cuya funcionalidad de carga del núcleo equivale a la del "burro de arranque" de un motor a explosión - recibe el nombre de GNU Grub.

Sabemos ya que este arrancador Grub opera conforma a un fichero de texto especial. En Ubuntu - como en otras distribuciones de tipo Debian - se puede ejercer la configuración específica del arrancador por intermedio de del fichero /etc/default/grub. Esta configuración requiere la posterior ejecución de un programa revisor denominado update-grub, encargado de analizar las particiones de disco en busca de diferentes sistemas operativos compatibles que pudiesen existir en ellas.

Indudablemente que podremos observar el contenido de nuestro actual fichero de configuración de Grub - al cual convertiremos el en campo de acción - gracias al siguiente comando de terminal:

cat /etc/default/grub

El análisis de este fichero permite revelar que contiene varias órdenes importantes, las cuales normalmente no deben ser modificadas, pues hacerlo "a tontas y a locas" podría provocar la imposibiliad de inicializar el sistema. Aún así el posible apreciar sobre el final de dicho archivo una cadena de texto aparentemente irrelevante que hace referencia a la variable "INIT_GRUB_TUNE".

Uncomment to get a beep at grub start

GRUB_INIT_TUNE="480 440 1"

La función real de esta oscura cadena GRUB_INIT_TUNE es la de ejecutar un tono o señal auditiva, con el único fin de alertar sobre la correcta inicialización en memoria del arrancador, acto que será incluso posible si la computadora se viese imposibilitada de presentar señal de video por cualquier motivo técnico de ocasión.

Han de saber que esta esta función GRUB_INIT_TUNE está compuesta por valores numéricos que expresan las características sónicas de acuerdo a la sintaxis TEMPO (FRECUENCIA NOTA).

...donde el valor TEMPO (480 en el caso de ejemplo que viene de fábrica) hace referencia a la velocidad de reproducción en notas por minuto;

...valor FRECUENCIA corresponde a la frecuencia entera de las nota medido en ciclos por segundo. Naturalmente podrá venirnos bien este Anexo A en forma de una tabla (parcial) de notas/frecuencias.

ANEXO A: NOTAS G3 196 | F#4/Gb4 370 G#3/Ab3 208 | G4 392 A3 220 | G#4/Ab4 415 A#3/Bb3 233 | A4 440 B3 245 | A#4/Bb4 466 C4 262 | B4 494 C#4/Db4 277 | C5 523 D4 294 | C#5/Db5 554 D#4/Eb4 311 | D5 587 E4 330 | D#5/Eb5 622 F4 349 | E5 659 F5 698 |

...en tanto que el valor DURACIÓN programa las duración en cuartos de compás, según la siguiente Anexo B de equivalencias:

ANEXO B: NOTAS 1 = "Nota Negra" (Equivale a 1/4 de compás) 2 = "Nota Blanca" (Equivale a 1/2 compas) 3 = "Negra con puntillo" (Equivale a 3/4 de compás) 4 = "Nota Redonda" (Equivale al compás entero)

El resultado esperado por esta órden es simplón. Si descomentamos la línea #GRUB_INIT_TUNE="480 440 1" (esto es, si eliminamos el signo numeral "#" que la antecede, tornándola en GRUB_INIT_TUNE="480 440 1), podíamos escuchar un tono de 440 Hertz durante 1/480 de minuto. En otras palabras, al dejar las líneas de la siguiente manera:

Uncomment to get a beep at grub start

GRUB_INIT_TUNE="480 440 1"

...y encender nuestro equipo y antes de cargar el sistema operativo, tocará una nota Do de 125 milisegundos a través del altavoz interno de la PC. Programar GRUB_INIT_TUNE

Pues bien señores, podemos y debemos llevar la lucha digital a una Escala Mayor. Hemos de agrupar ágiles bandas telemáticas encargadas de hacer tronar el escarmiento, y propiciar la independencia real de la Patria, su Pueblo y su software. Tendremos así células de acción y "formaciones especiales" dispuestas a lograr la Justicia Social por vías que a lo mejor no sean las adecuadas en tiempos de paz, pero que nos vendrán de perillas en tiempos de guerra. Nuestro enorme campo de acción ha de ser las redes de datos y cómputo, pretendidas por el enemigo pero dominadas por nuestro Pueblo.

Lo que ese tonto de Aramburu no ha previsto ni sabe es que la instrucción de configuración INIT_GRUB_TUNE no se limita a ejecutar una sola nota. Si agregamos el divisor de "silencio de nota" (en forma de "0 1"), o bien el "silencio de compás" (en forma de "0 2"), bien podríamos continuar agregando mas notas a la cadena. Con habilidad seremos capaces de reemplazar el soso bip previsto por la cadena original para que equivalga al código de una melodía, aquella que hace las delicias del Pueblo y enarbola en alto la bandera de la Resistencia Digital Peronista. Programar la Marcha Peronista en Grub

Mis queridos Trabajadores han tenido la sapiencia y amabilidad para convertir la métrica y solfeo de la Marcha de los Muchachos Peronistas según las frecuencias adoptadas por el rígido acompasamiento del arrancador GRUB, con lo cual obtendremos: LA MARCHA DE LOS MUCHACHOS PERONISTAS

Allegretto para PC Speaker por dJ OSiNDE

+---------------------------------------------------+ | Los Mu cha chos Pe ro nis tas | | 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 | | C5 G#4 F#4 C5 G#4 F#4 C5 G#4 | +---------------------------------------------------+ | To dos U-ni dos Triun fa re mos | | 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 | | C5 G#4 F4 C5 G#4 F4 Bb4 G4 | +---------------------------------------------------+ | Y Co mo Siem pre Da re mos | | 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 | | Bb4 G4 E4 Bb4 g4 E4 Bb4 g4 | +---------------------------------------------------+ | Un Gri to De Co ra zón | | 554 4 554 2 554 2 554 4 523 2 466 2 523 4 | | C#5 C#5 C#5 C#5 C5 Bb4 C5 | +---------------------------------------------------+ | Vi va Pe rón vi va Pe róoon | | 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 |

| C#5 C5 Bb4 C5 C#5 C5 Bb4 C5 |

| Por E se Gran Ar gen ti no | | 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 | | C5 G#4 F4 C5 G#4 C5 C5 G#4 | +---------------------------------------------------+ | Que Se Su po Con quis tar | | 523 4 494 2 523 2 622 2 554 2 523 2 554 4 | | C5 B4 C5 EB5 C#5 C5 C#5 | +---------------------------------------------------+ | A la Gran Ma Sa Del Pue blo | | 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 | | Bb4 C5 C#5 C#5 C5 Bb4 C5 C5 | +---------------------------------------------------+ | Com ba rien do Al Ca pi tal | | 466 2 415 2 523 2 466 2 415 2 392 2 349 4 |

| Bb4 G#4 C5 Bb4 G#4 G4 F4 |

| Pe ron Pe roon Qué Gran de Sos | | 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 | | C5 C5 C5 C5 G#4 G#4 G G#4 | +---------------------------------------------------+ | Mi Ge ne ral Cuan to Va lés | | 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 | | c5 c5 c5 c5 g#4 g#4 g g#4 | +---------------------------------------------------+ | Pe rón Pe rón Gran Con duc tor | | 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 | | F4 F4 F4 C#5 Bb4 Bb4 Bb4 C4 | +---------------------------------------------------+ | Sos El Pri mer Tra ba ja dor | | 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 | | G#4 G#4 Bb4 C5 Bb4 G#4 G4 F4 | +===================================================+

Gracias a este despliegue, podríamos editar "a mano" el fichero de configuración con el editor GNU Nano, mediante el comando de terminal:

sudo nano /etc/default/grub

Esto abrirá el editor Nano y nos presentará el ya conocido fichero. Como ejemplo, al final de todo podremos pegar las siguientes dos líneas de código musical de la Marcha Peronista:

Marcha Peronista (versión recomendada, 7 segundos). dJ OSiNDE.

GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4"

Conforme hayan editado el fichero /etc/default/grub deben guardar los cambios mediante Ctrl+o y salir del editor GNU Nano por medio de Ctrl+x.

Finalmente ejecutamos en la terminal el revisor de grub:

sudo update-grub

Este programa revisor buscará en nuestros discos y detectará el o los sistemas encontrados, presentado un mensaje similar a este:

Obteniendo el archivo «/etc/default/grub» Obteniendo el archivo «/etc/default/grub.d/init-select.cfg» Generando un fichero de configuración de grub... Encontrada imagen de linux: /boot/vmlinuz-5.4.0-67-generic Encontrada imagen de memoria inicial: /boot/initrd.img-5.4.0-67-generic Found memtest86+ image: /boot/memtest86+.elf Found memtest86+ image: /boot/memtest86+.bin hecho

Conforme reiniciemos nuestro sistema, por ejemplo con el comando:

sudo reboot

Al arrancar, Grub dejará la pantalla en un negro cabeza ¡y reproducirá soez y estridentemente los chispeantes tonos de la Marcha Peronista a través del PC Speaker! La marchita sonará toda vez que se inicie el sistema ¡mofándonos ad eternum de aquel papel mojado que es el Decreto 4.161!

¡Recuerden trabajadores! ¡Modificar la cadena INIT_GRUB_TUNE del arrancador GNU Grub para que toque la Marcha Peronista es un hack que permite subvertir el Decreto de Prescripción de Aramburu, festejar al justicialismo, y conexamente golpear a la oligarquía donde mas le duele! Apéndice

Codigo fuente de las versiones de la Marcha Peronista para PC Speaker, por dJ OSiNDE, para agregar al fichero /etc/default/grub. Recuerden que han de borrar el signo # indicado para que funcione, y sólo deben activar una única versión de las cinco propuestas (también han de ejecutar el comando sudo update-grub luego de editar el archivo de configuración)..

Marcha peronista (version recomendada de una estrofa solamente) por dJ OSinde

39 notas. Duración 7.333 milisegundos.

GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4"

Marcha Peronista (versión 12 segundos). dJ OSiNDE.

GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4"

Marcha Peronista (versión 17 segundos). dJ OSiNDE.

GRUB_INIT_TUNE="900 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4"

Marcha Peronistas (version coro solo). dJ OSiNDE

64 notas, 4.680 milisegundos de duración

GRUB_INIT_TUNE="1000 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0"

Marcha Peronista (Versión completa, extremadamente larga 1min 41s). dJ OSiNDE:

GRUB_INIT_TUNE="470 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 415 2 349 2 523 4 414 2 349 2 466 4 392 4 466 4 392 2 329 2 466 4 392 2 329 2 466 4 392 4 554 4 554 2 554 2 554 4 523 2 466 2 523 4 554 2 523 2 466 2 523 2 554 2 523 2 466 2 523 4 523 4 415 2 370 2 523 4 415 2 370 2 523 4 415 4 523 4 494 2 523 2 622 2 554 2 523 2 554 4 466 2 523 2 554 2 554 2 523 2 466 2 523 2 523 4 466 2 415 2 523 2 466 2 415 2 392 2 349 4 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 523 2 523 2 523 2 523 4 416 2 416 2 392 2 416 4 2 0 349 2 349 2 349 2 554 4 466 2 466 2 466 2 523 4 2 0 416 2 416 2 466 2 523 2 466 2 416 2 392 2 349 4 2 0"



27 november 2022

¿Cómo configuro Thunderbird para enviar correo firmado y cifrado?

En otra de sus disertaciones en la Escuela de Guerra, el General Juan Perón expone un fundamental esquema para mantener el secreto operativo para la victoria a través de correo electrónico firmado y encriptrado desde Thunderbird, el sistema operativo del Pueblo.

(...) Nuestras fuerzas han de estar preparadas para la lid en todas las condiciones que se le impongan, pero ello sólo es posible por medio del estudio concienzudo del terreno y del tiempo de la acción. La improvisación no suele ser pródiga en resultados, por lo cual todo hombre de armas ha de evitarla y hacer del gabinete y de las maniobras en campaña su más confiables tutoras.

Nuestro campo de lucha es uno el cual hemos de dominar, y mucho más si nuestro enemigo es poderoso y está coaligado. Por tales motivos hemos de recurrir a la llamada "guerra no convencional", que por novedoso nombre, no deja de ser tan vieja como la historia misma. Este quehacer, también puede llevarse a todos lo órdenes, incluso en la lucha telemática.

Podemos y debemos llevar la lucha digital a una escala superior. Hemos de formar ágiles bandas telemáticas, encargadas de hacer tronar el escarmiento y propiciar la independecia real de la Nación, su Pueblo y su software. Células de acción y "formaciones especiales" encargadas de llevar la Justicia Social por vías que a lo mejor no sean las adecuadas en tiempos de paz, pero que vendrán de perillas en tiempos de guerra. Nuestro enorme campo de acción son las redes, pretendidas por el enemigo pero dominadas por nuestro Pueblo.

Para estas acciones de propaganda, disrupción telemática, y ajusticiamiento tecnológico se hará sin duda imprescindible aquello que es necesario en todo conflicto que hemos de emprender: las comunicaciones.

La infraestructura de correo electrónico que se utiliza en todo el mundo es, por diseño, insegura. Aunque la mayoría de las personas se conectan a sus servidores de correo electrónico mediante una capa de conexión segura ("SSL"), algunos servidores permiten acceso a sus usuarios a través de conexiones inseguras. Por otro lado, la ruta de transmisión que sigue el correo electrónico desde el remitente a su destinatario pasa por numerosos servidores intermedios, y es muy posible que estas conexiones intermedias también estén comprometidas de una manera u otra. Es posible para terceros interesados interceptar, leer, y modificar los mensajes de correo electrónico convencional. Por otro lado, la mayoría de los servidores de correo públicos no están controlados por los usuarios destinatarios, sino que son ofrecidos por proveedores de internet de la oligarquía. Debemos desconfiar de ellos ampliamente, pues han demostrado no tener escrúpulo alguno y acceder a correspondencia electrónica de abonados que consideran riesgosos para sus planes inconfesables, y han hecho a falta de ley adecuada de protección informática, abuso informáticos duraderos.

Para contrarrestar esta insidiosa acción contamos con dos soluciones libres interdependientes: la firmar digital de los mensajes de correo electrónico, y su cifrado por medio del criptosistema GnuPG. Se trata de un programa de identificación y cifrado libre pero redundante, diseñado para ofrecer a los compañeros que luchan la posibilidad de identificar sus usuarios de correo electrónico de manera fehaciente a través de un archivo que oficia de firma electrónica (que naturalmente puede estar asociado a una identidad anónima de guerra, si lo deseáramos). Asimismo, el criptosistema es capaz de cifrar los mensajes de correo salientes por medio de alta criptografía, de manera que estos recorran la ruta telemático hasta su destinatario de forma "desordenada e inteligible". Sólo cobrará legibilidad nuevamente en el criptosistema propio del destinatario real del correo electrónico.

Cada miembro que utilice el criptosistema ha de poseer una clave, que se subdivide en dos partes: una clave pública (un archivo .asc que se comparte abiertamente con todo aquél a quien necesitemos enviar correspondencia electrónica segura) y una clave privada (la cual ha de permanecer celosamente guardada en nuestro equipo o caja de seguridad, y se emplea para descifrar los correos electrónicos cifrados recibidos por terceros). Ya he explicado en detalle el imprescindible paso para crearnos un par de claves en nuestro equipo dotado de Ubuntu. Si ya tenemos creado nuestro par de claves, podremos continuar.

En este caso, os enseñaré cómo hacer uso de correo electrónico firmado y cifrado pero a través del sencillo cliente de correo electrónico Thunderbird. Thunderbird es uno de los clientes de correo electrónico libres más extendidos en Ubuntu, y sólo recientemente ha incorporado de forma nativa el cifrado punta a punta. Configurar Correo Cifrado en Thunderbird

Si nunca hubiésemos utilizado correo cifrado antes, necesitamos configurar nuestro cliente Thunderbird. Es extremadamente fácil.

Abrimos Thunderbird y hacer clic en el botón Menú (o presionamos la tecla Alt para que aparezca el menú).

Luego vamos a Herramientas / Administrador de Claves OpenPGP. Si no tenemos una llave creada, hacemos clic en el menú Generar / Nuevo Par de Claves.

En la siguiente ventana configurarán el par de claves tal cual lo desean (si quieren usar fecha de expiración de las mismas, el tipo de clave y el tamaño. Yo suelo utilizar de 4096 bits para gran seguridad criptográfica aunque con la mitad suele ser suficiente. Tampoco suelo usar expiración.

Harán clic en Generar Clave y será advertido de no cerrar la aplicación mientras se genera la clave (lo cual puede tardar varios segundos). Una vez finalizada la creación, podrán cerrar dicha ventana.

Compartir clave pública con otros compañeros

Una vez que hemos configurado un par de clave propio, es necesario hacerle presente la clave pública a otro(s) destinatario(s) que quieran enviarme correo cifrado.

El procedimiento de compartir nuestra clave pública es la parte vulnerable de este confiable criptosistema. Lo ideal sería llevar el archivo .asc en mano, en un pendrive hasta el domicilio del remitente, pero lógicamente esto sería un engorro. Por ello también podremos hacerlo a través de correo electrónico, idealmente confirmándole al destinatario a través de una segunda e incluso tercera vía de contacto (por videoconferencia, teléfono, chat, o SMS por ejemplo). De esta manera el remitente se asegurará realmente de forma valedera y fehaciente que somos nosotros y no un impostor electrónico, quien hace uso de este cometido.

Si queremos hacerlo por vía de correo electrónico simplemente redactamos un correo al destinatario y en el menú Opciones elegimos la opción Adjuntar mi clave pública.

También podríamos querer tomar la política de enviar la firma digital en todos los correos salientes (se adjuntará un archivo .asc con nuestra clave pública en todos los correos que enviemos, de modo que quien use correo cifrado pueda usarla). Esto es buena práctica si no avizoramos inconvenientes de privacidad alguno.

Incorporar clave de un tercero a nuestro criptosistema

Naturalmente, también nos llegarán a nuestro criptosistema las claves públicas de terceros que deseen compartir mensajes cifrados con nosotros. En tal caso, notaremos que en dicho correo electrónico existirá un adjunto con extensión .asc. La misma es la firma digital del remitente.

Cuando la abramos, Thunderbird nos indicará: "el archivo que desea abrir aparenta ser una firma digital", y nos preguntará si deseamos ver o importar dicha clave pública a nuestro criptosistema. Si estamos seguros de la identidad real del remitente a través de las vías descriptas anteriormente, presionamos Importar. El GnuPG nos solicitará nuestra contraseña de criptosistema para agregarla.

Naturalmente, la clave pública de terceros también puede agregarse manualmente. Para ello vamos al botón Menú / Herramientas / Administrador de Claves OpenGPG. En la ventana del Administrador de claves OpenPGP podremos elegir Archivo / Importar clave(s) pública(s) desde archivo, y agregar las claves .asc que nos hayan enviado nuestros contactos.

Se nos presentará la opción de aceptar la clave (sin verificarla). Esto podremos hacerlo pero siempre conviene estar absolutamente seguros de quien nos envió la clave.

También podemos usar la terminal como he explicado en otra ocasión. Envíar correo electrónico cifrado Una vez que tenemos configurado el par de claves propio y contamos con la clave pública del destinatario, podremos hacer uso opcionalmente de la encriptación de correo electrónico de forma muy sencilla.

Simplemente redactamos un correo a cifrar como lo hacemos normalmente, e indicamos la dirección de correo electrónico del destinatario que nos hubiese enviado previamente su clave de cifrado .asc y ya la tengamos importada. Para cifrar el correo vamos al menú Opciones / Requerir Cifrado. Opcionalmente podremos elegir "Firmar Digitalmente el Mensaje" y "Adjuntar mi Clave Pública". Esto último puede tomarse como práctica usual para promover el uso de cifrado toda vez que se pueda. Si nuestra dirección de correo electrónico está asociado a un par de claves GnuPG, el mensaje se cifrará con dicha clave. Si en cambio usamos una dirección de correo electrónico no asociada a una clave GnuPG, se nos solicitará que seleccionemos una clave de una lista. Luego enviamos el correo como lo hacemos habitualmente. El mismo será indescifrable para terceros, y sólo el remitente con la clave privada

Nota: Si bien tanto GnuPG como OpenGPG cifra el cuerpo del mensaje y los adjuntos, el campo "Asunto" del correo electrónico NUNCA queda cifrado. De tal manera que debemos tener cuidado de no poner información comprementedora dicho campo asunto, y debemos asumir que siempre podrá ser leído por cualquier persona inescrupulosa. Leer correo electrónico de terceros, firmados digitalmente o cifrados Naturalmente, cuando recibamos un mensaje cifrado por uno de nuestros contactos, Thunderbird nos solicitará que introduzcamos nuestra contraseña del criptosistema para descifrar el mensaje, ya que él no podrá hacerlo por sí solo.

Para determinar si el mensaje entrante se ha cifrado o firmado digitalmente, hay que buscar en la barra inferior de información justo por encima del cuerpo del mensaje por determinados mensajes indicativos.

Para usuarios de Enigmail Enigmail era un plugin - ahora obsoleto - que permitía agregar la funcionalidad de correo cifrado a Thunderbird, cuando ésta no tenía dicha funcionalidad incorporada de manera nativa. Si hubiésemos usado este antiguo plugin Enigmail, Thunderbird lanzará un asistente que nos permitirá importar nuestras claves de cifrado al nuevo sistema de cifrado actual (nativamente integrado). Recuerden que esto es opcional y únicamente sucederá si utilizábamos previamente Enigmail. Se nos presentará con el mensaje "Enigmail dice hasta luego": Al presionar el botón Empezar la Migración Ahora se nos presentará el programa para transferir las claves, informándonos al respecto:

Al hacer clic en el botón Empezar Migración, se pasarán las claves de Enigmail al sistema nativo del actual cliente Thunderbird. Naturalmente, el sistema nos solicitará nuestra contraseña de administrador de claves PGP para que esta acción pueda llevarse a cabo.

Cuando se haya terminado, recibiremos un informe. Simplemente presionamos en el botón Completado. Ahora podremos ir al menú Complementos y desactivar y eliminar el obsoleto plugin Enigmail.

¡Ante esto sólo queda agradecer a un amigo que se va para siempre, y garantizar ante sus restos la continuidad de uso del correo cifrado, en una eterna memoria ROM!



26 november 2022

¿Cómo corrijo el error "broken pipe" en una conexión SSH en Ubuntu?

El Tren Presidencial fue una de las herramientas que permitrían al Presidente de la Nación movilizarse a lo largo y ancho del país. Permitió a Juan Perón propalar ideas y logros del Movimiento Justicialista haciendo uso del portentoso ramal instalado. En ocasión de visitar Saladillo pudo explicar cómo corregir la interrupción de conexión SSH con error "Broken Pipe" en Ubuntu.

¡Mis descamisados!

La nacionalización de los Ferrocarriles, y esta formación, me permiten llegar sin contratiempo alguno a este hermosísimo lugar de nuestras Pampas, las cuales ustedes cuidan con tanto querer.

Nuestro Movimiento encarna el sentir reparador de un Pueblo Libre, que anhela para sí y para su posteridad los beneficios que puede producir la tierra y su trabajo.

Indudablemente que este factor ha de proveerse con la acción decidida de quien sabe que todo hombre debe recibir lo que para su comunidad produce.

En esto hemos sido claros. Nuestro Movimiento ha producido uno de los máximos actos de reparación social que eran demandados por el Pueblo Argentino, en los que me lleno de orgullo y traen a mis ojos las más dulces lágrimas de felicidad. El País sufrió la ignominia de una Oligarquía sin Patria ni Bandera, una capaz de oprimir a sus hermanos y someterlos a la más abyecta de las pobrezas. Fue por ello que nos hemos mancomunado en la defensa de todos los Argentinos, especialmente a nuestro conjunto más venerados: los ancianos.

A ellos reparamos con los Derechos de la Ancianidad. Todo lo dieron por nosotros, y hoy - haciendo caso de la cristiana necesidad - todo le damos. Les acercamos la calidez de la asistencia social, el acceso a la vivienda, la alimentación, el vestido, el cuidado de su salud física y moral, el noble esparcimiento, así como el acceso a laborterapia productiva, junto con la expansión y el respeto que de todos merecen.

¡Vientos briosos han agitado nuestra bandera, la hemos alzado, y nos ha guiado en una nueva realización: la de ofrecer Jubilaciones y Pensiones en abundancia para todos la ancianidad de la Patria!

En ellas sólo se requiere un certificado de supervivencia y el conocimiento de los años trabajados en pos del beneficio del País.

En particular, sabemos que el protocolo de conexión SSH (Secure Shell), responden al mismo principio de la gran Obra Social que hemos implementado para nuestros ancianos. Con el fin de hacer eficiente la entrega del servicio, el servidor SSH solicita periódicamente los beneficiarios clientelares, un Certificado de Supervivencia en forma de paquete telemático para continuar sirviendo la prestación. Este paquete es enviado con cierta periodicidad, y debe responderse afirmativamente.

En el caso de no recibir una contestación que certifique supervivencia del cliente, la prestación de comunicación SSH se interrumpirá intempestivamente, y el cliente podría recibir una interrupción de servicio, o bien presentar un críptico mensaje como ":client_loop: send disconnect: Broken pipe", algo así como "desconexión de envío, caño roto". Otros sistemas pueden retornar el error Write failed: Broken pipe", o bien "Connection closed by remote host".

El sentido telemático de la interrupción de la conexión por parte del servidor Secure Shell suele deberse al procedimiento normal de tramitación, para evitar conexiones "detenidas", "desatendidas", o "inactivas" que podrían saturar al servidor o al cliente. Esto es tendiente a impedir "ataques remotos de denegación de servicio". Normalmente la oligarquía pordría querer disminuir intempestivamente la actividad sin certificado de sobrevida a los tres minutos (180 segundos), pero esto puede tornarse algo molesto en ciertas actividades remotas, pues requiere estar operando dentro de dicho intervalo en la terminal Secure Shell, so pena de ver cortada la conexión.

Afortunadamente para solucionar este problema es sencillo, el Justicialismo puede proveer Justicia en varios niveles operativos y de distintas manaeras, las cuales podrán ajustarse de acuerdo a las necesidades de Clientelismo que tengamos, ya sea operando desde nuestro cliente de cómputo local, y eventualmente en el servidor remoto (únicamente si tenemos control del mismo, naturalmente). Soluciones posibles desde el cliente SSH

La manera menos conveniente es especificarle a nuestro cliente la duración en segundos que queremos contar con actividad para una conexión individual Secure Shell. Esto nos servirá para especificar esto momentáneamente a un enlace SSH específico. Por ejemplo, si quisiéramos establecer una conexión SSH y que no se corte en unos 10 minutos, podríamos especificarle un intervalo de 600 segundos. Para ello usaríamos:

ssh -o ServerAliveInterval=600 usuario@servidor

Sin embargo, el sólo hecho de tipear este agregado al comando suele ser tedioso, y debería hacerse con cada conexión.

Otra opción más útil suele ser especificar esto mismo en las opciones de nuestro cliente SSH y para nuestro usuario.

Editamos el fichero de configuración de nuestro cliente a nivel usuario. Para ello usamos:

nano ~/.ssh/config

Se abrirá el editor GNU Nano. Al principio del fichero agregamos las siguientes líneas.

Host nombre_del_host User usuario Port puerto HostName dirección_del_host_ssh ServerAliveInterval segundos_de_vida

Ahora bien, esto nos evitará tener que escribir la especificación en la conexión al host "ssh.pirulo.com". Sin embargo en las demás conexiones que no sean al host "pirulo", no hará caso alguno.

Si en cambio deseamos que el certificado de supervivencia sea más inclusivo y qe extienda por 600 segundos (10 minutos) para todas las conexiones SSH que realicemos desde nuestro equipo (el procedimiento que suelo recomendar) podrían especificarlo de la siguiente manera en el fichero .ssh/config:

Host * ServerAliveInterval 600

Si tuviésemos otras configuraciones ya presentes en el fichero, no las modificamos.

En cualquiera de los casos, guardamos las modificaciones realizadas en el fichero .ssh/config por medio de Ctrl+o y salimos del editor GNU Nano con Ctrl+x. También conviene en acomodar los permisos del fichero de configuración para que sea adecuado para únicamente nuestro usuario:

chmod 600 ~/.ssh/config Soluciones posibles desde el servidor SSH

También podremos alterar el comportamiento del certificado de supervivencia de la conexión desde el lado del servidor. Naturalmente, esto sólo tiene sentido si tenemos control del Servidor. En el caso de utilizar Ubuntu como servidor, usaríamos el comando:

sudo nano /etc/ssh/sshd_config

Esto cargará el editor GNU Nano, pero con el fichero de configuración del demonio de servicio de Shell Seguro SSH. En este fichero habremos de descomentar y modificar dos variables. La variable ClientAliveInterval representa el tiempo de inactividad (en segundos) tras lo cual el servidor le enviará un mensaje de "certificación de supervivencia" al cliente. en tanto ClientAliveCountMax indica la cantidad de intentos en las cuales el servidor realizará su trámite de supervivencia.

Descomentar la variable significa que debemos buscarla, y fundamentalmente eliminar el signo numeral "#" que antecede las líneas. En este caso:

Si siguen el ejemplo como os he ilustrado arriba, habrán configurado la variable ClientAliveInterval para que el certificado de supervivencia se realice a los 200 segundos, y se repita por medio de ClientAliveCountMax durante 3 ocasiones. Esto significa que el servidor solicitará al cliente un pedido de "supervivencia" una vez que hayan transcurridos 200 segundos de establecido en enlace SSH. Si el cliente no aparenta reportar supervivencia, el servidor enviará una nueva solicitud a los 400 segundos. Si no hay respuesta o actividad por parte del Cliente, se enviará otro mensaje de solicitud de vida a los 600 segundos. Si luego de estos 3 intentos no recibe un reporte de vida, recién allí se desconectará el enlace SSH (produciendo el "broken pipe").

Pues bien descamisados, han de saber que los valores de 200/3 suelen constituirse en un temperamento adecuados para una conexión cableada o por Wifi moderadamente desatendida, pero podrían querer alterarlos dependiendo de las necesidades generales de los clientes.

Por ejemplo, si en el enlace SSH se realiza a por medio de un radioenlace muy inestable o a través de satélite, bien podrían querer disminuir los tiempos de intervalo - tal vez a unos 30 segundos, y aumentar los reintentos tal vez a 12 ocasiones.

Finalmente, consideren no utilizar varias horas, salvo casos absolutamente necesarios, pues esto constituye un enorme desperdicio de recursos telemáticos; sería sencillo así forzar a nuestro servidor a intentar establecer reintentos innecesariamente, y sería un caldo de cultivo para los ataques de denegación de servicio de usuarios registrados a nuestro servicio.



25 november 2022

¿Cómo emparcho MOCP para que funcione el teclado numérico en Ubuntu?

¡Mis queridos descamisados!

Ya saben que llevo en mis oídos la más maravillosa música, que es aquella reproducida desde la terminal con el MOCP.

Este reproductor para terminal es capaz de emplear múltiples servidores de audio, reproducir mp3, flac, oga, y toda una miríada de formatos, toda vez que es capaz de sintonizar radios online.

Pero todo lo bueno puede mejorarse, si da el tiempo. Han de saber que la versión empaquetada con Ubuntu, si bien es Leal como el que más, consta de un mínimo problema: no responde adecuadamente al uso de la tecla Enter del teclado numérico.

Esto, que podría parecer una nimiedad soslayable, no lo es tanto para mí. Como carezco de manos utilizo en sobremanera dicho teclado numérico, y sobre todo para desplazarme, en lugar de las consabidas flechas del cursor en "t invertida".

Afortunadamente, gracias al compañero John Fitzgerald, quien es a la postre quien mantiene el paquete moc, contamos con un parche que corrige este problema.

Compilar un programa no es moco de pavo, pero os instruiré para hacerlo, e instalar la versión emparchada sin necesidad de reemplazar la otra (por cualquier problema que pudiesen tener).

Simplemente abrimos la terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización para instalar las dependencias:

sudo apt install libmadlib-dev libwavpack-dev libsndfile1-dev libspeex-dev libmpc-dev libid3-3.8.3-dev libmodplug-dev libfaad-dev libavcodec-dev libsidplay2-dev libflac-dev libvorbis-dev libsndfile1-dev liboggplay1-dev libncurses5-dev libavformat-dev librcc-dev libresample1-dev libcurl4-gnutls-dev libtaglib-cil-dev libvorbisidec-dev quilt libdb-dev autoconf libpopt-dev libltdl-dev

Esto os solicitará la contraseña de Conductor, y una vez que la ingresen "a ciegas", descargará e instalará las librerías requeridas. Acto seguido, usaremos nuestra carpeta temporal para descargar su código fuente, compilarlo, e instalarlo. Para ello ingresarán:

touch ~/.popt chmod og-w ~/.popt cd /tmp wget http://ftp.daper.net/pub/soft/moc/unstable/moc-2.6-alpha3.tar.xz tar xf moc-2.6-alpha3.tar.xz cp ~/Descargas/moc-26a3-to_r3005-1.patch.gz /tmp/moc-2.6-alpha3/ cd /tmp/moc-2.6-alpha3/ zcat /tmp/moc-2.6-alpha3/moc-26a3-to_r3005-1.patch.gz | patch -p1 echo -n 3005 > REVISION autoreconf -if ./configure --prefix=/usr/local/ make sudo make install

Y finalmente podrán copiar el ejecutable a la carpeta de binarios de compilación local con:

sudo cp mocp /usr/local/bin/

Naturalmente, ahora podremos iniciarlo con el comando:

mocp

Naturalmente, podremos contar también con los clásicos ecualizadores de MOCP:

mkdir ~/.moc/ wget http://ftp.daper.net/pub/soft/moc/contrib/eqsets.tar.gz tar xvfz eqsets.tar.gz rm eqsets.tar.gz

Esta compilación individual no reemplaza al paquete oficial. Si quisiéramos deshacernos de la versión compilada por nosotros mismos, simplemente la eliminaríamos con:

sudo rm /usr/local/bin/mocp



24 november 2022

¿Cómo emulo una AT&T 3B1 UNIX PC7300 en Ubuntu?

Reunido en el 2º Congreso Confederal de la CGT, Juan Perón pronuncia un claro discurso en el cual enseña a emular una AT&T 3B1 UNIX PC 7300 en Ubuntu.

(...)

¡Trabajadores!

A lo largo de los tiempos históricos, el hombre - limitado a su propia naturaleza - ha abarcado todo tipo de demandas. La mayoría de ellas son inusitadas, pero le proveen el ímpetu vital que lo distingue como especie. Otras son Justas, pero sabemos que sólo podrá resolverlas actuando en comunidad.

Nuestra Doctrina Justicialista posee un carácter fundamentalmente humanista. La estrella polar que la orienta es saciar las ansias Justas del Pueblo Argentino. Para ello nos hemos disciplinado y hemos puesto nuestro empeño de la hora.

Hemos tomado parte en acciones de cohorte que nos han hermanado, y nos ha permitido proveer a nuestro Pueblo de la soluciones a sus inquietudes sociales, en forma de los Derechos del Trabajador, de la Niñez, o de la Ancianidad. Estas son cosas grandes, que se pueden lograr a través de la acción decidida de organismos bien concebidos. Sin embargo, si queremos realizar cosas que verdaderamente superen las ansias de los tiempos, necesariamente hemos de conformar supra-organizaciones, un estadío mayor que las anteriores. Esta mancomunidad es lo que forma un verdadero Movimiento.

En el cómputo suele suceder más o menos lo mismo. Uno puede hacer tareas sencillas, pero las más complejas necesidades de cómputo de potencia sólo pueden ser abarcadas si se organizan múltiples tareas de forma concurrente, en pos de un logro final.

No podemos dudar en que los sistemas UNIX y similares a UNIX siguen este precepto frontispicial a manera cabal, y lo tornan en un aspecto especialmente válido en el caso del equipamiento clásico. Este guarda valía no tanto por su potencia de cálculo real (que en función del tiempo, podría considerarse humilde), sino que lo hace en gran medida como recurso de estudio y aprendizaje de los más básicos rudimentos en las ciencias del cómputo.

Pongamos por caso el de la AT&T 3B1. Se trataba de un sistema informático desarrollado en 1984 por Convergent Technologies para AT&T Technologies. Era una microcomputadora de moderna concepción, que destacaba exteriormente por su moderno gabinete. AT&T decidió integrarle una versión de UNIX System V y varias aplicaciones ofimáticas que la distinguieran sobre la sosa y desprovista PC XT de IBM.

Su hardware giraba alrededor de un muy poderoso microprocesador de 32 bits Motorola MC68010 de 10 megahertz, provisto de entre 512KB y los 4MB de memoria RAM. El hardware de video constaba estaba dado por un adaptador capaz de presentar texto a 80x29 caracteres, y gráficas de 720x348 píxels, en un monitor monocromático de 12 pulgadas de fósforo verde.

Sus medios de almacenamiento de masa estaban dados por una unidad de diskettes de 5 1/4 pulgadas y baja densidad (360 kilobytes, a 9 pistas por sector), en tanto que la novedad la proveían hasta dos discos rígidos MFM, que variaban entre los 10 megabytes hasta los 67 megabytes al final de su ciclo productivo. Siendo diseñada para la AT&T, el equipo estaba dotado de fábrica para aprovechar las redes a través de su comunicador telefónico integrado, que le permitía establecer llamadas convencionales por medio de un software de gestión con agenda telefónica, y a través de redes de datos a 1200 baudios por segundo. Los periféricos se distinguían por su teclado avanzado acomodable sobre el gabinete, y un ratón de tres botones, algo aún inusual para las computadoras hogareñas.

El software de la 3B1 de AT&T se basaba fundamentalmente en una distribución licenciada de UNIX System V formado por la Release 2 a la que se le agregaron controladores de dispositivos desarrollados por Convergent Technologies, junto con extensiones de System V Release 3 y una serie de aplicaciones provenientes de las Versiones 4.1 y 4.2 de la distribución de Berkeley.

La 3B1 pasó así a formar el equipo ofimática inicial dirigido a todo tipo de pequeñas y medianas empresas, bajo el apelativo de AT&T UNIX PC 7300. ndudablemente que todo esto no costaba chirolas sino entre 5 y 7 mil dólares, lo que la dejaba sólo al alcance del más acaudalado oligarca.

Nuestro Movimmiento es uno de gran raigambre popular, y reconoce que existe una sóla clase de hombres: los que trabajan. Por ello no podemos dudar en dar al Pueblo acceso inclusivo a a todo tipo de hardware y de software que desee. Para ello nuestro sistema GNU con Linux es capaz de emular sistemas de antaño con software libre, muestras de lo cual he dado instruyendo a la Masa a emular la AT 3B2/400 en Ubuntu.

En este caso, os enseñaré a emular la arquitectura y entorno de la AT&T 3B1 UNIX PC 7300 gracias a FreeBee, un emulador de 3B1 liberado bajo licencia GNU GPLv3.

Se trata de un emulador experimental, pero que ofrece casi todas las funcionalidades, a excepción del módem telefónico.

Instalar el System V en la 3B1 original era una tarea titánica que requería obrados conocimientos, o bien hojear la excelente documentación de puesta a punto del sistema. Aún así, como Conductor del Justicialismo me he impuesto la tarea de obrar día y noche por mis queridos descamisados.

En primer lugar, con fime voluntad abrirán una Terminal con Crtl+Alt+T. Acto seguido, instalarán la única dependencia requerida por el sistema de emulación, mediante el siguiente comando de organización:

sudo apt install libsdl2-dev

Nuestro sistema nos solicitará nuestra contraseña de conductor. Conforme la proveamos, descargará e instalará la librería.

Inmediatamente capearemos la tarea de descargar el código fuente del emulador FreeBee y compilarlo. Para que opere habrán de descargar las imágenes ROM de las rutinas de E/S y BIOS de la AT&T 3B1 (necesarias para el funcionamiento del emulador). Complementariamente habrán generar imágenes vacías de disco rígido e instalar el sistema operativo en él, junto con una miríada de aplicaciones.

Indudablemente que toda esta tarea podrá disfrutarse como unas vacaciones pagas en Chapadmalal, ya que sólo hemos de copiar y pegar en nuestra terminal el siguiente bloque de Comandos de Organización:

cd ~ ; git clone --recurse-submodules https://github.com/philpem/freebee ; cd ~/freebee/ ; make ; git clone https://github.com/dgesswein/s4-3b1-pc7300 ; cd ~/.freebee/s4-3b1-pc7300 ; make ; mkdir ~/freebee/img/ ~/freebee/roms/ ; cd ~/freebee/img/ ; wget https://www.skeeve.com/3b1/os-install/08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ; wget https://www.skeeve.com/3b1/enhanced-diag/bootable-extended-diag.img.gz ; wget https://www.skeeve.com/3b1/enhanced-diag/diag.img.gz ; wget https://www.skeeve.com/3b1/enhanced-diag/Install ; wget https://www.skeeve.com/3b1/enhanced-diag/Install.bak ; wget https://www.skeeve.com/3b1/enhanced-diag/README ; wget https://www.skeeve.com/3b1/enhanced-diag/README.adr ; wget https://www.skeeve.com/3b1/enhanced-diag/s4diag ; wget https://www.skeeve.com/3b1/all-sw+fixdisk-hd.img.gz wget https://www.skeeve.com/3b1/full+lots-sw.img.gz wget https://www.skeeve.com/3b1/big-empty.img.gz wget http://bitsavers.org/pdf/att/3b1/999-801-025IS_ATT_UNIX_PC_System_Software_Installation_Guide_1987.pdf ; gzip -d full+lots-sw.img.gz ; cp ~/freebee/img/full+lots-sw.img ~/freebee/hd.img ; gzip -d 08_Foundation_Set_Ver_3.51_no_phinit.IMD.gz ; gzip -d bootable-extended-diag.img.gz ; gzip -d diag.img.gz ; mkdir ~/roms/ ; cd ~/freebee/roms/ ; wget http://bitsavers.org/pdf/att/3b1/firmware/3b1_roms.zip ; unzip 3b1_roms.zip ; mv '14C 72-00616.bin' 14c.bin ; mv '15C 72-00617.bin' 15c.bin ; cd ~ mv ~/freebee/ ~/.freebee/ ; echo '#Arrancador del emulador 3b1' >> ~/.freebee.sh ; echo 'cd ~/.freebee/' >> ~/.freebee.sh ; echo './freebee' >> ~/.freebee.sh ; chmod +x ~/.freebee.sh ; echo 'Todo listo!'

Naturalmente presionarán Enter para que se ejecuten.

Ya podrán arrancar el emulador con el System V instalado mediante el comando:

./.freebee.sh

Esto encenderá el equipo virtual y dará iuicio al UNIX System V 3.51m contenido en la imagen de disco rígido. El procedimiento original taradaba unos dos minutos aproximadamente y está detallado en la página 58 del manual de propietario.

Se presentará la pantalla que indica el chuqueo e inicio de la BIOS detallando el contenido de memoria ROM y RAM emulada...

...y conforme se inicialice el stack de framebuffer, System V será capaz de presentar gráficas, una de las características rompedoras de este equipo.

Y el sistema comenzará a la serie de autocomprobación de los temperamentales discos rígidos y sus sistemas de archivo de época. Esta lenta condición sin embargo lo tornaba en uno de los equipos de escritorios más seguros de los ochentas.

El sistema multiusuario solicitará acceso a través de su programa de login.

Podremos acceder a un útil tutorial ingresando como el usuario tutor. Cuando solicite contraseña, presionamos Enter sin ingresar ninguna.

El tutor nos enseñará el uso del ratón (lo capturamos en el emulador presionando F10).

Siguiendo el tutor y el manual podremos aprender a usar el entorno gráfico.

Podremos administrar hasta 4 usuarios activos con sus respectivas ventanas, haciendo clic en el símbolo "W" de la esquina superior derecha. Si elegimos la opción rlogin podremos abrir otra terminal.

Podremos cerrar las ventanas haciendo clic en la "x" del costado inferior izquierdo.

Para ingresar como Superusuario de Administración, debemos acceder como root y sin contraseña.

Usuario: root Contraseña: ninguna (presionar Enter)

Podremos ahora hacer uso del intérprete de comandos Korn Shell 88, cuyo prompt es un #.

El Freebee cuenta con unas teclas especiales que operan funciones propias:

F9: Tecla SUSPEND F10: Toma/Suelta cursor del ratón de Ubuntu en el Freebee. F11: Inserta/retira imagen de diskette floppy (floppy.img) Alt+F12: Sale del emulador

Naturalmente, como lleva un UNIX System V, le podremos cambiar una contraseña con el comando passwd de UNIX.

Podremos usar el conocido editor vi, pero también podrán usar se, el Editor de Pantalla de la Universidad Georgia Tech.

se

El editor arrancará en modalidad comando, y es bastante similar a ed. Podremos obtener ayuda de un comando con el comando h seguido por la letra del comando.

Entre las letras de comando tenemos guardar (w). Podremos salir del editor con el comando q.

Indudablemente, además de la paquetería típica de UNIX System V,, podrán encontrar numeroso software adicional a en UNX PC Taronga.

El procedimiento de apagado correcto de System V se hace desde la consola de administración. Podremos apagar el sistema con el comando shutdown.

Una vez que System V se apaga, podremos desconectar el emulador mediante Alt+F12.

Para crear una imagen de diskette tipo MS-DOS de 360kb (9 pistas por sector) en nuestro sistema de hospedaje GNU con Linux podríamos usar:

dd if=/dev/zero of=attdsk.img bs=1k count=360 /sbin/mkfs.fat dos.img sudo mount -o loop -t msdos attdsk.img /mnt

Acto seguido copiamos los archivo que queremos en /mnt (recordando de no sobrepasar los 360 kilobytes). Podremos desmontar el diskette con:

sudo umount /mnt

AT&T producía excelente documentación técnica en inglés, los famosos "libritos rojos. Podrán encontrar los manuales de la AT&T 3B1 aquí.



23 november 2022

¿Cómo instalo Signal en Ubuntu?

¡Trabajadores!

Nuestra Movimiento vibra ante los sones de una marcha que - además de alegre - realiza una exposición ideológica clara y meridiana. Su métrica asienta la noción en la que todos unidos triunfaremos dando un grito de Corazón por quien supo combatir al Capital.

Whatsapp es sin lugar a dudas una plataforma cuyo condicionamiento técnico y legal le hacen digno de ser combatida. Se trata de un comunicador mendaz, centralizado alrededor de un Amo - pues no podremos decirle servidor - de carácter privativo. Sus esclavos hacen uso de dispositivos munidos de clientes privativos también. Esta técnica de servidumbre y dependencia a un proveedor específico, se utiliza para descapitalizar al débil en pos del fuerte. Su efecto real es irrespetar las libertades del Usuario (quien pasa a ser usado) y de esta manera crear una dependencia comercial del proveedor.

Nuestro Movimiento es capaz de oponer golpe por golpe a estas inconfesables afrentas. Por ello normalmente os recomendaré el uso de una aplicación libre descentralizada con encriptación punto a punto como GNU Jami.

Sin embargo, para el caso que se nos haga una necesidad el uso de los servicios centralizados (sea ésta cual sea) más vale hacerlo bajo los preceptos de la libertad del software. Disponer del código fuente para modificarlo es una de estas libertades, y en ella podremos hacernos fuertes en nuestros dispositivos con la plataforma de comunicación encriptada Signal.

La plataforma Signal dispone de clientes libres que emplean un servidor centralizado hecho con software libre. Este clientelismo libre están disponibles tanto para dispositivos móviles, como para instrumentos de cómputo de escritorio, en variadas plataformas.su servicio.

Si deseamos, podremos instalar Signal en nuestro Smartphone, pero también contaremos con una aplicación de escritorio oficial para Linux, el Signal-Desktop.

Para instalarlo en nuestro sistema GNU con Linux, habremos de utilizar la terminal. Para ello abrimos una con Ctrl+Alt+t e ingresamos el siguiente comando de organización:

wget -O- https://updates.signal.org/desktop/apt/keys.asc | sudo apt-key add -

Es normal que nuestro sistema se detenga un par de segundos para solicitar nuestra contraseña de Conductor. Cuando la proporcionemos, nos indicará OK. A continuación ingresamos los siguientes comandos para agregar el repositorio de Signal a la lista de repositorios:

echo "deb [arch=amd64] https://updates.signal.org/desktop/apt xenial main" | sudo tee -a /etc/apt/sources.list.d/signal-xenial.list

Finalmente, actualizamos el contanido de repositorios e instalamos Signal para el escritorio de Linux con:

sudo apt update sudo apt install signal-desktop

Ahora podremos iniciar la aplicación nativa desde Aplicaciones / Internet / Signal.

Como es usual en este tipo de programas asociados a servicios móviles, la primera vez que lo utilicemos se nos presentará un código QR que nos permitirá asociar la cuenta de un dispositivo móvil. Para ello podremos utilizar la aplicación para Android o iO$, sacándole una foto al código QR de la pantalla.

Una vez que analicemos el código QR podremos establecer nosotros mismos el nombre del dispositivos, incluso ofuscándolo.

Conforme lo nombremos, podremos sincronizar contactos (si es que ya teníamos una cuenta Signal).

A diferencia de invasivos servicios como Whatsapp, Signal puede eliminar nuestra presencia telemática con solo ir a las preferencias y presionar Clear Data. También podremos escoger autorizar o desautorizar el uso del micrófono y de la cámara web (los cuales normalmente aparecen desactivados).

Una vez iniciado el cliente, podremos usarla para chatear, enviar mensajes de audio con cifrado punto a punto, realizar videollamadas, etcétera. El cliente dispone de todas las funciones normales, incluyendo enviar audio, ficheros de fotos, e iniciar videollamadas, todo esto encriptado.

Presionando F11 podremos activar Pantalla Completa.



22 november 2022

¿Cómo uso un túnel SSH a través de la red anónima Tor en Ubuntu?

Durante la histórica inauguración del Viaducto Presidente Perón de Sarandí, Juan Perón explica ante el Gobernador de la Provincia de Buenos Aires Carlos Aloé y el intendente de Avellaneda José Luis García, cómo crear un túnel Secure Shell a través de la red Tor.

¡Señor Cobernador!

¡Señor Intendente!

¡Trabajadores!

Esta obra magnífica de ingeniería, monumental en su factura y insuperable en su construcción, comenzó a gestarse en el principio de nuestro gobierno bajo auspicio de los muchachos de Vialidad de la Provincia. Debía responder al abhelado objetivo de solucionar y ordenar el tránsito, en áreas de la ciudad donde se veían atrasadas por la circulación de múltiples convoyes, entre ellos el ferrocarril lechero.

El trabajo que han emprendido ha consistido en elevar el nivel de vías y dejar las calles libres al tránsito vehicular, gracias a una inversión aproximada de 30 millones de pesos. ¡Cuánto han hecho! Me regocijo al observar esta portentosa obra, y observar en ella el rostro de todos los trabajadores Argentinos que han colmado de dicha mi corazón.

Un viaducto como este permite ahorrar tiempo, pero también hacer un cruce como este más seguro para todos. Permitirá ahorrar el tiempo que llevaba esperar al tren, que lo podremos utilizar dicha espera en nuestro provecho, transformándola ahora en un tiempo libre y feliz.

Sin embargo, un viaducto o túnel, como obra de infraestructura, puede servir también como clara inspiración para el desarrollo seguro y anónimo de todas nuestras necesidades de cómputo.

Vean señores, por diseño, el Shell Seguro (SSH) es una forma inherentemente bien pensada para obtener acceso con protección cifrada a máquinas remotas. Sin embargo, puede suceder que nos sea necesario una implementación aún más segura del mismo.

En entornos de conexión hostiles como los de hoy, siempre nos será útil hacerlo más seguro, y poder contar con manera de sortear ciertos obstáculos telemáticos que nos podrían aparecer en la red.

Emplear un túnel a través de la red oculta Tor puede suplir estos inconvenientes.

La red Tor emplea un concepto de enrutamiento de capas de cebola, de manera de utilizar las redes públicas con el mayor anonimato posible. La idea es dirigir el tráfico telemático a través de una miríada de servidores, y encriptar cada estación en el camino. Por intermedio de estas postas seguras y anónimas, podremos agregar un nivel de anonimato mayor al normal, e incluso ocultar nuestros servicios de celosos actores intermediarios.

Indudablemente que el Justicialismo ha de servir las necesidades de los Pueblos Libres. Por lo tanto, os enseñaré cómo realizar conexiones SSH a través de Tor. El proceso no esa terriblemente dificultoso si utilizamos el puerto tradicional de SSH, que es el puerto 22 (aunque podríamos modificarlo eventualmente).

En primer lugar, requeriremos instalar Tor. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de Organización:

sudo apt-get install tor -y

Tras ingresar a ciegas nuestra contraseña de usuario, el sistema instalará la paquetería necesaria.

Acto seguido, agregaremos un par de opciones al fichero de configuración del configuración de Tor. Para ello ingresamos:

sudo nano /etc/tor/torrc

Se abrirá un fichero de configuración que tendrá ya contenido. Al final de dicho archivo ingresamos estas líneas:

Líneas peronistas para usar SSH a través

de un túnel a la red oculta Tor

HiddenServiceDir /var/lib/tor/other_hidden_service HiddenServicePort 22

Procedemos a guardar el fichero de configuración con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

También nos aseguramos de otorgarle los permisos necesarios a nuestra configuración de Secure Shell, mediante el comando:

chmod g-rw ~/.ssh/config

Ahora podremos reiniciar el servicio de Tor para hacer uso del servicio de Shell seguro SSH a través de la red oculta. Esto lo haremos mediante el siguiente Comando de Organización: sudo systemctl restart tor

Al reiniciar el servicio Tor, se generarán toda una serie necesaria de ficheros de trabajo que se localizarán en el directorio /var/lib/tor/other_hidden_service. En dicho directorio estará el nombre de huesped que desea utilizar para conectarse al servidor desde el cliente remoto. Para conocer cuál es dicho nombre de huesped (hostname), podemos utilizar este comando:

sudo cat /var/lib/tor/other_hidden_service/hostname

Podría obtener un resultado en cadena de caracteres, terminada en .onion. Por ejemplo:

vivaperoncarajovivaperoncarajovivaperoncarajovivaperonca.onion

Cómo conectarse al servidor SSH con Tor

Una vez que tenemos este hostname, ahora abrir una terminal o utilizar un equipo distinto (donde también hemos instalado Tor). Para conectarse con el servidor, usaremos el comando torify para torificar al hostname provisto por el comando anterior. Para hacer la conección, utilizará el comando:

torify ssh usuario@hostname

Donde usuario es un usuario remoto y hostname es el nombre de huésped provisto por la red oculta Tor.

Por ejemplo:

torify ssh peron@riluperonvuelvelzn.onion

Se nos solicitará nuestra contraseña del usuario remoto (o llave de paso SSH), y le una vez conformado dicho requerimiento, tendremos permitido ingresar al servidor. La ventaja es que el tráfico estará ruteado a través de la red anónima Tor.

El inconveniente de usar el puente Tor de esta forma es que obtendrá velocidades de transmisión menores que si estableciera una conexión SSH directa. Este sacrificio en segundos de valdrán la pena si consideramos el anonimato en la red.



21 november 2022

¿Cómo creo trabajos y los administro en la terminal de Linux?

¡Trabajadores!

Como Conductor de nuestro Movimiento, he dedicado este año que termina a atresar todas nuestras Organizaciones. En ello he estado acompañado por el más fiel de los corazones: el del Pueblo Argentino.

Hemos acuñado un lema que remoza un viejo cuño, y nos orienta en la labor que hemos de realizar para Grandeza de la Nación. Este lema ha sido: "Gobernar es Crear Trabajo".

Responde a los inalienables Derechos que han alcanzan al hombre que trabaja. Hemos creado ochocientos mil puestos de trabajo bajo la esfera de dignificación que el Pueblo abheló y merece. Los trabajadores argentinos son la finalidad de todos mis desvelos, pero son también la causa inalterable de mi propia felicidad.

Un sistema de cómputo no debe ni puede sustraerse de esta realidad cardinal. Podemos decir señores, que para conducir un sistema de cómputo similar a UNIX, debemos crear trabajo.

Esto es así pues GNU con Linux responde como sistema operativo multiusuario, pero también multitarea. Puede encargarse de realizar múltiples acciones, destinando a ello la potencia de cómputo de su Unidad Central de Proceso, compartida entre todos sus obreros. Toda acción de cómputo que se lleve a cabo en un sistema multiusuario debe realizarse de una sola manera: ¡en Comunidad y con Organización!

Para conducir esta organización del trabajo, contaremos en nuestro sistema con un comando específico llamado jobs.

Conviene conocer en detalle ciertas particularidades. Como todo en la vida, el nombre de la acción depende de quién la realiza. Nuestro sistema operativo cuenta con un núcleo Conductor, que es un Coronel y que ustedes llamarán Kernel. Este llevará a cabo los llamados Procesos, con grupos de Tareas. [tose]. En tanto, los obreros, en tanto, contarán con los llamados Trabajos o Jobs.

Estos trabajos pueden consistir en la ejecución de un comando o de varios encadenados por medio de caños o pipes.

En particular en una terminal de Linux, bien podremos desactivar o activar un trabajo o programa activo, mediante el uso de la combinación de teclas Ctrl+z. Al hacerlo así, se detendrá la ejecución del trabajo, y se lo enviará a un segundo plano ("background" o "bg"), reservándole memoria del sistema, toda vez que se nos presenta nuevamente el intérprete de comandos.

Por ejemplo, si estamos usando el editor GNU Nano, y presionamos Ctrl+z, el trabajo de GNU Nano se detendrá y el sistema nos devolverá al intérprete de comandos con un mensaje similar al siguiente:

Use «fg» para volver a nano. [1]+ Detenido nano

Para recuperar en nuestra terminal el trabajo detenido que se encuentra en el segundo plano, debemos traerlo al frente ("fg" o "foreground"). Esto se hace con el comando fg. Se presentará el trabajo anterior en la terminal tal como lo habíamos dejado.

Si ejecutamos varios programas interactivos y los abandonamos, podríamos encontrarnos con múltiples trabajos detenidos en el segundo plano. En dicho caso, cada uno de ellos recibirá un identificador en la llamada "cola de trabajos".

La cola de trabajos es precisamente eso: una lista o tabla donde podremos observar y gestionar el número de orden de los trabajos en segundo plano. Podremos verla mediante el comando:

jobs

...a lo cual el sistema nos debería devolver la cola de trabajos que tenemos detenidos en segundo plano en nuestro sistema:

[1] Detenido nano [2]- Detenido top

Se presentará en esta cola de trabajos el status de los mismos, y entre corchetes, en orden de detención. Si fuese necesario tener un poco más de detalles, podremos recurrir a la forma más larga y explícita de la cola de trabajos usando jobs -l, que nos proporcionará también el identificador de trabajo y el motivo de la detención.

[1]- 5950 Detenido (por una señal) nano [2]+ 5951 Detenido (por una señal) top

Si queremos traer un trabajo a primer plano y contamos con múltiples trabajos detenidos en el segundo plano, se hará necesario especificar cuál es el que queremos traer al primer plano mediante el número de orden de detención. Por ejemplo, si quisiéramos traer top a primer plano usaríamos:

fg %2

Para eliminar los programas, se suele usar la combinación Ctrl+c. Esto detiene el programa y lo elimina de la cola de trabajos.

Indudablemente que este es un momento importante distinguir un hecho importante. Si en lugar de emplear fg para traer un trabajo al primer plano, abrimos nuevamente el mismo programa por segunda vez (en este caso podría ser Nano), no recuperaremos el primero que ya teníamos en memoria, sino que estaremos cargando una nueva instancia "desde cero" e independiente del mismo, la cual se presentará en la terminal.

El trabajador debe tener derecho a la mejora de sus aptitudes profesionales. Mejorar su conocimiento lleva un tiempo, pero le permitirá lograr mejores resultados en menor tiempo a futuro. Esto es determinante pues todo tiempo ahorrado, es tiempo ganado. La eficiencia es un factor que no se puede soslayar en ningún momento. Es útil saber, por lo tanto, que podríamos directamente colocar un trabajo en la cola de trabajos a la hora de ejecutar su comando. Para ello simplemente le agregamos el sufijo &.

Por ejemplo:

xeyes &

xeyes se activará y comenzará su acción típica, mostrar un par de ojos que siguen el cursor del escritorio gráfico, independientemente de la terminal del intérprete de comandos. Si en esta situación ingresamos el comando jobs podríamos recibir:

[1] Detenido nano [2]- Detenido mocp [3]+ Ejecutando xeyes &

Como vemos, el sufijo & permite hacer que el programa continúe en ejecución. Esto es diferente a la detención y pase a segundo plano con Ctrl+z.

Si usamos el comando fg %3 para activar en la terminal el programa xeyes, simplemente se nos informará con la terminal detenida. Si usamos ahora Ctrl+z, enviará a xeyes al segundo plano y detendrá su ejecucución (podremos ver que los ojos están permanecen fijos en la última posición antes de detenerse la ejecución del programa). Y en la cola de trabajos, veremos que xeyes está "Detenido".

Si quisiéramos eliminar de memoria y de la cola de trabajos uno de nuestros trabajos (ya sea que esté detenido o en ejecución), podremos hacerlo mediante el comando kill % seguido del número de órden de trabajo.En este ejemplo, podríamos quere cerrar xeyes con:

kill %3

En otros casos el ejemplo contrario podría ser lo procedente. ¿Que sucede si ejecutamos en segundo plano xeyes (con xeyes &), y lo queremos continuar utilizándolo, pero quitándolo de la cola de trabajos?.

Para ello se utiliza el comando disown. Este desacopla el último programa en ejecución de la terminal. Si tenemos varios programas en la cola de trabajos, los indicamos con:

disown %número de orden

Otros modificadores nos ayudarán en condiciones complejas. Por ejemplo, si usamos disown -a desacoplaremos todos los trabajos, en tanto que si usamos disown -r desacoplaremos todos los trabajos en ejecución.

Debemos tener en cuenta que si abandonamos nuestra terminal con trabajos en ejecución, los mismos se detendrán y se perderán. En ciertos casos, sobre todo en el caso de abandonar terminales remotas, debemos enviarle una señal SIGHUP ("colgar"), con el prefijo modificador -h.

Para ello usamos

disown -h

...para desacoplar todos los trabajos de la cola, o bien especificamos alguno con:

disown -h %número de orden

Esto provocará que al abandonar la terminal remota con el comando exit no se interrumpa la ejecución de los comandos remotos que dejamos en ella.

Tengamos también en cuenta que en lugar de disown (dependiente del intñerprete de comando Bourne BASH que dota Ubuntu, bien podríamos utilizar el comando nohup para especificar que la señal de sistema SIGHUP ("colgar") sea ignorada por cualquier comando de Linux o UNIX por cualquier motivo (con independencia del intéprete de comandos utilizado). Esto puede ser útil para otros entornos distintos a GNU con Linux o Ubuntu.

En fin ttabajadores, sabemos que ciertos paradigmas informáticos podrían intentar confluirse en la noción de formar un esclavo de consumo. Quien quiera liberarse sabe bien lo que tiene que hacer: combatir al capital. Los sistemas UNIX y similares a él - aunados a doctrinas de software justo, libre, y soberano - permiten operar cómputo de forma completa y comunitariamente organizada, sin depender de obsolescencias programadas o softwares "cortados a cuchillo".



20 november 2022

¿Cómo instalo el juego Cube2 Sauerbraten en Ubuntu?

Vean señores,

Donde hay una necesidad nace un derecho. Esto lo hemos proclamado muchas veces y lo hemos cumplido en la misma cantidad ya que mejor que decir, es hacer. Una Nación sana debe saber obrar para proveerse a sí misma las infraestructuras que permitan colmar las necesidades de su Pueblo. Es indudable que la organización superior que debe responder a esto es el Estado de la Nación, quien debe velar por la adecuada implementación de políticas que den a todos lo Justo.

Pues bien señores, esta infraestructura no sale de un repollo. Responde a un concienzudo planeamiento profesional. Esta planificación no se basa nunca en las necesidades actuales, sino en la proyección futura de tal necesidad.

Quien haya cometido la torpeza de planificar infraestructura para lo que hoy se requiere, sólo resolverá a destiempo el problema del ayer. Ni siquiera resolverá los problemas actuales y sólo agravará las problemáticas en el futuro.

Por esta razón nuestro Movimiento ha sido propenso a instituir sus propios institutos de planificación, y ha preferido la realización profesional de Planes Orgánicos de ejecución temporal. Esta es la forma de planificar, ya que cuando las problemáticas son conocidas, las acciones requeridas para darle solución pueden planificarse en forma de encadenamiento lógico, y hacerse con la mínima inversión de tiempo y medios.

En un sistema de cómputo podremos encontrarnos con filosofías de acción similares. La filosófica UNIX plantea responder a las problemáticas complejas del cómputo a través de una una serie lḉgica y definida de pasos concretos de muy sencilla resolución. La sumatoria de estas soluciones son las que provocan la Gran Solución del Problema Mayor.

Hemos de concentrar esfuerzos in mente para que nuestro software libre también debe contar como frontispicio esta máxima universal del quehacer político. Cuando ello no se sigue en la idealización de un paquete de software, podremos encontrarnos conque ya no responde a las necesidades que de él se esperaban.

Todo software libre hace disponible su código para quien lo anhele, y tiene por condición la posibilidad de irse mejorando sobre la marcha. Pero trabajar de esta manera constituye sólo es una excrecencia del proceso natural que debe buscarse. Debemos contar también con una planificación fiable para su concreción. Si no lo hacemos, el factor temporal en el desarrollo se volverá "gomoso", y nunca sabremos bien en qué terminar.

No son pocos los proyectos de Software que han enfrentado esta problemática de desarrollo. En el caso de los proyectos privativos, no es inusual que la única solución viable para terminarlos sea liberar su código.

Cube 2: Sauerbraten es un ejemplo de esto. Se trata de un juego de disparos en primera persona multijugador y para jugador único (con enemigos de inteligencia artificial, los inefables bots). Es el sucesor del Cube. Como el Cube original, el objetivo del proyecto es establecer un juego tipo Deathmatch divertido capaz de hacer uso de estrategias cooperativas. Además, debía poder permitir la sencilla edición de los mapas con un editor provisto.

El motor gráfico utilizado es abierto bajo licencia zlib, y enteramente original en código y diseño. Es un engine 3D del estilo de Quake, rápido y que hoy en día requiere poquísimos recursos, lo que lo habilita en jugarlo incluso en netbooks. En particular lo recuerdo por el AssaultCube.

Video del juego:

Sin embargo, en su iteración original sufrió retrasos fundados básicamente por simples decisiones de diseño y lógica de la estructura lúdica. Quake hacía uso de imaginería de fantasía oscura y ligera ciencia ficción con planteos densos como propuesta para su universo temático dirigido al público masculino.

Con el poco correr del tiempo este planteo, tal vez algo inmaduro y tontorrón, terminó cayendo en desuso en el género, siendo reemplazado progresivamente por el género del tirador táctica militar, o bien planteos más aventurescos, finalmente cayendo incluso en fantasía para todas las edades y sexos.

Por tal motivo, el Cube original quedó desfasado, y su continuación, el Cube 2 con la modificación Sauerbraten representa un exponente de aquellas propuestas oscuras. Está liberado y podremos instalarlo en Ubuntu fácilmente.

Una de las características pensadas originalmente para el Cube era la utilización de un modelo cliente-servidor bajo el cual se minimizaran los efectos negativos del retraso o lag, en una era de comunicaciones lentas. Esto hace que el juego sea particularmente inmune a esta deficiencia comunicacional y pueda tornarse en ideal en ambientes donde otros juegos serían imposibles de usar o muy desventajosos.

La manera más sencilla consiste en instalarlo desde la paquetería oficial. Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

sudo apt update

sudo apt install sauerbraten

El sistema nos solicitará nuestra contraseña de Conductor. Una vez que la ingresemos "a ciegas" y presionemos Enter, se producirá su descarga. Para ejecutar el juego por primera vez, podremos ir a Aplicaciones / Juegos / Sauerbraten.

La primera vez que juguemos, se nos permitirá ingresar un alias para nuestro jugador.

El menú inicial es característico del los FPS. Contamos con gran variedad de estilo de juegos divididas en dos estructuras de juego principoles: la de Jugador único (con bots con inteligencia artificial regulable), o bien multijugador (tanto en red local LAN como en servidores de internet). Asimismo, podremos crear un servidor desatendido para las jugadas LAN y eventualmente de internet.

El diseño del Sauerbraten implica ciertas decisiones estéticas de diseño en boga por entonces. Entre ellas la temática oscura inspirada en Quake y otros juegos del género FPS. Esto implica gráficas de bajos polígonos, modelos de armas simplificadas, y escenarios 3D intrincados con varios niveles.

Nos encontraremos con 7 armas de estilo fantasía activables con los números del teclado o la rueda de scroll del mouse, que van desde los puños y motosierra, pasando por pistolas, escopetas, lanza-granadas, lanzacohetes.

En el caso de las partidas multijugador, podremos recomendarse especialmente para este tipo de entornos de baja velocidad. Entre las modalidades encontraremos también deathmatchs, e implementaciones de battle royale (tipo fortnite). El diseño de novísimos niveles con estética colorida implica un nuevo acercamiento a dicho estilo de juego, con la ventaja de requerir consumos y ancho de banda mucho más limitados.

Tal vez el apartado menos imaginativo sea el sonido, con efectos repetitivos y poco variados, a la vez que la música está compuesta por una insoportable banda sonora de death metal, que por suerte podemos apagar.

Para jugar en multijugador, debemos seguir la misma premisa que en otros juegos de este estilo. Vamos al menú Multiplayer y seleccionamos "update from master server". Esto actualizará la lista de servidores disponibles y las ordenará por latencia o "ping". Luego seleccionamos el Server Browner (Navegador de Servidores).

En el podremos observar todos los disponibles, también su estilo de juego y la cantidad de jugadores conectados y la capacidad de la sala de juego. Elegimos uno (idealmente con menos de 200 de ping) y haciendo doble clic en el daremos inicio al juego.

Entre los modos de juego encontraremos también los típicos del género, entre los que tenemos deathmath de un tiro (y respawn), o con salud, capturar la bandera, o bien capturar las bases. Esta modalidad sigue una dinámica similar a la del viejo Battlefield 1942, capturando bases luego de un tiempo que servirán como nuevos puntos de respawn.

También podríamos instalar el servidor dedicado con:

sudo apt install sauerbraten-server

Si anhelamos descargar la última versión publicada del código fuente para jugar, podremos hacerlo. Esto es un poco más complejo que usar la versión preempaquetada, pero encontraremos versiones de battle royale similares a fortnite. Para jugarla debemos usar la terminal e instalar las librerías quereridas, por ejemplo:

sudo apt install libgl1 libsdl2-2.0-0 libsdl2-image-2.0-0 libsdl-mixer1.2 libpng16-16 libjpeg-dev zlib

Acto seguido, descargamos la última versión del código fuente, podríamos hacerlo con. Para ello abrimos una terminal e ingresamos los siguientes Comandos de Organización:

cd ~/Descargas/ ; wget https://sourceforge.net/projects/sauerbraten/files/sauerbraten/2020_11_29/sauerbraten_2020_11_30_linux.tar.bz2 ;

El código fuente pesa aproximadamente 1 GB. Una vez finalizada la descarga, descomprimimos el código fuente con:

tar xvjf sauerbraten_2020_11_29_linux.tar.bz2 ;

mv sauerbraten/ ~/.sauerbraten

cd ~/.sauerbraten/

Y lo ejecutamos con:

./sauerbraten_unix

Si quisiéramos hacer un ejecutable para el servidor dedicado:

nano ~/sauerbraten_server.sh

y le pegamos:

!/bin/sh

SAUER_DATA=/usr/share/games/sauerbraten SAUER_SERV_BIN=/usr/bin/sauerbraten_server SAUER_SERV_OPTIONS="-q${HOME}/.sauerbraten"

cd ${SAUER_DATA} exec ${SAUER_SERV_BIN} ${SAUER_SERV_OPTIONS} "$@"

Lo guardamos con Ctrl+o y salimos con Ctrl+x

Le damos permisos de ejecución con:

chmod +x sauerbraten_server.sh

Y cuando querramos iniciar el servidor dedicado, deberíamos ejecutar:

./sauerbraten_server.sh



19 november 2022

¿Cómo uso DCL en un sistema OpenVMS remoto?

En su fundamental Modelo Argentino para el Proyecto Nacional, Juan Perón expone el papel actual y futuro que el desarrollo tecnológico propende a la Argentina, en tanto explica cómo crear una cuenta de acceso remoto a un sistema OpenVMS y operar el intérprete de comandos DCL desde Ubuntu.

(...)

La tecnología es uno de los más fuertes factores de dependencia en la actualidad. Resulta importante enfatizar que este hecho se agudiza en el caso del sector industrial.

Si nuestra industria es ya fuerte, en el Modelo la deseamos aún mucho más importante. Necesita, entonces, una tecnología que cimente su desarrollo, pero esta necesidad no debe instrumentar la acción de un poderoso factor de dependencia.

La alternativa surge clara: tenemos que desarrollar en el país la tecnología que nutra permanentemente a nuestra industria. Estado y sector privado deben volcar todos sus esfuerzos en ese sentido, cada uno en la medida de sus posibilidades.

El gasto en investigación y desarrollo debe ser tan grande como jamás lo haya sido hasta ahora, pero tan bien programado como para soslayar cualquier posibilidad de despilfarro. Deben aprehenderse bien estos conceptos, pues son absolutamente esenciales: sin tecnología nacional no habrá una industria realmente argentina, y sin tal industria podrá existir crecimiento, pero nunca desarrollo.

La tarea que se propone no es fácil. Hay que remontar la herencia de un esquema ferozmente competitivo, en el que sólo primaban fines solitarios -o simplemente grupales- que dieron lugar a una batalla entre intereses, de la cual generalmente salieron mal parados los más débiles. El sector industrial privado es ahora convocado a colaborar, con su quehacer específico, bajo una perspectiva totalmente distinta. El Estado debe orientarlo en su acción, señalándole claramente cuál ha de ser su rol en los programas de desarrollo y haciéndolo participar activamente en la elaboración de la política económica. No deben quedar dudas de que, cuando hablo de sector privado industrial, me refiero tanto a empresarios como a trabajadores, nucleados unos y otros en sus organizaciones naturales.

Si, como ya afirmé, el mercado no constituirá la referencia fundamental en la determinación de las necesidades auténticas de la comunidad, el sistema de precios no será -en algunos sectores- el impulsor de las decisiones de inversión. El Estado tendrá, entonces, que suplir este posible déficit, ya sea mediante su acción directa como inversor o bien, indirectamente, a través de su política económica. Al Estado le cabe también la responsabilidad de relevar asiduamente el comportamiento del sector industrial en su conjunto, en una acción fiscalizadora, tanto de control como de apoyo.

Este desarrollo técnico-industrial es sobre el que se columpiará el progreso de la Nación. Para lograrlo bien podremos considerar programas pilotos ya creados de accionamiento directo.

Un sistema llave en mano y de libre acceso ocasionalmente puede convertirse en una fundamental herramienta de aprendizaje, que nos permitirá realizar todos los casos de estudio más pertinente sin tener que hacer un deployment activo. Las ciencias del cómputo son un claro ejemplo.

Desde mediados de los 70s la Digital Equipment Corporation (DEC) consolidó su línea de mainframes PDP-11. Estos podían utilizarse con una variedad creciente de sistemas operativos monousuario, pero también con algunos multiusuario y con capacidad de cómputo concurrente o compartido. Entre ellos destacaba el sistema operativo DEC RSX-11.

Ante la necesidad de crearle una interfaz que contemplara sus funcionalidades de manejo y que además fuese estructuralmente similar al FORTRAN tan en boga en los sistemas comerciales de la era, se terminó implementando el DCL, el Lenguaje de Comandos de Digital.

El DCL fue particularmente exitoso a principios de los 80s sobre el sistema operativo VMS, cuando se instalaba este en la arquitectura de cómputo DEC VAX y posteriormente la aquitectura DEC Alpha. El sistema operativo VMS tradicional derivó en una implementación a código abierto, el OpenVMS portado a ambas arquitecturas. Afortunamente, la última versión 9 de OpenVMS representa un cambio fundamental ya que abandona las obsoletas arquitecturas DEC para compatibilizarotras de despliegue moderno, notablemente la x86_64. Esto hace posible de operarse en equipos de escritorio modernos, aunque a costa de un código privativo.

Como máscara visible de RSX-11 podremos decir que DCL ha influido por transición sobre toda las ramas de sistemas operativos modernos desde de implementaciones del CP/M de Intergalactic Digital Research, y en el Q-DOS de Seattle Computer Products, luego masificado como el Microsoft DOS y filosóficamente transicionado en intérpretes actuales hasta el MS PowerShell. Incluso han existido versiones de intérprete llamada VCL cuya inspiración era el DCL, pero estaban orientados ya para el MS-DOS (reemplazaba a intérprete nativo COMMAND.COM), OS/S y Windows.

Como los sistemas VAX históricos y los Alpha pueden emularse bajo SIMH en GNU con Linux, es posible crear entornos de emulación para estas plataformas si contamos con licencias de uso hobbista para el mismo. Lamentablemente, si bien las mismas se distribuyeron a través de un programa especial de Hewlett-Packard, actualmente su entrega está descontinuada.

Es por ello que la manera más sencilla de operar en un sistema de estas características es darnos de alta en un sistema público que disponga del hardware antiguo correctamente licenciado. Una de estas instancias la proporciona DECUS.ORG, un grupo de usuarios hobbistas de equipamiento DEC, que cuenta con el apoyo institucional del actual poseedor de la propiedad intelectual del VMS, Hewlett-Packard.

Decus.org pone a disposición del público general su infraestructura de cómputo DEC Alpha DS20 puesta en línea, y ofrece la creación de cuentas públicas de acceso remoto a intérprete de comandos.

Se trata de la versión Alpha DS20 de 500 Mhz. Este consiste en un rack con múltiples servidores montados.

Cada uno de estos servidores consta del sistema OpenVMS 8.4 el cual se puede utilizar para albergar sesiones de terminal remotas de usuarios hobbistas. El fin fundamental de este sistema de cómputo es albergar el sistema de ayuda básico para los antiguos clientes de la DEC, el cual fue adquirido por Compaq, y luego por Hewlett-Packard. De esta forma, el sistema continúa con vida bajo un cariz de ayuda sin fines de lucro bajo legislación norteamericana de "fair-use" (buen uso).

Para dar de alta una cuenta a título individual y no comercial, podremos usar nuestra terminal GNU con Linux mediante Secure Shell (SSH). Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos:

ssh REGISTRATION@eisner.decus.org

Cuando el sistema nos solicite si estamos seguros de querer conectarnos ingresamos YES ("si"). Al solicitarnos contraseña ("Password:") no ingresamos ninguna y simplemente presionamos ENTER. Se activará a continuación programa de registro en la máquina DEC Alpha, que constará de varias pantallas. En ellas se nos solicitará ingresar un nombre de usuario y debemos proporcionar una casilla de correo electrónico válida. También se nos solicitará indicar qué tipo de editor deseamos (normalmente uno llamado LSE).

Una vez recibido un correo de parte de DECUS conteniendo una contraseña pasavante, podremos ya conectarnos a nuestra cuenta de OpenVMS remoto. Por tanto, nos logueamos utilizando SSH y nuestro nombre de usuario, con:

ssh usuario@eisner.decus.org

Tras ingresar la contraseña provista por DECUS, podremos ver nuestra pantaslla incial. Por ejemplo:

%DCL-S-SPAWNED, process USUARIO_10419 spawned User [USUARIO] has 842 blocks used, 9158 available, of 10000 authorized and permitted overdraft of 0 blocks on DISK_USER

El prompt de DCL es un "$".

DCL se presenta idiosincrásicamente mas complejo y laborioso de usar que los entornos similares a UNIX, y requiere por lo tanto tener presente su frondosa documentación. Sin embargo, en su operativa general podré sustentarla con mi ayuda como Conductor Paternal del Movimiento Nacional Justicialista.

El DCL presenta un conjunto de instrucciones en inglés que el usuario ingresaba para comandar al sistema operativo (en este caso OpenVMS), qué hacer. Constaba de más de 200 comandos y funciones.

Al igual que otros intérpretes posteriores como Bashm, los comandos en DCL se ingresan en dos maneras. La más común es la forma interactiva, en la cual se escriben en la terminal de manera indiferente a mayúsculas. Generalmente se usan secuencias de comandos y modificadores.

La otra es "en lotes", y esto equivale a la creación de programas y guiones de programación (scripts). Nos conectraremso en la primera manera.

Asimismo, DCL tiene varias combinaciones de control que interrumpen o anulan la execución de comandos.

Ctrl+z: Sale de un comando de DCL

Ctrl+c: interrumpe la ejecución de un comando (pero lo deja en memoria).

Ctrl+b: Repite el comando anterior.

Ctrl+a: Conmuta entre modo Inserción de caracteres y Sobreescritura de Caracteres.

Ctrl+s: Suspende la salida de texto a la terminal.

Ctrl+o: Reactiva la salida de texto a la terminal. Si se la presiona alternativamente, pausa y continúa el flujo de texto.

La Ayuda Online era una de las características fundantes del VMS. Esta consistía en un programa que seguía la forma de estructura jerarquizada tipo "árbol" . Ingresando el comando "help" se ingresa al subsistema de ayuda. También se puede usar en forma "HELP tema". Por ejemplo:

$ help instructions

Normalmente el subsistema de ayuda permite ingresar y presentar en pantalla cada uno de los temas o "topics" escribiéndolos por su nombre indicado, y a su vez cada tema podría presentarnos nuevas temáticas de ayuda relacionadas. Si oprimimos ENTER generalmente retrocederemos un nivel. Al volver al nivel inicial del subsistema de ayuda, abandonaremos el mismo y quedaremos depositados nuevamente en el prompt $ del DCL.

Recordemos que siempre podremos salir del subsistema de ayuda (y muchos otros programas ejecutados por DCL) con Ctrl+z. COMANDOS COMUNES

Hay muchísimos comandos y programas capaces de corren en OpenVMS, pero ciertos son comandos comunes directamente equivalentes o muy parecidos a los comandos presentes en sistemas de operación similares a UNIX. Por ejemplo:

copy: Copia un fichero especificado, cp

copy/ftp: transfiere ficheros entre huespedes sobre red tcp/ip, ftp

create: crea ficheros y directorios, touch

delete: borra un fichero especificado y lo quita del directorio, rm

directory o dir: presenta los contenidos de un directorio (listado de ficheros), ls

edit: muestra y cambia los contenidos de un fichero de texto, ed

logout: desconecta la sesión remota, logout, exit

print: envia un fichero especificado a la impresora

rename: cambia el nombre o la localización de un fichero especificado, mv

set: controla como usar el sistema en pantalla

show: presenta el status de sistema

type: presenta los contenidos de un fichero especificado en la pantalla, cat

El sistema de ficheros de OpenVMS representa también una estructura arbolada, lo que nos permite desplazarnos en ella siguiendo el mismo principio rector que los sistemas similares a UNIX: el de cambiar directorios y subdirectorios.

Nuestro usuario de DECUS recibirá un directorio de usuario localizada dentro de la carpeta "DECUSERVE_USER", que generalmente se encuentra en una partición en una unidad de disco del sistema, como por ejemplo DSA3:.

En particular, suele requerir la necesidad de ingresar entre corchetes "[]" toda la ruta del directorio a fin de desplazarnos por la estructura de árbol. Los niveles de directorios se separan utilizando un "." en lugar de una barra como en UNIX u otros sistemas.

Para ver el contenido del directorio actual ingresamos:

$ directory

...o más sencillo, su la abreviación dir.

Por ejemplo, si quisiéramos crear un directorio llamado "pruebas" en nuestra carpeta de usuario, deberíamos usar:

$ CREATE/DIRECTORY [DECUSERVE_USER.USUARIO.pruebas]

Para comprobar su creación efectiva, ingresamos el comando "dir". Deberíamos ver ahora un directorio nomenclado como prueba.dir;1. Para ingresar a dicho directorio usamos el comando cd ("cambiar directorio"), seguido por toda la ruta estructurada. Por ejemplo:

$ cd DSA3:[DECUSERVE_USER.USUARIO.prueba]

Para volver al directorio anterior:

$ cd DSA3:[DECUSERVE_USER.USUARIO]

...o bien:

$ cd [DECUSERVE_USER.USUARIO]

Se nos hará obvio que todos los archivos cuentan con un sufijo de versión, indicado con punto y coma. Por ejemplo: archivo.txt;1 archivo.txt;2, etcétera. De esta manera podremos contar con múltiples versiones de un mismo fichero. Siempre se activa la última, pero se conservan las anteriores. Si queremos eliminar un fichero se usa el comando DELETE, pero debemos especificar cuál versión queremos borrar. Por ejemplo,

$ DELETE archivo.txt;3

...o bien, eliminamos todas las versiones de un fichero con comodines, por ejemplo:

$ DELETE archivo.txt;*

Para borrar el directorio creado tenemos que retroceder al nivel anterior en el árbol (no podemos eliminar un directorio desde dentro del mismo). Finalmente indicamos un comando como:

$ DELETE prueba.dir;1 Crear un fichero finger

Los sistemas de cómputo a tiempo compartidos podían contar con un fichero de texto .plan o .project, encargados de operar como descripción del usuario. Como los sistemas solían ser anónimos pero contar con un "handle" o nombre de usuario específico, estos ficheros de texto podían servir como una descripción o información de contaco. Sin embargo, no era extraño contar con extavagantes descripciones o texto ASCII, lo que pasaba a formar parte del folklore típico de los sistemas de cómputo a tiempo compartido. Para crear nuestro fichero podremos aprovechar y utilizar el editor de texto visual "LSE". Ingresaremos a él con:

lse

El editor de texto LSE consta de dos secciones. Una principal con la ventana de texto, y otra inferior en la que podremos ingresar comandos de operación. En este caso simplemente escribiremos un texto que deseemos. Cuando finalicemos de hacerlo, presionaremos Ctrl+z. Esto nos desplazará a la sección inferior para ingresar los comandos de operación, lo cual se nos hará patente por medio del prompt LSE>. En él ingresaremos exit. El editor LSE nos solicitará el nombre de archivo a fin de guardarlo con dicha denominación y salir al intérprete DCL. Le introducimos el nombre .plan y presionamos Enter.

Esto cerrará el editor LSE y nos retornará al prompt de DCL. Debemos ahora asignar los permisos de fichero requeridos al fichero .plan que hemos creado. Ello lo haremos ingresando el comando:

set file/prot=w:re .plan Crear una web de DECUS

La URL base para su página web será:

http://eisner.decus.org/~usuario

La web se almacena en el subdirectorio WWW localizado en nuestro directorio de usuario.

Para ello creamos un subdirectorio y le otorgamos los permisos requeridos

$ set default sys$login

$ create/dir [.www] /protection=w:re

$ set security /acl=(default_protection, s:rwed, o:rwed, g:r, w:r) www.dir

$ set default sys$login

$ set security /acl=(identifier=WASD_HTTP_SERVER,access=read) [-]usuario.DIR

Acto seguido creamos un archivo index.html o bien lo transferimos a través de FTP. Podremos crear subdirectorios adicionales dentro de [WWW] si lo deseamos. Documentación

El manual puede conseguirse online, pero está disponible en formato HTML desde la antigua web de Compaq (actualmente disponible desde HP).

Podrán encontrar las secciones e índice de base en aquí.

En tanto que podrán dirigirse al uso de DCL desde esta sección del mismo manual.



18 november 2022

¿Cómo instalo DustRacing2D en Ubuntu?

El 7 de marzo de 1950, reunido con los directores de las Escuelas de Orientación Profesional, Juan Perón expone el término final de la capacitación obrera, en tanto que enseña cómo instalar DustRacing2D, un divertido juego de carreras para Ubuntu.

Respetados señores:

(...) Nosotros habíamos visto crecer a nuestros operarios y formarse en el dolor del taller, en la necesidad de trabajar desde chicos. Eso, como método empírico, llena solamente una parte de la enseñanza. Es necesario acompañar a este método real de un método ideal, es decir, darle también los conocimientos necesarios para que el operario no termine muriéndose o jubilándose operario, sino que tenga abierto el horizonte para ir perfeccionándose en sus conocimientos, y, con ello, ir aumentando sus posibilidades de ir sumando a su labor y a su capacidad manual la capacidad intelectual que hace grande y convierte en artesano al más modesto de los operarios si es hombre de progresar por sus conocimientos generales. Nosotros, estamos cumpliendo los primeros tres ciclos que nos habíamos propuesto. La idea originaria de esto fue formar los operarios, crear después el segundo ciclo de perfeccionamiento para formar pequeños dirigente de la industria, sobrestantes, jefes de taller, etcétera; y después, crear la Universidad Obrera que diese los técnicos capacitados, pensando que de ese núcleo de hombres deben salir los grandes dirigentes de nuestra industria actual y de nuestra industria futura.

Indudablemente que en la operación de un sistema de cómputo como lo es GNU con Linux también encontramos el mismo proceso de mejora a pasos, acompañado por instrumental y herramental que le den un claro sentido didáctico.

Por ejemplo, Dust Racing 2D constituye un software libre que representa un juego de carreras bidimensional de plataforma cruzada basado en celdas. Lo interesante es que ha sido escrito con fines didácticos para ilustrar el arte de la programación en Qt, C++ y OpenGL, ya que ha sido liberado bajo licencia GPLv3. Viene con un editor de niveles que nos permitirá crear niveles fácilmente. Utiliza un motor separado llamado MiniCore para modelar la física del juego. Como tal puede ser utilizado por el más sencillo de los operarios, e incluso puede compilarse a partir del herramental c-make si ya somos sobreestantes.

Entre las características que contamos es la posibilidad de jugar individualmente o de a dos contra 11 jugadores controlados por la CPU de nuestro sistema de cómputo.

En el caso que no tengamos capacidad aún para compilar en nuestro perfeccionamiento, esto no significará ser excluido de la posibilidad de acceder al ocio. Para ello podremos instalarlo desde la Terminal de nuestro sistema GNU con Linux abriendo una consola mediante Ctrl+Alt+t e ingresando los siguientes Comandos de Organización:

sudo apt update sudo apt install dustracing2d

Para iniciar el juego, nos dirigiremos a Aplicaciones / Juegos / DustRacing2D.

En la primer pantalla debemos indicar qué nivel queremos entre tres: Fácil, Medio o Difícil. Asimismo, contamos con tres modos de juegos (Carrera, Prueba de Tiempo, o Duelo).

Si elegimos el juego de dos jugadores, habremos de afrontar una pantalla dividida (podemos optar entre vertucal u horizontal).

La perspectiva del juego es escencialmente cenital 2D, pero cuenta con objetos 3D para otorgarle cierta profundidad.

El desarrollo es simple: al semáforo de largada metemos "pata hasta el radiador", y manobraremos siguiendo el circuito.

Los Controles son sencillos y se basan en cuatro teclas para acelerar, frenar, girar a la izquierda o a la derecha. El jugador 1 utiliza el triángulo invertido formado por las teclas de las flechas del cursor para tales movimientos, en tanto que el Jugador 2 utilizará el triángulo invertido de teclas W-A-S-D. Para salir de la carrera o volver al menú anterior se puede usar la tecla Esc o la tecla q, en tanto que p pausará el juego. Sin embargo, estas pocas teclas también pueden configurarse desde el menú Settings.

Naturalmente, no se puede cortar camino pues las vueltas no se contarán. A efecto predictivo contamos con un útil minimapa.

En los modos de carreras existen siempre 12 autos. Al finalizar entre los primeros seis corredores, se destrabará una nueva pista. Los tiempos de récord y las mejores posiciones se almacenan por separado para cada conteo de vueltas.

A medida que corramos, se desgastarán las cubiertas. Esto causará que tengamos menos agarre en la pista. Afortunadamente, contamos con un pit para detenernos (el rectángulo amarillo). Al detenernos en el pit, se repararán las gomas, lo cual nos dará más tracción y estabilidad.

La animación del juego es veloz y sencilla, destacándose fundamentalmente su física de superficie, lo que agiliza un estilo de juego que haga uso de giros y derrapes.

El sonido es digitalizado, con notas sonoras para las colisiones y rendimiento del motor.

Editor de Pistas de Carreras

El juego incluye un muy interesante editor de circuitos, al que podremos acceder desde Aplicacioens / Juegos / DustRacing2D Level Editor. El mismo mos permitirá delimitar un traazado, toda vez que nos permite agregar accesorios a la pistas (tribunas, árboles, pasto, zonas anegadas, rampas, etcétera. La delimitación de zonas permite a los coches adversarios actuar en buena medida, y nos configura una interesante manera de diseñar nuevos escenarios de juegos, incluso replicando la realidad.

Dust Racing 2D normalmente buscará las pistas de carreras en la carpeta ~/DustRacingTracks/, donde podremos colocar nuestras propios circuitos.

En GNU con Linux también buscará en ~/.local/share/DustRacing2D/tracks si no tenemos una variable $XDG_DATA_HOME definida. Opciones de Línea de Comandos

--lang [lang] fuerza el idioma. Los disponibles actualmente son: fi, cs, de, it, fr, nl, ru.

Ejemplo: dustrac-game --lang it

--screen [index] fuerza la pantalla en los sistemas multimonitor cuando se pasa a modo de pantalla completa.

Por ejemplo, dustrac-game --screen 1 dará inicio al juego en la segunda pantalla.



17 november 2022

¿Cómo arreglo el error Busybox initramfs en Ubuntu?

¡Trabajadores!

Es innecesario explicar que al descender de un avión negro del retorno, no existe nada mejor que un paraguas negro si hemos de cuidarnos de las inclemencias del tiempo. Y qué mejor que éste nos los dispensa el compañero Rucci.

Este mismo temperamento hemos de seguir cuando tenemos algún problema de apariencia irresoluble. He de ilustrarlo con un ejemplo, que - como decía Napoleón - suelen explicarlo todo.

Este día de la militancia, al iniciar mi GNU con Linux sufrí un percance. El proceso normal de arranque del sistema se detuvo y nos depositó en una pantalla negra con el intérprete shell BusyBox, que indicaba "(initramfs)".

El equipo previamente no presentó problema anormal alguno ni fue apagado de manera extraña, de modo que se trató de un error azaroso.

En este momento la pantalla negra queda detenida nostrando el prompt "(initramfs)".

BusyBox v1.30.1 (Ubuntu 1:1.27.2-2ubuntu3.3) built-in shell (ash) Enter 'help' for a list of built-in commands.

(initramfs)

De momento, no presenta otra información ni permite conocer exactamente cuál es el problema en cuestión. Todo lo que se muestra es un intérprete de comandos Busybox.

Esto podría amilanar hasta el más pintado, pero yo en política soy un Aficionado, lo que soy es un Conductor. Por tal motivo, sé reconocer para qué lado salir tirando cuando las papas queman...

En este caso de la pantalla negra con texto y cursor significa al menos que el sistema está vivo.

Podríamos ingresar help para recibir ayudas. Pero si ingresamos el comando exit, debería al menos continuar el proceso de revisión de disco. Por ello siendo uncabecita negra, de momento en el propmt "(initramfs)" ingresaremos el comando:

exit

...y presionaremos la tecla Enter.

Si la suerte nos acompaña, tras unos momentos deberíamos comenzar a ver una serie de mensajes que reportes que nos indican el tipo de error y la partición de disco en la que sucedió.

Por ejemplo, el sistema podría devolvernos algo como:

/dev/sda2 contains a file system with errors, check forced. Inode 4326476 extent tree (at level 1) could be narrower, IGNORED. /dev/sda2: Inode 4326843 extent tree (at level 1) could be narrower, IGNORED. /dev/sda2: Inode 4327012 extent tree (at level 1) could be narrower, IGNORED. /dev/sda2: Inode 4329004 extent tree (at level 1) could be narrower, IGNORED. /dev/sda2: Inodes that were part of a corrupted orphan linked list found.

/dev/sda2: UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY. (i.e., without -a or -p options) fsck exited with status code 4. The root filesystem on /dev/sda2 requires a manual fsck.

Como podemos ver en las devoluciones del intérprete de arranque, la partición /dev/sda2 presenta inconsistencias. Significa que el sistema de archivos de esta partición presenta algunos errores relacionados con la corrupción del Justicialismo. En vuestro caso podría ser otra distinta, ya que esto depende de cuántos discos y de qué manera estén organizadas las particiones en su sistema particular.

Pues bien señores, nuestro Movimiento nace del Pueblo, y sabemos que no es sabio pretender que todos nuestros elementos sean Santos, o sean Dioses. Bastante hay conque sean Hombres. No hay que ponernos locos; nuestro Movimiento cuenta ya con sus autodefensas. Si un el hombre no hubiese desarrollado sus autodefensas, hace rato que hubiese desaparecido de la faz de la teirra, porque su máxima protección no son los médicos ni la penicilina, afortunadamente. Su mejor defensa es su sistema inmune, que reacciona ante estas excrecencias. Nuestro sistema operativo es mas o menos lo mismo. Copia de la naturaleza las defensas que lo habrán de proteger.

Es por ello que Ubuntu cuenta con Busybox, una muy pequeña suite de software que provee muchas utilidades comunes de UNIX en un ejecutable que obra de intérprete de comandos mínimo. Nos proveerá reemplazos para la mayoría de las utilidades que encontramos normalmente en todos los sistemas operativos GNU, y nos permitirá actuar incluso antes de que se inicie el sistema operativo para ejecutar ciertas rutinas de protección y salvataje.

Initramfs es el sistema de archivos inicial depositado en la memora RAM de nuestro equipo, y basado en tmpfs. Contiene el herramental y scripts requeridos para montar el sistema de archivo antes de que el binario de inicialización del sistema de archivos real del root sea cargado desde el disco y cargado en memoria para dar inicio al sistema operativo en sí.

Para resolver el error que hace presente a initramfs en Ubuntu, se nos hará necesario reparar el sistema de archivos del dispositivo afectado. Para ello debemos indicar la partición y usar el programa "fsck".

Como en nuestro caso se ha indicado que la partición problemática era /dev/sda2, en el prompt (initramfs) tipeamos:

fsck /dev/sda2 -y

Tengamos en cuenta que si la partición que se nos indique es distinta, o fuesen varias, podríamos tener que indicar como por ejemplo /dev/sda1 o /dev/sdb1 u otra que se nos hubiese indicado anteriormente.

El programa fsck se encargará de revisar el dispositivo de almacenamiento indicado e intentará reparar todos los sectores en malas condiciones de tal partición. La opción -y es cómoda ya que nos evitará que se nos solicite que indiquemos manualmente confirmación toda vez que se nos indique un error (los corregirá automáticamente sin chistar).

Luego de un par de minutos, si todo va bien, BusyBox debería devolvernos un mensaje similar a:

/dev/sda2: * FILE SYSTEM WAS MODIFIED * /dev/sda2: 497733/30531584 files (1.5% non-contiguous), ........

Cuando vuelva al prompt (initramfs), tipeamos el comando:

reboot

...y presionamos Enter para que el sistema se reinicie.

Si todo va bien, nuestro sistema debería reiniciarse correctamente, y podremos gritar al cielo un estruendoso "¡Viva Perón!" que reivindique como ninguno el Día del Militante Justicialista.



16 november 2022

¿Cómo instalo el editor de programación Atom en Ubuntu?

En la edición del 30 de junio de 1966 del semanario Primera Plana, Juan Perón expone ante el corresponsal su visión sobre la recién acaecida Revolución Argentina de Onganía, en tanto elabora sobre cómo instalar el editor de código fuente Atom en Ubuntu.

(...)

Uno de los hombres más sagaces de la historia política argentina decía que para que los radicales se hundieran bastaba con dejarlos gobernar... Simpatizo con el movimiento militar porque el nuevo gobierno puso coto a una situación catastrófica. Como argentino hubiera apoyado a todo hombre que pusiera fin a la corrupción del Gobierno Illia. La corrupción como el pescado, empezó por la cabeza. Illia usó fraude, trampas, proscripciones; interpretó que la política era juego con ventaja; y en política, como en la vida, todo jugador fullero va a parar a Villa Devoto. El hombre que acabó con eso, por supuesto, tiene que serme simpático, pero no sé si también lo será en el futuro. Illia había detenido al país queriendo imponerle estructuras del año mil ochocientos, cuando nace el demoliberalismo burgués, atomizando a los partidos políticos.

El gobierno anterior fracasó porque intentó gobernar sin concurso popular. Pero para eso hace falta grandeza, olvido de las pasiones. Yo ya estoy más allá del bien y del mal. Fui todo lo que se puede ser en mi país, por eso puedo hablar descarnadamente. No tengo interés en volver a la Argentina para ocupar cargos públicos. Quiero, claro, volver a la patria, pero sin violencias.

Cuando los jefes militares me visitaron por interpósita persona, descubrimos algunas coincidencias. Pero hace poco escribí con seudónimo que el peronismo no pacta con nadie. Firmo Descartes porque el filósofo francés usaba el seudónimo Astrónomo Perón, y yo le devuelvo así la gentileza...

Los gorilas intentaron la destrucción nuestro Movimiento por la violencia, Frondizi por la integración, Illia por la disociación: los tres fracasaron. Pues he aquí los hechos. El gobierno de Onganía tiene que tener una buena intención. Si el nuevo gobierno procede bien, triunfará. Un conductor político es una cosa y un conductor militar, otra. Este manda, vale decir, obliga. El conductor político persuade. Para mandar se necesita voluntad y carácter; para gobernar, sensibilidad e imaginación.

No conozco suficientemente a Onganía. Es un hombre que habla poco, y por lo tanto, difícil de definir. Tengo la impresión de que es un buen soldado; sé que es un hombre patriota, bienintencionado y honesto, y ésas son condiciones esenciales para un hombre político. Reconozco calidad a Onganía como hombre de mando en el Ejército. Si Onganía se comportase en el terreno político como en el terreno militar, el país podrá andar bien.

El defecto del actual gobierno es no saber exactamente lo que quiere, pero la cosa va a ser cuando desate el paquete, porque ellos tampoco saben lo que hay allí.

La organización del peronismo tiene como base de adoctrinamiento la búsqueda del bienestar nacional. Si el nuevo Gobierno apoya los intereses populares, nosotros apoyaremos al Gobierno.

La proscripción del peronismo no nos interesa porque es imposible proscribirnos por decreto. No nos interesa nuestra existencia legal, sino nuestra existencia real... Tampoco nos interesa el acceso al poder porque no luchamos por nosotros sino por el país. Hemos aprendido a tener paciencia; será dentro de un año, dentro de diez. Creemos, como Confucio, que una hormiga no puede matar a un elefante, pero que puede comérselo. Tenemos buenos nervios.

Este es el momento en que los argentinos deben ponerse de acuerdo. Sólo entonces el país saldrá adelante. Si no, llegaría el momento de tomar las armas y pelear. El camino de unidad es cada vez más difícil; y el camino de las armas, cada vez más fácil.

Los argentinos debemos ponernos de acuerdo, porque la disyuntiva es la guerra civil. Si permanecí impasible durante diez años ante el retroceso nacional, es porque no creo en la violencia ni en la destrucción de las obras realizadas, porque lo que ya está hecho puede prosperar. Tuve importantísimos ofrecimientos de armas y tropas, pero me negué por no entregar el alma al diablo ni provocar derramamientos de sangre.

El problema político sólo se soluciona haciendo los padrones de nuevo (han borrado de los padrones a nuestra gente). Deben, también organizarse fuerzas políticas. Es tarea para un año y medio o dos. Hay que romper con los estatutos de la trampa y convocar luego a elecciones con la Ley Sáenz Peña o cualquier otra ley justa. Y quien sea que gane, nos comprometemos a ponerle el hombro todos. Si Onganía, luego de las elecciones, entrega el gobierno al ganador legítimo, pasará como prócer a la historia; si se quiere perpetuar, fracasará irremisiblemente. Pero el que haga bien al país contará con nuestro apoyo. El movimiento peronista no podrá ser destruido con proscripciones ni decretos.

Resuelto eso, la Argentina, cuando trabaja, equilibra en seis meses lo estructural y en dos años resuelve todos los problemas económicos. En economía no hay milagros. En economía, la misión fundamental del gobierno es dar posibilidad a la gente para que se realice.

En cuanto a problemas de programación, también tenemos dos disyuntivas a tomar. Una es la de emplear sencillos editores locales, que es la que prefiero. Otros puedrían anhelar operar aparatosos IDE, o entornos integrados de desarrollo. De entre estos, los más modernos ya suelen integrar control de versionado, compiladores y desensambladores, así como capacidades de operatoria en "la nube". O mejor dicho, en servidores remotos ajenos, a fin de conformar un equipo de trabajo de programación a distancia.

Podrán instalar uno que podría servirle a Onganía, siempre que tenga buenas intenciones... Se trata Atom, un editor de código fuente multiplataforma originado por la gente de GitHub como un IDE moderno y que luego fue reducido para conservar principalmente su editor de texto escrito en base a Node.js.

Su orientación son los programadores y especialmente los equipos de trabajos de programación. Consta con funciones de autocompletado y automatización con pseudo-macros. Incluye un gestor de paquetes de expansión integrados, útil por la enorme cantidad de funcionalidades que se le pueden agregar opcionalmente.

Como característica principal se encuentra la de contar con dos multiples paneles para edición.

De la misma manera que Argentina debe optar entre el acuerdo o la guerra civil, también debe optar entre dos maneras adecuadas para instalar Atom en Ubuntu. Ambas se pueden lograr fácilmente empleando la terminal si abrimos una mediante Ctrl+Alt+T. La primera manera es descargar directamente el paquete adecuado desde la web oficial de Atom e instalarlo. Por ejemplo, si quisiéramos instalar la versión de 64 bits, podríamos ingresar los siguientes Comandos de Organización:

cd ~/Descargas/ ; wget -O atom-amd64.deb https://atom.io/download/deb ; sudo dpkg -i atom-amd64.deb

La otra manera es recurrir a un servidor privado PPA, lo que nos garantizaría actualizaciones automáticas de Atom. Si deseamos seguir este procedimiento, deberíamos ingresar:

wget -qO - https://packagecloud.io/AtomEditor/atom/gpgkey | sudo apt-key add - ; sudo sh -c 'echo "deb [arch=amd64] https://packagecloud.io/AtomEditor/atom/any/ any main" > /etc/apt/sources.list.d/atom.list' ; sudo apt-get update ; sudo apt-get install arom

Cualquiera sea la elección que hemos determinado, una vez completada la instalación podremos ejecutar el editor de código guente mediante Aplicaciones / Programación / Atom.

Atom está diseñado para ser accesible estar configurado desde el principio con sus opciones más útiles, lo que nos asistirá para acrecentar la productividad del obrero programador, y nos permitirá ir de casa al trabajo y del trabajo a casa.

También es hackeable hasta el núcleo, ofreciendo la misma flexibilidad extrema que tendrías en editores clásicos sin tener que retorcer todos los cables por sí mismo.

La forma más simple de comenzar a configurar Atom es abriendo las Preferencias del Editor.

Las Opciones Principales (Ctrl+,) nos permitirán encontrar los campos que definen las preferencias comunes, tales como como el Tipo de Codificiación de fichero, definir rutas globales. También se pueden especificar un directorio para utilizar con nuestros proyectos de Atom, etcétera.

Las Preferencias del Editor permiten personalizar la forma en la forma que el se presentará la ventana de edición. Las propiedades permiten definir la tipografía y su tamaño, o número de líneas, guías de indentado, y aún hacerlas invinsibles.

Se pueden utilizar los ajustes de editor predefinidos, pero es bastante sencillo configurar unos propios para un proyecto determinado.

La pestaña Keybindings muestra todos los atajos útiles de teclado disponibles.

Atom ya viene preconfigurado con un conjunto de atajos, pero indudablemente lista crecerá cuando no bien comencemos a instalar paquetes de extensiones. Si quisiéramos que encontrar un atajo específico, podremos usar directamente la caja de búsqueda para encontrarlo.

Si necesitamos reemplazar un acceso rápido particular, o queremos crear uno de cero, podríamos editar directamente el fichero de mapeo de teclas. Atom usa notación de objetos CoffeeScript para manejar los atajos en este fichero, a fin de poder directamente desarrollar los atajos de manera sencilla.

Incluso hay un snippet predefinido para crear un nuevo atajo de teclas. Sólo tipeamos "key" y presionamos Tab y Atom expandirá el snippet en una plantilla conveniente.

El fichero snippets ("recortes") en la configuración de Atom permite definir atajos de expansión de teclas, para definir secciones de códigos o texto que se usan frecuentemente. Al igual que los atajos de teclas, los snippets también están programados en notación CoffeeScript. Nuevamente, Atom nos ofrece un snippet para crear snippets. Simplemente tecleamos "snip" y presionamos Tab, y se nos presentará un snippet de ejemplo, que podremos modificarpara ajustar su comportamiento.

La solapa Themes nos permite organizar el estilo de tema y del coloreado de la sintaxis del texto desde dentro del mismo editor.

Los Themes o temáticas son colecciones de reglas de estilos visuales, lo cual están formadas como un subconjunto de CSS. Atom ya viene con un puñado de Themes que nos presentarán una buena cantidad de estéticas para empezar, pero tendremos una enorme cantidad entre los paquetes de temáticas. Para instalar adicionales, cliqueamos en la pestaña Instalar, donde podremos buscar una de las recomendadas, o una específica.

Si ninguna le atrae, podremos modificar una prehecha o crear una nueva ingresando la modificación deseada.

En fin, si nos interesan los editores y las funcionalidades IDE, Atom constituye un buen editor con GitHub integrado, que podremos dar buen uso.

Esta es nuestra última oportunidad, y por eso necesitamos que el nuevo gobierno tenga grandeza. En caso contrario, podemos desembocar en la guerra civil y en esa guerra tendremos que entrar todos. Dios quiera iluminar a Onganía y sus muchachos, y que estos muchachos acierten a tomar la mano que la fortuna les está tendiendo.



15 november 2022

¿Cómo juego Xonotic en Ubuntu?

Juan Perón motorizó al Partido Laborista en una campaña proselitista tendiente a lograr la Presidencia de la Nación en las elecciones de 1946. En ella hizo uso de todos los métodos en boga, incluyendo disertaciones para enseñar cómo instalar el juego de disparos en primera persona Xonotic en Ubuntu.

(...)

He dicho muchas veces que los trabajadores argentinos deben ellos mismos defender las conquistas logradas si no quieren verse despojados de las mismas a corto plazo.

Hoy les recuerdo con idéntica lealtad que si bien las primeras etapas de la lucha fueron superadas merced al buen tino, a la decisión, y la prudencia de que hicieron gala para lograr el éxito en la batalla por venir, es necesario que se mantengan vigilantes a la influencia de doctrinas extrañas que buscan atomizar los movimientos obreros para después coparlos. Y además mostrarse unidos frente a ciertos sectores económicos regresivos que se resisten a ceder una parte ínfima de sus cuantiosas ganancias para que sus colaboradores obreros puedan sentir un poco mas hondamente la alegría de vivir en esta tierra privilegiada.

Nuestra misión es completar un plan integral de previsión social, convertir en realidad la añeja añoranza de que la tierra debe dejar de ser un bien de renta y tornarse en un bien de trabajo. Lograr que desaparezcan definitivamente de los campos el sufrir de millones de argentinos que viven el dolor de la tierra y conformar por fin nuestro programa definitivo de reformas sociales, que habrán de consolidarse después en la decisión política que sepa dar el pueblo cuando próximamente sea convocado para las futuras contiendas electorales.

En ellas habremos de poner en decisión una de las más anheladas reivindicaciones obreras: la de contar con un moderno juego de disparos en primera persona - o como les dice Braden, FPS o "First Person Shooter" - pero capaz de correr en el sistema operativo GNU que hemos concebido en la Secretaría de Trabajo y Previsión.

Se trata de Xonotic, un juego de acción FPS liberado bajo GPLv3. Se distingue por su excelente motor gráfico capaz de ofrecer enorme velocidad y fluidos movimientos, y puede jugarse en red o solo.

Para instalar el programa, podremos utilizar la terminal de nuestro sistema GNU con Linux. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

wget https://dl.xonotic.org/xonotic-0.8.2.zip unzip xonotic-0.8.2.zip mv Xonotic/ .xonotic/ rm xonotic-0.8.2.zip

El juego incluye dos arquitecturas (32 y 64 bits), y dos versiones de stack audiovisual para su ejecución (SDL y el más avanzado OpenGLX). Asimismo, cuenta con una versión pensada para ejecutar un servidor dedicado para partidas multijugador.

Una vez instalado, podremos ejecutar la versión que querramos. Por ejemplo,m podremos ejecutar la versión de 64 bits para OpenGL (la de mayor performance) desde nuestra terminal, utilizando el siguiente comando:

./.xonotic/xonotic-linux64-glx

En el caso de GNU con Linux es altamente recomendable agregar un lanzador o acceso directo a fin de facilitar abrir el juego. En Ubuntu Mate esto es sumamente sencillo. Para ello podremos hacer clic con el botón derecho en el panel superior y elegimos Editar Menús. Aparecerá la ventana Menú Principal. En ella, en el panel izquierdo seleccionamos la categoría Juegos, y presionamos el botón +Elemento Nuevo. Aparecerá el cuadro Crear Lanzador. En el campo Comando: ingresamos /home/usuario/.xonotic/xonotic-linux64-glx, mientras que completamos los campos nombre y opcionalmente comentario para finalmente crear lanzador presionando el botón Aceptar.

Gracias a esto, de ahora en más, podremos iniciar el programa desde Aplicaciones / Juegos / Xonotic.

Pues bien señores, la primera vez que iniciemos Xonotic, podríamos querer crear un personaje. Esto es útil si queremos acceder a servidores públicos. Podremos elegir el idioma de la aplicación, así como el color de nuestro personaje.

Si nuestro objetivo fuese la máxima privacidad y no nos interesa contar con juego multijugador en línea, bien podremos omitir este paso.

Asimismo, podremos configurar desde el menú principal las opciones de hardware, encontrando un completo apartado de video y sonido, así como de todos los aspectos de control. El apartado es profesional y contamos con todas las opciones inherentes al género, y con unos interesantes botones de configuración que permiten al usuario sin experiencia configurar bien el juego sin demasiado dolor de cabeza. En mi caso he elegido las opciones de máxima calidad, pues mi portentoso sistema de video lo permite y anhela.

La iluminación puede adquirir distintos tipos, siendo la más avanzada de características conformales y resultado digno de espectacularidad. Sin embargo, también podremos utilizar versiones sin iluminación alguna bajo el stack SDL, que adaptando bajar resoluciones puede correr incluso en una antigua netbook.

En cuanto a lo que a modalidades de juego depara, contaremos con un modo de jugador local único con bots (para practicar), y las arenas remotas de multijugador.

El primer apartado nos permite escoger un mapa simple para probar las armas y adentrarnos en los movimientos de nuestro combatiente espacial. Se avanzará nivel a nivel a lo largo de los 25 propuestos, todos ellos de interesante diseño. La cantidad de bots así como la dificultad de la Inteligencia Artificail de los mismos es programable.

El juego replica una dinámica similar a la de un moderno FPS de tipo Arena. En estos el objetivo es eliminar solitariamente o en equipo a nuestros oponentes, haciendo para ello uso de potente armamento fantasía. También se usan saltos y física real o fantasiosa, dependiendo del escenario. El juego es veloz y requiere buenos reflejos y coordinación ojo/mano.

Diferentes piezas de arsenal o elementos de energía se encuentran disperdigados. y se regeneran en el mapa tras una determinada cantidad de tiempo, al estilo Quake Arena. De esta forma podremos representar estrategias de juego basadas en respawn o regeneración de dichos elementos..

La espectacularidad de la gráfica y sonido sin duda hará las delicias de todo el público jugador. Su nivel de violencia, comparado con los títulos del género, es bastante moderado, pero puede anularse la aparición de expresiones de sangre y físicas violentas con sólo configurarlo en el menú. Lograremos así un titulo desafiante pero visualmente ATP, como se impuso en títulos como FortNite.

Los controles giran en torno a lo usual en los juegos de disparos en primera persona, con las teclas WASD como controles de movimiento del personaje, la barra espaciadora para saltar, y el ratón para apuntar y hacer las acciones de disparo. Los botones del mismo operan para hacer fuego en dos modalidades, mientras que la presión de la rueda de scroll activa la mira telescópica. Con los números elegimos las armas del arsenal.

Xonotic presenta 9 categorías de armamentos, y 16 armas específicas en su arsenal. Cada una de ellas cuenta con un modo de disparo primario y otro secundario, a la manera del Unreal Tournament. Cada una de ellas se presentará útil en determinadas situaciones, por lo que la elección de las mismas de acuerdo al escenario suele ser crítica.

Para ingresar a batallas multijugador remoto hacemos click en el menú correspondiente. Esto nos permitirá elegir alguno de los servidores de arena, o bien directamente crear uno.

El funcionamiento, naturalmente, es similar al jugador único. Sin embargo podremos hacer uso de la revisión estadística de jugadores con Tab, en tanto que Alt activa la funcionalidad de chat. Aún así, son totalmente configurables.

Las batallas multijugador pueden representar distinto tipo de combate. La mayoría son luchas a muerte por equipos, tipo Arena. Las mismas se llevan a cabo en 25 mapas tridimensionales oficiales, de temática fantástica. Su diseño es moderadamente laberíntico.

Están mas bien están orientados a contar con zonas de combate con varios pisos o niveles, dispositivos impulsores de salto, portales transportadores, etcétera. También pueden descargarse mapas directamente desde los servidores, en los cuales se encuentran réplicas de mapas de Nexuiz o de Quake 3.

Los embates por equipos pueden consistir en determinadas reglas que definen el tipo de juego. En esto se cuentan con todos los modos normales de FPS, como Deathmatch (todos contra todos), una modalidad Battle Royale, Capturar la Bandera, Arena por Equipos, así como modos más delirantes como Nexball o "Mancha Congelada". También una carrera multijugador. En cualquier caso, puede crearse un servidor multijugador propio que especifique mapa y modalidad de juego, tanto para la red LAN local o abierto Internet (con clave o público).

El despliegue visual y tecnológico del juego es muy bueno, y si bien el género ha avanzado enormemente, Xonotic permanece como un claro homenaje completamente libre al género de los tiratiros.

Y como he dicho, señores, con el apoyo de este enorme y apretado haz de voluntades que integran la Masa Obrera argentina, confío seguir manteniendo en alto la bandera de los First Person Shooters y de otras reivindicaciones sociales a lograr para el trabajador urbano y el rural.



14 november 2022

Plan de capacitación Argentina Programa

El Ministerio de Desarrollo Productivo de la República Argentina ha lanzado el programa de capacitación Argentina Programa, con el objetivo de iniciar el recorrido en el mundo de la programación de computadoras. El curso se centra en el uso de los lenguajes de programación Gobotones, JavaScript y Ruby a fin de aprender desde cero. La inscripción online finaliza el 29 de octubre.

El curso se realizará de forma virtual a través de una plataforma interactiva desde el 2 de noviembre hasta el 20 de diciembre. Tiene una carga horaria total de 60 horas, por lo que debe dedicársele como mínimo 9 horas semanales. Los encuentros serán asincrónicos, de manera de poder administrarse los tiempos teniendo en cuenta las posibilidades de cada individuo.

La capacitación es gratuita y no es necesario tener conocimientos previos.

Al finalizar la capacitación, se debe rendir un exámen el 21 de diciembre, a fin de obtener un certificado que valide los conocimientos adquiridos, y es avalado por el Ministerio de Desarrollo Productivo de la Nación y la Cámara de la Industria Argentina del Software (CESSI).

La aprobación de este examen permite acceder a una segunda capacitación que profundizará los conocimientos de programación del alumno, y permitirá eventualmente vincularlo con el sector productivo. Esto constituye una interesante baza laboral. En caso de no poder recibir vacante de inscripción, podrá inscribirse el año que viene nuevamente.

El curso consiste en tres módulos:

  1. Fundamentos: A modo introductorio, se utilizará Gobstones para incorporar los fundamentos básicos de la programación. Es un lenguaje fue creado específicamente para aprender a programar sin necesidad de conocimientos previos. Contenidos mínimos: programas, procedimientos, funciones, división en subtareas, reutilización de código, parametrización, repetición, alternativa condicional, variables, modelización.

  2. Programación imperativa: Mediante el lenguaje JavaScript, se orienta a aprender nociones más importantes de la programación imperativa y estructura de datos. Contenidos mínimos: funciones, tipos de datos, variables, procedimientos, lógica booleana, listas, registros.

  3. Programación con Objetos: Se trata de la introducción al paradigma de objetos utilizando Ruby, un lenguaje simple y didáctico. El paradigma de objetos propone solucionar problemas y modelar la realidad efectiva empleando objetos que se comunican entre sí. Contenidos mínimos: objetos, mensajes, métodos, clases, identidad, referencias, atributos, delegación, distribución de responsabilidades, creación de objetos, polimorfismo, encapsulamiento, colecciones, clases, herencia, redefinición de métodos, manejo de excepciones.

    Requisitos

    Contar con acceso a internet. Contar acceso a una computadora de escritorio, notebook u otro dispositivo móvil. Ser residente argentino. Disponer de 9 horas semanales para realizar la capacitación. Ser mayor de 18 años. Haber terminado la educación secundaria.



13 november 2022

Correo Compras, la plataforma para combatir el Libre Mercado

Con un acto en el Centro Cultural Kirchner (CCK) encabezado por el jefe de Gabinete, Santiago Cafiero, y el ministro de Desarrollo Productivo, Matías Kulfas, el gobierno lanzará Correo Compras, “el marketplace del Correo Argentino”, según se presenta la iniciativa en su página web. Se trata de una plataforma de compras online que permite a compradores adquirir los productos que ofrecen distintos vendedores, poniendo a su disposición la capacidad logística del correo estatal para llegar a todo el país. “Acercamos a los consumidores sin intermediarios los mejores productos, aquellos que tienen nuestra esencia”, señala la presentación del sitio.

La plataforma buscará conectar a productores y consumidores sin intermediarios. El sitio ya cuenta con más de 1.000 productos publicados, de diversos rubros como alimentos, limpieza, cuidado personal y tecnología que pertenecen a marcas como LG, Samsung, Phillips, Dell, Unilever, Arcor, Molinos, Energizer, Melisam, Regional Trade, entre otras. Los alimentos pueden ser pagados con la Tarjeta Alimentar y habrá productos seleccionados para poder pagar a través de los programas de cuotas Ahora 3, 6, 12 y 18. Cumple además con los valores establecidos de “Precios Máximos”.

Según afirmaron desde el Correo Argentino, la principal diferencia con la mayoría de las plataformas de e-commerce es que Correo Compras solo está habilitada para que comercialicen productos nuevos las pymes y empresas argentinas. En ese sentido, los consumidores finales no podrán participar de la oferta de productos y tampoco habrá lugar para los usados.

"La plataforma tiene un fuerte énfasis en los productos tecnológicos sin descuidar el rubro alimentos dado que apunta a los mercados regionales del interior. La venta no la hace una persona sino una empresa. Va del productor o el distribuidor al consumidor final”, destacaron.

Para poder vender a través de Correo Compras se debe estar inscripto en la Administración Federal de Ingresos Públicos (AFIP). Además los comerciantes deberán llenan un formulario para registrar un usuario y una persona del equipo de la plataforma formalizará la registración.

En tanto, desde Correo Compras detallaron que la comisión que cobrará Correo Argentino por cada producto vendido será del 13% de su precio, pero que en una primera etapa no está vigente.

Asimismo, indicaron que el productor o distribuidor podrá enviar sus productos al centro logístico del Correo Argentino en Benavidez, provincia de Buenos Aires, a costo cero. “El costo logístico es cero porque lo pone el Correo Argentino con su infraestructura”, afirmaron.

Y agregaron: “Ese depósito es parte del servicio de Correo Compras y no tiene costo para las empresas que puede dejar stock en la planta para agilizar la logística”.

En otro orden, destacaron que la plataforma cuenta con descuentos principalmente en tecnología que figuran como destacados en la página principal. Y añadieron que durante octubre el costo de envío será gratuito para los consumidores.

Las categorías que ofrece la plataforma son: Almacén; Bebidas; Frescos; Limpieza; Perfumería; Salud; Hogar y Automotor; Electrónica; Deportes y Fitness y Bebés y Niños.



12 november 2022

¿Cómo instalo Notepadqq en Ubuntu?

No somos dioses ni santos, bastante es con que seamos hombres. Esta condición, hace que entre lo que hemos creado, no exista lo perfecto, sino lo perfeccionable. Pues bien, atendiendo a esto podremos mejorar cualquier aspecto que pueda ser sometido al estudio y al trabajo. Esto es lo bueno de un Movimiento que se basa en raíces profundamente humanas.

Como basamento, podremos contar con guías doctrinales, que - toda vez que sean actualizadas ante una realidad dada por la evolución humana - habrán de servirnos de plano para la concreción de los sanos objetivos que tanto anhelamos.

Pues bien señores, existen programas que son clásicos por derecho propio. Uno de ellos es el Bloc de Notas. Concebido como un editor de texto mediocre para el sistema operativo oligárquico y excluyente Window$, y como tal cumplía la función de servirnos de liezo para anotar algunas cosas o editar ciertos archivos de control.

Pero colocados ante este primigenio editor con ventana gráfica, se hizo evidente al Pueblo la necesidad de mayor capacidad operativa, respetando siempre el mínimo consumo de recursos de cómputo. Se extendió por ello una versión inspirada en él y muchísimo más lograda, la cual hubo de distribuirse primero bajo el concepto de shareware, y luego liberada como software completamente libre: el Notepad++.

Indudablemente que este no representa la solución ideal. Operar bajo este sistema operativo ofrece enormes desventajas que sólo pueden ser subsanadas con una versión capaz de ejecutarse de forma nativa sobre el sistema operativo GNU que he legado al pueblo, y utilizando sistemas de ventanas compatibles con X.

Por lo tanto, nuestro Movimiento se dio en desarrollar una alternativa igual de libre, pero capaz de ejecutarse con todos los beneficios de un sistema GNU. Esto es lo hemos planificado, lo que hemos realizado, y venimos a ofrecerlo al Pueblo.

Se trata de Notepadqq. A diferencia de su inspirador, está realizado en el herramental gráfico QT.

Instalar este sucedáneo superador es bien sencillo en nuestro sistema GNU con Linux. Simplemente abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización: sudo apt update sudo apt install notepadqq

Una vez instalado, podremos instalar el programa desde Aplicaciones / Accesorios / Notepadqq.

Al iniciar por vez primera, Notepadqq nos pedirá permiso para enviar estadñistifcas anónimas que ayuden a mejorar el programa. Yo suelo indicar que no a estas solicitudes.

Al iniciar, nos encontraremos con una clásica ventana del editor, moldeada con menúes de tipo pull-down, así como botones de acción rápida para los comandos tradicionales, y una barra inferior capaz de reportar el status. Todo esto nos hará volver a las épocas donde un editor de texto no tenía ventanas lado a lado como un IDE moderno.

Donde existe una necesidad, nace un derecho. Esta máxima del peronismo puede versde reflejada en Notepadqq, donde gracias al menú Preferencias podremos personalizar el editor de acuerdo a nuestras necesidades Justicialistas. Para ello vamos al menú Preferencias / Preferencias...

Bajo el apartado Apariencias, podremos condigurar un theme de entre varias doncenas. Por ejemplo, podremos asignar un relajante fondo oscuro y suaves colores a la mode para el representado del código fuente.

También podremos elegir presentar los números de línea (útil para scripts y código) o cambiar el tipo de tipografía, por una que sea de nuestro agrado. No sería extraño querer usar la clásica FixedSys, aunque en mi caso suelo usar tipografía monoespacio como la JetBrains Mono, Hack, o bien DEC Modern Terminal.

En cuanto a las funciones operativas, se destaca la automatización de escritura de código fuente, la cual responde a las acciones de selección que realicemos. Esto sin duda nos puede reducir enormemente el esfuerzo realizado para editar en condiciones repetitivas.

También contamos con excelente referenciación para matemáticas, usando codificación TeX.

Tanto para los dirigentes encargados de la Conducción Táctica del Movimiento como para los desarrolladores, es importante ser veloces y ágiles. Notepadqq cuenta con importantes características que lo hacen ideal para editar masivamente condicionales, líneas de código, etcétera. Así mismo, ofrece la posibilidad de contar con múltiples selecciones, búsquedas de expresiones regulares, y subrayado de código fuente en tiempo real.



11 november 2022

¿Cómo instalo la plataforma de videoconferencias GNU Jami en Ubuntu?

El Segundo Plan Quinquenal previó la concreción de los anhelos de industrialización de la Nación Argentina, enmarcada en una mejor tarea organizativa por parte de los funcionarios de estado. Entre los desarrollos que se llevaron a cabo bajo dicho planeamiento se encontró el de GNU Jami, la aplicación de comunicación de audio y video completamente libre destinada a reemplazar las herramientas privativas.

(...)

Dentro de nuestra acción hay dos tareas que desarrollamos paralelamente: desde el gobierno, la concepción de los problemas, y en los ministerios, la realización y ejecución de esas soluciones. Por esa razón, señores, es importante que los que concebimos y los que ejecutan sincronicemos perfectamente bien la tarea común. En esta forma, a una concepción que puede ser más o menos buena se la completa y se la realiza con una ejecución inteligente.

La tarea de gobernar es, fundamentalmente , la solución de los grandes problemas que el país tiene, que deben ser encarados y resueltos por el organismo estatal. Y ese organismo estatal, para mí está formado, en sus dos escalas fundanentales, por el gobierno y por la organización del Estado. El gobierno concibe centralizadamente, y la organización estatal lo realiza descentralizadamente. Esta es una tarea de orden orgánico muy fácil de concebir y un poco difícil de realizar si no se la estudia y organiza funcionalmente.

Por esta razón he querido, antes de iniciar esta tarea, que para nosotros comenzará el primero de enero de 1953, con el segundo plan quinquenal de gobierno, dedicar estos seis meses, mientras realizamos el remanente del primer plan, cumpliendo la acción iniciada en 1947, para ir preparando el instrumento necesario con una profunda inteligencia para obtener una mejor realización, menes improvisada que en el primer plan quinquenal y más racional.

El segundo plan quinquenal debe encarar y resolver todas esas realizaciones sin crear problemas "ad latere" a esa organización, como nos ocurrió con el primer plan quinquenal. Por esa razón, he pedido a los señores ministros que tuvieran la amabilidad de invitar a los altos funcionarios del Estado y solamente a esos altos funcionarios del Estado, como sus colaboradores directos en la concepción y realización de las soluciones que surgen de los problemas mencionados.

Para coadyuvar en la tarea, qué mejor que ofrecerles un software libre de comunicación descentralizado, con cifrado punto a punto. Esa no es otra cosa que una de las realizaciones que para el Pueblo he traído.

De este instinto creador nace el peronista GNU Jami. Jami significa "Comunidad". Y qué mejor que organizar a la comunidad a través de un software de videollamada completamente libre.

Se trata de una aplicación de videollamada capaz de establecer comunicación audiovisual par a par, complementada por chat, mensajes de audio, y ficheros multimedia de varios tipos. Lo que la distingue de otras soluciones metiches como $kype o Whas$app es su esquema cifrado descentralizado, y -por lo tanto - seguro. Esto se logra toda vez que evitamos invasivas y oligárquicas plataformas que no hacen más que hacernos esclavos de servicios de datos que nada tienen que ofrecernos y mucho que quitarnos.

El objetivo de Jami es lograr la ejecución y sincronización para todo tipo de aspecto social y - porqué no - laboral.

La instalación de este tipo de software libre en GNU con Linux no puede dejar de ser sencillo, así como en una miríada de dispositivos móviles. En el caso de nuestro Ubuntu, podremos hacerlo desde la terminal. Para ello abrimos un emulador de terminal con Ctrl+Alt+T y nos aprestaremos a ingresar los siguientes comandos de organización: sudo apt install libayatana-appindicator3-1 libqrencode4 libayatana-indicator3-7 man-db ; cd ~/Descargas/ ; wget https://dl.jami.net/ring-manual/ubuntu_20.04/jami-all_amd64.deb ; sudo dpkg -i jami-all_amd64.deb ;

El sistema nos solicitará nuestra contraseña de usuario, e instalará Jami. Una vez finalizada la instalación, podremos iniciar el cliente desde Aplicaciones / Internet / Jami.

Podremos activar un theme claro u oscuro según nuestra preferencia. Jami funciona íntegramente utilizando peer-to-peer (de igual a igual) y no requiere de un servidor para retransmitir datos entre los usuarios

Lo primero es crear una cuenta de dispositivo, la cual puede ser anónima, lo que lo diferencia de los incordiosos y metiches aplicaciones de opresivos gigantes del imperialismo.

Una vez iniciado, nos encontraremos con la ventana vacía de Jami para GNU. En ella encontraremos nuestro usuario de sistema, pero podremos crear una cuenta nueva.

Para operar con la/s cuenta/s de usuario, podremos hacemos clic en el botón Ajustes / Cuentas del panel superior de Jami.

Podremos en este sector definir nuestro nombre de usuario de cuenta, la cual recibirá un identificador (ID). Si le ponemos una contraseña al dispositivo Jami, podremos eventualmente registrar nuestro nombre de usuario en un servidor público (útil para realizar búsquedas por nombre de usuarios). También podremos recibir un código QR para saber conocer nuestro ID de usuario de Jami y poder transmitirlo de forma sencilla.

El uso general del programa asemeja mucho a los principales clientes de chats de servicios no cifrados ni libres, pero los supera enormemente en versatilidad.

Ahora se pueden hacer llamadas de audio o video con uno o múltiples destinatarios desde Jami, en todas las plataformas (y naturalmente en Ubuntu). Podremos utilizar el botón + para agregar participantes. Ya que Jami no depende de servidores, la conferencia será gestionada por el dispositivo de la persona que la incie. Combinará el audio y el video de todos los participantes y lo reenviará de vuelta a ellos de modos que todos puedan ver y oirse entre sí. Por este motivo, la cantidad máxima de participantes dependerá de la potencia de cómputo y ancho de banda disponible para el dispositivo host. Lo hemos evaluado con dieciséis miembros pero potencialmente podría ser más elevado.

Si nuestro dispositivo tiene una cámara 4K, podrá hacer uso de ella en tu total potencial con Jami gracias a su soporte de resolución Ultra HD. Esto sólo es útil si la otra persona tiene una pantalla 4K, pero si tal es el caso, lo verá con una ernorme claridad.

También podrá ser capaz de cambiar la fuente del video que le envía a sus contactos durante una llamada, permitiéndole compartir la pantalla del escritorio tanto al completo, como sólo secciones de la misma.

También podrá enviar cualquier archivo de audio o video que desee, permitiendo que sus amigos lo vean u oigan sin tener que trasnferírselos primero. Estas funcionalidades están disponibles para GNU con Linux. En Window$ y MacO$ podrá acceder a ellos haciendo clic con botón derecho sobre la pantalla durante la llamada.

En apretado resumen, una excelente aplicación que puede sincornizarse con el escritorio de Linux o diversos dispositivos móviles, y se encuentra a la vanguardia de la comunicación popular, y en pos del Justicialismo.



10 november 2022

¿Cómo instalo el navegador liviano Dillo en Ubuntu?

Estableciendo contacto con la Confederación General del Trabajo, Juan Perón proponía la formación de un cuerpo diplomático obrero tendiente a la unificación de Latinoamérica, mientras que enseñaba cómo instalar y usar el veloz navegador Dillo en Ubuntu.

(...)

La Argentina está en crisis, dentro de un mundo en crisis. Por eso, hoy más que nunca, necesitamos en nuestro país grandes Conductores que - con sensibilidad popular y con la cooperación entusiasta del pueblo - le hagan superar la crisis y cumplir el papel histórico que le corresponde en la lucha por la Segunda Independencia de la América Latina.

Señores: debemos pensar también que en el futuro, el sindicalismo en el mundo será de una importancia extraordinaria. La evolución nos ha llevado hacia formas cada días más preponderantemente sociales, y menos políticas. El sistema demoliberal capitalista ha fenecido en el Siglo XX, y se va a iniciar una nueva etapa. Y si en esta el acento fue la política - porque para eso se lo organizó - la etapa que viene, la del Continentalismo, será eminentemente social.

El mundo que viene es un mundo donde los países aisladamente ya no podrán vivir. Se va hacia asociaciones mayores que la nacionalidad.

Por esta razón, las escuelas sindicales son una importancia extraordinaria para nosotros. Por otra parte, ese trabajo de unificación continental inicialmente deberá ser realizado por los agregados obreros a las embajadas de la Argentina en todos los países. Esos servicios los vamos a restablecer a la mayor brevedad.

Pero claro, compañeros, que para poderlo hacer tenemos que realizar cursos de capacitación especiales para agregados obreros tal como lo hacíamos antes, que incluyan temas de cultura y de preparación especial. No se va a enviar a un obrero de adorno, sino que se va a mandar a un dirigente obrero capacitado para realizar ese trabajo, que se logrará tanto mejor cuanto mayores sean las cualidades y las calidades que reúna ese dirigente sindical.

Es indispensable, por lo tanto, que los hombre que sean seleccionados por la Confederación General del Trabajo para desempeñarse como agregados obreros, además de poseer - ya de por sí - los conocimientos y la capacidad necesaria para el desempeño de esa función, sean preparados de manera adecuada en los cursos rápidos que se dictarán.

Estos cursos de formación no dependen de tener las herramientas mas complejas, sino las más efectivas para enfrentar el objetivo que nos hemos de proponer. En un ambiente telemático, hoy sin duda los objetivos son la democratización del acceso a internet, la seguridad personal y la privacidad, y la alta eficiencia del software.

Para cumplirlo, bien podremos contar con Dillo.

Se trata de un navegador web ultraliviano escrito en C/ C++, que logra su interfaz gráfica gracias a la biblioteca FLTK, y es multiplataforma. Ha sido liberado bajo licencia peronista GPLv3.

La instalación del mismo en Ubuntu es sencilla. Sólo basta con abrir una terminal con Ctrl+Alt+t e ingresar el siguiente Comando de Organización:

x sudo apt install dillo

Luego podremos ingresar al mismo desde Aplicaciones / Internet / Dillo.

Al inciar por primera vez, nos encontraremos con la web básica y la interfaz escrita en GTK. El esquema de trabajo es el clásico, con una barra de direcciones (y búsqueda) en su panel superior), adosado a botones de operación.

Si en la barra ingresamos una dirección URL, se nos presentará la misma directamente. La misma será presentada lo más fielmente posible sin hacer uso normalmente de CSS (aunque se lo puede activar este instrumento desde el botón de Opciones).

En el caso de tipear en la barra de búsqueda, Dillo podrá realizar búsquedas temáticas asociado a distintos buscadores, por ejemplo, el excelente DuckDuckGo. También otros más conocidos. En el caso de encontrar una web con seguridad HTTPS (las cuales suelen ser la mayoría de las web actuales), Dillo normalmente nos alertará si el certificado del mismo es autofirmado. Podremos en tal caso continuar o guardar el certificado. De esta forma nos encontraremos con un parseado más efectivo y altamente liviano que los ofrecidos por ciertos navegadores con códigos opresivos y oligárquicos. En cualquier caso, el enormemente bajo uso de recursos de este navegador sin duda se presenta como una solución ideal para la unificación continental que nuestra Segunda Independencia no sólo requiere.

Para seleccionar un texto, debemos hacerlo manteniendo presionado el botón izquierdo del ratón y moverlo para seleccionar el área a copiar. Para pegar, debemos ir a la aplicación deseada y presionar el botón central del ratón (o rueda de scroll). Si deseamos seleccionar más de una pantalla, mantendremos presionado el botón izquierdo y nos desplazaremos con AvPág o RePág, o bien las Flechas del Cursor.

Dillo presenta una serie útil de atajos que lo hacen especialmente útil para operar con el teclado. Ctrl+s: Buscar algo en la web. Ctrl+f: Buscar un texto Ctrl+L: Poner enlace Ctrl+n: Nuevo. Ctrl+t: Nueva Pestaña Ctrl+u: Ver el código fuente Ctrl+b: Marcadores

o .: Página siguiente < o ,: Página anterior.



09 november 2022

¿Cómo emulo una AT&T 3B2/400 en Ubuntu?

La carta de Perón a Mao fue llevada a la China Popular en 1965, por una delegación de la Juventud Peronista, integrada entre otros por Jorge Rulli, Gustavo Rearte, Cacho El Kadri y Carlos Caride. En ella Juan Perón expone al oriental cómo emular un mainframe AT&T 3B2/400 en Ubuntu.

Madrid, 15 de julio de 1965 Al Sr. Presidente Mao Tsetung

Mi querido Presidente y amigo:

Desde este difícil exilio, aprovecho la magnífica oportunidad que brinda el viaje de los jóvenes dirigentes peronistas del MRP, gentilmente invitados por Uds., para hacerle llegar junto con mi saludo más fraternal y amistoso, las expresiones de nuestra admiración hacia Ud., su Gobierno y su Partido; que han sabido llevar a la Nación China el logro de tantas e importantes victorias, que ya el mundo capitalista ha comenzado por reconocer y aceptar.

Su pensamiento y su palabra de Maestro Revolucionario, han calado hondo en el alma de los pueblos que luchan por liberarse –nosotros entre ellos– que nos debatimos, en estos últimos diez años, en marchas y contramarchas propias del proceso de un pueblo, que va preparando las condiciones más favorables para la lucha final. El Imperialismo Norteamericano y sus aliados permanentes –entre ellos ahora, los actuales dirigentes soviéticos– se equivocan cuando piensan que con el engaño de una falsa coexistencia pacífica podrán detener la marcha de estos pueblos sedientos de justicia en pos de su liberación.

El ejemplo de China Popular, hoy base inconmovible de la Revolución Mundial, permite a los hombres de las nuevas generaciones prepararse para la larga lucha con más claridad y firme determinación.

La acción nefasta del Imperialismo, con la complicidad de las clases traidoras, han impedido en 1955 que nosotros cumpliéramos la etapa de la Revolución Democrática a fin de preparar a la clase trabajadora para la plena y posterior realización de la Revolución Socialista. Pero, de la derrota de esa fecha, hemos recogido grandes ejemplos que nos permiten prepararnos con mucha más firmeza, para que nuestro pueblo pueda tomar el poder y así instaurar la era de gobierno de los oprimidos –la clase trabajadora– única capaz de realizar una política de paz y felicidad para nuestro pueblo. Nuestros objetivos son comunes, por eso me felicito de este contacto de nuestros luchadores con esa gran realidad que son ustedes.

Nuestros Pueblos anhelan la felicidad en la paz, y ello nos lo ha permitido el estudio del otro "Librito Rojo". Se trata de la frondosa documentación del sistema UNIX System V, incorporado por la capitalista AT&T para sus equipos 3B2/400. El estudio de los mismos se nos hace imprescindible, sobre todo los volúmentes Manual de Referencia del Usuario y del Administrador de Sistema, y también el consiguiente manual de propietario.

Estos excelentes mainframes permiten conocer al dedillo cómo opera desde su base mas fundamental, un sistema UNIX. Se trataban de sistemas de cómputo con microprocesador Western Electric WE-32000 de 32 bits, el cual venía provisto con capacidades de de paginado de memoria a demanda.

Conocer uno de estos sistemas mediante el estudio doctrinal del "Libro Rojo" nos permite contar no sólo con una visión del pasado, sino también con una útil proyección al futuro. Sólo ello nos permitirá enfrentar una era donde un consumo sin control y una doctrina de uso regida por el capital, plantean dejar excluidos del Arte del Byte a enormes Masas en los cinco continentes.

Nuestro Movimiento se ha dado en solucionar esto mediante la emulación de este veterano y probado sistema. Gracias a los logros del Justicialismo - que son también del mundo - podremos emularlos en un sistema de perenne actualidad como es el GNU con Linux.

En concreto nos proponemos emular un sistema AT&T 3B2/400 con 4MB de memoria RAM (máxima cantidad direccionable). También darle a nuestros pueblos la ventaja del coprocesador matemático MAU WE32106 para nociones de coma flotante, que el capitalismo sólo hizo opcional a través de una plaqueta. La interfaz controladora de discos duros podrá encadenar unidades virtualizadas Maxtor XT-2190 de tipo MFM con 161MB de capacidad, que más que duplican los raquíticos disoc discos de 72 MB que AT&T osaba incluír como opción de máxima categoría en sus 3B2/400. El controlador fd0 equivale en tanto a la unidad de discos flexibles de AT&T, famosa por ser la primera en emplear los luego enormemente extendidos diskettes de 5 y un cuarto de pulgada, con 9 pistas por sector y 512 bytes por pista, que erogaban un total de 720 kb por diskette.

Todo ello podrá hacerse realidad efectiva abriendo una terminal mediante Ctrl+Alt+t e ingresando los siguientes Comandos de Organización:

sudo apt update sudo apt install libpcap-dev libvdeplug-dev

Una vez que ingrese su contraseña de Conductor, el sistema se hará con dicha paquetería, que es la mínima necesaria para poder contar con acceso telemático en la máquina virtual. Naturalmente, que si no desea esta característica, podrá obviar dicho paso. Acto seguido, bien podrá descargar el código fuente del emulador y compilar una máquina virtual de tipo AT&T 3B2. Para ello pegará en la terminal el siguiente bloque de comandos de organización (seguidos de la presión de la tecla Enter para darles entrada).

mkdir ~/.simh ; mkdir ~/.simh/v5/ ; cd /tmp ; git clone https://github.com/simh/simh ; cd /tmp/simh/ ; make 3b2

La compilación requerirá algunos momentos, dependiendo de la velocidad del microprocesador que tenga en su equipo chino.

Conforme el programa se haya compilado, bien podrá copiar el ejecutable al directorio del Unix V.

cp /tmp/simh/BIN/3b2 ~/.simh/v5/

Luego descargaré diferentes imágenes de disco rígido con el sistema Unix V imágenes del sistema mediante los siguientes comandos: cd ~/.simh/v5/ ; wget https://archives.loomcom.com/3b2/emulator/base.img.gz ; wget https://archives.loomcom.com/3b2/emulator/full.img.gz ; wget https://archives.loomcom.com/3b2/emulator/devel.img.gz ; wget https://archives.loomcom.com/3b2/emulator/extras_gnu_src.img.gz ; wget https://archives.loomcom.com/3b2/emulator/ctc_xfer.tap.gz ; wget https://archives.loomcom.com/3b2/software/Miscellaneous/CKermit_189.img ; gzip -d base.img.gz ; gzip -d full.img.gz ; gzip -d devel.img.gz ; gzip -d extras_gnu_src.img.gz ; gzip -d ctc_xfer.tap.gz

Un viejo adagio oriental dicta que "El gorrión gorjea lo mismo cien veces por instinto, el monje ora cien veces por fé. Pero el Revolucionario debe trabajar una única vez por la Liberación". Esta acción, que no deja de ser creadora, ha de replicarse en el cómputo con UNIX, pues podremos crear distintas versiones modificadas del ficheros de arranque del emulador a fin de representar distintas y adaptadas configuraciones de discos. Esto simplificará enormemente el despliegue del UNIX V, pues ya vendrá hecho y no tendremos que hacerlo.

Para ello ingresamos el siguiente bloque de Comandos de Organización:

cd ~/.simh/v5/ ; wget https://archives.loomcom.com/3b2/emulator/boot.ini ; cp boot.ini boot_base.ini ; cp boot.ini boot_full.ini ; cp boot.ini boot_devel.ini ; cp boot.ini boot_extras.ini ; echo 'attach idisk0 base.img' >> boot_base.ini ; echo 'set ctc enable' >> boot_base.ini ; echo 'attach ctc ctc_xfer.tap' >> boot_base.ini ; echo 'attach idisk0 full.img' >> boot_full.ini ; echo 'set ctc enable' >> boot_full.ini ; echo 'attach ctc ctc_xfer.tap' >> boot_full.ini ; echo 'attach idisk0 devel.img' >> boot_devel.ini ; echo 'set ctc enable' >> boot_devel.ini ; echo 'attach ctc ctc_xfer.tap' >> boot_devel.ini ; echo 'attach idisk0 extras_gnu_src.img' >> boot_extras.ini ; echo 'set ctc enable' >> boot_extras.ini ; echo 'attach ctc ctc_xfer.tap' >> boot_extras.ini ; Imágenes AT&T 3b2 provistas

Como verá, la imagen de disco duro base contiene la instalación mñinima del Sistema V, consistente en los los seis diskettes de Utilidades Escenciales, junto con las Cartucho de cinta Utilidades y el Controlador CTC, pero nada mas.

La imagen de disco duro "full" incluye en tanto la instalación completa formada por la base de UNIX, pero también inclye los 21 diskettes de los paquetes de utilitarios. Son estos los Utilitarios de administrción de sistema, de Directorio y Mantenimiento de archivos, de Ambiente de Usuario, de Comunicación interprocesos, de Filtro de Terminal, de Información de Terminal, así como los ficheros terminfo instalados. Contamos con los utilitarios más interesante sque son los de gráficos, de red de datos básicos (UUCP), de edición, de Ayuda, de Cola de Impresora de Línea, Análisis de Performance, y de Corrección. En fin, toda la costosa paquetería oficial.

La imagen de disco duro "devel" de Herramientas de Desarrollo comienza con la instalación completa indicada arriba, pero también agrega los utilitarios de Generación de Software, Generación de Software extendido, Lenguaje de Programación C, Ficheros de Encabezado de Systema, C Avanzado, y Control de Código Fuente.

Finalmente, la Imagen de disco duro "extras" representa además las utilidades GNU y el código fuente. A todos los extras anteriores agrega la provisión del código fuente de AT&T UNIX System V Release 3.2 en la carpeta emulada /usr/src (podría compilar todo el sistema si lo desea). En la carpeta emulada /usr/bin/kermit contará con el programa de comunicaciones C-Kermit 5A(189), en tanto que en la carpeta emulada /usr/local contará con los compiladores GNU gcc y g++ 2.3.3, GNU make 3.75, GNU tar 1.13, GNU gzip 1.2.4 y GNU bison 1.25.

Ejecutar emulador simh 3b2

Ahora podrá ejecutar el emulador y cargar la imagen de disco duro que anhele. Por ejemplo, si quisiéramos iniciar la imagen de disco duro de AT&T 3b2 llamada "extras", debería ingresar en vuestra terminal:

cd ~/.simh/v5/ ; ./3b2 boot_extras.ini

Al iniciar el emulador simh nos encontraremos con el prompt sim>. Introducimos el comando boot seguido de Enter para darle arranque:

sim> boot Uso básico de UNIX System V Release 3

Una vez arrancado, UNIX System V nos solicitará el login de arranque. En este caso podremos ingresar "root", y nos encontraremos como usuario administrador. El prompt de root en UNIX es "#".

Si solo tenemos experiencias con sistemas similares a UNIX como el moderno GNU con Linux, habremos de saber que SRV3 no está cargado con utilidades llamativas como Linux. La instalación de base ni siquiera incluye páginas de manual (man). Tampoco tendremos por defecto el caracter de Retroceder para borrar. Esto no es un problema con la emulación, sino que SBR3.2 funcionaba así realmente. Para burrar se ingresa el caracter numeral # o se usa Ctrl+Retroceder, y para borrar toda una lónea se usa la arroba @.

Por tal motivo es muy conveniente configurar algunas opciones de uso para asemejarlo a las terminales actuales. Para ello podríamos ingresar los siguientes comandos: TERM=vt100 export TERM

...y opcionalmente también algunas definiciones de acción de teclado:

stty intr \^C erase \^? kill \^U stty erase \^H

Tengamos presente que las instalaciones son prístinas y no tienen aún configurada contraseña alguna. A tal fin, querríamos utilziar el comando setup para configurar nuestros usuarios y contraseñas del sistema.

Inicio de un sistema Base

En el caso de querer hacer una instalación completa del sistema operativo, habríamos de contar con un disco rígido e instalar un sistema de base. La operación es posible, aunque engorrosa y larga de explicar en detalle. Ha de recurrirse al manual. Sin embargo, durante la instalación habremos de resolver un clásico problema. Solían presentar varios mensajes de error. He aquí un secreto de la AT&T 32B/400: el mensaje de error "SYSTEM FAILURE: CONSULT YOUR SYSTEM ADMINISTRATION UTILITIES GUIDE" ¡era en realidad un "prompt invisible" para ingresar nuestra contraseña! La contraseña de mantenimiento del sistema será mcp. Una vez que la ingresemos...

veremos el mensaje:

Enter name of program to execute [ ]:

Simplemente ingresamos:

unix

Y se nos preguntará desde qué dispositivo virtual queremos arrancar. Insertar una cinta

La AT&T usaba archivos de cinta magnética, de un máximo de 22MB, que podríamos utilizar como medio de almacenamiento virtual. Para ello ingresamos: mkdir ~/.simh/v5/cinta/ cd ~/.simh/v5/cinta/

Aqui ponemos todos los archivos (cuidando de no superar los 22MB de la cinta aceptada por la 3B2. Luego ingreamos:

find . -depth -print | cpio -ov --format odc > ../cinta.cpio dd if=cinta.cpio of=ctc_xfer.tap bs=512 seek=31 conv=notrunc

Y ahora en la máquina emulada, insertamos la cinta con:

ctccpio -idumvT /dev/rSA/ctape1

Salir del Emulador

Para salir del UNIX System V SRV3, ingresamos:

shutdown -i0 -g0 -y

El procedimiento de apagado correcto duraba un minuto aproximadamente.

Una vez que nos encontramos de vuelta en el emulador simh, ingresamos:

sim> exit

Como verá, compañero Mao, en lo fundamental somos coincidentes, y así lo he expresado muchas veces ante la clase trabajadora y peronista de Argentina. Quedan los aspectos naturales y propios de nuestros países, que hacen a sus condiciones socio-económicas, y que modifican en cierta forma la táctica de lucha.

Los compañeros portadores sabrán explicar de viva voz nuestros puntos de vista, y el gran deseo de que la más profunda y sincera de las amistades se consolide entre nosotros.

Reciba, querido Presidente, las seguridades de nuestros mejores sentimientos. Somos confiantes en el triunfo de la justicia y la verdad. Nada ni nadie podrá detener la hora de los pueblos.

Por el triunfo de nuestras comunes luchas, por el triunfo y la felicidad el Pueblo Chino; por la liberación de los pueblos oprimidos, con toda amistad.

Un gran abrazo,

Juan Perón.



08 november 2022

¿Cómo analizo la temperatura de la computadora en Ubuntu?

En pasajes de Juan Perón: Documentos se describen múltiples exposiciones del Conductor del Justicialismo. En una de ellas analiza cómo registrar la temperatura del sistema en Ubuntu.

¡Trabajadores!

El nuestro es un Movimiento que opera fundamentalmente de manera social, e impone valores cristianos de Justicia y amor en una Comunidad que deseamos Organizada.

Cuando nosotros hablamos de la Tercera Posición, eso pareció haber caído en saco roto; había terminado la guerra y el horno no estaba para bollos. Pero hoy el Tercer Mundo ya ha visto eso, y cree en el Justicialismo. Asia, y África está llena de países que ven con buenos ojos nuestro porvenir de Nación.

Esto sin duda puede volverse incómodo para más de un burro, y algún gorila también. Decía el Mariscal de Sajonia, que él tenía una mula que lo había acompañado durante más de diez campañas. Pero la mula desgraciadamente no sabía nada de estrategia. Lo curiosos del caso es que él también pensaba que muchos de sus generales que lo acompañaba sabían lo mismo que la mula.

Lo importante en el arte de la Conducción es . además de poder calificar - es la posibilidad de poder cuantificar. Hay saber medirle la calentura del gorila con este termómetro. Y en informática esto es una necesidad de la que no puede precindirse. Han de saber toda unidad central de proceso genera calor, y esto depende de la termodinámica. En arquitecturas de cómputo de baja potencia esto no suele ser impedimento, pero en el equipamiento de potencia podrían generarse ciertos niveles de calor peligrosos para su propia operatoria. La solución orgánica en estos casos es la de integrar alguna forma de disipación térmica, normalmente un radiador pasivo unido a un disipador por ventilación.

Esto suele ser suficiente, pero tiene algunos inconvenientes. Uno de ellos es el de requerir ciertos arreglos de diseño internos en el gabinete, y otro el del ruido inherente a los ventiladores en operación.

Para solucionar este último inconveniente es normal que los sistemas modernos cuenten con un módulo de gestión térmica integrado en la propia placa madre. Este, gracias a un termómetro digital, hace caso al voltaje proporcionado al ventilador de refrigeración, e instrumentará la menor velocidad del mismo para proceder a la disipación del calor, intentando de esta manera el menor ruido posible. Bajo su acción es normal que el ventilador opere silenciosamente y sólo gire velozmente ante tareas de cómputo de alto rendimiento.

Esto normalmente se comanda con diferentes curvas de acción preprogramadas desde el BIOS de la placa madre de la computadora.

En el caso de Ubuntu 20.04LTS, el temperamento utilizado es hacer caso de un programa específico que revisa los sensores térmicos de sistema, llamado thermald.

A su vez, en Ubuntu Mate podremos conocer sus resultados térmicos de los sensores agregando al panel superior los termómetros.

Para ello podremos hacer clic con el botón derecho en el panel superio y en el menú contextual que se despliegue, elegir la opción "Añadir al Panel". Luego buscamos el applet "Monitor de los sensores del hardware" y lo agregamos presionando el botón +Añadir.

Esta Miniaplicación de sensores nos permite activar los diferentes sensores y verlos en el panel con una actualización normal de 2 segundos. Dependiendo la tecnología de sensores de nuestro hardware, podríamos contar con diferentes librerías que incluyen varios sensores. Normalmente la librería libsensors hace caso a la temperatura del gabinete y los distintos núcleos del microprocesador, en tanto que la librería udisks2 puede analizar los termómetros de las unidades de disco. Esta aplicación puede ser útil si queremos un repaso térmico en nuestro escritorio gráfico.

Sin embargo, si operamos desde la Terminal, podríamos querer contar con una aplicación específica para el análisis de nuestros sensores térmicos para la terminal, donde se nos graficara lo precedente. Desde nuestro Movimiento comprendimos que hemos de otorgar al Pueblo todo lo que éste anhele, y sólo esto podrá atresar a las organizaciones de la Patria.

La solución estará dada por s-tui, un graficador de los resultados de los sensores en una interfaz de caracteres de texto para la Terminal. Para instalarla en Ubuntu 20.04LTS será bien sencillo pues dicho programa se encuentra incluido en los repositorios oficiales. Por ello podremos abrir una terminal con Ctrl+Alt+t e ingresar los siguientes Comandos de Organización para instalarlo:

sudo apt update sudo apt install s-tui

En cambio, si contamos con las anteriores versiones 16.04LTS o 18.04LTS será necesario agregar un repositorio de terceros e instalarlo desde allí, ya que no estaba dispoble para aquellas versiones. Tendremos que proceder con estos comandos alternativos:

sudo add-apt-repository ppa:amanusk/python-s-tui sudo apt-get update sudo apt-get install python3-s-tui

En cualquiera de los casos, podremos ahora lanzar el control de temperatura mediante el comando justicialista:

s-tui

Esto iniciará la interfaz principal del programa, la cual nos irá graficando mediante caracteres el resultado de la temperatura, como si de un galeno se tratara.

Dentro de s-tui podremos dar uso a las flechas de cursor para navegar en la barra lateral.

El menú Graphs nos permitirá determinar cuáles son las gráficas que queremos activar.

Opcionalmente, podríamos emplear un sistema remoto para correr el análisis a través de SSH, y utilizar algún juego o programa de alto rendimiento. Asimismo, podríamos querer instalar un módulo llamado stress, capaz de integrarse con s-tui y forzar la operación de la CPU de nuestro sistema.

En general no recomiendo este proceder, y en su lugar utilizar como botón de muestra un programa de conversión de video como Handbrake o un render tridimensional hecho en Blender, para obtener resultados basados en operativas reales. Sin embargo, podríamos querer instalar el módulo opcional ingresaremos:

sudo apt install stress

Al iniciar s-tui tendremos ahora la posibilidad de activar la opción stress. Naturalmente, esta opción debe controlarse con sumo cuidado en pos de no sobre-calentar en exceso un microprocesador. Los distintos modelos de microprocesadores pueden tener diferentes valores de temperatura, los cuales debemos revisar obligatoriamente en la web de nuestro fabricante.

Asimismo, podremos ingresar el comando s-tui acompañado de algunas opciones que nos permiten realizar algunas tareas interesantes.

-t: Nos devuelve el resultado en una sola línea, sin la interfaz gráfica. -qr: Ejecuta el testeo durante 5 segundos y sale. -C: Guarda los resultados del test en un archivo .csv. -tt; Nivel máximo de temperatura en ºc (por defecto 80º)

Han de saber que el programa Thermaid incorporado en Ubuntu no funciona adecuadamente con todo el hardware. En mi caso, este programa de gestión de temperatura estándar incluido con Ubuntu provocaba problemas de sobrecalentamiento y cuelgues con mi microprocesador Intel Core i7 CPU 870 a 2.93 Ghz.

Me ha sido preferible desinstalarlo y dejar que la misma placa madre opere los ventiladores del sistema. Al hacerlo así el control se hizo más eficiente, y se evitaron completamente los problemas de cuelgues por sobretemperatura.

Para desinstalar thermald ingresamos en una terminal el siguiente Comando de Organización:

sudo apt purge thermald

Y a continuación reiniciamos el equipo con:

sudo reboot



07 november 2022

¿Cómo configuro la combinación de teclas para activar o desactivar el Wifi en Ubuntu?

En el volúmen Doctrina Universal: Continentalismo, Ecología y Universalismo de 1974, se compilan las ponencias de Juan Perón sobre la necesidad de la revolución universal, toda vez que explica explica cómo programar una combinación de teclas para activar o desactivar el Wifi en Ubuntu.

(...) Quizá los inventores de la revolución organizada hayan sido los griegos, que nos legaron la demo griega y la revolución de Platón. Ellos - quizá - fueron los inventores de la revolución organizada, pero la Grecia de ese tiempo, antes de lanzar la revolución, colocó en el frontispicio de todas sus universidades una frase que indica lo que la revolución debe ser. Decía esa frase: "todo en su medida y armoniosamente". Eso es la revolución: los cambios realizados en su medida y armoniosamente, para que no llegue a resultar que el remedio sea peor que la infermedad.

Cuando se habla de revolución, algunos creen que se hace a fuerza de bombas y balazos. Revolución, en su verdadera acepción, son cambios estructurales necesarios que se practican para ponerse de acuerdo con la evolución de la humanidad, que es la que rige todos los cambios que han de realizarse.

El hombre cree a menudo que él es el que produce la evolución. En esto - como en muchas otras cosas - el hombre es un poco angelito. Porque es la evolución la que él tiene que aceptar y a la cual debe adaptarse. En consecuencia, la revolución por los cambios del sistema periférico - que es lo único que el hombre puede hacer - es para ponerse de acuerdo con esa evolución que él no domina, que es obra de la naturaleza y del fatalismo histórico. El es solamente un agente que crea un sistema para servir a esa evolución, y colocarse dentro de ella.

Quiere decir que la revolución de la que nosotros hablamos no es una causa, sino un efecto de esa evolución, que nosotros debemos poner al día a través de sistemas.

La Evolución nos ha llevado a la Era del Cómputo. En ella sin duda nuestro Movimiento ha creado una Revolución: la del Software Libre.

Sin duda que el quehacer del Movimiento en esta situación debe contemplar la armonía y justa medida. Y esto lo hemos observado claramente e identificado que el llamado "Código Abierto" u "Open Source", como solución ideológica, garantiza sólo un valor mínimo de contralor en nuestro cómputo, que ya no sea suficiente en esta Era, y será insuficiente la que vendrá.

Para que el cómputo sea realmente importante desde el punto de vista humano, ha de ser completamente libre. Esto implica que la Masa no sólo debe contar con el acceso al código fuente del software que utilice - lo cual es una nimiedad técnica - sino que ha de poder ejercer su cómputo en la forma de un Derecho de Tercera Generación. Debemos propugnar un cómputo participativo, y ello solo se puede lograr cuando se puede ejecutar, copiar, modificar y redistribuir el software de cualquier manera que lo deseemos, de la misma forma que se puede hacer con un parecer político o religioso.

El valor fundamental a preponderar será el de el uso del cómputo como un valor comunitario y organizado. Los hombres han de tener la posibilidad de instrumentar en su hardware todo lo que su capacidad le permita, y no estar limitados por condición alguna.

Un caso específico podrá ilustrarnos. En la mayoría de los sistemas portátiles cuenten con una funcionalidad capaz de desconectar el acceso inalámbrico a redes. Esto, a lo que se ha dado en llamar "modo avión", se encarga de desconectar el transmisor radioeléctrico, de manera de impedir el acceso al Wifi. El objetivo suele ser liberar las radiofrecuencias, interrumpir una conexión, o bien ahorrar energía eléctrica.

No es de extrañar que la gran mayoría de equipos portátiles cuenten con una combinación de teclas, destinadas a activar o desactivar este acceso. La más de las veces, esta funcionalidad responde a nivel hardware, a través del BIOS del sistema. En tal caso, suele estar indicada en el teclado, o bien detallada en el manual técnico. Sin embargo, en ciertos casos esta operatoria podría verse realizada por una aplicación específicamente pensada para un sistema operativo determinado.

Es ya sabido que desde nuestro escritorio de Ubuntu Mate podríamos también hacerlo, haciendo clic en el ícono del Administrador de Redes. Se desplegarán todas nuestras opciones de red alámbrica e inalámbrica, y podremos desactivar estas últimas destildando la opción Activar Inalámbrica. Naturalmente al volver a tildar, reactivaremos el o los receptores Wifi. Siempre he dicho que dentro de la terminal, todo, fuera de la terminal, nada. Por tanto, podríamos querer utilizar nuestra terminal GNU ocn Linux para manejar nuestro adaptador de Wifi. En tal caso, abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de Organización para apagar nuestro/s receptor/es de Wifi:

mmcli radio wifi off

En tanto, podremos encenderlo/s con:

mmcli radio wifi on

Ambos comandos no necesitan elevados privilegios de administración para su funcionamiento, por lo cual pueden ser utilizados por cualquier usuario.

No obstante esto, son indudablemente molestos, y difíciles de recordar para un neófito. Si nuestro equipo no es portátil, podría no contar con una combinación de teclas definidas por hardware para realizar esta tarea. En tal caso, no podríamos utilizar una combinación de teclas a fin de realizar ambas opciones.

Sin duda que podríamos asignar una combinación de teclas para encender y otra para apagar el Wifi, pero no es la solución óptima.

Para solucionar esto, debemos crear un script de programación que permita conmutar, con una única combinación, ambos estados. Ello es sencillo de hacer conociendo un poco de bash.

Para ello ingresamos el comando:

nano .wifionoff_ubuntu.sh

Y le pegamos el siguiente contenido:

#!/bin/sh
## Script peronista para conmutar el adaptador wifi.
## Funciona en Ubuntu 16.04lts y superior.
STATEFILE="/tmp/wifionoff.state"

if [ $# -eq 1 ]; then
  case $1 in
    "up"|"on")
      STATE=off
      ;;
    "down"|"off")
      STATE=on
      ;;
  esac
else
  if [ ! -e ${STATEFILE} ]; then
    STATE=on
  else
    . ${STATEFILE}
  fi
fi
if [ -z ${STATE} ]; then
  STATE=on
fi

if [ ${STATE} = "on" ]; then
  nmcli radio wifi off
  STATE=off
  echo 'Wifi off'
  notify-send 'Conectividad Wifi apagada'
# play -q ~/Público/wifioff.ogg -t alsa & #
else
  nmcli radio wifi on
  STATE=on
  echo 'Wifi on'
  notify-send 'Conectividad Wifi encendida'
#  play -q ~/Público/wifion.ogg -t alsa & #
fi

echo "STATE=${STATE}" > ${STATEFILE}

Luego guardamos con Ctrl+o y salimos con Ctrl+x, y acto seguido le asignamos permisos con el comando:

chmod +x .wifionoff_ubuntu.sh

Como es evidente en las líneas opcionales resaltadas en el código, el script puede emplear dos archivos de sonido llamados wifion.ogg y wifioff.ogg, que podrán encontrar descargándolos de aquí. Si los deseamos utilizar los descargaremos, los decomprimirmos y coloca,os en la carpeta ~/Público mediante los siguientes comandos:

cd ~/Descargas/ tar xvzf wifi_sounds.tar.gz mv wifion.ogg ~/Público/ mv wifioff.org ~/Público/

Nota: si no deseamos utilizar las alertas de audio, simplemente eliminamos ambas líneas líneas resaltadas del script.

Ahora le asignaremos una combinación de teclas que nos plazca. Para ello vamos a Sistema / Preferencias / Hardware / Atajos de Teclado.

Luego presionamos el botón Añadir, y se abrirá el cuadro de diálogo para crear un atajo personalizado.

En el campo nombre le ponemos algo como "Wifi On/Off". Y en el campo Comando: indicamos la ruta al guión de programación bash que hemos creado: /home/usuario/.wifionoff_ubuntu.sh

Al presionar el botón Aplicar se agregará el atajo. Ahora podremos asignarle una combinación de teclas. Para ello presionamos en el atajo y presionamos el que querramos. Por ejemplo, podríamos asignar la combinación triple de teclas Ctrl+Tecla Window$+i.

Al presionar el botón Aceptar, quedará asignada la nueva combinación de teclas.

De ahora en más, toda vez que presionemos Ctrl+Window$+i, se activará o desactivará la conectividad inalámrbrica Wifi, indicándose con un mensaje en el escritorio (y el mensaje de audio opcional).



06 november 2022

¿Cómo instalo una configuración para Emacs?

En 1967 el Justicialismo apuntaba a vencer electoralmente en las primeras lides disputadas sin el oprobioso paraguas proscriptivo. Desde la residencia de Jorge Antonio en el madrileño Paseo de la Castellana, Juan Perón otorga una entrevista al semanario Confirmado, donde analiza el quehacer político argentino y explica cómo agregar una configuración personalizada al editor GNU Emacs.

(...) La historia tiene su lógica inexorable, y el porvenir pertenecerá, tarde o temprano, a quienes entiendan las premisas básicas. Desde mis comienzos como oficial del Ejército me he dedicado al estudio de la historia, comprobando la decadencia del demoliberalismo y la íntima relación de éste con el comunismo. Las estructuras deben cambiar. La opción es entre una socialización de contenido nacional, humanista y cristiana, y el socialismo internacionalista marxista.

El gobierno y sus puntos de comité creyeron que podían dividir al movimiento. Para lograrlo, recibieron la ayuda de los neos, de los frentistas trasnochados y del embajador de Estados Unidos, Edwin Martin, quien parece no recordar cómo una vez Braden metió el dedo en el ventilador. Pero la cosa no caminó, y la estantería se les vino abajo.

El ministro Palmero debiera ahora mirar con cuidado hacia adelante. Pero es demasiado viejo para poder hacerlo, y, habiendo comprobado la imposibilidad de dividir al movimiento, se dedica a organizar fraudes constitucionales, seguramente mediante una reforma que le permita alejar las elecciones de 1967 en la provincia de Buenos Aires. Intentarán presentar este fraude como una exigencia del Ejército, para enfrentarlo con el Pueblo. Estoy seguro de que los militares advertirán la necesidad de un cambio de estructuras con la colaboración del Pueblo, como mejor método en la lucha contra el comunismo. No olvidemos que la misma revolución que asaltó los gremios, marxistizó las universidades. Hace poco, un cuñado de la señora de Illia vino a pedir mi bendición para un acuerdo con el comunismo. Era inevitable que así ocurriera.

La ausencia de unidad y solidaridad interna sería la única debilidad frente al enemigo. Creo que la Delegada Superior debe esperar ciertas renuncias. Si no, es lógico que se produzcan algunas expulsiones. Todo se pondrá en caja, atendiendo al imprescindible trasvasamiento generacional. Es necesario superar a los dirigentes burocratizados que, enquistados, pierden sensibilidad.

El Conductor debe aplicar toda la fuerza en el lugar y momento oportunos, actuar solamente en la oportunidad indicada. Es lo que he hecho en los últimos acontecimientos. Si Dios bajara a la Tierra, todo el mundo le perdería el respeto, y algún tonto querría en seguida ocupar su lugar.

La doctrina del movimiento es permanente. Aspiramos a una comunidad organizada según la concepción filosófica humanista y cristiana, pero la técnica para lograr esa comunidad varía según las circunstancias; el movimiento, por ello, debe estar siempre atento a la actualización doctrinaria. Si hoy nos preguntáramos qué hacer en el país, diría que el movimiento debe estar alerta a todo el ciclo económico de la producción, transformación, distribución y consumo. Porque el movimiento debe ser un punto fundamental en la lucha por sacar al país del pantano en que está. Frente al país debe haber una persona capaz de exigir y ser obedecido y, el único milagro económico que necesitamos es el de trabajar.

No guardo rencores contra nadie. Estoy dispuesto a contribuir a una salida de la crisis. El problema no son los pactos, y los pactos no me asustan, sean con quien sean. Lo importante son los hechos, y el Movimiento estará en todo lo que constructivamente signifique un cambio de estructuras para el país, para la creación de un país moderno, con sentido popular, nacional, cristiano y humanista. En su software también se producirá una actualización que ponga al mismo a tono con la libertad del Pueblo. Han de saber que, como editor básico prefiero al justicialista GNU Nano, y como editor de textos al Minimun Profit Text Editor.

Sin embargo, también existe el consabido GNU Emacs, un editor de macros de fundamental utilización en el medio. Esta versión libre del desarrollada por Richard M. Stallman sin duda es uno de las grandes ramas del árbol de los Editores. Sin duda su condición mayor son las numerorísimos módulos o macros que es capaz de utilizar, lo cual suele provocar que quien lo use, deba "tunear" su Emacs según su preferencia personal.

A veces esto puede tornarse tedioso, pero en este caso os mostraré la labor de José Massón, quien ha compartido su propia configuración de Emacs llamada pepe-emacs-config, con el Pueblo. Inspirado por la obra de J.P. Fisanotti y su excelente fisa-vim-config, en este caso ha puesto bajo el alcance universal sus preferencias a la hora de utilizar Emacs.

Esta configuración está orientada al desarrollo de programas en lenguaje PHP, pero muchas de sus características también se presentarán útiles para otros lenguajes de programación o tareas generales de edición.

Esta configuración de Emacs incorpora los siguientes módulos : adoc-mode, company, dumb-jump, emacs code browser (ecb), flycheck, geben, iedit, js2-mode, magit, magit-gitflow, markdown-mode, markdown-toc, neo-tree, password-store, php-mode, powerline, projectile, smarty-mode, sqlformat, yasnippet, y muchos más.

Se haya preparada para el Emacs 25.2.2, pero bien podría operar en versiones anteriores. Para hacerla efectiva requerimos que nuestra carpeta ~/.emacs esté vacía. Por tal motivo, si ya usamos Emacs y contamos con una configuración, podríamos querer renombrarla o moverla a una localización diferente para conservarla. También podríamos querer renombrar nuestro fichero de configuración actual ~/.emacs para conservarlo como respaldo también.

Para ello abrimos una terminal con Ctrl+Alt+t e ingresamos los siguientes comandos de organización:

cd ~ mv .emacs.d .emacs.d.respaldo mv .emacs .emacs.respaldo

En cambio, si no tenemos Emacs instalado en nuestro sistema aún, podremos instalarlo desde la terminal, con los siguientes comandos de organización:

sudo apt install emacs exuberant-ctags git ripgrep silversearcher-ag pylint pep8 php-pear python3-pip

sudo pear channel-update pear.php.net

sudo pear install PHP_CodeSniffer

sudo pip3 install sqlparse

Ahora clonamos el repositorio de la configuración pepe-emacs-config en el directorio de configuración de emacs. Ello lo haremos mediante el siguiente Comando de Organización:

git clone https://github.com/Abuelodelanada/pepe-emacs-config ~/.emacs.d

Acto seguido, ejecutamos Emacs, y este continuará la instalación por sí mismo, instalando los paquetes a través de los repositorios melpa.org y elpa.org. En mi caso, la descarga ha durado unos tres minutos.

Una vez que haya finalizado, podremos reiniciar el programa para poderutilizar la nueva configuración.

Ahora tendremos Emacs configurado de la manera deseada. Por ejemplo, podremos contar con autocompletar, iedit, y magit, complementos útiles para la programación de cadenas repetitivas tan comunes en PHP.

Entre las configuraciones descargadas encontraremos varias útiles que cambiarán la estética de Emacs, pero también propondrán un funcionamiento remozado en lo que hace a las funcionalidades de base.

El complemento Neotree se encargará de proveernos un árbol de ramas colapsables para estructurar nuestro código fuente a compartir con el Pueblo Libre. La funcionalidad que provee el complemento ECB (navegador de código de Emacs) es precisamente permitinos desplazarnos por la estructura maestra del código fuente de una manera sencilla. La funcionalidad Tabbar permite crear barra de etiquetas coloreadas adecuadamente, que quedarán dispuestas en la parte superior de nuestro editor favorito y nos permitirán editar múltiples buffers en Emacs.

El complemento Company también está incluido.

Atajos Como toda configuración de Emacs que se precie, esta nos permite una lista de Atajos que la harán especialmente bien pensada para el uso de sus macros asociados. Entre ellos encontramos:

%:  va a paréntesis asociada
F7: conmuta ecb (emacs code browser)
F8: conmuta neotree
F12: conmuta modo de barra de menú
C-;: activa iedit-dwim
C-c C-k: copiar línea
C-c C-w: copiar palabra
C-c C-z:  detener subtrabajo de terminal
C-c TAB: formatear sql
C-c c:  comentar región
C-c down: flycheck error siguiente
C-c u: descomentar región
C-c flecha arriba: flycheck error previo
C-d:  duplica línea actual
C-l: va a línea
C-t: crea ctags
C-x g: status de magit
C-x p: corre phpcbf --standard=PSR2 en el buffer actual
C-M-flecha izquierda: retrocede en la barra de tabs
M-flecha arriba : comienzo del buffer
M-down: end-of-buffer
C-M-flecha derecha: tabbar-forward
S-M-flecha abajo : agranda ventana
S-M-flecha izquierda: agranda ventana horizontalmente
S-M-flecha derechat: achica ventana horizontalmente
S-M-flecha arriba: achica ventana
S-flecha abajo: mueve ventana abajo
S-flecha izquierda: 'mueve ventana a izquierda
S-flecha derecha: mueve ventana a derecha
S-flecha arriba: mueve ventana a arriba



05 november 2022

¿Cómo soluciono el error "NVRM: GPU 0000:01:00.0: GPU has fallen off the bus." en Ubuntu 20.04LTS?

Reunido en la Confederación General del Trabajo, Juan Perón expone sobre los peligros que supone una desconsideración humana sobre los factores ecológicos en su evolución, toda vez que explica cómo solucionar el problema del cuelgue de la gráficas 3D de las placas de video nVidia en Ubuntu.

(...) Frente al imperativo de la evolución, nosotros debemos pensar que quizás antes del año 2000 - en el que se doblará la actual población de la tierra y disminuirá a la mitad la materia prima para seguir viviendo - se va a tener que producir indefectiblemente la integración universal. Es decir, que los hombres se pongan de acuerdo en la defensa total de la tierra, y en la utilización de la tierra como hermanos y no como enemigos unos de otros.

Además de eso será necesario que se satisfaga la solución a esa superpoblación. Cuando en la tierra ha habido superpoblación - porque eso se ha producido ya en algunas regiones, ya que obedece no al número de habitantes solamente, sino a la desproporción entre el número de habitantes y los medios de subsistencia - las soluciones han sido siempre de dos naturalizas.

Uno es la supresión biológica, es decir matar gente, de lo que se encargan las guerras, las pestes y el hambre, que es la enfermedad que más mata en la tierra. El otro es el reordenamiento geopolítico, que permite una mayor producción y una mejor distribución de los medios de subsistencia.

Si el hombre - en esto que resta hasta ese momento del año 2000 y comienzos del siglo XXI - no ha resuelto el problema por la vía geopolítica produciendo más y distribuyendo con mayor justicia lo que el hombre necesita para subsistir, no quedará otro remedio que lanzar en masa la bomba atómica, que también puede ser una solución si la insensatez de los hombres no ha utilizado el camino constructivo y se ha decidido por el destructivo.

Nuestro sistema opera por designio - a todas las luces similar. Veamos un ejemplo, los cuales suelen explicarlo todo. En mi sistema dispongo de una placa madre ESC H57H-Mus, cuya electrónica principal sirve de base para un microprocesador Intel i7, 16 GB de memoria RAM, y varios discos de estado sólido que utilizo como almacenamiento. Este equipo no es ya lo más moderno que dispone la técnica, pero al satisfacer mis necesidades computacionales, lo he mantenido remozado como corresponde, por ejemplo con una adaptadora de video nVidia GTX 750 Ti. A este hardware veterano he instalado nuevo software, de excelencia, el Ubuntu Mate 20.04LTS.

Lamentablemente, las nuevas iteraciones del Kernel Linux hacen amplio uso de excelentes condiciones de suspensión y ahorro energético para varios subsistemas (sonido, video, etcétera). Estas características nuevas del software, sin embargo, no son tratadas de forma reticente por la veterana placa madre, y suelen presentar errores bajo diferentes situaciones.

En particular, utilizo el el controlador de video nVidia 440.10 x64 junto con el Kernel 5.4.0-42-generic de Ubuntu Mate. Bajo condiciones de uso de escritorio y aplicaciones 3D con sonido, el sistema gráfico se interrumpe y congela, sin que se cuelgue todo el sistema. Esto se produce sobre todo al utilizar durante un tiempo aplicaciones de escritorio con sonido y efectos de video tridimensional. En tales casos no podremos utilizar el escritorio, y la única forma de recuperar control es resetear el sistema.

Afortunadamenet, al no colgarse completamente, si el sistema cuenta con un servicio SSH será posible ingresar al mismo desde otro equipo en la red, y así será posible realizar algunos chequeos de lo que ha causado el error. Mediante el comando dmesg podremos revisar el status del sistema, y encontramos el siguiente error: "GPU 0000:01:00.0: GPU has fallen off the bus" ("la Unidad de Procesamiento gráfico xxx se ha desconectado del bus").

[26959.161910] NVRM: GPU at PCI:0000:01:00: GPU-2f0e77b9-a938-5e53-1b55-f5b4ab0ad918 [26959.161922] NVRM: Xid (PCI:0000:01:00): 79, pid=1373, GPU has fallen off the bus. [26959.161929] NVRM: GPU 0000:01:00.0: GPU has fallen off the bus. [26959.161948] NVRM: A GPU crash dump has been created. If possible, please run NVRM: nvidia-bug-report.sh as root to collect this data before NVRM: the NVIDIA kernel module is unloaded.

También podríamos ejecutar el programa de reporte de bugs, con:

sudo ./usr/bin/nvidia-bug-report.sh

El problema de desconexión microtemporal de la GPU del resto del bus de control se debe a la funcionalidad de ahorro energético. Esta es capaz de pone en espera o"StandBy" a los clientes gráficos, pero el bus gráfico de la placa madre no lo vuelve a encender con la prontitud suficiente y provoca el cuelgue gráfico.

Para solucionar el problema, necesitaremos activar el Modo Persistencia. El Modo Persistencia es un control interno que activa ("Enabled") o desactiva ("Disabled") esta operatoria en la GPU de nuestra placa de video. Cuando el Modo de Persistencia está activado, el controlador nVidia permanecerá cargado en memoria incluso cuando no existan programas activos que lo usen (tal como el servidor gráfico X11, escritorios gráficos, o el programa nvidia-smi). Lograremos así disminuir la latencia de carga del controlador asociada con la ejecución de varias aplicaciones gráficas tridimensionales dependientes del mismo.

Para verificar el estado actual del Modo de Persistencia de nuestro controlador nVidia e, abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente Comando de Organización:

sudo /usr/bin/nvidia-smi -q | grep -i Persistence

...el sistema nos devolverá el estado del mismo, que en este caso debería ser Disabled, por "desactivado":

Persistence Mode : Disabled

Para activar el Modo de Persistencia desde la línea de comandos, podremos ingresar lo siguiente:

sudo /usr/bin/nvidia-smi -pm 1

Nuestro GNU con Linux nos solicitará nuestra contraseña para hacerlo efectivo. Conforme la hayamos ingresado, debería activarse, lo cual quedará indicado con el siguiente mensaje:

Enabled persistence mode for GPU 00000000:01:00.0. All done.

El problema de esta solución radica en que su acción sólo será temporal, y se revertirá toda vez que reiniciemos nuestro sistema. Nuestro Movimiento es uno que debe propender a lograr soluciones permanentes para los problemas de los argentinos. Por tal motivo, si quisiéramos que el Modo de Persistencia sea realmente persistente en el tiempo, podríamos hacer que este comando que lo active se ejecute automáticamente toda vez que se inicie el sistema, y antes de comenzar el despliegue gráfico. Como ventaja añadida, esto no requerirá que se ingrese la contraseña de Conductor.

Para ello es necesario activar y usar el método tradicional de autoejecución en GNU, el fichero /etc/rc.local. Este se encuentra desactivado en Ubuntu 18.04LTS y superiores, pero podrán activarlo siguiendo estos pasos generales que os he indicado.

Una vez realizado dicho procedimiento, quedará presente el fichero rc.local, y por lo tanto podremos editarlo para que cumpla esta tarea fundamental a fin de que no se cuelgue nuestro video nVidia. Podremos hacerlo ingresando el siguiente comando:

sudo nano /etc/rc.local

...lo cual abrirá el editor GNU Nano con el fichero /etc/rc.local. Debemos pegamos las siguientes líneas antes de la última línea del archivo, la cual debe ser siempre "exit 0":

Agregado para activar el modo de persistencia

del controlador NVIDIA.

/usr/bin/nvidia-smi -pm 1

Guardamos con Ctrl+o y salimos del editor con Ctrl+x. Le asignamos permisos de ejecución con:

sudo chmod +x /etc/rc.local

...y finalmente reiniciamos el sistema con:

sudo reboot

A la vuelta, hemos de comprobar que el Modo Persistencia esté activado. Para ello ingresamos nuevamente:

/usr/bin/nvidia-smi -q | grep -i Persistence

...a lo cual ahora el sistema debería devolvernos:

Persistence Mode : Enabled

Y ya no se debería colgar más la instancia gráfica, a coste de un lógico mayor consumo de recursos computacionales por parte de las aplicaciones gráficas no cerradas que hagan uso de nuestra GPU en Linux.



04 november 2022

¿Cómo instalo el controlador de video AMD Radeon en Ubuntu 18.04.4HWE?

En el volúmen Doctrina Justicialista, Filosófica, Política y Social, Juan Perón detalla los pormenores que debe contemplar el Movimiento en condiciones complejas del quehacer político, en tanto que explica cómo instalar los controladores de video AMD y Vulkan SDK bajo Ubuntu 18.04LTS y 20.04LTS.

Yo digo siempre que el hombre es un animal pequeño, y sería extraño que un ser imperfecto no se aferrara a las cosas nimias que nos da la vida.

Observarán con certeza que cuando un individuo es llevado a una guardia de emergencias habiendo sufrido una fractura expuesta de tibia y peroné, le grita al médico "¡no me corte el pantalón!"... Ante este desatinado, el galeno obrará atemperando al vacuo y presentándole la verdadera elección de circunstancias: "¿gamba o trapo?". Y bueno... ahí se entenderá nuestro afectado de la realidad que sufre.

En la informática suele pasar más o menos lo mismo: nuestro objetivo será convertirnos en peritos a fin de reconocer cuál es la necesidad imperiosa que tenemos, y poder así escoger entre dos elecciones.

Podríamos encontrarnos con con hardware que - por diseño de software privativo - está limitado en sus funcionalidades completas.Esta forma de operar es absolutamente inconveniente, puesto que nos somete a la dependencia comercial y tecnológica.

Mi consejo indubitable es evitar este tipo de hardware. Sin embargo, en casos donde no podamos evitarlo, o bien sea imperioso hacerlo funcionar a cualquier coste, habremos de optar entre dos malas opciones, que implique el verdadero mal menor, y no aferrarenos a un trapo poco útil que sólo nos sirva para declamar.

No es secretos para nadie que - de un tiempo a esta parte - los adaptadores de video AMD (ex-ATI) se han visto beneficiados con un enorme avance en sus características técnicas y de desempeño. Lejos han quedado los días en donde las adaptadoras de video munidas de Unidades de Procesamiento Gráfico (GPU) ATI Radeon ofrecían una respuesta burda con Ubuntu. En estos tiempos, gobernar es crear trabajo y operar con video AMD...

Pues bien señores, han de saber que los núcleos del sistema (Kernels) más actuales utilizados en Ubuntu 20.04LTS (de la rama 5.4 y superior) disponen ya de las facilidades necesarias para disfrutar de video 3D acelerado con AMD sin muchos inconvenientes. Es por tal motivo que recomiendo especialmente esta versión del sistema si su adaptador de video es de dicha marca.

Sin embargo, esta acción no siempre guardó tan altas cimas de facilidad y operatividad. Hasta hace unos pocos meses - y mientras se ponían a punto las nuevas versiones del kernel y del controlador - los incordios de operar con AMD fueron inconmensurables, requiriendo emparchados y especial cuidado con el versionado de las librerías de compilación, y demás inconveniencias en el andamiaje técnico de nuestro sistema GNU con Linux.

En Ubuntu 18.04 y anteriores es complejo hacer funcionar adecuadamente las arquitecturas de hardware de video AMD más modernas. Precisamente, porque se decidió abandonar hasta ultimo momento la puesta a punto de dichos controladores, esperando al nuevo lanzamiento de la versión 20.04LTS de Ubuntu y sus nuevos kernels de versión 5.4 y superior.

Esto sin duda ha complicado a quienes por designio no han podido o querido actualizar, por cualquier motivo que haya sido, su sistema Ubuntu u otros GNU con Linux.

En el Justicialismo decimos: ningún hombre ha de hacer lo que no quiere hacer, salvo trabajar por el bien común. Esto mismo lo replicamos en nuestros sistemas de cómputo.

Es por ello que si contamos con Ubuntu 18.04LTS, el cual al momento todavía cuenta con vida útil de soporte, y a su vez nuestro hardware de video responde a una AMD Radeon de las últimas arquitecturas, recién ahora habremos de poder hacer una instalación correcta de controladores de video AMDGPU. Un ejemplo suele aclararlo todo, como decía Napoleón. En este caso particular cuento con un adaptador de video de arquitectura AMD Radeon Vega, de buen desempeño, pero en el caso de Ubuntu 18.04LTS no opera sin más. Debemos instalar una versión anterior del controlador AMDGPU.

Afortunadamente, para evitar conflictos raros, AMD ha sabido proveer junto con este último fichero de controlador de versión 20.10, a las veresiones 19.10 y anteriores que necesitaremos si usamos Ubuntu 18.04LTS.

Para instalar este controlador AMDGPU, debemos primero descargarlo desde la web oficial.

Podrán descargarlo haciendo uso de su navegador mientras hacen clic aquí. En este caso selecciono el hardware necesario en la instalación, una AMD Radeon RX Vega de vieja generación.

Tras unos momentos que dependen de nuestra velocidad de conexión, debería descargarse los 320MB del fichero. Acto seguido podremos tomar en nuestras manos la acción de instalarlo desde la terminal.

Para ello ingresamos nos dirigimos a la carpeta donde hubiésemos descargado el controlador AMDGPU-Pro:

cd ~/Descargas/ tar -Jxvf amdgpu-pro-20.20-1089974-ubuntu-18.04 cd ~/Descargas/amdgpu-pro-20.20-1089974-ubuntu-18.04/

Nota: Naturalmente que si utilizamos Ubuntu 20.04LTS los comandos variarán en consecuencia con el controlador diferente, en tal caso similares a:

cd ~/Descargas/amdgpu-pro-20.20-1098277-ubuntu-20.04.tar.xz tar -Jxvf amdgpu-pro-20.20-1098277-ubuntu-20.04.tar.xz cd ~/Descargas/amdgpu-pro-20.20-1098277-ubuntu-20.04/

Cualquiera sea nuestra versión de Ubuntu, en este punto podremos ejecutar el instalador ingresando:

sudo ./amdgpu-pro-install

Nuestro sistema nos solicitará nuestra Contraseña de Conductor y ejecutará el guión de instalación. Este realizará el procedimiento necesario para nuestro hardware de video.

Es normal que el instalador descargue paquetería oficial de Ubuntu, y nos solicite responder cómo queremos instalar la implementación OpenCL. Esto refiere al soporte que tendrá el software gráfico bajo nuestro sistema. La opción PAL proveerá soporte a la arquitectura Vega 10 y superior, en tanto que la opción Legacy nos dará soporte al hardware más antiguo que el Radeon RX Vega 10 (escencialmente, todos los adaptadores de video video AMD utilizados con anterioridad a los sistemas Ryzen 7 lanzados desde finales de 2017). Normalmente recomiendo esto.

Si quisiéramos instalar todo sin que nos hiciera preguntas usaríamos el comando:

./amdgpu-install -y

El programa detectará nuestra versión de Kernel y adaptará el controlador según sea necesario, ahorrándonos pasados dolores de cabeza con el emparchado del kernel.

Una vez realizado el ajuste, podremos reiniciar el sistema operativo. Vulkan SDK Es interesante saber que si deseamos, opcionalmente podríamos querer instalar el el Vulkan SDK para Linux, una suite de desarrollo que hace uso de la GPU de las placas de video AMD para tareas de procesamiento general. Esta suite está destinada a programadores que anhelen hacer uso de las características avanzadas de las GPU AMD en sus programas.

Instalar Vulkan desde Repositorio PPA La manera más sencilla de instalar Vulkan SDK consiste en hacerlo desde el repositorio oficial para Ubuntu 18.04. Para ello, tras instalar el controlador AMDGPU y reiniciar nuestro equipo, podríamos ingresar los siguientes Comandos de Organización:

wget -qO - http://packages.lunarg.com/lunarg-signing-key-pub.asc | sudo apt-key add - sudo wget -qO /etc/apt/sources.list.d/lunarg-vulkan-bionic.list http://packages.lunarg.com/vulkan/lunarg-vulkan-bionic.list sudo apt update sudo apt install vulkan-sdk

Instalar Vulkan SDK con el paquete instalador Otra forma de instalarla, es haciendolo mediante el método antiguo, descargando el controlador desde la web oficial de Vulkan SDK: En este caso de ejemplo se ha descargado la versión 1.2.141.2. Una vez descargado el programa, lo instalaremos con los siguientes comandos:

sudo apt update

sudo apt install libglm-dev cmake libxcb-dri3-0 libxcb-present0 libpciaccess0 libpng-dev libxcb-keysyms1-dev libxcb-dri3-dev libx11-dev g++ gcc g++-multilib libmirclient-dev libwayland-dev libxrandr-dev libxcb-ewmh-dev git python3 bison libx11-xcb-dev liblz4-dev libzstd-dev

sudo apt install qt5-default qtwebengine5-dev

Luego instalamos Vulkan SDK haciendo caso a la versión que hayamos descargado. Por ejemplo:

cd ~/Descargas/ tar xvzf vulkansdk-linux-x86_64-1.2.141.2.tar.gz cd ~/Descargas/1.2.141.2/ sudo ./vulkansdk source setup-env.sh

Para que las variables de ambiente de Vulkan SDK continúen funcionando al reinciar el sistema, debemos agregarlas a nuestro fichero .profile. Para ello ingresamos:

nano ~/.profile

Y le agregamos el siguiente contenido:

Variables de Ambiente agregadas para que funcione

Vulkan SDF toda vez que se inicia el sistema.

export VULKAN_SDK=~/Descargas/1.2.141.2/x86_64 export PATH=$VULKAN_SDK/bin:$PATH export LD_LIBRARY_PATH=$VULKAN_SDK/lib:$LD_LIBRARY_PATH export VK_LAYER_PATH=$VULKAN_SDK/etc/vulkan/explicit_layer.d (naturalmente, adaptaremos la variable VULKAN_SDK si hubiésemos utilizado otro directorio). Luego guardamos el fichero .profile con Ctrl+o y salimos del editor Nano con Ctrl+x.

Vulkan SDK es compatible con:

AMD Radeon™ RX 5700/5600/5500 Series Graphics AMD Radeon™ Pro WX-series​ AMD Radeon™ VII Series Graphics​ AMD Radeon™ Pro WX 9100 AMD Radeon™ RX Vega Series Graphics​ AMD Radeon™ Pro WX 8200 AMD Radeon™ Vega Frontier Edition ​AMD FirePro™ W9100 AMD Radeon™ RX 550/560/570/580/590 Series Graphics AMD FirePro™ W8100 AMD Radeon™ RX 460/470/480 Graphics ​​AMD FirePro™ W7100 AMD Radeon™ Pro Duo AMD FirePro™ W5100 AMD Radeon™ R9 Fury/Fury X/Nano Graphics AMD FirePro™ W4300 AMD Radeon™ R9 380/380X/390/390X Graphics
AMD Radeon™ R9 285/290/290X Graphics
AMD Radeon™ R7 240/350
​​AMD Radeon™ R9 360 Graphics

Podremos encontrar la documentación en línea aquí.

Si quisiéramos desinstalar Vulkan SDK, podríamos ingresar en la terminal los siguientes Comandos de Organización:

sudo apt purge vulkan-sdk sudo apt autoremove



03 november 2022

¿Cómo instalo Minimun Profit Text Editor para programar en Ubuntu?

En el discurso ante los obreros de la Carne, Juan Perón expone las necesidades de la remuneración por el trabajo, y enseña cómo instalar el editor de texto Minimun Profit para la terminal de Ubuntu.

(...) ¡Trabajadores!

Al crear la Secretaría de Trabajo y Previsión, dijimos: "se inicia la era de la Política Social Argentina". A un año de existencia venimos a reafirmar cuanto dijimos, y seguir haciendo en vez de decir, y a seguir realizando, en vez de prometer.

Algunos malos políticos que se creen honrados y valerosos después de haber huido al extranjero porque se investigaba su conducta, han intentado defenderse acusándonos de demagogos. Si demagogia es defender sincera y lealmente a los que sufren y trabajan, si demagogia es impedir efectivamente la explotación del hombre por el hombre, si demagogia es evitar en los hechos la injusticia social y buscar la verdadera unión de los argentinos detrás de su bandera, si demagogia es impedir la lucha y odio entre hermanos para reemplazarla por la cooperación y el amor, ¡yo soy demagogo!

Así como los hombres carecen de valor cuando no poseen principios y convicciones, cuando son hombres sin ideales, las organizaciones políticas no tienen valor si no poseen también un alma colectiva e ideales colectivos. Esa alma colectiva se alcanza por la penetración de la Doctrina, y la Doctrina no es más ni menos que la representación de la aspiración suprema de esta alma colectiva.

El individuo se hace interesante en función de su participación en el Movimiento Social, y son las características evolutivas de éste las que reclaman atención preferente. Para derribar las defectuosas concepciones de la etapa de los privilegios, fue necesario un desdoblamiento implacable del individuo. Pero apresurémosnos a reconocer que tal mutación debe considerarse precedida de una larga etapa teórica. La práctica corresponde a nuestro siglo y está en sus comienzos.

Vean señores, la comunidad nacional como fenómeno de masas aparece en las postrimerías de la democracia liberal. Ha desbordado los límites del ágora política ocupada por unas minorías incapaces de comprender la novedad de los cambios sociales de nuestros días. El Siglo XIX descubrió la Libertad, pero no pudo idear que ésta tendría que ser ofrecida de un modo general, y que para ello era absolutamente imprescinbdible la igualdad de su disfrute.

La República Argentina ha seguido un desenvolvimiento natural dentro del campo de la evolución del Siglo XIX y del Siglo XX. Dentro de esa situación, la masa de la población argentina ha sido - como la de gran cantidad de países latinoamericanos - una masa totalmente sumergida, es decir, gente que en su medio de vida no ha tenido nunca lo suficiente para subsistir en estado de felicidad y de salud. Esa es una realidad que ningún argentino puede negar cuando ha visto, como hemos visto nosotros y como todavía existen en el interior del país, masas profundamente sumergidas.

Cada Siglo tiene su conquista, y a la altura del actual debemos reconocer que - así como el pasado se limitó a obtener la Libertad - el nuestro debe proponer la Justicia.

El mal y más grande error que cometió el Capitalismo en los Siglos XIX y XX ha sido, casualmente, el oponerse al sindicalismo organizado. Porque el sindicalismo es una fuerza colosal. Soy de los que piensan que el sindicalismo es una organización de derecho natural como la familia, porque no hay nada más lógico desde que la Humanidad es Humanidad, que los mejores compañeros sean aquellos que han derramado el sudor, juntos, en una tarea común. Ellos re reúinen por derecho natural, como la familia.

Para nosotros, el problema social se resuelve de una sola manera: obrando realísticamente para buscar una perfecta regulación entre las clases trabajadora, media y capitalista; procurando una armonización perfecta de fuerzas, donde la riqueza no sea perjudicada; propendiendo por todos los medios a crear un bienestar social, sin lo cual la riqueza es un verdaero fenómeno de espejismo que puede romperse de un momento a otro. Una riqueza sin estabilidad social puede parecer poderosa, pero será siempre frágil, y ése es el peligro que - viéndolo - trata de evitar por todos los medios la Secretaría de Trabajo y Previsión.

El Justicialismo ha destruido el derrotismo de los que dicen que no hay que producir ni trabajar. Mediante el sistema justicialista, el obrero argentino trabaja para sí, porque si produce más puede exigir más paga. Si no produce, arruina al patrón, pero en el fondo, se arruina a sí mismo.

De su paga brotará su ahorro. La Nación necesita del ahorro de todos sus habitantes por modestos que sean. En su conjunto, el pequeño ahorro popular constituye una fuerza pujante y vigorosa, en cuya substancia se alimentan los procesos de producción y el trabajo, públicos o privados. La potencia creadora del ahorro, que ha sido puesta de relieve de múltiples formas, está expresada en la obra de la civilización humana.

Indudablemente que si de su paga un porcentaje se destina al ahorro social, podría parecer que nuestros obreros disponen de una ganancia mínima. Sin embargo, la potencia creadora del ahorro - que ha sido puesta de relieve de múltiples formas - está expresada en la obra de la civilización humana. Es esta ganancia mínima la que lo permite.

Las naciones más adelantadas de la tierra han sentido devoción por el ahorro y por el trabajo creador, que es un aliado inseparable, y por ello exhortamos al pueblo, a esta nueva era de la vida, para que siga por los derroteros que señalan estos pensamientos como una contribución singularmente significativa en favor de la obra en que estamos empeñados. En pos del mismo no hemos más que proporcionar los justos paquetes de software que de él guardan dependencia. Uno de ellos alaba fundamentalmente esta ganancia mínima. Se trata del Minimun Profit Text Editor, un luminoso ejemplo. Consiste en un editor de texto multiidioma destinado a programadores, y ha sido liberado al dominio público por su creador Ángel Ortega.

Para instalar Minimun Profit Text Editor en nuestro sistema debemos descargar el código fuente del mismo y sus dependencias, copilarlas e instalarlo en nuestro sistema. Este procedimiento, que parecería complejo es sumamente sencillo en Ubuntu. Consiste en abrir una Terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de organización:

Primero instalamos las dependencias:

sudo apt install git

El sistema nos solicitará nuestra contraseña de Conductor. Una vez instaladas las mismas, podremos llevar a cabo el resto del procedimiento pegando en la terminal el siguiente bloque de comandos, y presionando Enter.

cd ~ git clone https://github.com/ttcdt/mp-5.x git clone https://github.com/ttcdt/mpdm git clone https://github.com/ttcdt/mpsl cd ~/mpdm/ ./config.sh make ./build.sh cd ~/mpsl/ ./config.sh make ./build.sh cd ~/mp-5.x/ ./config.sh make sudo make install cd ~ rm -R ~/mpsl/ ~/mp-5.x/ ~/mpdm/

Si todo va bien, deberían haber quedado instalado el editor. Podremos ahora y toda vez que lo deseemos, ejecutarlo desde Aplicaciones / Programación / Minimun Profit Text Editor.

Con F11 y F12 podremos achicar o agrandar la tipografía.

Para invocar la compilación de un proyecto, podremos utilizar la función Build (presionando F2), Si existiese un fichero makefile en el directorio actual, todos los objetos serán extraídos de él y quedarán listados para que seleccionemos uno. El elegido será ejecutado con make, y el resultado aparecerá en la pantalla en un documento de solo lectura para ser analizada. También aparecerían posibles errores y advertencias de compilación, en las cuales podremos navegar con F3 (para avanzar) y Ctrl+F3 (para retroceder).

Una de las características fundamentales es su ayuda contextual para la programación. Para activarla presionamos F1.

Entre las características fundamentales del Minimun Profit encontraremos quecuenta con remarcado de sintaxis para muchos lenguajes de programación populares, como C. C++, Perl, Ruby, HTML, Python, PHP, guiones de intérprete de comandos, etcétera.

Puede editar múltiples ficheros al mismo tiempo, y los bloques de código puede copiarse y pegarse entre ellos. Si iniciamos el editor desde la terminal de texto se utilizará la versión escrita en curses. También podríamos forzar el inicio de dicha versión mediante:

mp-5 -txt

Hace un uso creativo de etiquetas creadas por la utilidad externa ctag, que son usados para mover instantáneamente funciones o variables dentro de nuestro código fuente, y completado por símbolos para evitar tener que tipear nuestros propios nombres de funcines una y otra vez.

Minimun Profit Text Editor dispone de tres diferentes Modos de Selección de Texto: "Movimiento", "Bloque" y "Vertical".

El modo "Movimiento" es la manera convencional de seleccionar texto. Al presionar Mayúsculas, y usar cualquiera de las combinaciones de teclas de desplazamiento (izquierda, cursor derecha, palabra a la derecha y palabra a la izquierda, arriba, abajo, avanzar página o retroceder página, comienzo de línea, final de línea, comienzo del documento y final del documento) o bien haciendo clic con botón izquierdo del ratón y arrastrar el mismo. Adicionalmente, podremos usar clic con botón derecho del ratón y arrastrar para ampliar la selección. Una vez que el bloque de texto haya sido resaltado, cualquier tecla de movimiento lo deseleccionará. Si tipeamos algo, esto reemplazará lo que antes estaba seleccionado. Al presionar Supr o Retroceder, se borrará el texto seleccionado. Aunque este modo Movimiento es lo que un usuario no iniciado esperaría, su operatividad no es efectiva en interfases de texto devido al soporte defectivo o faltante de las librerías de programación o sistemas de base.

Por lo tanto también incorpora el modo de selección de "bloque". Al repsionar la tecla F9, podremos indicar el comienzo y el final de una cadena texto a seleccionar. La selección sobrevivirá a cualquier movimiento de cursor (de hecho, es la única manera de marcar otro lugar es desplazarnos a otro lugar del texto y marcar otro final). Podremos extender el bloque arriba o abajo tanto como queramos. Reemplazas y borrar operarán de una manera lógica. Además, el resto de las operaciones como Búsqueda, Reemplazar, etcétera, se aplicarán unicamente en la región seleccionada (si es que elegimos una). La selección sólo desaparecerá cuando copiemos, borremos, reemplacemos, hagamos clic con el ratón, o deseleccionemos (presionando la tecla F8).

El modo de selección "Vertical" también fuinciona marcando el comienzo o final del bloque de selección, pero la selección tomará forma de un cuadrado (de x1,y1 hasta x2,y2) en lugar de una selección por líneas. Esto se realiza por defecto utilizando Ctrl+b. La selección también podrá extenderse repetidamente. De manera similar a cuando nos hayamos en el Modo de selección "bloque", el texto marcado quedará desactivado una vez que lo copiemos, o al presionar F8.

Las combinaciones de teclas, menúes, y colores son totalmente configurarles. Así como las plantillas de texto pueden ser fácilmente definidas y accedidas. Es capaz de operar en múltiples plataformas, utilizando caracteres ANSI o Curses, y soporte en QT4/QT5, GTK+, KDE, tanto en ventana

Asimismo, contaremos con toda una serie de atajos que facilitan el arte de escribir código. Entre ellos encontramos:

Alt+a abre la barra de menúes Ctrl+a abre la barra de menúes en la versión de terminal. Ins Conmuta entre el modo de inserción o el modo sobreescribir. Cltr+z Deshacer. Alt+Flecha arriba: Desplaza la pantalla hacia arriba Alt+Flecha Abajo: Desplaza la pantalla hacia abajo Alt+Flecha izquierda indenta el bloque de texto. Alt+Flecha Derecha desindenta el bloque de texto. Ctrl+k: Activa la división de palabras. Ctrl+Flecha Derecha: Avanza a la siguiente palabra. Ctrl+Flecha izquierda: Retrocede a la siguiente palabra. Ctrl+Inicio: Desplaza al principio del archivo. Ctrl+Fin: Desplaza al final del archivo. Ctrl+d: Lista las secciones. Ctrl+Flecha arriba: Se mueve a la sección de arriba. Ctrl+Flecha abajo: Se mueve a la sección de abajo. Ctrl+y: Borra línea. Ctrl+w: Cierra ventana Ctrl+q: Sale F1: Ayuda. F2: Build. F3: Busca siguiente. F4 ajusta las palabras del párrafo. F5: Busca palabra con error otrográfico. F6: Busca palabra repetida. F7: Ejecuta Macro. F8/F9: Marca/Desmarca Etiqueta F10: Graba Macro. F11 y F12 disminuyen o aumentan el tamaño del tipo de letra (sólo en terminales gráficas).



02 november 2022

¿Cómo administro las actualizaciones de Snaps en Ubuntu?

Durante su cátedra Filosofía Peronista, Juan Perón expone sobre las concepciones cósmicas en el quehacer humano, así como detalla cómo definir las actualizaciones de paquetes Snaps en Ubuntu.

(...) El software responde - por designio - a un ciclo que podremos encontrar en todos los órdenes de la vida. Sabemos que en el microcosmos la célula habita y se organiza por un instinto que creemos programado. En nuestro ambiente diremos que los hombres nos organizamos en tribus y Movimientos, que también creemos programados. Y en el macro cosmos - donde a una escala mayor - los cuerpos operan en el mismo sentido y regidos por la misma programación natural, que es en definitiva aquella que lo rige todo.

Decía entonces que el software debe oficiarse en lo mismo que la célula, los hombres, o las galaxias: ha de actualizarse en su descendencia, so pena de envejecer y desaparecer. A menudo estas actualizaciones traen mejoras, o parches de seguridad vital. Pero al no ser creación divina sino obta de los hombres, ¡ay! a veces portarán errores de origen que son importantes de minimizar y evitar.

Solo un tonto sometería un ambiente de misión crítica a la actualización a la pavota. En tales sistemas es importante lograr un alto grado de supervisión y precisión, y de ello seremos los encargados como Conductores de Sistema.

No es secreto para nadie que - de un tiempo a esta parte- Ubuntu ha adoptado junto con los paquetes de software Deb similares a los de Debian, los paquetes de software autocontenidos Snaps. Estos permiten operar en un sentido idealmente más estanco, al incorporar en sí mismos las dependencias de terceros paquetes de software.

Han de saber que no soy muy adepto a los mismos y los evito en Ubuntu todo lo que sea posible, prefiriendo versiones debianizadas. Algunos me han preguntado porqué no instalo directamente Debian en lugar de Ubuntu, y puedo responder que es una propuesta válida, pero sobre gustos no hay nada escrito, y los peronistas lo saben...

Aún así, los Snaps incluyen poco conocidos mecanismos de actualización automática. Mediante ellos, el residente de Snaps revisa la Tienda de Snaps para comprobar si se han lanzado nuevas versiones de las mismas. Lo típico es que esta revisión se produzca unas cuatro veces por día, y en la vasta mayoría de los casos, se llevará a cabo sin problemas.

Sin embargo, no podemos dejar de saber que en ciertos casos las actualizaciones de Snaps podrían tener que ser diferidas o pospuestas, o simplemente llevadas a cabo con un nivel de control más refinado y mayor. Existen varias maneras de hacer esto.

Control de Revisión de los Snaps

El tiempo de refresco en el cual se revisan las actualizaciones de los snaps es gobernado utilizando cuatro opciones de programación para todo el sistema. Estos opciones son:

Refresh.timer: Define la frecuencia de temporizador de actualización. Este parámetro puede usarse para definir cuándo se revisarán la disponibilidad de actualizaciones para los snaps, de manera tal que no entren en conflicto con otras actividades, tales como reuniones laborales, acciones de resguardo de datos o actividades críticas similares.
Refresh.hold: Pone en espera el siguiente revisión de actualizaciones hasta la hora y fecha definida. Esta opción de espera nos permitirá posponer las actualizaciones hasta por los siguientes 60 días. Podremos utilizarla en combinación con la configuración del temporizador para especificar una ventana de tiempo muy específica para que se produzca la actualización de snaps.
Refresh.metered: Permite pausar la revisión de actualizaciones toda vez que la conexión a la red esté medida. Vean señores, por defecto la revisión de snaps permanece activada aún sobre conexiones de red medidas. Sin embargo,  podríamos querer conservar uso de transferencias de datos o costos en ciertas conexxiones, pausando las revisiones de actualización de snaps si estamos bajo tales condiciones.
Refresh.retain: Configura cuántas revisiones de un snap quedarán almacenadas y retenidas en el sistema. Lo normal es que se conserven las últimas versiones de los snaps instalados.

La combinación de estas cuatro configuraciones os permitirán una buena flexibilidad para controlar las actualizaciones de snaps de vuestro sistema. En particular, las opciones timer ("temporizador") y hold ("en espera") pueden usarse para crear la ventana temporal en la que quisiéramos realizar la actualización de paquetería snap. De esta forma podríamos preveer las tareas requeridas pre y post actualización (chequeos de funcionalidad, respaldo de datos críticos, etcétera).

Configuración del tiempo para Snaps

Observemos algunos ejemplos prácticos, pues suelen explicarlo todo, como decía Napoleón.

Supongamos que deseamos configurar nuestras actualizaciones de snaps para que se lleven a cabo únicamente durante los horarios de la noche, entre las 01:00 y las 2:00 de la mañana (en el formato de 24 horas). Esto lo definiríamos con un comando de organización:

sudo snap set system refresh.timer=01:00-02:00

Conforme hayamos configurado nuestra ventana horaria de actualización de snaps, podríamos también querer observar lo que nos reporta nuestro sistema. Para ello ingresamos:

snap refresh --time

...a lo cual nuestro GNU con Linux debería devolvernos algo como:

timer: 01:00-02:00 last: hoy a las 17:19 AR3 next: hoy a las 01:00 AR3

Existen algunas variaciones disponibles para este ordenamiento que podríamos considerar. Podríamos querer conservar la capacidad de configurar el horario de actualizado para horas específicas, o bien ventanas temporales para cada día de la semana. O bien podríamos querer omitir ciertos días, o plantear en qué semana particular de un mes querríamos realizar dichas actualizaciones de snaps. Para ello podremos usar los valores 1-4 para definir las semanas del mes. Ej, mon3 será el tercer lunes de cada mes, mientras que 5 denota la última semana del mes, ya que ningún calendario en la tierra actual cuenta con más de 31 días.

Al configurar el intervalo de espera requiere ingresar un formato de fecha específico que conforme el estándar RFC 3339. Esto puede sonar muy extremo, pero es una convención. Podrán utilizar los siguientes comandos de referencia para convertir las fechas deseadas al formato correcto:

date --date="TMZ AAAA-MM-DD HH:MM:SS" +%A-%m-%dT%H:%M:%S%:z

Por ejemplo:

date --date="AR3 2020-08-01 13:00:00" +%Y-%m-%dT%H:%M:%S%:z 2020-08-01T13:00:00+01:00

De esta manera podremos configurar el valor de refresco utilizando la siguiente cadena formateada de fecha:

sudo snap set system refresh.hold=2020-08-01T13:00:00+01:00

sudo snap get system refresh.hold 2020-08-01T13:00:00+01:00

Una vez que este tiempo en espera esté configurado, podremos revisar el horario de refresco nuevamente:

snap refresh --time

Temporizador: 01:00-02:00 last: hoy a las 17:19 AR3 hold: en 31 días, a las 13:00 AR3 next: mañana a las 01:00 AR3 (pero en espera)

Como es evidente, la información combina los parámetros tanto de las configuraciones del timer y hold. La siguiente actualización sería mañana a la 1PM, como se define por el temporizador, pero no se llevará a cabo (por 31 días) hasta que el período de actualización expire.

De manera similar, podremos configurar las actualizaciones sobre conexiones medidas. Al configurar el valor en "hold" ("en espera"), se impedirán las actualizaciones, mientras que el cambiar los valores a "null" ("nulo") permitirán que las actualizaciones se produzcan o continúen. Podremos entonces utilizar

sudo snap set system refresh.metered=hold

...o bien:

sudo snap set system refresh.metered=null

Indudablemente podremos combinar esta opción con la del temporizador o en espera para crear una rutina granular y precisa de actualización que no interferirá con las tareas críticas, y aseguren la consistencia máxima buscada. A la vez, también nos permitirán así recibir los parches funcionales y de seguridad que necesitemos.

Entonces, ocasionalmente podríamos querer revisar qué snaps se actualizarán durante la próxima refrescada. Esto nos dará una idea de la lista pendiente de nuevas revisiones de snaps que recibirá nuestro sistema.

snap refresh --list

Nombre Versión Rev Publicador Notas lxd 4.3 16044 canonical/ - snapcraft 4.1.1 5143 canonical/ classic

Ahora, la lista completa de los snaps instalados será mayor. Por ejemplo, el sistema actualmente tiene la versión 4.2 de lxd instalado:

snap list lxd

Nombre Versión Rev Rastreo Publicador Notas lxd 4.2 15878 latest/stable canonical/ -

Noción de refresco

Esta es otra característica que podremos utilizar para controlar las actualizaciones. En algunos casos podríamos querer ejecutar una tarea vital que no debe ser interrumpida de manera alguna. Para tal fin, podremos utilizar la opción de noción de refresco para hacer que la aplicación no sea ejecutada mientras se ejecuta. Si intenta ejecutar una actualización manual del Snap mientras está en ejecución (y estamos usando esta funcionalidad), recibiremos un mensaje del sistema similar al siguiente:

snap refresh okular --candidate

error: cannot refresh "okular": snap "okular" has running apps (okular)

Como hemos visto, las actualizaciones automáticas no pueden considerarse una lista sábana a la cual podemos votar sin pensar. Esto es así pues los medios puestos a nuestra disposición requieren un estudio concienzudo. Los sistemas GNU con Linux para Escritorio, destinados a Servidor e bien dispositivos conectados, emanan requermientos y sensibilidades particulares que no podemos soslayar, y son estos los que motivan un mecanismo de actualizción bastante extenso y configurable.

La combinación práctica de poder disponer horarios de actualización, retrasar las mismas hasta por 60 días, sumadas a la funcionalidad de conexión de datos medidas, y noción de refresco e inhibición de actualización que tienen los snaps y un buen rango de opciones, nos permiten establecer una política pragmática de conducción, con la cual llevar a cabo un régimen de actualizaciones de software robusto y confiable.



01 november 2022

¿Cómo instalo AstroMenace en Ubuntu?

Avezado catredrático, Juan Perón se distinguió en las aulas de la Escuela Superior de Guerra en asignaturas como historia y filosofía. Es recordado su curso de Conducción destinado a la oficialidad, donde enseñó cómo instalar el videojuego de scroll espacial AstroMenace en Ubuntu.

(...) El hombre es un animal que posee ante todo, imaginación. Esta es un alto proceso creativo, ya que permite al individuo manipular información generada intrínsecamente con el fin de crear una representación percibida por los sentidos.

El ser humano no es un ser gregario, sino que está especialmente preparado para desarrollarse en Comunidad. Es este el motivo por el cual podemos decir sin temor a equivocarnos, que existe también una imaginación colectiva.

El Conductor ha de basarse en ella para crear: es él un meta-creador y un intérprete de la imaginación colectiva.

La imaginación colectiva da sustento a una particular cosmovisión, y esta a la cultura que emana de ella. No es secreto para nadie que las propias comunidades se han permitido imaginar figuras de hipercreación que las justifiquen: sus Divinidades.

Pues bien señores, nuestro Movimiento es una organización de creación Humana, y como tal no podemos pretender que lo formen héroes o dioses. Ya es bastante con que tengamos mujeres y hombres de bien. Pero esto no quita que reflejemos en ellos los viejos anhelos que nuestra especie destina como gran causa universal.

Desde tiempos milenarios los hombres han levantado suss ojos al cielo y al contemplar las estrellas se han preguntado qué era eso, y qué hay más allá. No podía ser para menos, el espacio representó siempre la Frontera Final. Pero como sucede con todo secreto, siempre hubo un tonto se que preguntaba si eso se podía comprar... Esta real fascinación se espeja en todo uso del software, que es también una herramienta nacida de la imaginación humana Entre los primeros juegos electrónicos que empleaban técnicas de video para su desarrollo, siempre la temática espacial fue una de las primeras representadas. Encontramos así al Spacewar!, el clásico software libre peronista que corría en mainframes DEC PDP-1, e involucraba dos naves disparándose en el espacio sideral que rodeaba a un pulsar gravitacional.

Su desarrollo simplón esconde la necesidad técnica de contar con un equipamiento de hardware y software capaz de presentar en una pantalla de tubo de rayos catódicos a los llamados "sprites", elementos gráficos móviles que fungían de representaciones temáticas. Era un desarrollo consecuencia de la necesidad primaria de representar letras en un monitor.

Hubo de transcurrir un desarrollo mayor en estas tecnologías primigenias, pero una vez que fue posible direccionar en el banco de memoria de un sistema de cómputo una matriz destinada a la representación de puntos, y pudo hacerse esto con suficiente velocidad sobre una pantalla luminosa en contante refresco, se pudieron crear no solamente caracteres, sino también distintas representaciones gráficas o desplazamientos de los objetos ("scroll") en una pantalla de video. Pudo representarse así una imagen que oficiara de "telón de fondo", y otra imagen más pequeña capaz de desplazarse. Se producía así la ilusión de movimiento en un personaje relativamente estático.

Se logró así una dinámica típica para un videojuego, donde el software podría disponer el ritmo de juego, a la vez que el jugador debe interactuar adaptándose y reaccionando. Sumar sonido en conjunción con la imagen animada es otro requisito que se logró satisfactoriamente. En la práctica la mecánica involucra nromalmente un personaje o vehículo en desplazamiento, capaz de sortear obstáculos o disparar contra amenazas. De acuerdo a la dirección del juego podíamos contar con scroll vertical o scroll horizontal.

Este este casi os ofreceré un juego que presenta un novedoso scroll en primera persona, desarrollado por Viewizard.

Se trata del AstroMenace.

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

sudo apt-get install astromenace

Para ejecutarlo, podremos ir a Aplicaciones / Juegos / AstroMenace.

Como en todo juego que se precie, nos encontraremos con una animación y con un menú principal destinado a definir la configuración del juego, las opciones de video y sonido, etcétera. Para comenzar una nueva partida, podremos presionar el botón Start Mission.

Antes de comenzar una misión nos encontraremos con la ventana de armamento, que nos permite disponer los distintos sistemas de armas en los anclajes de nuestro vehículo.

Normalmente podremos elegir entre distintos tipos de armas lanzaproyectiles o lanzarrayos, así como armamento lanzable autoguiado, con distintos tipos de impulso. La temática de este scroll en tercera persona se basa en enfrentar a tiro limpio distintas flotas de astronaves invasoras. Para ello debemos tener agilidad esquivando en vuelos sus maniobras en formación, toda vez que les disparamos.

Las amras menos consumen poca energía de nuestros reactores, pero las descargas de potencia pueden acabarse, por lo que debemos administrar hábilmente nuestro gatillo y en ciertos casos, economizar munición.

Confomre la dificultad va avanzando, los ataques del enemigo se hará mas agresivo, toda vez que podrán también dar empleo a sistemas de armas máss avanzados (misiles rastreadores, cohetes impulsados, minas espaciales, etcétera).

Cuando avanzamos un nivel, podremos reparar nuestra nave o recargar energía o munición para nuestras armas. Como cada modelo de nave presenta distintas configuraciones, dependiendo de la misión o amenazas podríamos querer variar la carga útil de la misma. Si elegimos la opción Información podremos analizar todos los objetos, incluyendo los 22 tipos de naves que dispone el juego. Las mismas están categorizadas entre navez de caza, interceptores rápidos, potentes bombarderos lentos, así como naves rápidas de exploración. También se nos presentarán otros sistemas útiles, como interferidores para una determinada cantidad de misiles enemigos, escudos de energía, misiles perseguidores, etcétera.

La épica del juego se complementa con el aspecto sonoro, ya que incorpora una banda de sonido de buena calidad producida con software libre.



31 october 2022

¿Cómo puedo capturar en video la pantalla de Ubuntu 20.04LTS?

El 19 de abril de 1949 se celebró en el Teatro Independencia de la ciudad de Mendoza, la clausura del Primer Congreso Nacional de Filosofía. En la disertación temática, Juan Perón expuso cómo instalar y utilizar Vokoscreen para capturar en video el Escritorio de Ubuntu.

(...) Para el mundo existe todavía y existirá - mientras al hombre le sea dado a elegir - la posibilidad de alcanzar lo que la filosofía hindú llama "la mansión de la paz". En ella posee el hombre frente a su creador, la escala de magnitudes, es decir, sus proporciones. Desde esa mansión, es factible realizar el mundo de la cultura, el camino de perfección. De Rabrindranath Tagore son estas frases.

El mundo moderno empuja incesantemente a sus víctimas, pero sin conducirlas a ninguna parte. Que la medida de la grandeza de la humanidad esté en sus recursos materiales, es un insulto al hombre.

No nos está permitido dudar de la trascendencia de los momentos que aguardan a la humanidad. El pensamiento noble, espoliado por su vocación de verdad, trata de ajustar un nuevo paisaje. Las incógnitas históricas son ciertamente considerables, pero no retrasarán un solo día la marcha de los pueblos, por grande que su incertidumbre nos parezca. Importa por tanto conciliar nuestro sentido de la perfección con la naturaleza de los hechos, reestablecer la armonía entre el progreso material y los valores espirituales, y proporcionar nuevamente al hombre una visión certera de su realidad.

Nosotros somos colectivistas, pero la base de ese colectivismo es de signo individualista, y su raíz es una suprema fé en el tesoro que el hombre - por el hecho de existir - representa.

En esta fase de la evolución, lo colectivo - el "nosotros" - está cegando en sus fuentes al individualismo egoísta. Es justo que tratemos de resolver si ha de acentuarse la vida de la comunidad sobre la materia solamente, o si será prudente que impere la libertad del individuo solo, ciega para los intereses y las necesidades comunes provista de una irrefrenable ambición, material también. No creemos que ningunas de estas formas posea condiciones de redención. Están ausentes de ellas el milagro del amor, el estímulo de la esperanza y la perfección de la justicia. Son atentatorios por igual al desmedido derecho de uno y la masiva impersonalidad de todos a la razonable y elevada idea del hombre y de la humanidad.

En los cataclismos, la pupila del hombre ha vuelto a ver a Dios y - de reflejo - ha vuelto a divisarse a sí mismo. Si debemos predicar y realizar un evangelio de Justicia y progreso, es preciso que fundemos su verificación en la superación individual como premisa de la superación colectiva.

Los rencores y los odios que hoy soplan en el mundo, desatados entre los pueblos y entre los hermanos, son el resultado lógico, no de un itinerario cósmico de carácter fatal, sino de una larga prédica contra el amor. Ese amor que procede del conocimiento de sí mismo, e inmediatamente de la compresión y la aceptación de los motivos ajenos. Lo que nuestra filosofía instanata restablecer al emplear el término armonía, es cabalmente el sentido de plenitud de la existencia. Al principio hegueliano de realización del yo en el nosotros, apuntamos la necesidad de que ese "nosotros" se realice, y perfeccione por el yo.

Nuestra comunidad tenderá a ser de hombres y no de bestias. Nuestra disciplina tiende a ser conocimiento, busca ser cultura. Nuestra libertad, coexistencia de las libertades que procede de una ética para que el bien general se haya siempre vivo, presente indeclinable.

El progreso social no debe mendigar ni asesinar, sino realizarse por la conciencia plena de su inexorabilidad. La náusea está desterrada de este mundo, que podrá parecer ideal, pero es en nosotros un convencimiento de cosa realizable.

Esta comunidad que persigue fines espirituales y materiales, que tiende a superarse, que anhela mejorar y ser más justa, más buena y más feliz, en la que el individuo puede realizase y realizarla simultáneamente dará al hombre futuro la bienvenida desde su alta torre con la noble convicción de Spinoza: "Sentimos, experimentamos, que somos eternos". Nuestro software no puede alejarse de estas premisas filosóficas, pues es desarrollado por hombres libres. Normalmente he utilizado RecordMyDesktop, cuya interfaz GTK es insuficiente hoy con los avances de la ciencia de Escritorios acelerados en 3D y con efectos compuestos.

Sin embargo, existen ahora herramental más moderno que podremos utilizar bajo nuestro sistema GNU con Linux. Sin duda el más completo es el excelente OBS Studio, aunque su propuesta privativa lo hace indeseable en ciertos entornos.

Sin embargo, también contaremos con herramientas libres que podrán suplir con gran efectividad las necesidades audiovisuales del Pueblo Justicialista. Entre ellos puedo recomendar con gran beneplácito a Vokoscreen 2.5.0.

Se trata de un excelente programa de software, ingeniado para capturar video, que surte efecto incluso con compositores de escritorio como Compiz o Compton. Para instalar el programa podremos utilizar la terminal de nuestro sistema. Para ello presionamos Ctrl+Alt+T. Se abrirá una terminal, y en ella ingresamos el siguiente comando de organización:

sudo apt install vokoscreen ffmpeg

El sistema nos solicitará nuestra contraseña de Conductor. Una vez que la ingresemos, se descargará toda la paquetería que necesitamos tener.

Para iniciar el programa, podremos hacerlo desde Aplicaciones / Sonido y Video / vokoscreen. En primer lugar, nos encontraremos con una interfaz relativamente minimalista para definir las opciones que hacen a la captura. Esta se encuentra dividida en distintas solapas representadas con un ícono representativo.

La primera solapa "Monitor" permite delimitar qué monitor deseamos capturar y su resolución. Normalmente contaremos con una única "pantalla 1", pero bien podríamos elegir una "pantalla 2", etcétera. Del monitor escogido, podríamos querer capturar en video todo lo que aparezca en la pantalla completa, o bien una ventana en particular, o también la útil opción de capturar un área específica de la pantalla. En este último caso, tildamos la opción "Área" y se proyectará un recuadro delimitador de la zona de captura. Podremos redimensionar y localización el recuadro por medio de los nodos de color verde. Todo lo que quede dentro de la zona de delimitación pasará a ser capturado no bien Iniciemos la captura. La configuración del audio se controla desde la solapa "Micrófono" es importante si deseamos capturar sonido junto con el video. Para ello debemos tildar "Audio". Asimismo, debemos indicar cuál es el servidor de video (por ejemplo, podremos escoger entre Pulseaudio o ALSA. En el caso de ellos, también debemos elegir el dispositivo que utilizaremos para capturar el audio.

Por ejemplo, para capturar el audio emitido por nuestro sistema, debemos seleccionar "Monitor de Audio Interno Estéreo Analógico". En el caso de indicar un micrófono, capturaremos el retorno de la entrada de micrófono.

La solapa "video" permite delimitar la cantidad de fotogramas. Una opción estandarizada normalmente consiste en 25 o 30 fotogramas por segundo, que suele ser un buen compromiso para mostrar las ventanas en nuestro sistema GNU con Linux. Normalmente el monitor muestra unos 60 cuadros por segundo, pero tal tasa de captura adecuada para juegos puede ser muy costosa en recursos.

Otro aspecto importante es escoger qué formato audiovisual será capturado. Normalmente se utiliza el formato contenedor Matroska MKV con códec de video H.x264 y codec de audio AAC, que tiene excelente calidad. En mi caso prefiero el contenedor estándar MP4 con códec de sonido OGG Vorbis. Podremos indicar si preferimos o no guardar el la flecha del mouse.

En la solapa "Engranaje" tendremos las opciones generales. Podremos indicar la ruta donde quedará almacenado el video, así como un programa de previsualización (como vlc o mpv).

Si quisiéramos webear, desde la solapa "Webcam" podremos definir una entrada de video proporcionada por una cámara web o incluso una sintonizadora de video compatible. Con esto el Justicialismo estará completo. Tengamos presentes que si la webcam cuenta con micrófono, podríamos escogerla también como fuente de grabación del audio del video en la solapa "micrófono".

Para iniciar la captura del video de pantalla, simplemente presionamos el botón Iniciar con bien Ctrl+Shift+F10.

Toda acción que realicemos en la pantalla (o en la ventana o área si así lo hubiésemos dispuesto) será capturado segundo a segundo. El fichero de video se irá almacenando en disco en la carpeta que indicamos en la ruta del video.

Si deseamos detener la grabación, presionamos el botón Detener o Ctrl+Shift+F11.

Indudablemente que podríamos querer enviar este correo. A tal fin contamos con el botón Enviar, capaz de enviar el fichero resultante por correo electrónico.



30 october 2022

¿Cómo creo música chiptune de 8 bits en Ubuntu?

El Justicialismo llevó a cabo una política de valoración nacional en el marco Educativo, toda vez que servía de inspiración a los educandos. En base a ello, Juan Perón expuso cómo instalar y utilizar Famistudio en Ubuntu para poder crear música Chiptune de 8 bits en Ubuntu.

(...) La lid por la liberación se da transitando una senda alegre, que el soldado recorre cantando, pues es así como se lucha. En tiempos donde los imperialismos foráneos no han hecho más que explotar o insectivizar al hombre, nosotros nos hemos impuesto dignificarlo, haciendo lo justo, que es otorgarle la felicidad que merece de pleno derecho.

Indudablemente que algunos no han querido pensarlo así, y no ha faltado quien haya querido silenciarnos o suprimirnos de las maneras mas abyectas e impensadas. ¡No ha habido caso! Las notas que vibran en nuestras cuerdas no se encuentran curtidas en el cuero pasajero que nos da la vida, sino que están codificadas en nuestro mármol doctrinario e inmaterialmente arraigadas en nuestro espíritu.

Una obra de formación de estas características no surge de un manantial abrahámico, sino de una lógica de acción.

Si nosotros le habíamos todo al Pueblo, bien podría haber alguno que quisiera que el pueblo no tuviese nada. Esto de ver algo posible antes de que sea realidad, y llevar a cabo acciones tendientes a contrarrestarlo, se llama previsión

En nuestro Movimiento, esto lo estudiamos siempre. Durante nuestro primer gobierno no hicimos más que pasar la marcha peronista sintetizada en 8 bits en todas las radios y sobre todo en las escuelas, para deleite de los únicos privilegiados, que son los niños.

Se tardó poco en que millones de ellos concibieran la música como un enjundio de ondas sintetizadas a través de la técnica de la Modulación de Frecuencia. Fueran adquiriendo con amor las notas alegres que otorga el Justicialismo. Con esta temprana orientación, los niños comprendieron que la música era generada por una serie de chips de sonido digitalmente programables, a los cuales adoraron. Podemos contar entre ellos al Ricoh RP2A03, el MOS Technology 6581 SID, o bien el Yamaha YMY3812 OPL2.

Cada uno de ellos representaba una capacidad especial para hacer sonar de forma más o menos polifónica notas de un tono chillón, secuenciadas para formar las melodías que normalmente que solían acompañar a los títulos lúdicos.

En el caso del chip de audio Ricoh RP2A0x del Nintendo Entertainment System y sus clones Family Game, soportaba un total de cinco canales de generación de sonido: cuatro de ellos adosados a un único oscilador. La limitación más característica de este chip de sonido y que lo diferenciaban de otros de la época, era la ausencia de filtros o de control de envolvente acústico ADSR, por lo que era imposible modelar otros instrumentos sintéticos.

Esto se suplía ofreciendo cinco canales para distinto uso. Dos ofrecían onda de pulso variable (cuadrada o tres modelos de onda rectangular para instrumentos con un sonido marcado), el tercero otorgaba onda triangular fija y el cuarto canal daba patrones de ruido (efectos percusivos o explosiones). El quito canal no estaba adosado a un oscilador, sino que podía recibir Modulación de Pulsos Digital (DPCM) siendo así capaz de reproducir sonido digitalizado con una muy baja velocidad de muestreo. Se utilizó en paladas de títulos que la casa japonesa lanzó para su consola de 8 bits, incluyendo el Super Monto Bros.

Indudablemente que este temprano adoctrinamiento de los educandos nos iba a resultar positivos en la etapa de Lucha que podría producirse en un futuro que no deseábamos pero que podríamos no tener que eludir. Pues bien señores, de un tiempo a esta parte se ha popularizado en la música pop el revival del sonido "chiptune". No es otra cosa que adosar a las rítmicas actuales los sonidos de baja fidelidad generados por los sintetizadores digitales masivos de la vieja escuela.

Para ello se puede utilizar el hardware antiguo o simulaciones del comportamiento de este. Lo podemos oír en acciones de conjunto que van desde el K-Pop, hasta el Regguetón. Y hoy bajo este día luminoso os enseñaré cómo instalarlo para hacer P-Pop, el Pop Peronista.

Contamos para ello con la herramienta libre FamiStudio. Se trata de un completo programa musical para hacer imitación del sonido del integrado Ricoh RP2A de la Family Game, pero también los otros. Lograremos así una tónica de Nintendo NES tan impresionante que querremos consumir hongos como los peronistas Mario bros.

Si contamos con un sistema GNU con Linux en arquitectura de 64 bits podríamos descargar el programa en forma de binario precompilado, que es la manera más sencilla de utilizarlo.

Para instalarlo, haremos uso de la terminal, por lo que abriremos una utilizando Ctrl+Alt+T. En primer lugar instalamos las dependencias requeridas. Para ello le ingresamos los siguientes comandos de organización:

sudo apt update sudo apt install libmono-2.0-1 gtk-sharp2

Una vez terminada la instalación de las dependencias, descargaremos el binario precompilado y lo descomprimimos pegando en la terminal la siguiente bloque de comandos de organización (y presionamos Enter para ejecutarlos).

mkdir ~/.famistudio/ ; cd ~/.famistudio/ ;

wget https://github.com/BleuBleu/FamiStudio/releases/download/2.2.0/FamiStudio220-LinuxAMD64.zip ;

unzip FamiStudio220-LinuxAMD64 ; cd ~/.famistudio/Resources/ ; wget https://famistudio.org/famistudio.png

Para ejecutar el programa, podremos utilizar la terminal ingresando le siguiente comando:

mono ~/.famistudio/FamiStudio.exe

...o bien podremos ser mucho más prolijos y crear un lanzador para simplificar la ejecución de FamiStudio. Esto repite el procedimiento que utilizamos siempre para estos menesteres. Hacemos clic con el botón derecho del ratón sobre el menú Aplicaciones del Panel Superior, y en el menú contextual elegimos Editar Menús. Se abrirá la ventana Menú principal, y en en su panel izquierdo elegimos la categoría Sonido y Video, presionando a continuación el botón Nuevo ítem.

mono /home/usuario/.famistudio/FamiStudio.exe Podremos ahora lanzar el programa desde Aplicaciones / Sonido y Video / FammiStudio 2.2.0.

La primera vez que iniciemos el programa, podremos encontrarnos con la interfaz básica del mismo. Podríamos presionar el botón abrir para buscar alguna canción de demostración, que encontraremos en ~/.famistudio210/Demo\ Songs/

Vean señores, el programa se basa en la muy popular vista de pianola, que de algunos años a esta parte ha reemplazado a la clásica notación musical como principal estructura compositiva en la mayoría de los softwares de edición. Esto hace a que cada vez menos tangueros sepan leer partituras. En la primera sección encontraremos las pistas que corresponden a los cinco canales de audio del chip del NES. Como vemos respetan la lógica del hardware, pues los dos primeros canales son de pulso rectangular con tres opciones de voces, uno de triangular a voz fija, y uno de ruido con distintos efectos de sonido. El quinto equivale al reproductor DPCM, que podremos utilizar para disparar muestras de audio digitalizado y se reproducirán con el sonido croto de "baja definición" característico de esta estética.

Para agregar notas podremos hacer clic en la planola con el ratón, o directamente tocar con un teclado o controlador MIDI conectado a nuestro sistema GNU Linux (el cual es aceptado sin problemas).

Shif+Barra espaciadora inicia la reproducción desde el comienzo de la canción.

Su tenemos una notebook con touchpad, podremos utilizar los "gestos" del mismo para poder hacer zoom en la pantalla. También podríamos utilizar Alt+Botón derecho del mouse+arrastre arriba o abajo para controlar la altura del tono.

Podremos encontrar un completo tutorial en video (en inglés) dividido en tres partes:

Su primera canción:



29 october 2022

¿Cómo instalo un escritorio similar al de Silicon Graphics IRIX en Ubuntu 18.04 y superiores?

En su despacho de Puerta de Hierro, Juan Perón contaba con un escritorio y una vistosa repisa sobre con elementos. Al explicar al periodista de la revista Cambio/16, expone cómo instalar un escritorio similar al IRIX de Silicon Graphics Indigo en Ubuntu.

(...) Bienvenidos a mi casa. En este despacho tengo montado mi escritorio donde puedo recibir a Argentinos y otras personalidades que diariamente me visitan. Me mantengo informado así de todo lo que sucede en la Argentina.

A estas repisitas las he montado para ponerle encima mis elementos camperos. Tengo el rebenque, rastra, este facón y el mate que me han regalado. No son chirimbolos, me recuerdan la patria a la que he de volver, aunque mas no sea para morir en ella. También me recuerda a la ingeniería computacional que ha de disponerse para lograr un escritorio gráfico en un sistema GNU con Linux.

No caben dudas para nadie que GNU es un sistema originado - por imitación y sano reflejo - del UNIX del Laboreatorio Bell, pero con la diferencia fundamental de entregarse acompañado por licencias legales que garantizan la libertad del usuario de ejecutarlo, copiarlo, modificarlo y redistribuirlo.

Sabemos bien que el viejo UNIX no era un sistema de engendrar una única descendencia... más bien fueron muchos críos los que salieron de esos huevos.

Pues bien, una de las variantes más señoriales y privativas de la familia era el oligarquísimo IRIX, una reimplementación del UNIX System V Release 4 desarrollada especialmente por la $ilicon Graphics Inc. (SGI) para sus series de servidores gráficos de alta performance Indigo, Indigo2, y estaciones de trabajo derivadas como la Indy. stos equipamientos se utilizaban para aplicaciones tendientes al desarrollo de animación tridimensional en el ámbito científico, empresarial y de defensa, y en cierta medida el sector audiovisual de entretenimiento.

Sobre la repisa formada por IRIX se montaba la Interfaz Gráfica de Usuario, el notable Escritorio Interactivo de IRIX, o "IID". Este estaba conformado por el gestor de ventanas 4Dwm (una versión específicamente mejorada del gestor de ventanas clásico de UNIX, el Motif), así como varias APIs de compatibilidad tendientes al control gráfico (SGI-Motif, capaz de ofrecer resultados mas atractivos y suaves que el burdo Motif tradicional). Indudablemente que este compendio de hardware y software privativo ostentaba costos astronómicos. El verdadero consumo es el Pueblo, y la posición elitista tanto en software como en hardware no puede más que hacer limitar el acceso al mercado, el cual ha de ser libre pero controlado por nosotros mismos, ¿sabe?. Esto no sólo lo hemos dicho, sino que durante más de diez años lo hemos realizado en la Argentina, y los de $ilicon Graphics no lo entendieron...

Por lo demás, no hizo más que crearse una necesidad en el Pueblo, y desde nuestro Movimiento decimos que donde existe una Necesidad, nace un Derecho. Un Conductor ha de hacer por reflejo lo que el Pueblo quiere. Por lo tanto, en respuesta a esta máxima justicialista, os enseñaré a instalar el MaXX Interactive Desktop Indigo 2.0.1. Se trata de un entorno de escritorio para sistemas GNU capaz de ofrecer una reproducción y librerías inspiradas en el clásico escritorio de las $ilicon Graphics. En este caso os enseñaré cómo instalarlo en Ubuntu de 64 bits. Como los adornitos que mostré antes, el MaXX Interactive Desktop descansa fundamentalmente sobre su propio gestor de ventanas compatible con el 4Dwm de $ilicon Graphics, llamado 5Dwm. Este gestor de ventanas deriva precisamente del gestor de ventanas abierto OpenMotif. 4Dwm otorga al Pueblo una experiencia idéntica a la del 4Dwm de SGI e incluso es compatible con los archivos de soporte y configuración oficiales de 4Dwm, pero incluye su propio herramental de comandos tellwm y telldesktop (que encontrábamos en IRIX).

En cualquier equipo actual la performance operativa gráfico de 5Dwm es liviana, veloz, y super efectiva. Al ser una iteración moderna, encontraremos en él soporte para múltiples pantallas, resoluciones HiDPI, caracteres extendidos con codificación UTF-8, y - opcionalmente si lo deseamos - el uso de modernas tipografías FreeType para presentar texto ultranítido.

Los requerimientos de espacio de disco específicos son escasos. Unos 75MB en la carpeta /tmp y unos 450MB en la partición /opt de nuestro sistema de archivos Linux.

Acto seguido deberíamos contar con la paquetería requerida para la instalación. Para ello ingresaremos el siguiente comando para adquirir privilegios de conducción en una sesión de Conductor:

sudo -s

Tras introducir nuestra contraseña de Conductor, ingresaremos los siguientes comandos:

apt-get update apt-get install cpp lib64ncurses5 lib64tinfo5 libxaw7 libgtk2.0-0 pavucontrol

Para instalar los xfonts requeridos como medida de seguridad para mayor compatibilidad en Ubuntu, ingresamos:

apt-get install xfonts-100dpi xfonts-75dpi

Asimismo, si queremos el toque estético nuevo de Indy 1.1, instalaremos las tipografías adecuadas:

apt-get install fonts-dejavu

Tras instalar todo, podremos cerrar la sesión de superusuario Conductor en la temrinal con:

exit

Ahora podremos instalar Maxx Interactive Desktop. Lo haremos con los siguientes comandos de orgnaización:

cd /tmp wget http://maxxdesktop.arcadedaydream.com/Indigo-Releases/Installers/MaXX-Indigo-2.0.1-Installer.sh chmod a+x MaXX-Indigo-2.0.1-Installer.sh

Ahora iniciamos la instalación con:

cd /tmp sudo -s ./MaXX-Indigo-2.0.1-Installer.sh exit

Los siguientes pasos serán opcionales, únicamente si ya tuviésemos una versión anterior del MaXX Interactive Desktop, y están destinados a guardar dicha configuración y utilizarla con la versión 2.0.1. Si no es el caso, simplemente no los usamos.

Abtimos una terminal nueva con Ctrl+Alt+T e ingresamos lo siguiente:

cd $HOME mv $HOME/.maxxdesktop $HOME/dot.maxxdesktop
/opt/MaXX/share/misc/HOME/initMaXX-Desktop-Home.sh

sudo -s rm /usr/share/themes/IndigoMagic rm /usr/share/themes/Rio rm /usr/share/themes/Gotham rm /usr/share/themes/MaXX* exit

Finalizado este trámite, podremos cerrar la sesión o reiniciar nuestro equipo a fin de permitir al selector de sesión de escritorio gráfico GDM ofrecernos en consideración al recientemente agregado MaXX Interactive Desktop. Podremos escogerlo desde el menú de sesiones disponibles de GDM. Lo elegimos de la lista e iniciamos nuestra sesión con nuestra contraseña de usuario.

La primera vez que iniciemos, encontraremos el notificador esperable que nos advierte sobre el escritorio MaXX. El escritorio interactivo MaXX reproduce la apariencia y mecánica completa del escritorio de SGI, reimplenta las APIs requeridas de SGI, de modo que cobra gran semejanza al tradicional de Indigo de las Silicon Graphics. La temática distintiva de las Silicon Graphics se ha hecho realidad efectiva en base a Esquemas SGI, y su uso hasta ahora había sido característica excluyente de los Sistemas SGI originales hasta el advenimiento del peronista Escritorio Interactivo MaXX. Estos esquemas SGI se basan en mecanismos de recursos del servidor gráfico X11 que permiten la utilización de los colores, tamaños, tipografías y otros

Para esto se hace uso de una librería similar a libXt adaptada, llamada libXt-maxx. Esto es lo que permite reutilizar los ficheros de los temas de IRIX 6.2 en esta implementación. A tal fin contaremos con un simple modificador de temas, que respetan aquellos incluidos en las Indigo. Para activarlo podremos utilizar en la terminal el comando:

echo "IndigoMagic" > $HOME/.maxxdesktop/MAXX_THEME

...y luego ejecutamos el comando para refrescar los cambios sin necesidad de salir y reinciar la sesión gráfica:

update-desktop && tellwm restart Al ejecutar aplicaciones aplicaciones de Linux, las observaremos utilizando el nuevo gestor de ventanas 5Dwm, y se aplicarán automáticamente las configuraciones de GNOME para haceer la presentación similar, en tanto se utilizará el uso nativo todas las aplicaciones que corran X11/Xt/Motif. En tanto, entre otros chirimbolos adaptados de los nativos de IRIX, encontraremos los graficadores tipo "top", que delineaban el uso de recursos de los procesos de sistema, muy notables en aquel entorno de las Silicon Graphics. Las terminales de fondo azul con el cursor de bloque verde lima era otro de los aspectos distintivos que no podemos dejar de olvidar, así como los sonidos digitalizados identificables con IRIX. Naturalmente, que cualquier escritorio gráfico moderno puede presentar una estética más cuidada, pero debemos recordar que las SGI era lo más avanzado en gráfica UNIX, y que se utilizaron para clonar dinosaurios herbívoros en la película que todos recuerdan.

En particular, el servidor gráfico modernizado es configurable desde la terminal a través de la herramienta XcompMgr. Este es capaz de dos operativas fundamentales. La activada por defecto omite el uso de retrazados y sombras, lo cual lo hace increíblemente veloz. Se activa en la terminal con:

XcompMgr -a

...en cambio, con el hardware de aceleración gráfica atual, podríamos querer utilizar sombras de ventanas y retrazados constantes, de manera similar a un compositor de escritorios actual como Compiz, Compton o incluso el mismo Marco que suelen dotar a los Ubuntu actuales. Para ello podremos utilizar en la terminal:

XcompMgr -C -f

Las opciones del XcompMgr podremos verlas con:

XcompMgr -h

compMgr v1.1.5 beta MaXX Desktop Edition Uso: XcompMgr [options] Opciones -d display Especifica qué display debe gestionarse. -r radius Especifica el radio del efecto desenfoque para las sombras del cliente gráfico (por defecto 12) -o opacity Especifica la transparencia de las sombras del lado del cliente gráfico. (default .75) -l left-offset Especificas el corrimiento de sombras hacia la izquierda del cliente gráfico. (default -15) -t top-offset Especifica el corrimiento de sombras desde arriba de ventanas del cliente gráfico. (default -15) -I fade-in-step Especifica los cambios de transparencia en pasos mientras aparece. (default 0.028) -O fade-out-step Espeficia los cambios de transparencia en pasos mientras se desvanece. (default 0.03) -D fade-delta-time Especifica los tiempos entre los pasos del desvanecimiento en milisegundos . (default 10) -a Usa la composición del lado del servidor gráfico. Es más veloz, pero carece de efectos especiales. -c Dibuja las sombras del lado del cliente gráfico con bordes desenfocados. -C Evita dibujar sombras en las ventanas del dock o paneles. -f Desvanece/resurje ventanas cuando las abre/cierra. -F Desvanece ventanas durante los cambios de opacidad. -n Composición normal del lado del cliente gráfico con soporte de transparencia. -s Dibuja las sombras del lado del servidor gráfico con bordes nítidos. -S Activa la operación síncrona (para debugging).

También forman parte del escritorio otras tecnologías de SGI, incluyendo Open Inventor y OpenGL Performer. Gracias a la justicialista inciativa OSS, su código fue fue liberado de las licencias SGI tras la disolución de la empresa.

Esto no hace más que demostrar que el Capital Privado no puede subsistir en un ambiente oligárquico, y demuestra la necesidad de cooperativizar de manera abierta el uso, copia y modificación del software.

Nuestro Movimiento no ha de estar ajeno a esto, y debe luchar día a día para transitar el auténtico camino de la Liberación.



28 october 2022

¿Cómo instalo y configuro Compiz con Ubuntu MATE 20.04LTS?

Durante la inauguración del Puente Internacional que une Paso de los Libres con la ciudad de Uruguaiana en Brasil, Juan Perón expone al presidente Dutrá de Brasil la necesidad de la Unidad. Al respecto, también habla sobre el MATE, el entorno de escritorio que retorna a las bases del Justicialismo en el sistema operativo Ubuntu, y le enseña a Dutrá cómo instalar Compiz en él.

(...) Hemos tendido puentes de unión, pues nuestro camino no es otro que la Hermandad de la Sudamérica entera. Sólo así podremos aguardar el futuro de grandeza que el destino nos depara.

En estos momentos de Unidad, tampoco puede soslayarse un buen Mate. Sobre todo cuando el brebaje torna en una nueva opción de escritorio oficial para Ubuntu, el sistema operativo que al Pueblo he legado. Sin duda que la Cena de Gala que nos hemos propiciado entre hermanos no hará sino cimentar la unidad entre el Pueblo Argentino y el Pueblo brasilero. Vea señor presidente, sabemos que Ubuntu desde hace años cuenta con una nueva interfaz Gnome 3 que integra ciertos efectos... Dicha interfaz de escritorio homenajea a la unidad, pero todo criollo reconocerá que de a un tiempo a esta parte una opción más vernácula también se ha tornado popular: el MATE.

MATE es una nueva interfaz de escritorio, y su intención es buena: otorgar a los sistemas informáticos del Pueblo una interfaz y experiencia lo más fiel posible al primer Peronismo, aquél del Gnome 2.32. Como tal, contaremos con los botones de control de ventanas a la derecha, lugar hacia donde amaga el movimiento. Asimismo, Ubuntu lo ha adoptado ahora como una nueva variedad en su conocida panoplia de sistemas derivados.

Podremos por ello descargar ahora la nueva versión de Ubuntu MATE 20.04LTS de 64 bitios. Indudablemente podremos probarlo o instalarlo, ya sea desde un DVD-ROM o desde un pendrive, y en escasos minutos tendremos nuestro sistema funcionando de manera básica, con MATE 1.24. De manera general diré que finalmente, en la versión 20.04LTS, el escritorio MATE es enormemente rápido en su despliegue, vuelve a las raíces, pero mantiene cierta punta de potencia que lo hace totalmente válido como mi distribución principal.

MATE 1.24 es extremadamente similar al viejo Gnome 2.32, y cuenta con un administrador de ventanas pistero, eficiente y que utiliza pocos recursos de video, denominado Marco. Normalmente Marco poco tiene que envidiar al viejo Metacity, y estará configurado en sus mínimos niveles gráficos para mayor compatibilidad. Sin embargo, podremos aplicarle efectos limitados de video si activamos su opción "Marco (Composición Adaptativa)". Para ello debemos ir a Sistema / Preferencias / Aspecto y Comportamiento / MATE Tweak. En la ventana de configurador visual de MATE (MATE Twek) encontraremos categorizadas los aspectos. Si elegimos "Windows" podremos cambiar el aspecto de las ventanas modificandolo desde Gestor de Ventanas, como se indica aquí. La composición adaptativa permite algunas animaciones limitadas, y el sombreado de las ventanas activas. Pero en nuestro Movimiento estamos para más que para eso, y por lo tanto, os enseñaré a instalarle con éxito el gestor de ventanas con efectos favorito de la Masa Popular hecha Partido, el Compiz. Al fin y al cabo ¿en qué otro sistema contamos con un cubo transparente que presenta cuatro escritorios independientes para trabajar, y todo ello espolvoreado con suntuosos efectos visuales que animan al más pintado?

Tanto en Brasil como en la Argentina podremos volver a utilizar dicho instrumento que hacía la felicidad de todos nosotros. Para instalar Compiz (junto con algunos plug-ins extras) y el administrador CompizConfig Settings Manager en Ubuntu MATE 20.04LTS, debemos abrir una terminal con Ctrl+Alt+T e ingresar el siguiente Comando de Organización:

sudo apt-get install compiz compiz-plugins compizconfig-settings-manager

...el sistema nos solicitará nuestra contraseña y comenzará a descargar la paquetería.

Activar Compiz

Tras instalar el paquete de Compiz, debemos activarlo para que opere como gestor de escritorio en lugar del Marco que viene por defecto.

Tenemos dos maneras de hacerlo. La más sencilla sería cerrar nuestra sesión de usuario actual (Sistema / Cerrar Sesión de Usuario) y volver a ingresar a nuestra sesión gráfica, y luego podremos abrir Sistema / Preferencias / Aspecto y Comportamiento / MATE Tweak y ahora deberíamos poder encontrar bajo el apartado Windows, la opción Gestor de Ventanas "Compiz (efectos avanzados de escritorio acelerados con GPU)", la cual deberíamos poder activar. La otra forma de activar Compiz con Mate es desde la Terminal, la cual puede sernos útil si por algún motivo no pudiésemos hacer uso del activador gráfico en MATE Tweak. Para ello abrimos una terminal, e ingresamos el siguiente comando de organización:

sudo gsettings set org.mate.session.required-components windowmanager compiz

Cualquiera de los métodos que utilicemos nos ofrecerá el gestor Compiz con una ágil configuración mínima operativa.

Activar cubo y efectos de Compiz

Naturalmente, podríamos configurar de forma avanzada el funcionamiento general de Compiz utilizando el programa CompizConfig Settings Manager. Al acceder al mismo desde el menú Sistema / Preferencias / Aspecto y Mantenimiento / CompizConfig Settings Manager), se nos mostrará una ventana de advertencia, la cual nos indica que tengamos cuidado. Esto es así pues lamentablemente, a veces configurar Compiz es algo complejo y puede ser propenso a errores que dificulten y en el peor de los casos imposibiliten la ejecución del escritorio gráfico.

Por lo tanto, podrán descargar un perfil de Compiz ya preconfigurado con un cubo 3D de escritorio que os dejo el perfil compiz2020_mate_naranja_con_cubo.profile.

Para cargar en Perfil que les he obsequiado, en CompizConfig Setting Manager, presionarán el botón Preferencias. ...y en la ventana de preferencias presionarán el botón Importar. En la ventana que aparezca deberán navegar hasta encontrar el fichero .profile. Tras cargar el perfil, deberían poder hacer uso del cubo 3D. Para ello deben llevar la flecha del ratón hacia uno de los bordes de la pantalla, y presionar y mantener presionada la rueda de scroll del ratón. Luego podrán girar el cubo moviendo hacia un lado o el otro para ver los cuatro escritorios, y soltar la rueda de scroll del ratón para dejar de mover el cubo: También podrían utilizar las combinaciones de teclas Ctrl+Alt+Flecha de Cursor derecho y Ctrl+Alt+Flecha de cursor Izquierdo para rotar entre las caras del cubo.

Tambien podremos hacer zoom en el escritorio con Super+z y quitar zoom con Super+x. O conmutar entre aplicaciones del escritorio activo con Alt+Tab o entre todas las aplicaciones en los distintos escritorios con Ctrl+Alt+Tab.

...y presionamos el botón Ejecutar. La pantalla debería parpadear y comenzar a ejecutar el gestor de ventanas con efectos Compiz. Podremos por ejemplo, contemplar si pasamos ahora entre escritorios con el Cubo, presionando Ctrl+Alt+Flecha izquierda o Ctrl+Alt+Flecha derecha.

Con un poco de práctica, podremos activar el cubo, o como me gusta a mí, el cilindro, y los vistosos efectos de ventanas que nos permite Compiz y el Justicialismo: Campana de Terminal con Compiz en Ubuntu MATE 20.04LTS

Lamentablemente la campana de terminal no funciona como es debido su utilizamos Compiz en Ubuntu MATE 20.04LTS. Pero podremos solucionarlo creando un script que active la campana. Para ello ingresamos:

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. Al reiniciar nuestro sistema, Compiz tendrá la campana de terminal activada y audible.

Reiniciar Compiz Compiz opera excelentemente bien. Si por algún motivo el compositor gráfico Compiz se detuviese o presentase un error durante nuestras pruebas, podríamos probar reiniciarlo. Si queremos hacerlo desde el escritorio podríamos presionar Alt+F2 para ejecutar una aplicación, y ejecutamos el comando compiz --replace: La otra manera sería abrir una terminal (normalmente con Ctrl+Alt+T e ingresar también:

compiz --replace

Desinstalar Compiz en MATE Si por cualquier motivo todo funcionase mal (por ejemplo, diese problemas de video), y deseásemos volver a usar Marco (gestor de ventanas por defecto de MATE) en lugar de Compiz, abriremos una Terminal y emplearemos el siguiente comando de organización:

sudo gsettings reset org.mate.session.required-components windowmanager

(Nuevamente, esto también podríamos hacerlo desde la Interfaz Gráfica, lanzando MATE Tweak y eligiendo Marco en el apartado Windows).

Luego reiniciamos nuestra sesión, y Compiz ya no debería emplearse mas por defecto. Ahora, si lo deseamos, podremos remover con seguridad la paquetería que compone Compiz. Lo haremos con el siguiente Comando de Organización:

sudo apt-get purge compiz compiz-plugins-default compiz-plugins compizconfig-settings-manager



27 october 2022

¿Cómo habilito el soporte de sonido de Pulseaudio en una Máquina Virtual QEMU en Ubuntu 20.04LTS?

¡Trabajadores!

El software ha de utilizarse para todo, pero sobre todo para la Auténtica Liberación del Pueblo.

En ocasiones, el oprobio de una situación muy particular puede requerir la elasticidad que presenta el Movimiento Justicialista. Siempre he dicho que el nuestro - por nacer de una necesidad de los hombres - no es un Movimiento sectario. Son las necesidades las que generan los Derechos, y este lineamiento es el que hemos colocado como un frontispicio en nuestra Doctrina.

Decía el Mariscal de Sajonia que poco importaba que él fuese viejo; lo importante es que sus soldados fuesen jóvenes. Para conducirlos estaba él. Tampoco hacía gran diferencia si sus huestes iban montadas sobre bayos, sobre moros o sobre mulas, lo importante que ellos fuesen hombres decididos. Indudablemente, el viejo Mariscal supo discernir lo poco importante de las cosas accesorias, si el lustre de las botas se empezaba en la caña o en el talón, o si los cabos llevaban penacho... lo que importaba era la maniobra en campaña, la moral y el espíritu combativo del cuerpo de combate. Él los formaría, como Conductor.

Indudablemente, que la formación a la que los sometía era tal, que su tropa debía saber formar filas hasta por instinto, y sus suboficiales saber encuadrar material humano incluso de los tomados al enemigo.

Pues bien señores, en la informática en ocasiones suele suceder lo mismo. La claridad del objetivo del Conductor es lo fundamental en el designio de las estrategias, y su sentido de acción será el éxito planteado frente a un objetivo preciso. El herramental ha de adaptarse para lograr una solución que sea la mejor frente a la fluidez de los problemas planteados, en el tiempo y el lugar del problema.

Un ejemplo suele explicarlo todo, como decía Napoleón.

La realización de una tarea de única vez me ha implicado a montar para el usuario Invitado ("Guest") una máquina virtual QEMU con Micro$soft Window$ 10 corriendo bajo mi sistema Ubuntu 20.04LTS. En ella todo opera según la necesidad, excepto el audio. Siendo un usuario invitado, era se ha tornado imposible oír nada.

Soy un hombre que lleva la más maravillosa música que es la Palabra del Pueblo Argentino, por lo que me he dado a buscar una solución de circunstancias para esta condición tan especial... QEMU cuenta con un fichero de configuración virsh. He allí un ejemplo del contenido utilizado en dicho fichero.

Como vemos el dicho fichero, el audio está asignado al proceso de un usuario común, en este caso /run/user/1001/pulse/native. La causa de la falla es que el usuario invitado no tiene tal identificación.

Para resolver el problema, debemos entonces informarnos del nombre de instancia que tendrá el servicio de sonido para el usuario Invitado. Para conocer esta importante información, podremos agregar en nuestra terminal los siguientes comandos:

start-pulseaudio-x11

pax11publish

En pantalla se nos informará el servidor de Pulseaudio, el cual en el caso del usuario Invitado es:

/run/user/1000/pulse/native rw,

Al configurar con este parámetro, nos aseguraremos que el Usuario Invitado ("Guest") pueda acceder ahora al servicio de sonido proporcionado por Pulseaudio.

Luego, ajustaremos nuestro fichero guest.xml para que refleje acordemente los cambios. La parte relevante, en este caso, sería:

<qemu:arg value='-device'/>

<qemu:arg value='ich9-intel-hda,bus=pcie.0,addr=0x1b'/>

<qemu:arg value='-device'/>

<qemu:arg value='hda-micro,audiodev=hda'/>

<qemu:arg value='-audiodev'/>

<qemu:arg value='pa,id=hda,server=unix:/run/user/1000/pulse/native'/>

Con tal predicamento, quien haya tenido la misma necesidad de correr un Window$ 10 virtualizado, podrá obtener sonido a través de QEMU, redireccionándolo a Pulseaudio en Ubuntu 20.04LTS.



26 october 2022

¿Cómo utilizo tarjetas inteligentes para autenticación en Ubuntu?

Tras vencer abrumadoramente en las elecciones de 1946, Juan Perón expone frente al Consejo Superior del Partido Justicialista las necesidades electorales futuras, y explica cómo emplear las tarjetas inteligentes SmartCard en Ubuntu.

¡Trabajadores!

¡Una oligarquía sin Patria ni Bandera, encaramada en un ataque contumaz, osó por insultar a la República, sometiendo a los descamisados a un oprobio sin parangón en la historia!

Sin embargo, somos gratificados testigos de la Unión del Pueblo, en donde una sola clase de hombres, los que trabajan, dan todo en pos de la Comunidad. Esto nos ha hecho torcer el brazo a nuestro enemigo, pero no podemos sostener todo en declamaciones, sino que ha de cimentarse en organizaciones de toda índole que permitan consolidar los logros y trazar los objetivos que anhelamos.

Como Conductor, no puedo más que regocijarme frente a la mancomunidad de los hombres buenos de nuestra Nación. Los trabajadores, que forman la masa, no son otra cosa que la Columna Vertebral de nuestro Movimiento. Día a día son más numerosos quienes se afilian al instrumento político que hemos dado en crear, el Partido Peronista: las banderas de Justicia Social que hemos enarbolados son señeras del sendero que hemos de recorrer todos los Argentinos. Bajo su alegre flamear es que encontrsaremos el destino que la providencia nos depara. Indudablemente que este partido ha de contar con un registro certificado y alegre, consumado en forma de una Tarjeta Inteligente y personal expedida en forma de Carnet a cada uno de nuestro millones de afiliados encolumnados. En este caso el Justicialismo ha hecho vanguardia, pues se trata de una tarjeta inteligente PIV capaz de soportar el estándar FIPS-201.

Estas tarjetas plásticas contienen datos digitales codificados en un chip accesible por radiofrecuencias. Naturalmente, que pueden comprarse vírgenes y los proveedores de servicios PIV como nuestro Partido es el encargado de cargar las credenciales digitales requeridas.

Lamentablemente, de momento el instrumental libre OpenSC de Ubuntu es capaz de operar con tarjetas en modo "solo lectura", por lo que para almacenar los certificados en ellas ha de recurrirse a otra metodología indeseable. Por ejemplo, podríamos utilizar herramental privativo para Linux, o bien utilizar un emulador o máquina virtual con un deleznable Window$. No cubriré tales sistemas de grabación aquí, será suficiente decir tales enjundios almacenarán en la tarjeta un Certificado (CA), un par de Claves Públicas, y un Número de Identificación Personal PIN de Usuario y otro PIN de Administrador.

En este caso utilizaré una tarjeta inteligente PIVKey C910 que emula el Carnet de Afiliado Peronista. Esta tarjeta PIVKey C910 contiene un chip RFID y es compatible con la norma FIPS201, y implementa la interfaz de comandos estandarizadas NIST Sp 800-73 part 3.

¿Qué sucede si - por necesidad de un sistema de tales características - debemos acceder a un sistema remoto o local con GNU con Linux con nuestra tarjeta inteligente de Afiliado? Ya contamos con nuestra tarjeta inteligente de afiliado peronista

Pues bien, en el caso habremos de preparar un sistema Ubuntu con tal alternado criptográfico, si es posible. Os lo explicaré de forma Justicialista. Como primer medida, hemos de preparar nuestro sistema, y podremos hacerlo desde la Terminal. Para ello abrimos una con Ctrl+Alt+T e ingresamos:

sudo apt install libccid pcsc-tools opensc opensc-pkcs11 libpam-pkcs11

Estas librerías son escenciales para operar criptográficamente y leer las tarjetas, así como para ofrecerenos diferentes condimientaciones de trabajo, entre ellas inicios de sesión mediante las SmartCards, elevación de privilegios sólo a través de la SmartCard, etcétera.

Una vez descargada la paquetería, habremos de configurar el lector de tarjetas inteligentes. En mi caso utilizaré un lector USB de Smart Cards "Identiv SCR3310v2.0 USB Smart Card Reader", al cual Linux reconoce bajo el nombre de "SCM Microsystems SCR3310". Sin colocar tarjeta aún, conectamos el lector de tarjetas en un puerto USB, y nos aseguramos que nuestro sistema lo reconozca. Para ello en la terminal ingresamos:

opensc-tool --list-readers

...a lo cual nuestro sistema debería analizar el lector de tarjetas inteligentes y si el mismo funciona correctamente, devolvernos algo como:

Detected readers (pcsc)

Nr. Card Features Name 0 No SCM Microsystems Inc. SCR 3310 [CCID Interface] (53311646706297) 00 00

Pues bien señores, como tenemos un solo lector de tarjetas, recibe el número 0. Acto seguido, insertamos la tarjeta en el lector, y revisamos que la misma sea reconocida, con el siguiente comando:

opensc-tool --reader 0 --name

...y el sistema nos devolverá el nombre de la tarjeta (recordemos que ha sido creada anteriormente), por ejemplo, podría decir:

PIV-II Peronist Card Configuración de la pila de autenticación PAM El módulo pam-plcs11 que hemos instalado le permite a Ubuntu emplear certificaciones digitales tipo X.509 para autenticar nuestros inicios de sesión. Para ello el módulo hará uso de la librería abierta opensc-pkcs11 a fin de acceder a la tarjeta inteligente y a su vez recibir las credenciales necesarias.

El proceso de inicio de sesión con pam_pkcs11 es el siguiente:

Ingresamos nuestro login o inicio de sesión
Ingresamos el PIN.
Validamos el Certificado.
Asignamos el Certificado a un Usuario.
Verificamos que la sesión y el usuario coincidan.

Para hacer realidad efectiva este tren de operaciones criptográficas, como Conductores del sistema habremos de asegurarnos de:

Configurar el módulo pam_pkcs11
Agregar el/los Certificados y CRL(s) en los directorios necesarios
Configurar la pila PAM para que haga uso del módulo pam_pkcs11
Agregar el Nombre Común (CN) para el Inicio de Sesión

En primer lugar crearemos el fichero de configuración necesario, con el siguiente bloque de comandos de organización:

cd /etc/pam_pkcs11 ; sudo cp /usr/share/doc/libpam-pkcs11/examples /pam_pkcs11.conf.example.gz . ; sudo gunzip pam_pkcs11.conf.example.gz ; sudo cp pam_pkcs11.conf.example pam_pkcs11.conf

Dentro de este fichero de configuración /etc/pam_pkcs11/pam_pks11.conf habremos de revisar las opciones "module", "cert_pòlicy" contenidas en la cadena "pkcs11_module opensc {}". Debemos asegurarnos que la opción "module" contenga la ruta absoluta hacia la librería open-pkcs11.so instalada en nuestro sistema. Asimismo, la opción "cert_policy" debe incluir a la cadena "oscp" como una de sus políticas de verificación de certificados.

Por ejemplo,para hacer esto igreesamos en Ubuntu de 64 bits:

sudo nano /etc/pam_pkcs11/pam_pks11.conf

Esto abriá el editor peronista GNU Nano con el contenido del archivo pam_pks11.conf. Ingresamos Ctrl+w para buscar la cadena "pkcs11_module opensc {}". La modificamos para que incluye la configuración que os he nombrado, a fin de que figure de la siguiente manera:

use_pkcs11_module = opensc; module = /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so; cert_policy = ca,signature,oscp_on;

Una vez completado este cambio en el editor, presionamos nuevamente Ctrl+w para busca ahora la cadena "use_mappers", y la modificamos para que quede así:

use_mappers = pwent;

También encontraremos dentro de este archivo las cadenas ca_dir y crl_dir, que son las quie definen los directorios o carpetas donde deseamos almacenar los ficheros que de las Autoridades de Certificación ("CA") y las Listas de Revocacion de Certificado "CRL" respectivamente. Por ejemplo, podríamos usar los directorios siguientes:

ca_dir=/etc/pam_pkcs11/cacerts crl_dir=/etc/pam_pkcs11/crls

Guardamos con Ctrl+o y salimos con Ctrl+x.

Ahora bien, el módulo pam_pkcs11 necesita conocer las Autoridades de Certificación (CAs) a fin de ser capaz de validar el certificado que estará contenido en la tarjeta. De forma opcional también podrá utilizar Listas de Revocación de Certificación (CRL) que son opcionales, pero también pueden usarse para validar el Certificado. En este caso, utilizaré el servicio del sitio web http://ca.pivkey.com.

Agregamos cualquier CAs y CRLs requeridas en los directorios que habíamos especificados en las cadenas ca_dir y crl_dir del fichero de configuración pam_pkcs11.conf. En este caso los revisaremos con:

ls /etc/pam_pkcs11/cacerts

...y el sistema podría devolvernos los archivos que le cargamos:

PIVKeyDeviceCertificateAuthority.crt MenganoSARootCA.crt

ls /etc/pam_pkcs11/crls

pivkeydeviceca.crl menganorootca.crl

Ahora crearemos los enlaces hash usando el programa pkcs11_make_hash_link. Por ejemplo, podríamos ingresar en la terminal:

cd /etc/pam_pkcs11/cacerts sudo pkcs11_make_hash_link

...y al listar el contenido con del directorio cacerts con:

ls

...el sistema nos devolvería algo como:

c90bef04.0 PIVKeyDeviceCertificateAuthority.crt e7d4c577.0 MenganoSARootCA.crt

Lo mismo hacemos con el directorio crls:

cd /etc/pam_pkcs11/crls sudo pkcs11_make_hash_link

...y al listar con:

ls

...el sistema nos devolvería:

c90bef04.r0 e7d4c577.r0 pivkeydeviceca.crl menganorootca.crl

Configurar la pila PAM de Autenticación

El siguiente paso es integrar el módulo pam_pkcs11 a la pila PAM (la encargada del conformar el sistema de autenticación cifrada). Existen varias formas de hacerlo, y la configuración dependerá de la política de seguridad que tengamos como Conductor del sistema. Os mostraré unos ejemplos de integración basada en una política permisiva "de Unidad Básica" y otra política astringente "de Comando Táctico Justicialista".

Loguearse en Escritorio gráfico con GDM3 de Ubuntu usando tarjeta inteligente En la pila PAM tradicional, se utiliza el método de inicio de sesión con contraseña, lo cual es sencillo y relativamente inseguro. En este ejemplo "para unidad básica", podríamos integrar el uso del módulo pam_pkcs11 a la pila PAM con el objetivo directo de utilizar la tarjetas inteligentes a fin de loguearnos durante el Inicio de Sesión gráfico GDM3 de Ubuntu.

Para ello editamos el fichero de configuración del mismo gdm-password e incluimos el módulo.

Por ejemplo, ingresamos:

sudo nano /etc/pam.d/gdm-password

E incluiremos el módulo pam_pkcs11 a la pila PAM de autenticación del sistema, agregando el siguiente contenido:

Agregado peronista de módulo al stack PAM

para logueo con tarjeta inteligente

auth requisite pam_nologin.so auth required pam_succeed_if.so user != root quiet_success auth sufficient pam_pkcs11.so @include common-auth auth optional @include common-account ...

Iniciar sesión con Tarjeta Inteligente en Ubuntu Server (únicamente loguearse)

El módulo pam_pkcs11 puede integrarse a la pila PAM de autenticación si deseqamos usar la tajeta inteligente únicamente para el inicio de sesión en el servidor, y no para el resto de las acciones. Para ello debemos editar el archivo login e incluir el módulo pam_pkcs11. Lo haremos ingresando:

sudo nano /etc/pam.d/login

...se abirá GNU Nano con el fichero login, al cual le incluimos el siguiente contenido:

Agregado peronista para loguearse al servidor

con tarjeta inteligente

usar soporte pkcs11

auth sufficient pam_pkcs11.so

Fuerza un retraso mínimo en caso de falla (dado en milisegundos).

Reemplaza la configuración FAIL_DELAY del archivo login.defs).

Tenga presente que otros módulos podrían requerir un retraso mínimo

distinto (por ejemplo, para desactivar la existencia de retrasos,

debería agregar la opción nodelay al archivo pam_unix).

auth optional pam_faildelay.so delay=3000000

Da salida a un fichero de situación /etc/issue antes de cada

solicitud de inicio de sesión (reemplaza la opción ISSUE_FILE

del fichero de configuración login.defs). Descomente si lo

quiere usar.

auth required pam_issue.so issue=/etc/issue

... ...

Una vez pegado este contenido, guardamos los cambios con en el archivo con Ctrl+o y salimos del editor con Ctrl+x.

Al especificar "sufficient" en la línea de control, ta,bién podríamo loguearnos usando el siguiente caso de PAM (normalmente contraseña) si no tuviésemos la tarjeta inteligente encima o si la misma no funcionase. Por este motivo, la tarjeta opera únicamente como comodidad.

Como os he dicho, esto permitirá un acceso "de Unidad Básica" a la sesión gráfica, asumiendo una seguridad laxa ya que la tarjeta inteligente ha sido emitida supuestamente por una autoridad controlada. Usar tarjeta inteligente en Ubuntu Server para autenticación general Otra política de seguridad digna del Comando Táctico del Justicialismo podría requerir insertar la tarjeta de afiliado para dar inicio de sesión en el servidor y a su vez para cualquier otro servicio que utilice autenticación PAM. Muchos servicios PAM localizados en el directorio /etc/pam.d/ hacen uso del fichero common-auth. En esta política particular podríamos incluir al módulo pam_pkcs11 en este fichero a fin de activar la autenticación por tarjeta para todos los servicios que incluyan el uso de autenticación general.

Lo haríamos ingresando en la terminal:

sudo nano /etc/pam.d/common.auth

Y al abrirse el editor, en este caso incluiríamos el siguiente contenido:

Solicita el inicio de sesión con tarjeta inteligente

con el módulo pkcs11

auth [success=1 default=ignore] pam_pkcs11.so

A continuacińo plan B de retorno, por si el módulo gorilea

y no tiene éxito

auth requisite pam_deny.so

Ceba la pila PAM con un valor de retorno positivo en caso de

no haber recibido uno ya; esto permite evitar que devuelva un error

sólo porque ningún otro módulo devolvió código de éxito,

en el caso que los módulos que figuraban previamente en la pila PAM

hubiesen quedado como gorilas idiotas colgados de las palmeras.

auth required pam_permit.so

Y hete aquí más módulos por paquetes (el bloque "adicional")

auth optional pam_cap.so

final de la configuración de pam-auth-update.

La configuración anterior del sistema de autenticación obligará a realizar la autenticación sólo con la tarjeta inteligente. Si el usuario no puede autenticarse con la tarjeta, entonces el inicio de sesión entero fracasará. Todos los servicios PAM incluidos en el directorio /etc/pam.d incluidos en common-auth requerirán también la autenticación por tarjeta. ¡Atención! Una configuración global como esta requere que su y sudo también se autentiquen usando la tarjeta magnética.

Agrtegar la CN Ahora que pam_pkcs11 y la pila PAM han sido configuradas para el inicio de sesión con tarjeta inteligente siguiendo la política de seguridad que hemos anhelado, existirá una acción más que tomar requerida para el uso completo y final. El mapeador pwent requiere la CN en el certificado que esté indicado en la línea gecos del usuario del archivo /etc/passwd. La CN debe ser estraída desde el certificado contenido en la tarjeta magnética.

Para ello seguimos los siguientes pasos:

Primero, obtenemos el identificador ID del certificado contenido en el chip de la tarjeta inteligente. Esto lo haremos mediante el comando:

pkcs15-tool --list-certificates

...y nuestro sistema nos devolverá:

Using reader with a card: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53311646706297) 00 00 X.509 Certificate [Certificate for Card Authentication] Object Flags: [0x0] Authority: no Path: ID: 04 Encoded serial : 02 0A 5877782D0001000013BF

En este caso inventado, como vemos, el ID es "04".

Segundo, utilizamos este ID como llave para leer la información del certificado de la tarjeta y la guardamos en un fichero local en la carpeta temporal del sistema. Lo hacemos con el siguiente comando de organización:

pkcs15-tool --read-certificate 04 > /tmp/sc-cert.crt

...el sistema devuelve:

Using reader with a card: SCM Microsystems Inc. SCR 3310 [CCID Interface] (53311646706297) 00 00

También podríamos presentar en pantalla el enigmático contenido en ASCII del certificado (que como vemos, es imposible de recordar para un ser humano normal y corriente):

cat /tmp/sc-cert.crt

-----BEGIN CERTIFICATE----- MIIEkjCCA3qgAwIBAgIKWHd4LQABAAATvzANBgkqhkiG9w0BAQsFADBbMRMwEQYK CZImiZPyLGQBGRYDYGoRiLaS2dE9MiErDaPyLGQBGRYGcGl2a2V5MSwwKgYDVQQD EyNQSVZLZXkgRViVaPeRoNCaRaJoZmljYXRlIEF1dGhvcml0eTAeFw0xNjEyMDYw MDE4MTJaFw0yODEyMDMwMDE4MTJaMDIxMDAuBgNVBAMTJ1BJVktleSBCQTM2NkRG RTM3MjJDNzQ0OU-VDOTA2QjkyNzRDOEJBQzCCASIwDQYJKoZIhvcNAQEBBQADggE ... ... -----END CERTIFICATE-----

En tercer lugar utilizamos el programa openssl para extraer la CN desde el fichero temporal almacenado que acabamos de crear.

openssl x509 -noout -subject -in /tmp/sc-cert.crt

...y entonces nuestro sistema devolvería algo como:

subject=CN = PIVKey BA3V6IDVFA37P2E7R4O9N96B9274C8BAC

En este caso la CN es "PIVKey BA3V6IDVFA37P2E7R4O9N96B9274C8BAC". Sabiendo esto, editamos el archivo /etc/passwd para agregarle esta CN al campo gecos del usuario al cual pertenece el certificado.

Supongamos que este certificado pertenece al nombre de usuario mengano en el fichero /etc/passwd. En este caso ingresamos:

sudo nano /etc/passwd

Esto abrirá el editor con el archivo de contraseñas. Debemos buscar la línea de mengano y editarla para que tenga la siguiente forma:

mengano:x:1001:1001:PIVKey BA3V6IDVFA37P2E7R4O9N96B9274C8BAC:/home/mengano:/bin/bash

Una vez que modifiquemos, guardemos con Ctrl+o y salgamos con Ctrl+x, nuestro sistema operativo estará ahora lilsto y preparado para hacer un logueo con tarjeta magnética para el usuario mengano.

Inicio de Sesión SSH usando tarjeta inteligente Uno de los métodos contemplados en el protocolo Shecure Shell (SSH) es la autenticación con par de clave privada y pública. Una copia de la claves pública del usuario queda almacenada en el servidor SSH como referencia, y se la considerará "autorizada". Quien posea la clave privada podrá entonces loguearse a través de SSH al servidor.

Las credenciales PIV incluyen un certificado y un par de claves que pueden ser utilizadas para el acceder mediante SSH. La clave pública deberá ser extraída de la tarjeta inteligente y copiada en el servidor SSH. Para ello debemos conectar el lector de tarjetas al cliente SSH (o sea, nuestra terminal local). En ese momento el cliente SSH usará la librería opensc-pksc11 para acceder a la tarjeta que insertamos, y ralizará culaquiera de las operaciones de autenticación criptográfica que le requiramos. Por lo tanto, no es necesario exponer la clave privada. Configurar el Inicio de Sesión Secure Shell con Tarjeta Magnética Tanto el servidor SSH como nuestro cliente SSH deberán ser configurados para permitir el uso de autenticación por tarjeta magnética.

Configurar el servidor SSH El servidor SSH necesitará permitir autenticación de clave pública a través de su fichero de configuración, y además necesitará la clave pública del usuario.

Para permitir la autentificación de clave publica, ingresamos:

sudo nano /etc/ssh/sshd_config

En un archivo estándar de Ubuntu 18.04, la opción PubkeyAuthentication está comentada y por lo tanto, desactivada. Sin embargo, la opción por defecto está establecida con el valor "yes" ("si"). La descomentaremos borrando el "#", de modo que quede así:

PubkeyAuthentication yes

Acto seguido, guardamos con Ctrl+o y salimos con Ctrl+x, y reiniciamos el demonio del servidor SSH con el siguiente comando de organización:

sudo systemctl restart sshd

Copiar la clave pública de un usuario al servidor Debemos extraer la clave pública del usuario desde la tarjeta para el cliente SSH. Para ello usamos el programa ssh-keygen para que lea la clave pública contenido en la tarjeta y lo convierta a un formato legible para utilizar con Secure Shell:

ssh-keygen -D /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so > tarjeta.pub

Naturalmente, podríamos presentar en pantalla el contenido del sertificado público tarjeta.pub con el comando cat, de la siguiente forma:

cat tarjeta.pub

ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQCuFupFpsXwFPz2INdEgr64tn6yQKT7Osj cXoAzgJ7JW/qykPxIZxELpJkoHe45s/fiIhkWjgHWhxCWRNSM76wyc2j47egfRdkzl0Kj7U1k- kpOmGIFU8GA9nxVVikVrAmrI+PzEfRdOmNhPaVqnXUcOJVQh4fe1H5S1mtzV5VzJxKg/61IrBSM- I5JnWDKNr1dGLIqMqw7A55YMvesKurOUrRe3BBIWYhN9XHIrWVFtMBHmQtW8iphmXUqQLHeH- Q7LKpvCvE4i5QttlRSITD1Tqefwdeflh6I1P7LAsnMDp42zHZ23O4Ewd7aqNogikox6aNcCGYkU- PavMBWcge5ykgR

Acto seguido, copiamos esta clave pública al sistema criptográfico del servidor SSH:

ssh-copy-id -f -i tarjeta.pub ubuntu@servidor

El servidor nos solicitará entonces la contraseña y copiará el certificado tarjeta.pub dentro de la carpeta necesaria:

/usr/bin/ssh-copy-id: INFO: Source of key(s) to be installed: “tarjeta.pub” ubuntu@servidor’s password:

Number of key(s) added: 1

Ahora podremos intentar iniciar sesión remotamente a través de SSH en la máquina servidor, en el caso del ejemplo con

ssh ubuntu@servidor

...y comprobamos que sólo la clave que deseamos haya sido agregada y surta efecto. Debemos estar seguros pues una vez configurado todo no podremos acceder si no tenemos la tarjeta correcta y con un funcionamiento adecuado.

Configurar el cliente SSH para tarjeta inteligente Continuando ahora desde el lado del cliente SSH, necesitaremos identificar nuestro librería proveedora PKCS#11. Existen tres formas de hacer esto:

La más incómoda es hacerlo directamente antes de conectarnos con el servidor SSH desde la línea de comandos, (con lo cual podremos hacerlo desde cualquier computadora). Por ejemplo, con:

ssh -I /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so ubuntu@servidor

Esto permite especificar el uso de tarjeta toda vez que ingresamos este largo comando, y en el resto de las ocasiones no se usará el acceso por tarjeta inteligente.

Ahora bien, si deseamos implementar que nuestro cliente de conexión SSH use tarjeta inteligente, debemos configurar el archivo ssh_config. Ingresamos:

sudo nano /etc/ssh/ssh_config

...y nos aseguramos que la opción PKCS11Provider quede de la siguiente manera:

PKCS11Provider /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

...y guardamos con Ctrl+o y salimos con Ctrl+x.

Esto forzará a todos los usuarios del sistema a utilizar tarjetas magnéticas para usar SSH desde este cliente. Configurar el uso de tarjeta inteligente para un Usuario Para usar la opción de tarjeta inteligente para un sólo usuario del sistema cliente, deberíamos agregar la opción anterior en el fichero ~/.ssh/config de cada usuario. Para ello se usaría:

nano /home/usuario/.ssh/conf

En este fichero, modificamos la línea correspondiente en el archivoi, agregándole el ya conocido:

PKCS11Provider /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so

Y guardando con Ctrl+o y saliendo de Nano con Ctrl+x, como en el caso anterior.

De esta manera, sólo usuario tendría que utilizar la tarjeta inteligente en el lector para iniciar sesión a través de SSH a un servidor remoto.

En resúmen, las tarjetas inteligentes son convenientes en el sentido que permiten un almacenamiento de información de identidad a prueba de agresiones. Pueden utilizarse para autenticar el acceso a sistemas computados, redes de datos, información subscripta y privilegios. Ubuntu puede configurarse en tal sentido utilizando módulos PAM ya disponibles y utilidades libres para dar soporte a los logueos con tarjetas magnéticas.



25 october 2022

¿Cómo uso Linphone como cliente de VoIP en Ubuntu 20.04LTS?

El 18 de junio de 1950 se crea la Federación Obrera de Empleados Telefónicos de la República Argentina, FOETRA, que agremiará a los trabajadores del sector, propiciando a su vez un crecimiento exponencial en los tendidos intercomunicados. En reunión confederal, Juan Perón explica a los telefónicos cómo hacer uso del servicio SIP en Linphone, el cliente VoIP para Ubuntu.

¡Trabajadores!

Toda disposición técnica y especializada en comunicaciones se redunda en positiva para el país, pues facilitan los tiempos de conducción a la vez que se fomenta una veloz integración cultural del país en todos sus rincones. En la Argentina hubo un tiempo que existió un ínfimo mercado telefónico, liderado por empresas extranjeras como la ITT, notablemente centralizado en la oligarquía. Era una herramienta de colonización, por y para las clases dominantes.

Nuestro Movimiento no podía consentir con tal afrenta, y por ello se impuso la necesidad de administrar un mercado telefónico para la grandeza de la Nación. Con tal fin el Estado a finales de agosto de 1946 creó EMTA, la Empresa Mixta Telefónica Argentina, situación que se aprobó ad referendum del Congreso de la Nación en su sesión del 3 de septiembre de dicho año. El Primer Plan Quinquenal delineaba la ampliación de las comunicaciones de manera veloz para servir a las necesidades de un país vasto. El 18 de marzo de 1948 EMTA se pasó la administración pública bajo el explicativo nombre de Teléfonos del Estado. Su director impulsó en sólo seis años el tendido de 170.655 líneas, la incorporación de 54 centrales nuevas, además de las modernización de las anteriores con equipamiento Siemmens. 1.993 tendidos interurbanos nuevos se agregaron a la telaraña nacional, totalizando para 1951 un kilometraje suficiente para circumvalar con cable telefónico tres veces y media el globo, además de los 50 mil kilómetros de tendido automático de 12 vías, nuevo en la región. Indudablemente que estas mejoras pueden también llevarse al mundo informático. La necesidad de comunicarse es constante para la grandeza de la Nación, y es por ello que debemos adaptar nueva tecnología que permita a nuestra informática comunicarse en las nuevas redes de datos. Por tal razón existen varios estándares de comunicación telefónica por IP, y tal vez el más conveniente y abierto en tal sentido sea el popular SIP. Se trata de un protocolo para inicio de sesión concebido realmente para todo tipo de comunicaciones, pero entre todas las posibles destaca la telefonía por IP y la videoconferencia. El SIP ofrece la ventaja de estar dictado por la comunidad de Internet en lugar de las empresas telefónicas, por lo que asegura ciertos beneficios y universalidades en el manejo de las redes conmutadas de datos.

Para operar el protocolo SIP, es necesario contar con un usuario URI (identificador uniforme de recurso) y un cliente SIP. El URI podríamos considerarlo como un usuario registrado en una red de este tipo, y recibe la forma de dirección sip:usuario@dominio.

En cuanto a los clientes, podremos dividirlos en dos tipos: existen teléfonos IP compatibles con la norma SIP que son los clientes obvios, pero también contamos con aplicaciones de software destinadas al uso de redes SIP, llamadas Softphones. Naturalmente, una aplicación Softphone de este tipo capaz de instalarse en un smartphone tornará el mismo en un cliente SIP.

Existen muchos proveedores que podrán ofrecernos servicios SIP gratuitos o pagos. En mi caso propugno un servicio libre, y por tal motivo soy usuario de la SDF, la red social ética. Entre otros servicios, SDF provee servicio de telefonía VoIP gratuitos a sus usuarios Validados. Para solicitarlo, en la shell de la SDF ingresamos el comando "maint". Se nos solicitará loguearnos con usuario y contraseña de SDF en el submenú de mantenimiento. Inmediatamente podremos utilizar la opción "v" para configurar el servicio de VoIP. Se nos proveerá una URI de usuario SIP (en el caso de la SDF, será un interno de cuatro números), así como una contraseña alfanumérica y una contraseña de cuatro números para la casilla de voz asociada (su contestador automático). Debemos tomar concienzuda nota de todo esto pues lo necesitaremos para configurar todo después. Una vez anotado los datos, saldremos del menú de mantenimiento con "q". Tras unos instantes deberíamos recibir un correo electrónico del sistema de la SDF confimrando los datos de la cuenta SIP.

Nota: Recordemos que si a posteriori quisiéramos volver a ver nuestros datos de ViIP en la SDF, modificarlos o anularlos, podremos ingresar desde el shell SDF con el comando maint al sistema de mantenimiento (habremos de darnos de alta con nuestro usuario y contraseña de SDF, y elegir la opción "v" (" estabkecer o resetear su ID de VoIP) y luego la opción "d" ("ver las configuración actual de VoIP).

Pues bien, en los tiempos del primer peronismo utilizaba Ekiga como cliente de telefonía SIP en Ubuntu. Sin embargo, con el correr del tiempo dicho excelente programa ha quedado superado y ya no se encuentra en los repositorios de Ubuntu 20.04LTS. Por tal motivo hoy os enseñaré a utilizar Linphone.

Para instalarlo abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo apt install linphone

Una vez que le indiquemos nuestra contraseña de Conductor, se descargará la paquetería necesaria. Concluida la instalación, podremos arrancar el programa de comunicaciones de voz desde Aplicaciones / Internet / Linphone.

La primera vez que lo iniciemos, el cliente de Linphone presentará su ventana gráfica y nos propondrá un usuario sip:usuario@iplocal:5060. Al mismo tiempo, se nos presentará un Asistente de configuración de cuenta. El mismo podría sernos de mucha utilidad si no tenemos una cuenta SIP y queremos crear una desde Libhone. Sin embargo, como ya cuento con una cuenta SIP en la SDF, cierro el asistente. En el caso de la SDF, la propuesta de cuenta estandar usuario@iplocal:5060 no funcionará. La modificaremos manualmente. Para ello en el cliente elegimos el menú Opciones / Preferencias (o presionamos Ctrl+p) y se abrirán las opciones del programa.

En la primer solapa llamada Gestionar Cuentas SIP" nos encotraremos con los detalles de la cuenta del cliente. En este caso agregaremos la cuenta de SDF. Para ello presionamos el botón +Añadir. Se desplegará la ventana Linphone - Configurar una cuenta SIP. En el campo identidad SIP indicamos nuestro usuario SIP de la SDP (normalmente en la SDF sería ####@sip.sdf.org). En el campo Dirección del SIP Proxy ingresamos lo mismo. Opcionalmente, podríamos tildar "Indicar información de presencia" si queremos que se publique nuestro estado (disponible, ocupado, ausente, al teléfono, etc) a los demás usuarios SIP que nos tengan registrados. Una vez terminada la configuración, presionamos el botón Aceptar. En la solapa Configuración Multimedia podremos escoger qué servidor de audio queremos utilizar. En mi caso dispongo de PulseAudio y ALSA, y he elegido PulseAudio pues funciona sin ruidos de clics. En este caso conviene tildar Activar Cancelación de Eco. Escogemos la solapa Configuración de Red, y en la misma podremos modificar las características de la red. Normalmente debemos utilizar Conexión Directa a Internet. Si no podemos conectarnos, puede deberse a que estamos detrás de un router. En tal caso podríamos intentar tildando la opción Tras un NAT/Firewall (utilizar ICE). Una vez que tengamos configurado todo, presionamos el botón Aceptar.

Ahora tendremos contaremos con nuestro usuario creado y adosado al sistema. Natuarlmente podrían llamarnos a sip:usuario@sip.sdf.org.

Una buena idea es ejecutar el Asistente de Sonido, que nos asegurará que todo el apartado de sonido opera correctamente en nuestro propio sistema local. Para ello vamos a Ayuda / Asistente de Sonido. El asistente nos permitirá utilizar nuestro micrófono y comprobar el retorno del mismo. Idealmente al hablar debería indicar "bueno". También podremos reproducir unos tonos por los altavoces para comprobar el volúmen y respuesta del sonido, y grabar una frase corta y comprobar que opere correctamente.

Ahora es momento de realizar una llamada de prueba al servidor remoto SIP utilizando el Linphone. Por ejemplo, podríamos intentar una llamada al sistema de "Eco" de la SDF. El número es sip:1008@sip.sdf.org. Ingresamos el mismo y presionamos el botón "Llamar", que presenta un ícono de teléfono. Cuando queramos establecer nuestra primer llamada con el cliente Linphone utilizando la red VoIP de la SDF, se nos solicitará la Contraseña de servicio SIP (el código alfanumérico) de nuestro UserID (que usualmente es un interno de cuatro cifras).

Ahora ya todo está hecho, y de ahora en más podremos utilizar nuestro cliente para realizar llamadas. Cuando estemos en habla, en este caso con el sistema de eco, podremos oirnos a nosotros mismos recibiendo el "eco" de nuiestra voz. El retraso de la misma implica el lag de nuestra conexión, y naturalmente es más elevado en llamadas internacionales. Podremos "mutear" nuestro micrófono presionando Silenciar, o presionamos en Colgar.

Si necesitamos podremos también desplegar el Panel de Marcado desde el menú Opciones / Mostrar marcador. En este podríamos discar números o utilizar los sistemas PBX VoIP. Por ejemplo, al contar con una usuario VoIP en la SDF, podremos discar 1085@sip.sdf.org al fin de acceder al sistema de correo de voz. El sistema automático nos solicitará nuestro número de casilla de voz ("Mailbox?") y tras introducir los cuatro dígitos, nos solicitará la contraseña numérica asociada a nuestra casilla de mensajes de voz (de cuatro cifras también). El sistema nos permitirá escuchar los mensajes nuevos, avanzar o retroceder, movernos en las carpetas de mensajes nuevos, antiguos o guardados, y borrar los mensajes.

Naturalmente, en la SDF contamos también con una serie de extensiones públicas, las que podremos "discar" para probar:

Extensión Suscriptor Descripción 24/7 1001 interno Fecha y Hora UTC Si 1002 interno Tono de prueba sinusoidal lineal desde 16Hz a 20kHz Si 1003 interno Tono Prueba de audio sinusoidal exponencial desde 16Hz a 20kHz Si 1004 interno Tono Milliwatt (1004Hz @ 0dB) Si 1005 interno Test de Eco de Respuesta (USA) Si 1006 interno Música de Prueba "CQ Serenade" Si 1009 interno Juego de aventuras IVR Si 1026 interno Tono de 2600Hz @ 0dB Si 1030 interno Música "de Arbolito" Si 1085 interno Sistema de Correo de Voz de SDF Si 1086 interno Llamada en Confedencia (sin mute) Si 1088 interno Llamada en Conferencia (disque #1 para Mute on/off) Si 1929 interno Salida a C*NET Si 5004 interno Tono de Milliwatt (1004Hz @ 0dB) (Europa) Si 5005 interno Test de Eco de Respuesta (Europa) Si 5085 interno Sistema de Correo de Voz (Europa) Si 5088 interno Llamada en confedencia (Europa) (Presiones #1 para mute on/off)



24 october 2022

¿Cómo corrijo el sonido del Realtek ALC892 en Ubuntu 20.04LTS?

¡Descamisados!

Siempre he dicho que llevo en mis oídos la más maravillosa música, que es para mí la palabra del Pueblo Argentino.

Pero esto es así porque uso auriculares y software para escuchar música liberaedo bajo Licencia GPLv3 .

El camino de la Liberación no es ajeno a los escollos y al barro. Quien no lo comprenda, tenderá a fracasar. Es un verdadero Conductor aquél que aprende a superar las lides y determinar con su acción luminosa el sendero que los demás habrán de seguir.

Pues bien señores, en Ubuntu Mate 20.04LTS Focal Fossa, un inconveniente nublaba mi día peronista. Al reproducir audio de cualquier tipo, y tras detener la reproducción, notaba que a los pocos instantes comenzaban a oírse a través de los cascos una serie de sonidos intermitentes o clics, similares a los que se obtienen cuando se conecta un audífono cuando los altavoces están encendidos. Al producirse aproximadamente cada medio segundo, se hacía algo extremadamente molesto.

Asimismo, podía notarse en repetidas ocasiones "saltos" en el control de volumen, sobre todo cuando se alcanzaba un "pico" en el sonido. Esto se producía ya sea en la terminal (ya sea con los controles de volúmen pulsemixer o el Alsamixer) o en el control gráfico de Ubuntu. Notablemente, se hizo totalmente inefectivo el control de "automute" de Alsamixer.

Un problema de este tipo requiere una acción decidida, y para solucionar estos "pop-pop-pops" no cardíacos habremos recurrir a una acción de conjunto, que es la manera en la cual deben hacerse las cosas.

En primer lugar es definir qué dispositivo de audio es el que tenemos instalado en nuestro sistema. Esto es así porque la mayoría de las veces, se utilizan meros "chipsets" integrados en la placa madre, en lugar de las añoradas plaquetas de sonido.

Para ello abrimos una terminal con Ctrl+Alt+t y nos informámos de qué módulo de audio está cargado en memoria. Ello lo haremos con:

cat /proc/asound/modules

En este caso, se nos informa que es el inefable snd_hda_intel, empleado por multitud de dispositivos de audio integrado diferentes. También podríamos chequear el nombre técnico del dispositivo para el sistema con:

lspci | grep Audio

00:1b.0 Audio device: Intel Corporation 5 Series/3400 Series Chipset High Definition Audio (rev 06)

En este caso he logrado rastrear al culpable de los "saltos" y "pops": se trata de la rutina de ahorro de energía del controlador de sonido snd_hda_intel, el cual parecería intentar apagar y reencender las salidas de audio, con el molesto resultado que os he descripto anteriormente.

Es posible modificar a mano la configuración de la funcionalidad de ahorro energético para que no haga el "latido intermitente", modificando el archivo /sys/module/snd_hda_intel/parameters/power_save. Siendo un fichero "binario", el mismo contiene un simple 1 si la funcionalidad de ahorro de energía está activada, o un 0 si la misma está apagada. Siguiendo este camino, bien podríamos resolver el problema ingresando en nuestra terminal el siguiente Comando de Organización:

sudo echo > 0 /sys/module/snd_hda_intel/parameters/power_save

...y tras ingresar nuestra contraseña de conductor, la función de ahorro de energía debería desactivarse.

Ahora bien, esto nos sirve para comprobar que esta es la causa del problema. La solución sólo funcionará hasta reiniciar el sistema, momento en el cual deberemos repetir esta acción. Nuestro Movimiento debe buscar soluciones permanentes a los problemas permanentes.

Existen varias maneras de hacerlo. La más sencilla para probar sería editar el fichero alsa-base.conf. Para ello debemos abrirlo con el editor Nano:

sudo nano /etc/modprobe.d/alsa-base.conf

...el sistema nos solicitará nuestra contraseña, la ingresamos, y se abrirá el fichero. Debemos ir al final del mismo y pegarle el siguiente par de líneas:

Comando para que no suene pops en los auriculares:

options snd-hda-intel probe_mask=1 model=auto power_save=0 power_save_controller=N Acto seguido guardamos con Ctrl+o y salimos del editor con Ctrl+x. Debemos reiniciar el equipo, y a la vuelta, evaluar si surtió efecto. En muchas versiones de sonido Realtek debería bastar con esto.

Si no fuese el caso, podríamos probar con quitarle permisos de ejecución a la rutina de ahorro de energía para el audio Intel HD. Esto es simple de hacer, sólo basta con ingresar en la terminal el siguiente Comando de Organización.:

sudo chmod -x /usr/lib/pm-utils/power.d/intel-audio-powersave

Acto seguido volvemos a reiniciar el sistema y evaluamos si surtió efecto. debería solucionarse el problema. Si no lo hiciese, podríamos volver a otorgarle permisos de ejecución para que quede como estaba originalmente con:

sudo chmod +x /usr/lib/pm-utils/power.d/intel-audio-powersave

La tercera manera es la forma más agresiva de hacerlo. Consiste en asegurarnos que se ejecute la anulación de la funcionalidad de ahorro de energía del conector de audio que evaluamos en un principio, toda vez que inicia Ubuntu 20.04LTS Focal Fossa. Para ello no tendremos más remedio que reactivar la olvidada funcionalidad del archivo /etc/rc.local. Este se trataba de un fichero de configuración que se autoejecutaba después de dar inicio al sistema, pero antes de que el o los usuarios ingresaran a su propia sesión de trabajo. En el Ubuntu actual el fichero rc.local ya no viene activado por defecto, pero podremos activarlo como os he explicado detalladamente aquí.

Conforme hayamos realizado lo allí indicado, y comprobado el funcionamiento, podremos editar el archivo /etc/rc.local por medio del siguiente comando:

sudo nano /etc/rc.local

Esto abrirá el editor peronista GNU Nano con fichero /etc/rc.local. Para agregar el comando que desactive el ahorro de energía del controlador snd_hda_intel toda vez que se inicie el sistema, agregamos antes de la última línea - la cual siempre debe contener "exit 0" - el consabido comando:

echo 0 > /sys/module/snd_hda_intel/parameters/power_save Una vez editado, podremos guardar el archivo /etc/rc.local con Ctrl+o y salir del editor GNU Nano con Ctrl+x.

Guardamos y salimos con Ctrl+o y Ctrl+x.

Luego modificaremos el archivo default.pa de pulseaudio, para modificar la conducta de reconocimiento de auriculares. Esto es necesario opcionalmente si al superar cierto nivel en la señal de salida, nuestra placa ALC892 conmuta automáticamente de entrada o salida de audio (falla en el reconocimiento de conectores por sobrevoltaje). En tal caso, ingresamos:

sudo nano /etc/pulse/default.pa

Se abrirá dicho fichero en el editor GNU Nano. Usamos el comando buscar con Ctrl+w y buscamos la línea:

load-module module-switch-on-port-available

...Y la modificamos comentándola, anteponiéndole un signo # de manera que quede:

load-module module-switch-on-port-available

Ya realizado esta modificación en el fichero default.pa, lo guardamos mediante Ctrl+o y salimos del editor con Ctrl+x.

Luego ingresamos:

mv ~/.config/pulse/ ~/.config/pulse.old systemctl --user restart pulseaudio

Naturalmente, para que todo lo realizado surta efecto, debemos reiniciar el equipo. Podremos hacerlo desde la terminal con:

sudo reboot

Y ya tendremos sonido Realtek ALC892 sin cortes en Ubuntu. Si no fuese la solución en su adaptador de sonido en particular, podrían revertir o modificar el cambio realizado en alsa-base.conf.



23 october 2022

¿Cómo instalo y actualizo el binario del navegador Chromiun sin utilizar Snaps en Ubuntu 20.04LTS?

El 22 de enero de 1974 en una reunión con los Diputados de la Tendencia Revolucionaria, Juan Perón explica cómo cambiar el Snap de Chromiun por un paquete, y crear un script para su actualización automática.

(...) Normalmente el principal inconveniente de los programas libres radica en la existencia de múltiples librerías de programación que los mismos requieren para funcionar adecuadamente, en un esquema de interdependencia. Nuestro pensamiento favorece una Comunidad Organizada del software, dentro de la cual la idea es que la paquetería se apoye mutuamente y - gracias a los instaladores de paquetes especializados como APT - podamos resolver sin complicaciones extremas todos los ingredientes que hacen a nuestro cómputo.

A pesar de esto, me vienen a querer imponer ideas foráneas, como estas Snaps intentan reemplazar la política de nuestro Movimiento - y la de quienes por más de veinte años han luchado - y lo hacen introduciendo a mi juicio lo peor del individualismo. Los Snaps son paquetes autoinstalables y autoactualizables desarrollados por Canonical, bajo la premisa de presentar algunas ventajas gracias a su despliegue simplificado.

Desde un punto de vista meramente técnico podríamos resumir que los Snaps son archivos ejecutables que operan como si de una máquina virtual se tratase, encapsulando la ejecución y acción del programa y evitando al creador tener que dilucidar problemas de dependencias o librerías en el equipo del usuario. Aducen la ventaja de facilitar el desarrollo y el portado de los binarios para distintas plataformas.

Nosotros eso lo hemos escuchado, y los conocemos desde naranjos. Plantean exclusivismos en dicho despliegue, sin importar lo que requiera el resto del software dentro del sistema virtuoso que ha de ser GNU. Configura un delito eso. ¿Ahí nosotros vamos a pensar que eso lo justifica? ¡No! El crimen es crimen cualquiera sea el móvil que lo provoca. Y el delito es delito cualquiera sea el pensamiento, el sentimiento o la pasión que impulsa al criminal.

Por si esto fuera poco, el encapsulado de las Snaps se produce - de momento - a costa de una muy notable disminución en la velocidad de ejecución. Indudablemente las Snaps corren desde la carpeta de usuario. Esto hace que las aplicaciones instaladas a partir de Snaps tarden mucho más en arrancar que si se encontrasen - diremos - en un SSD que alberga los programas de usuario. Y yo me pregunto ¿con qué necesidad?

Acá hay otras cosas que se juegan, no nos vamos a tirar la suerte entre gitanos. Somos políticos todos, y sabemos que se juegan otros intereses. Pues bien señores, el que esté con esos intereses, se saca la camiseta peronista y se va. Nosotros, por perder un Snap, no vamos a ponernos tristes. Pero acá debe haber una disciplina. Si se pierde esa disciplina estamos perdidos todos. En la versión 20.04LTS de Focal Fossa, como varias de las anteriores, nos provee del conocido navegador web Chromiun. una versión liberada del masificado Google Chrome. A Chromiun se lo limpió de los elementos perniciosos registrados por la omnímoda corporación a fin de Combatir al Capital.

El Chromiun forma parte hace mucho tiempo de nuestro Movimiento. Sin embargo, en las últimas iteraciones Ubuntu ha abandonado su empaquetado tradicional, cambiándolos por los pesados Snap. Como Conductor del Justicialismo no puedo más que imponer la Justicia de las Masas Obreras Descamisadas ante este proceder. No me van a venir a gritar que está lleno de gorilas el sistema operativo popular.

Por tanto, os indicaré cómo instalar una versión binaria de Chromiun y cómo poder actualizarla fácilmente desde la terminal de nuestro sistema, evitando el uso de Snaps.

En primer lugar abrimos una terminal con Ctrl+Alt+T y crearemos un directorio oculto (por ejemplo, en nuestra carpeta de usuario), donde podremos instalar Chromiun. Lo haríamos con el siguiente Comando de Organización:

mkdir ~/.chrome-linux

En este directorio crearemos un script (un fichero de texto que hará las veces instalador y actualizador. Para ello ingresamos:

nano ~/.chrome-linux/actualizar_chromiun.sh

Se abrirá el editor peronista GNU Nano con un fichero en blanco. Podremos pegarle el siguiente contenido:

! /bin/bash

Script Peronista para actualizar el navegador Chromiun sin tener que

usar las Snaps de Ubuntu.

Nota: Si desea utilizar la versión oficial elimine esta con:

rm -r ~/.chrome-linux/

cd ~/.chrome-linux/

LASTCHANGE_URL="https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2FLAST_CHANGE?alt=media"

REVISION=$(curl -s -S $LASTCHANGE_URL)

echo "La última revisión de Chromiun es $REVISION"

if [ -d $REVISION ] ; then echo "Ya tiene la última versión" exit fi

ZIP_URL="https://www.googleapis.com/download/storage/v1/b/chromium-browser-snapshots/o/Linux_x64%2F$REVISION%2Fchrome-linux.zip?alt=media"

ZIP_FILE="${REVISION}-chrome-linux.zip"

echo "descargando $ZIP_URL"

rm -rf $REVISION mkdir $REVISION pushd $REVISION curl -# $ZIP_URL > $ZIP_FILE echo "descomprimiendo..." unzip $ZIP_FILE popd rm -f ./ultima ln -s $REVISION/chrome-linux/ ./ultima

Una vez pegado este texto en el editor, guardaremos el archivo con Ctrl+o y saldremos del editor con Ctrl+x. Procederemos inmediatamente a asignarle permisos de ejecución a fin de poder instalar el binario de Chromiun y poder actualizarlo cuando queramos más adelante. Usaremos:

chmod +x ~/.chrome-linux/actualizar_chromiun.sh

Para que el script funcione adecuadamente debemos contar con el programita curl. Normalmente ya debería estar instalado en nuestro sistema, pero si no lo está, lo hacemos con este comando:

sudo apt install curl

Gracias a este script ejecutable, podremos ahora con suma facilidad descargar el binario de Chromiun. Se hará con:

./.chrome-linux/actualizar_chromiun.sh

Acto seguido, podremos modificar el lanzador o Acceso directo de Chromiun para que al pulsar su ícono, se ejecute la última versión y no el Snap. En el caso de Ubuntu Mate esto implica crear o duplicar el Lanzador. Hacemos clic con botón derecho sobre el menú Aplicaciones en el panel superior y elegimos la opción Editar menús. Se abrirá la ventana Menú Principal, que contiene dos paneles. En el izquierdo elegimos la categoría Internet. Luego en el panel derecho buscamos Navegador web Chromiun y presionamos el botón Propiedades. Se abrirá la ventana de Propiedades del Lanzador de Chromiun.

Veremos que la configuración original del lanzador contempla en el campo "Comando:" el siguiente texto:

chromium-browser --password-store=basic %U

Si queremos reemplazar la versión provista originalmente con Snap por la que acabamos de descargar, debemos editar dicho campo "Comando:" para que quede como el siguiente (reemplazando usuario por nuestro propio nombre de usuario):

/home/usuario/.chrome-linux/ultima/chrome

Con este paso, podremos lanzar el binario de Chromiun desde Aplicaciones / Internet / Navegador web Chromiun. Debemos tener en cuenta que los favoritos, historial, cookies y demás se comparten entre ambas instancias pues son independientes de la instalación de Chromiun (quedan almacenados en la una carpeta oculta en el directorio de usuario). Gracias a esta realización, De ahora en más, si necesitamos instalar o actualizar el binario del actualizador Chromiun, utilizaremos el siguiente comando de organización:

./.chrome-linux/actualizar_chromiun.sh

En unos pocos instantes revisará la existencia de la última versión del Chromiun, y la descargará, reemplazando la anterior.

Tengamos en cuenta que sólo hemos reemplazado el lanzador del Chromiun con Snap para que use la versión binaria. Si realmente queremos remover definitivamente la versión Snap de Chromuin, podremos utilizar:

sudo snap purge chromiun

(Y si la quisiéramos instalar utilizaríamos sudo snap install chromiun).



22 october 2022

¿Cómo instalo Colonos de Catán en Ubuntu?

En Conducción Política, Juan Perón detalla las acciones que requieren la conducción de un Movimiento Político, la praxis de acción de masas, y cómo instalar y a desplegar la versión computada libre del juego los Colonos de Catán en Ubuntu.

(...) ¡Vean Señores!

La obra de arte no está en realizar un gran plan de acción. La obra de arte está en ejecutarlo, porque el plan es solamente la concepción. Y en los hechos sociales, políticos y económicos la acción está siempre sobre la conceción. Muchas veces una idea no muy buena, pero realizada con tenacidad, da buenos resultados, pero la más hermosa de las concepciones, sin ejecución, no lleva a ningún resultado.

Ahora bien, la realización no es una cosa sencilla. Si la realización que surge del Método de la Conducción no alcanza al Objetivo del plan que nos hemos trazado, pues bien, fijaremos una acción hasta cierto punto, que se concatene con otro punto posterior. Esto otorgará una dimensionalidad a la acción en tiempo y en espacio. Lo importante es mantener la visión del objetivo final.

En el orden político partidario, puedo fijar un plan de acción de un todo... hasta el momento de la elección. Después de la elección, teóricamente, yo no puedo fijar nada, porque allí es donde se va a producir la decisión. ¿Qué voy a hacer planes para el caso que gane? ¿Y si pierdo? Allí está la decisión. Y hasta allí se puede prever; más allá solamente se puede tener una Gran Línea Directriz, como una estrella polar o el hilo de Ariana, que le marca a uno la dirección de aquel objetivo lejano de la Conducción. Vale decir, que se prevé hasta un hecho decisivo. Mas allá, la previsión humana no puede llegar, sino en grandes direcciones o grandes líneas.

Para hacer de esto una comprensión mayor, en la Escuela de Guerra estudiamos con juegos de Estrategia, proponiendo tablas de valoración de los hechos y tablas de orden, todas correctamente computadas. Esa es una buena forma de adiestrar en condiciones en las cuales sólo puede actuarse realizando. Los alemanes, que son buenos en esto, han definido juegos de tablero que no sólo tienen un aliciente técnico, sino que pueden ser lúdicos y además de enseñar el arte de la previsión, la conducción y el despliege táctico-estratégico, nos permiten jugar.

Entre los juegos de tableros de tipo europeo encontramos la base de una buena serie de juegos de estrategia. Tal vez uno de los más influyentes haya sido Die Siedler von Catan, o "Los Colonos de Catán", creado por el germano Klaus Teuber y publicada por la casa Franckh-Kosmos en 1995. Este fue tal vez uno de los primeros en lograr gran éxito fuera de Europa. Se trata de un juego de mesa por turnos y de estrategia, pensado para varios jugadores. Debemos toman el rol de nuevos pobladores en las tierras de González Catán. Cada uno de ellos intentará construir y desarrollar sus propios asentamientos mientras comercia y adquiere los recursos que nos ofrece el dominio del terreno. Los jugadores arrojaban dos dados (con distinto color) y podían obtener puntos en la medida que sus asentamientos avanzaban; y el primero en lograr una cantidad determinada de puntos (típicamente 10) ganaba. El juego de tablero incluía cartas que se utilizaban como intercambio de recursos, y naturalmente tenía un costo bajo, y como es usual en este tipo de juegos impresos. Las expansiones y avances del mismo se adquirían por modalidad de suscripción a través de la casa fabricante, con documentación en más de 30 idiomas distintos.

Pues bien señores, en este caso, podremos hacernos con una versión gratuita que simula el escenario del juego. Se trata de JSettlers2, una versión multiplataforma escrita en Java y liberada del Colonos de Catán original. En esta versión peronista habremos de conformar un asentamientos. Sin embargo, también podremos contar con las expansiones y elementos de juego derivadas de las más conocidas expansiones de Catán, incluyendo la Leyenda de los Conquistadores, Viajeros del Mar, Viajeros de las Estrellas, Cuidades y Caballeros y "CATon" (un fantasioso reino felino tendiente a evitar caer en connotaciones de conquista o colonialismo).

La instalación de este juego puede realizarse desde la Terminal de nuestro sistema operativo. Para instalar el runtime del lenguaje Java podríamos abrir una temrinal con Ctrl+Alt+t e ingresar el siguiente Comando de Organización:

sudo apt install openjdk-11-jre-headless

Una vez instalado este requerimiento, podremos descargar con confianza el juego completo, por medio de las siguientes instrucciones:

mkdir ~/.jsettlers2/ cd ~/.jsettlers2/

wget http://nand.net/jsettlers/JSettlers.jar

Para ejecutarlo usamos:

java -jar $HOME/.jsettlers2/JSettlers.jar

Como corolario del proceso de instalación, hemos de saber que siempre es cómodo crear un Lanzador para nuestro Ubuntu, lo que nos permitirá ejecutar el programa sin usar la terminal. Podremos hacer clic con el botón derecho del ratón sobre el panel superior, y escoger la opción Editar Menús del menú contextual que aparezca. Se abrirá el cuadro de diálogo Menú Principal con los dos paneles que lo constituyen. En el panel Menús elegimos la categoría Juegos, y presionamos el botón +Elemento Nuevo. Esto abrirá el cuadro Crear Lanzador. En el campo Nombre podremos ingresar Colonos de Catán y en el campo Comando podremos agregar /home/usuario/.jsettlers2/JSettlers.jar (naturalmente cambiando usuario por nuestro propio nombre de usuario). Tras oprimir el botón Aceptar habremos creado el Lanzador. Ahora podremos iniciar el juego desde Aplicaciones / Juegos / Colonos de Catán.

Al iniciar el cliente JSettlers2, se nos presentará una ventana que nos solicitará indicar qué queremos hacer. Si quisiéramos practicar para adiestrarnos en las posibilidades y mecánica del juego, presionamos el botón Practicar. Esto nos desplegará una segunda ventana que permite definir las condiciones de la partida de práctica. Por ejemplo, podremos escoger uno entre varios escenarios de práctica (y ello autoconfigurará las múltiples condiciones que podríamos querer). Al presionar Crear Juego nos permitirá elegir nuestro jugador.

La primera decisión es elegir una zona donde asentarnos. Por ejemplo, podríamos querer asentarnos en la "zona azul". Para ello presionamos el botón correspondiente. Debemos saber que hasta ahora, el jugador no puede ver el mapa aún, de modo que los recursos son asignados al azar y por elección a ciegas.

Si jugamos localmente en nuestra computadora, nuestros adversarios serán controlados por la computadora, en forma de "Droids" (o "robots").

Esto nos permitirá crear nuestra tribu conurbana. Podremos escoger un avatar con gorrita. A su vez, se nos presentará por vez primera el tablero de juego, que se encuentra dividido en casilleros hexagonales que representan distintos territorios de Catán. Durante cada turno, cada casillero producirá una unidad del recurso que tiene asociado. La correlación en Jsettlers2 es la siguiente:

Las colinas producen Arcilla, 
Las montañas producen Mineral.
Las pasturas producen Lana.
Campos cultivables producen Cereales.
Los Bosques producen madera.
El desierto no produce nada. 

Como vemos, los recursos naturales representados en JSettlers2 son cinco: Arcilla, Mineral, Lana, Cereales y Madera, y similares en función a los originales de Colonos de Catán (que Ladrillo, Piedra, Oveja, Trigo y Madera) A su vez nuestros recursos elaborados podrán ser cinco también: Soldados, Caminos, Pueblos, Ciudades y Barcos. En los vértices de cada casillero hexagonal podremos disponer de nuestras unidades. Nuestra posición estará indicada por el color del jugador que elegimos.

Para conocer las reglas y tablas oficiales del juego de tablero, así como las reglas específicas para los distintos escenarios y expansiones, podríamos visitar la web oficial. La quinta edición de las "reglas del juego y almanaque" original se reproducen en esta versión. Las podremos encontrar en este video también:

Las acciones se realizan por turnos en sentido horario. Pero podremos utilizar algunos atajos de teclado. Por ejemplo:

Ctrl+r: Tira los dados virtualmente. Ctrl+a: Acepta oferta. Ctrl+j: Rechaza oferta. Ctrl+c: Contraoferta.

Siempre que tengamos los recursos, deberíamos construir asentamientos, caminos y cuidades y explotar los bienes de las tierras que nos rodean. Los Caminos se hacen con arcilla+madera, o intentar completar otra combinaciones para lograr construcciones y servicios más avanzados.

Nuestra primer necesidad será fundar un asentamiento en la recientemente descubierta isla de Catán. La alquimia reglamentaria de elementos para crear un Asentamiento consiste en contar con la suma de recursos arcilla+lana+cereales+madera y elegir en qué vértice de qué casillero hecagonal hacerlo.

También podremos instrumentar Caminos (arcilla+madera), los cuales tienen forma de línea coloreada y permiten unir los distintos elementos. Una vez establecida nuestro núcleo poblacional, podremos dotarlo de fuerzas militar, aunando lana+cereales+mineral+madera para hacer soldados. Estos nos permitirán la defensa territorial y el expansionismo para hacernos de recursos por la vía armada.

Si estamos en contacto con otros jugadores, podríamos recibir ofertas de comercio de recursos, las cuales podrán ser aceptadas, rechazadas, o contraofertadas. Por toda vez, esto podrá ser base para alianzas defensivas u ofensivas no reguladas.

Podremos sacar ventaja del comercio con otros jugadores, sobre todo si construimos "puertos" en los vértices colindantes con el agua, lo cual atrae y obtene más productos de los que podríamos carecer.

Asimismo, en el desierto podríamos encontrar el ícono del "Ladrón", tribus nómadas que podrían querer atacarnos o robarnos recursos.

Las partidas normalmente duran unos 90 minutos pero pueden guardarse o pausarse. Si quisiéramos jugar en una partida remota sin necesidad de montar un servidor nosotros mismos, bien podremos hacerlo presionando el botón Conectar con un Servidor e indicar el servidoroficial nand.net a través del número de puerto 14203. En él podremos definir un escenario para jugar, así como una contraseña para nuestra partida (¡naturalmente, otros jugadores remotos deberían conocerla también para poder jugar con nosotros!).

En el caso del juego virtual, podremos utilizar la ventana de chat para interactuar con otros jugadores.



21 october 2022

¿Cómo instalo una planilla de cálculo para la terminal en Ubuntu?

En La Fuerza es el Derecho de las Bestias, Juan Perón explica sobre los logros económicos de su gobierno y sobre cómo utilizar la planilla de cálculo sc en la terminal de Ubuntu.

(...) "En esos momentos se sumaba a este tremendo esfuerzo, la necesidad de renovar la maquinaria industrial y todo el material ferroviario, tranviario y automotor que durante los cinco años de guerra, con el cierre de la exportación, no habían recibido ningún aporte. Se calculaba esto en un monto de 20.000 millones de pesos. Estudiamos esto detenidamente y confieso que cuando compilamos las necesidades totales, una suerte de pánico se apoderó de mí, que sentía la terrible responsabilidad de estar al frente del país y la duda de poder superar su difícil encrucijada económica.

Con los estudios en mi poder llamé a una reunión privada a los técnicos en economía más calificados en el concepto de algunos asesores económicos. Me perdí diez horas explicándoles mis planes y dándoles todos los datos necesarios para encarar el problema. Se fueron a estudiar, y tres días después nos reunimos de nuevo para considerar soluciones. Confieso que quedé defraudado, pues conversaron mucho, no dijeron nada y lo poco que trajeron no lo entendí, porque lo hicieron en una terminología tan rara y tan confusa que dudo que ellos mismos se entendieran.

La reunión terminó un poco intempestivamente, pues uno de ellos me dijo: “Señor, usted debe gastar tantos miles de millones que no tiene. Si no tiene dinero, ¿cómo quiere comprar?", a lo que yo respondí: “Amiguito, si yo tuviera el dinero no lo habría llamado a usted, habría comprado”, y aquí terminó la entrevista.

Me convencí que no era asunto de técnicos, sino de comerciantes y llamé a mi gran amigo Don Miguel Miranda, el “Zar de las finanzas argentinas”, como algunos le llamaron. El había empezado como empleado con noventa pesos de sueldo y en diez años había levantado treinta fábricas.

Le conté el incidente con los técnicos y me dijo: “¡General!, ¿usted cree que si fueran capaces de algo estarían ganando un sueldo miserable como asesores?” –Pero Miranda, le dije, vea que hay que comprar mucho y no tenemos dinero! –Esa es la forma de comprar, sin dinero, me dijo. ¡Con plata compran los tontos! –Este es mi hombre, pensé para mí...

Miguel Miranda era un verdadero genio. Su intuición, su tremenda capacidad de síntesis y su certera visión comercial, hicieron ganar a la República, en un año, más que cincuenta años de la acción de todos sus economistas diletantes y generalizadores de métodos y sistemas rutinarios e intrascendentes Para su trabajo se formó en una de las primigenias y más antiguas planillas de cálculo, que operaba sobre la terminal. Se trata de sc, liberada bajo GPLv3.

Como todo software antiguo que se precie, su desarrollo se ha visto dividido a lo largo de varias versiones divididas ("forks"). Existen al menos unos tres forks directos que podremos encontrar, así como versiones derivadas como sc-im. También está disponible de un front-end gráfico para el sistema de ventanas X llamado Xspread.

Todo aquél que adopte con gran preferencia la línea de comandos y tal vez algo por el despliegue numerario que tienen la economía y otras ciencias, podrá sentir la necesidad y anhelo de aprender sc. Afortunadamente cuenta con variados recursos incluida una página de manual (man), un tutorial detallado, y un sistema de referencia rápida de tipo interactivo. Esto podría parecer sorprendente a quienes están acostumbrados al software moderno, pero por entonces los programas venían con excelente documentación.

Para instalar sc podremos abrir una Terminal con Ctrl+Alt+t e ingresar el siguiente Comando de Organización:

sudo apt-get install sc

Tras instalar el paquete, podríamos iniciar el mismo desde la terminal con el comando sc. También podríamos iniciarlo co su tutorial (en inglés) utilizando:

sc /usr/share/doc/sc/tutorial.sc

Podría parecer que sc es complejo de utilizar, especialmente para aquellos bisoños en la edición de textos con editores al estilo de Vi. Naturalmente, habremos de reconocer que sc no es un equivalente de terminal para LibreOffice Calc o Microsoft Excel. Si bien adopta muchos de los principios de funcionamiento de vi, sólo operan de forma similar en las combinaciones de tecla más básicas.

El sistema de ayuda está dividido en páginas concisas accesibles rápidamente, por ejemplo introduciendo el comando ?h se nos presentarán los comandos de filas y columnas.

He aquí una útil hoja de ayuda para las tareas básicas:

Tecla(s) Función ? Ayuda (muy útil en este programa) Flechas o hjkl mueven el cursor Ctrl+A Nos mueve a la celda superior derecha (A0) = inserta a número o fórmula <,\,>; inserta texto alineado a la izq/centro/derecha {, |, } Alinea texto ya existente a izq/centro/derecha e, E edita número/valor de cadena x, Del Borra la celda ir, ic inserta fila/columna dr, dc Borra fila/columna P “put” (Guardar) G “get” (Abrir)

Si ya estamos familiarizados con el oligárquico Excel, podríamos querer agregar el siguiente contenido al archivo de configuración ~/.scrc:

set craction = 1 set numeric

Esto activaría el comportamiento de conmuitar automáticamente al modo Inserción no bien demos comienzo a la introducción de una cifra, y avanzará el cursor a la siguiente fila no biwn presionemos Enter. Esta funcionalidad de autoinserción sólo opera con cifras numéricas, ya que la mayoría de las otras teclas responderá al estilo del editor vi.

Por ejemplo, para ingresar los textos debemos ingresar < o bien > para indicar la alineación justificada a izquierda o justificada a derecha.

Las expresiones numéricas, fórmulas, y rangos también operarán de manera muy similar a Exc€l, pero el numerado de las filas comienza en 0, y las funciones estarán precedidas por un número. Por ejemplo @sum(A0;A20). También es importante notar que una celda puede contener tanto números como una etiqueta.

Una tarea muy común al operar una planillas de cálculo es rellenar un rango de celdas con un valor o fórmula (con sus referenciado de filas/columnas ajustadas en forma correspondiente). Para hacer esto, debemos ingresar el valor que deseamos en la primera celda. Luego, con el cursor posicionado sobre dicha celda, tipeamos c. (c punto). Luego desplazamos el cursor a lo largo del rango deseado para el rellenado, y presionamos Enter, lo que completará la operación de rellenado.

Alternativamente, para rellenar un bloque con valores diferentes, primero tipeamos rf (por "range fill" o "relleno de rango"), seleccionamos el bloque desado, y presionamos ; o Tab para cambiar al Modo de Comandos, y luego ingresamos el inicio y su incremento. Por ejemplo, rf9j:3 3 rellenará las primeras celdas de la columna A con múltiplos de 3. Quienes desconozcan la notación Vi, ha de saber que en este caso 9j es un comando estilo Vi que indica "desplazarse hacia abajo nueve veces".

Otra funcionalidad de rango usada a menudo es ordenar, rs ("range sort" u "ordenar rango"). Si deseamos ordenar de forma ascendente en la primer columna de nuestro rango, simplemente ingresamos dicho comando. Sólo la seleccionamos visualmente y presionamos Enter. Caso contrario, tendremos que utilizar algunos de estos ejemplos:

Tipear esto… para ordenar así: rs:"+#c Valores numéricos con la columna C en ascendente rs:"-$a-$b Texto en las columnas A y B, descendente. rs:"+$d+#d Tanto texto como números en columna D, ascendente.

El criterio de ordenamiento es un valor de texto con tres partes, el orden (+ para ascendente, - para descendente), el tipo de valor a buscar (# para numérico, $ para texto), y la columna a ordenar.

Presionar f conmuta al Modo de Configuración de Formato. el cual tiene sus propias asignaciones de teclas. Los formatos configurados de esta manera se aplicarán a la columna entera, que es generalmente lo anhelado.

Teclas(s) Función h/l, ←/→ Ajusta ancho de columna j/k, ↓/↑ Ajusta precisión decimal 0-9 Configura formato numérico predefinido = Define el formato numérico Enter Sale del Modo de Configuración de formato

Los formatos predefinidos que probablemente sean más útiles para las tareas básicas son 0 (cifras numéricas), 3 o 4 (fechas). El formato 4 dispone el uso de años de cuatro dígitos, lo cual es normalmente una buena idea, pero en una terminal serial, donde el espacio de pantalla siempre se presenta como escaso, podríamos preferir formato de años de dos cifras.

Para configurar un formato específico debemos ingresar f=, y luego ingresar el número del formato deseado, y finalmente escribir la cadena de formato (si no tiene set numeric activado. También puede presionar Enter e ingresar los comandos directamente, y emplear las flechas del cursor para obtener un historial de los ítems utilizados. Esto es adecuado si necesitamos experimentar con los distintos formatos para ver cuál nos resulta útil.Por ejemplo, esto configura el slot 7 con el formato de "moneda":

f=7$#,0.>

… lo cual coloca un signo $ delante del valor y emplea la precisión de campo por defecto.

Los formatos de fecha personalizados son similares, y el indicador del formato de fecha es un carácter ^D. Ya que los valores 3 y 4 ya están configurados para las fechas, podríamos mantener todos los valores de hora juntos, y definir 5 o 6 para fecha-hora y hora, respectivamente.

f=5^D%e %b f=6^D%H:%M

(^D aquí indica que debemos presionar Ctrl+D.) Los códigos % son los mismos que el tiempo en Unix.

Si deseamos mantener estos formatos específicos como una configuración permanente en sc, podremos agregarlos al archivo ~/.scrc. Deberá tener cuidado con los formatos de fecha, ya que requiere un caracter carat "^", que se hace Ctrl+D.

format 5 = "^D%e %b" format 6 = "^D%H:%M" format 7 = "$#,0.&"

Afortunadamnete, sc no es tan arcaico como para obligarnos a escribir todas las fechas como valores time_t a fin de que se presenten adecuadamente. Existen varias amneras de expresar fechas y horas. En primer lugar - y probablemente la más útil) es introducir un valor como 2020.25.6 y será interpretado como una fecha. Tengamos presente que el año requiere cuatro dígitos. Esta será permutada tras su introducción a @dts(2020.25.6), lo cual es una fórmula que resulta en el time_t para la medianoche del 25 de mayo de 2020. Existe una función similar llamada @tts que se utiliza para introducir valores de tiempo (a los que incluso podremos sumar dos si queremos definir una fecha y una hora a la vez). Es un poco complejo, pero permite operar en dichas operaciones temporales, y la aparatologia de su fundamento termina teniendo más sentido que los números de fechas decimales que infectan al Exc€l.

Indudablemente, sc no es el programa mas bello del universo, pero si ingresamos set color en nuestro fichero ~/.scrc, podremos al menos obtener algunas combinaciones de colores alternas, e incluso configurar algunos por nosotros mismos. Podremos probar ingresar datos, desplazarnos a la parte superior, e introducir rC (para el comando "Rango en Color"), y luego seleccionar un bloque, luego presionar : e ingresar el número del color que deseamos. O en lugar de ello definir un par de color de la paleta de terminal.

Normalmente los colores por defecto son bastante feos, pero podremos analizar la página mán y editar el fichero ~/.scrc de manera acorde a nuestro criterio estético superior.

También contaremos con un par de configuraciones de color adicionales que podrían interesarnos. set colorneg incrementa el valor del color en uno si el valor de la celda es negativo (-) - en otras palabras, si la celda emplea por defecto el color1, las cifras negativas recibirán el color2. También tendremos el comando set colorerr, el cual remarcará las fórmulas resultantes en error con el color3. Normalmente empleo ellos, y generalmente utilizo los colores 4 a 8 para encabezados y otras celdas varias que podrían requerir cierto tipo de atención, tanto como uno podría utilizar tecto en negrita o itálica.

Una última opción que podrían anhelar conocer es cómo abarcar rangos acotados. Estos se utilizan para definir una serie de celdas que "queden activas" cuando nos movemos en la planilla, y en su forma básica, un rango acotado es similar a la función "congelar" de Excel. Es muy útil emplear la línea de comandos para definir estas celdas congeladas, especialmente para planillas grande que excedan la pantalla. Podremos también seleccionar los rangos interactivamnete si lo preferimos, al ingresar el comando rra. Cualquiera sea la manera de hacerlo que nos guste, la sintaxis general del comando en este caso es:

frame rango_superior rango_inferior

...donde reemplazamos rango_superior y rango_inferior es una notación separada por : que representa los rangos respectivos (por ejemplo A0:D50).

Suponiendo un ejemplo clásico, donde deseamos contar con un "encabezado" de columna A y fila 0 que quede siempre presente en la pantalla toda vez que nos desplazamos la planilla, nuestro rango_superior sería A0:Z199 (o cualquiera que deseamos) ,y el rango_inferior sería B1:Z199. Por tanto, la sintaxis final quedaría así:

frame A0:Z199 B1:Z199

…esto efectivamente "congelará" la primera columna en pantalla en tanto el cursor se encuentre dentro del rango_inferior que hemos definidos. Los rangos acotados son muy útiles, pero este empleo básico es el suficiente para la mayoría de nuestras necesidades.



20 october 2022

¿Cómo uso Ed, TECO, Vi o Emacs en Ubuntu?

¡Trabajadores!

El hombre es un animal que - ante todo - vive y se desarrolla en sociedad. Nuestra propia condición humana nos dicta un objetivo que es el bienestar y la felicidad, pero esta idea no es privada; sólo puede realizarse en Comunidad.

Nuestro Movimiento esto lo ha comprendido, y lo hemos hecho meridiano en un apotegma que reza "nadie puede realizarse en un país que no se realiza". Nuestra majestad no es otra que la de nuestro Pueblo, y el terreno de acción es la Nación Argentina.

Indudablemente que nuestro Movimiento, por estar formados por hombres y mujeres, no puede hacernos pretender alcanzar una perfección divina, sino de una que explica la teoría pero que define la práctica. Es por ello que el éxito no caerá de un níspero: habremos de construirlo con nuestras manos, mente y corazón enfocados en la tarea que nos hemos impuestos. Tampoco podremos pretender el suceso de un día para otro, toda vez que sólo la dedicación al estudio y un paulatino avance hacia el objetivo de bienestar nos aproximará a las buenas realizaciones que anhelamos.

Pues bien, en el campo de la informática esto representa una visión que no debe soslayarse. Hemos imaginado un sistema libre y abierto, donde cada uno sea capaz de aportar lo suyo en pos del bien común, y lo hemos reflejado en sanas licencias libres.

En este será muy tonificador y beneficioso conocer cuáles fueron los pasos realizados previamentes a la acción, a fin de poder dedicarnos a Conducir no sólo los sistemas telemáticos de hoy, sino ser capaces de operar los del ayer. Sólo esto nos permitirá proyectarnos en un futuro que lograremos venturoso si hacemos de la Justicia Social la bandera que guía nuestro camino.

No es secreto para nadie que con anterioridad a la existencia de terminales de video, los sistemas de cómputo eran dable de operarse con terminales teletipo. Estas terminales de comunicación se adaptaron por utilizarse anteriormente en el sistema Télex, el cual permitía transmitir texto codificado en el estándar ASCII o Baudot por medio de las líneas telefónicas. Se hizo patente entonces adaptar estas terminales teletipo para operar remotamente en computadoras mainframe dotadas de una interfaz de acceso remoto asíncrono. Las terminales electromecánicas estaban dotadas de un teclado bastante similar al de una máquina de escribir, y a menudo disponían de una impresora de tipos. A veces una perforadora adosadapermitía registrar los ingresos (e incluso programas enteros) en una cinta de papel perforado. Una de las aplicaciones que pudo adaptar un sistema computado fue la posibilidad de recibir textos del teclado remoto y almacenarlo digitalmente en el banco de memoria de la computadora.

La ventaja de un editor de textos era poder corregir los errores y poder agregar o quitar texto del banco de memoria. Ed

Entre los primeros editores de texto encontramos al Ed. Se trata de un editor de texto primigenio de tipo modal y orientado a líneas - y como tal - espartano. Carece de control de cursor direccionable pues se maneja como una máquina de escribir. Se usa para crear, mostrar, modificar y manipular archivos de texto en forma remota o local.

Para iniciarlo simplemente utilizamos el comando:

ed

Si se lo ejecuta con un argumento de archivo existente, copiará dicho archivo a la memoria del editor (en la jerga, "buffer"). Por ejemplo podremos utilizar:

ed archivo.txt

Al iniciar, ed no presenta nada en nuestra terminal. Para comenzar a agregar una línea, podremos ingresar el comando "agregar", con:

a

(Naturalmente, seguido de la tecla Enter, a fin de enviar el comando "agregar" la computadora remota, si es que utilizamos una).

De ahora en mas, habremos pasado al modo "ingreso", sin que ed nos informe nada. Todas las líneas que tipeemos en la terminal se irán agregando al buffer de memoria del mainframe que tenemos asignado, siempre y cuando llas introduzcamos en memoria con la tecla Enter.

Como en todos los anitguos editores orientados a líneas, las posibilidades de edición una vez que introducimos la línea en la memoria buffer son limitadas y engorrosas, por lo cual conviene escribir con sumo cuidado y revisar la línea antes de presionar Enter para su introducción. Dependiendo de nuestra terminal o sistema, podremos utilizar la tecla Retroceder, o bien Ctrl+Retroceder para borrar caracteres que se encuentren en la terminal, pero no una vez que se hayan enviado al sistema remoto.

Una vez que hemos terminado de ingresar el texto que necesitamos en la memoria, podremos detener el modo de "agregado" de lineas y pasar al modo de comandos nuevamente. Para ello debemos introducir una línea con un "." ("punto"). Al pasar al modo comando, Ed no nos informará nada, pero cualquier cosa que introduzcamos a continuación serán interpretados como comandos de control.

Por ejemplo, si introducimos otra vez un punto, Ed nos devolverá la última línea del texto almacenada en el buffer de memoria.

Debemos saber que los cambios se realizan en la memoria del equipo, y no se almacenan en el fichero hasta que necesariamente le demos la orden w ("write" o escribir en el disco). Para ello ingresamos, por ejemplo:

w archivo.txt

...y Ed nos devolverá un número que es indicativo de la cantidad de caracteres contenidos en el texto almacenado en disco.

Para salr del editor Ed debemos introducir el comando:

q

...y se nos devolverá al prompt de sistema. Resumiendo todo, podríamos obtener una hoja imnpresa de teletipo con una sesión de Ed en UNIX podía verse así:

Naturalmente Ed es antediluviano y engorroso de operar en líneas ya escritas. En tal caso podremos movernos en las líneas de texto usando el modo de comandos (".") e ingresando un número de línea. O bien podremos utilizar -n o +n para indicarle al cursor subir n líneas o bajar n líneas con respecto a la linea en la que estamos actualmente. Cuando lo hagamos Ed nos devolverá el contenido de dicha línea , y podremos cambiarla con el comando c ("cambiar"). Volvemos a tipear el contenido de la línea corregida y la ingresamos con Enter. Finalmente podremos guardar cambios con el comando w.

Debemos tener en cuenta que el comando a nos deja agregar una línea después de la línea actual. Pero en el caso de querer agregar una línea antes de la línea actual, debemos utilizar el comando i ("insertar").

Si deseamos borrar una línea nos movemos hacia ella de la forma que os he explicado, y utilizamos el comando d. Si quisiéramos borrar una línea que no es la actual, indicamos en número de línea seguido de d.

De esta forma, Ed nos permite trabajar mínimamente en un sistema que presenta líneas de texto.

No pasó mucho tiempo para que los editores de líneas permitieran realizar programas complejos. Esto a su vez provocó el advenimiento de los primeros sistemas operativos de tiempo compartido y multiusuarios, entre ellos el UNIX de Bell Labs, el TOPS-10 de la DEC, el ITS del MIT, etcétera.

No bien los sistemas computados tuvieron la posibilidad de presentar imágenes de video y una memoria suficiente para graficar caracteres, se hizo evidente que seria más cómodo realizar editores que pudiesen directamente presentar el texto en una pantalla de tubo de rayos catódicos.

Estas videoterminales comenzaron a reemplazar a los teletipos e impresoras mecánicas.

TECO

Uno de los primeros videoeditores para equipos DEC PDP podríamos decir que fue Visual TECO. Se trataba de un derivado el antiguo editor TECO de Dan Murphy de 1962, pero que diez años después permitía presentar en video en la terminal, a su vez contaba con un set de operaciones de macros, que consistían en órdenes preconcebidas que podían enviarse a la máquina remota.

Al estar desarrollado para numerosos sistemas, fue influyente en toda una tercera generación de editores derivados. La operación de TECO requiere respetar 3 reglas, y conocer 16 comandos de operación. REGLAS de TECO:

Para darle ingreso los comandos se debe oprimir dos veces la tecla Escape (ilustrada con $ a continuación, no es el signo monetario). En algunos de los comandos se emplea Un solo $ para finalizar los argumentos de cadena ("string").
Los comandos no necesitan ser ejecutados de a uno por vez. Puede ingresarse una larga serie de comandos y luego introducir "$ $", y TECO los ejecutará en orden.
TECO está orientado a caracteres, de modo que recuerda la posición del caracter en su locación actual en el fichero, llamada "puntero". La mayoría de los comandos muestran o cambian los contenidos del fichero en el puntero, o mueven el puntero a otro lugar dentro del fichero.

Una sesión de TECO en un sistema TOPS-20 se ve de la siguiente manera: Comandos de TECO

  1. ERfichero$Y1 Abre el fichero para ingresar datos
  2. EWfichero$1 Abre un fichero para salida
  3. EX Guarda y sale
  4. Ctrl+c, Ctrl+c Sale (sin guardar)
  5. C2 Mueve el caracter hacia adelante
  6. R2 Mueve el caracter hacia atrás
  7. L3 Se mueve al comienzo de la línea siguiente
  8. Itexto$ Inserta la cadena texto
  9. J Salta al comienzo del fichero
  10. ZJ Salta al Final del fichero
  11. T3 Tipea desde el puntero hasta el final de la línea.
  12. V Tipea la línea actual
  13. D2 Borra el caracter en el puntero
  14. K3 Borra la línea actual
  15. Stexto$ Busca la cadena "texto"
  16. FStexto_reemplazado$texto_original$ Sustituye la cadena texto_original por texto_reemplazado

*) Algunas versiones de TECO aceptan directamente un nombre de archivo como argumento de línea de comandos, haciendo que 1 y 2 sean innecesarios. Algunas versiones de TECO tiene un comando EBfichero$Y que hace lo mismo que 1 y 2 en un solo paso.

**) Prefijo numérico: mueve/borra múltiples caracteres (un número negativo invertirá la dirección).

***) Prefijo numérico: mueve/tipeea/borra múltiples líneas (un número negativo inverte la dirección); (sólo T, K). Pfrefijo H: tipea/borra todo el archivo.

TECO y sus variaciones si distinguían sobre todo por su escasísimo uso de memoria, y su empleo normalmente asíncrono con la máquina remota. Vi El editor Vi creado por Bill Joy es un derivado lejano de Ed, pero es más potente y pensado ya para su uso en terminales de video con memoria interna (buffer incorporado). Se continúa utilizando actualmente y se lo considera un programa liviano (si bien antiguamente no era el caso, y consumía muchos recursos en un mainframe). Acutalmente, es muypopular su versión modernizada, Vim. Podremos ingresando: vi La pantalla de Vi/Vim se divide en el buffer de edición y las dos líneas inferiores que consiste en la zona de status e ingreso de comandos. Normalmente opera en modo revisión, por lo cual no podremos modificar ni agregar ningún texto. Para pasar al modo de inserción de texto hemos de presionar la tecla i o bien Insertar. Sólo entonces podremos escribir o pegar en la Terminal el texto que querramos. Una vez que terminamos el insertado de texto en el buffer de memoria, podremos terminar el mismo presionando la tecla Fin.

Para pasar al modo de ingreso de comandos debemos presionar Esc, y al hacerlo el cursor pasará a la sección inferior de la pantalla, donde podremos escribir los comandos. Los mismos comienzan con : Por ejemplo, para guardar los cambios en el archivo recién editado en Vi, hemos de presionar Esc, y tipear el comando :w, que se encargará de almacenar en disco o "escribir" ("write"). Para salir de Vi se utiliza :q ("quit") del editor. Nos devolverá a la línea de comandos del router. Si quisiéramos salir rápidamente sin que nos pni nos informe nada, ingresamos :q!. Y si queremos guardar y salir, usamos :wq EMACS

Emacs es un editor de texto disponible para múltiples plataformas, incluyendo GNU. Como Vi o Nano, Emacs es un editor de texto con presentación en pantalla. Pero a diferencia de Vi, Emacs no es un editor con modo de inserción, lo que significa que cualquier carácter que ingresemos en Emacs se insertará automáticamente en el archivo, a no ser que incluya un prefijo de Comando.

Los comandos en Emacs son caracteres de control (realizados mientras presionamos la tecla Ctrl mientras tipeamos otro caracters) o en prefijos por un conjunto de caracters reservados Esc o Ctrl+x. Podremos tipear tecla Esc directamente (porque realmente es un carácter) y luego seguida por otro carácter. La tecla Ctrl debe mantenerse presionada mientras tipeamos el otro caracter.

Otra distinción entre Emacs y Vi consiste en que emacs es capaz de editar varios archivos a la vez. La ventana de Emacs puede dividirse en varias ventanas, cada una de las cuales contendrá una vista en el buffer de memoria. Cada buffer de memoria corresponde normalmente a un archivo diferente. Es por ello que muchos de los comandos listados a continuación se empleaan para leer ficheros y cargarlos en nuevos buffers, así como mover distinto contenido entre buffers diferentes .

Para cargar un archivo en Emacs podríamos utilizar:

emacs archivo

Si el archivo ya existe, se nos presentará entonces la primera página del texto en pantalla.

La manera más sencilla de aprender emacs es comenzarlo e ir avanzando en el completo tutorial en línea que incluye para esto presionamos Esc para ir al modo de comandos, e ingresamos help-with-tutorial. Comandos de Ayuda



19 october 2022

¿Cómo instalo PCem v16 en Ubuntu 20.04?

Aprovechando el tiempo ocioso en Puerta de Hierro, Juan Perón recibía a los visitantes más ilustres en su quinta 17 de Octubre de Navalmanzano 50 Madrid. Durante su estancia les explicaba cómo instalar el emulador de PC antiguas PCem en Ubuntu.

(...) Muy distinguidos señores.

Parecería común decir que todo lo pasado fue mejor. Este adagio, por extendido, no siempre es preciso, sino un mero deseo potenciado por las añoranzas del tiempo.

Pero en momentos de ocio, cualquier cosa nos viene bien.

El impulso por lograr nuevamente aquello que antes estaba bien es una natural condición humana que - como en la química - hemos de aprovechar como catalizador de las condiciones de lucha, aquellas que sin duda ha de darse en la Patria. En eso estamos y es fundamento de la lucha táctica pero también de la conducción estratégica. En informática, utilizar equipos del ayer suele tornarse complejo y difícil. El hardware antiguo puede no estar disponible, ser caro, y tener los lógicos problemas técnicos que los años suman a todo sistema.

Nuestro Movimiento ha indicado en los frontispicios de sus Academias que todo ha de hacerse en pos de los deseos y del bienestar al que aspira el Pueblo. Cuando hay una necesidad, nace un derecho. A tal efecto hemos creado lo que hemos dado en llamar "máquinas virtuales". No es otra cosa que simular con visos de perfección un sistema completo, tanto su software como su hardware, y sobre todo la manera en la que estos interactúan. La finalidad no es otra que la de poder tornar una máquina (nuestro equipo actual) en cualquier otra.

Asumamos virtualizar en función una IBM PC o sus clones. Pocas van quedando en condiciones operativas, y en el futuro habrá menos. Pero una máquina virtual de calidad permitirá correr en otras arquitecturas la añorada original. Como una Isabelita emulando a una Evita...

Pues bien... PCem es una poderosa máquina virtual liberada bajo licencia GPLv2, que nos permitirá emular completamente la operativa de arquitectura IBM PC. Originalmente fue diseñado para emular la antigua IBM XT, pero nuestro Movimiento la ha extendido a lo largo de numerosas iteraciones para incorporar la emulación de otros aparatos de época más moderna también.

Compilación e instalación de PCem

Como paso previo debemos asegurarnos de instalar en Ubuntu - el cual será el sistema madre - las librerías de software necesarias para la compilación de PCem. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos en ella el siguiente Comando de Organización:

sudo apt-get update sudo apt-get install git libsdl2-dev libwxgtk3.0-dev libopenal-dev libsoundio-dev

Como en todo proceso de compilación, nos haremos con el código fuente de PCem, lo descomprimimos y lo compilamos. Todo ello podrá hacerse simplemente pegando en la terminal el siguiente bloque de comandos de organización:

mkdir ~/Descargas/pcem/ ;

cd ~/Descargas/pcem/ ; wget https://pcem-emulator.co.uk/files/PCemV16Linux.tar.gz ; tar xvzf PCemV16Linux.tar.gz ;

./configure --enable-alsa --enable-release-build --enable-networking ; make ; sudo make install Tras aproximadamente un minuto, habrá finalizado la compilación y se habrá instalado en /usr/local/bin/. Podremos ahora ejecutar PCem por ver primera. Lo haremos desde la terminal ingresando:

pcem

La primera vez que lo hagamos el emulador creará un directorio oculto llamado ~/.pcem/, donde resguardará sus ficheros de configuración, y donde espera encontrar los ficheros primordiales con volcados de memoria ROM de las BIOS encontradas en los distintos hardware que quisiéramos emular. Naturalmente, como estas ROMs han de proveerse aparte, es lógico que PCem sea vago y nos indique la ausencia de las mismas mediante el mensaje "No ROMs Present! You must have at least one romset to use PCem.": Agregar BIOS a PCem Afortunadamente gracias a la acción revolucionaria del Justicialismo en nuestro sistema GNU con Linux, es absolutamente sencillo de hacernos con estas obligatorias ROMs de hardware del ayer. Presionamos Ok para cerrar la ventana, e ingresaremos en la terminal los siguientes Comandos de Organización:

cd ~/.pcem/ git clone https://github.com/BaRRaKudaRain/PCem-ROMs.git rm -r roms/

mv PCem-ROMs/ ~/.pcem/roms/ mkdir ~/.pcem/hdd/

El nuestro es un Movimiento que aboga por la Liberación, y de esta manera no hacemos otra cosa que liberar un software esclavizado por oprobiosas licencias privativas. En caso que nos dé prurito siquiera descargar ROMs de BIOS privativas, bien podríamos prescindir de lo anterior y utilizar estos comandos de organización para hacernos con el código de una BIOS de XT genérica liberada, así como el de un controlador de disco genérico liberado para PCem.

wget https://pcem-emulator.co.uk/files/genxt.zip ; wget https://pcem-emulator.co.uk/files/xtide.zip ; unzip gentx.zip ; unzip xtide.zip ;

Cualquiera sea la opción doctrinal que optemos, a partir de ahora ahora ejecutamos PCem el instalador debería arrancar sin problemas. Crear lanzador de PCem En el caso de Ubuntu, opcionalmente podremos crear un lanzador a PCem a fin de poder ejecutarlo sin tener que usar la terminal. El procedimiento es similar a cualquier otra aplicación. En el caso de Ubuntu Mate haremos clic con botón derecho del mouse sobre Aplicaciones en el panel superior, y en el menú contextual que aparece elegimos la opción "Editar Menús". Se abrirá una ventana con dos paneles. En el panel izquierdo elegimos la categoría "Herramientas de Sistema" y presionamos el botón "+Elemento Nuevo". Esto abrirá el cuadro de diálogo para "Crear Lanzador", donde rellenamos los campos de la siguiente manera y presionamos Aceptar. Ahora podremos ejecutar PCem desde Aplicaciones / Herramientas de Sistema / PCem.

Esta vez PCem se iniciará sin errores. Configurar un sistema emulado en PCem Para poder utilizar el emulador debemos diseñar un un sistema de hardware virtual. Para ello presionamos el botón New y le indicamos un nombre al equipo virtual. Acto seguido hemos de disponer del hardware necesario en el panel que aparezca. Sigtuiendo el principio nodal del combatir al Capital, todo el hardaware es gratuito. Pero, en valoración histórica podremos disponer de un equipo coherente con una etapa histórica determinada. En mi caso basaré una configuración en un un motherboard Award 430VX PCI de 1997 (el cual aparecerá listado como [Socket 7] Shuttle HOT-557, simplemente porque su BIOS cuenta con la moderna rutina de autodetección de las unidades de disco IDE, y es adecuado para versiones tardías de MS-DOS y para Windows 95 y 98SE. Para elegir un procesador debemos seleccionar la marca (Intel, AMD, Cyrix o incluso los baratos ITS "Winchip", y hacemos clic en el campo correpondiente al modelo, utilizando Flecha de Cursor Arriba y Flecha de Cursor Abajo para elegir el deseado. En mi caso escojo un Pentium MMX de 166 Mhz, aunque debemos saber que esto no será representativo de la velocidad sino de las instrucciones computacionales contenidas en el mismo (lo normal en 1997 era un Pentium 233 MMX, pero este no anda muy bien en mi caso). Mas tarde podremos ajustar la velocidad del microprocesador dependiendo del microprocesador real de nuestro equipo. La memoria RAM instalada en placa la podremos virtualizar, y si bien era usual unos 64MB, duplicamos dicha cantidad porque "es gratis". En la solapa video elegiremos la placa de video anhelada. Si bien no era la panacea, os recomiendo una S3 Virge o una Trident Tru64 por su excelente compatibilidad. Si tildamos la opción Voodoo Graphics podremos emular en PCem una de dichas sobrevaloradas tarjetas de video de 3dFx. De momento no lo haré. Nota: Si anhelan configurar una placa de video para juegos 3dFx Voodoo2 requerirán sus controladores, que podrán encontrar aquí. Dependiendo la versión de Window$ que deseen emular, podrán buscar la versión adecuada. Como referencia deben conocer que si usan el último controlador del año 2000 para Windows podrán operar, pero habrán de instalar en Window$ el famoso Dir€ctX 7 para que la Voodoo2 funcione adecuadamente, incluso si los juegos no requieren Dir€ctX7.

En la solapa de sonido encontraremos excelente emulación con la posibilidad de elegir una entre varias placas AdLib, Creative Labs Sound Blaster hasta el modelo SB128, o Aztec. Para ello hacemos clic en el campo Device y usando las flechas de cursor arriba y abajo.. Yo utilizaré la Sound Blaster AWE32 porque me place. En la solapa de dispositivos de almacenamiento es el de mas cuidado. El campo HDD refiere al tipo controlador de unidad de disco rígido que queremos emular. En este caso utilizaré el controlador [IDE] Standard IDE.

Los campos FDD son sencillas y refieren a las unidades de disquettes flexibles o "floppy". La unidad A: será una clásica disquetera de 3 1/2 pulgada y 1,44MB de capacidad, mientras que la B: será una útil de 5 1/4 pulgadas dy1,2MB. En el caso de la unidad de CD-ROM definimos la velocidad emulada de la misma.

La parte más compleja refiere a las unidades de disco. Os asistiré como didacta paternalista para llegar al éxito de forma automática, mas deben conocer que existen varias posibilidades de configuración manual para los parámetros del disco rígido virtual.

En la parte inferior derecha del cuadro encontraremos las definiciones para crear hasta cuatro unidades virtuales (C:, D:, E: y F), las cuales pueden definirse como Hard Drive (disco rígido), CD-ROM o Iomega ZIP. En nuestro caso utilizaremos un disco Master Primario CI como Hard Drive y presionaremos el botón New para "crearlo". Hemos de crear uno que se corresponda en espacio y características técnicas del motherboard que hicimos.

Este disco rígido virtual consiste realmente en un archivo de imágen con extensión .img localizado en algún lugar de nuestro directorio de usuario, y que de momento estará vacío. En el campo file: debemos indicarle a PCem qué nombre y dónde lo queremos localizar el archivo .img.

Normalmente PCem nos propone crear un archivo de imagen que simula un disco rígido de 251MB (63 sectores, 16 cabezas, 511 cilindros). Este disco era normal para un sistema de 1992, apto para MS-DOS o Window$ 3.1x. Al presionar OK habremos creado un disco rígido virtual virgen, de dicho tamaño.

En este caso utilizaré un disco diez veces mas grandes, de 2GB. Para ello ingresaré los datos de 63 sectores, 16 cabezas, 4160 cilindros, para un tamaño total de 2047 MB. En el campo file debo asignarle una ruta y nombre (por ejemplo, ~/.pcem/hdd/disco2gb.img Una vez presionado el botón OK, dicho disco quedará asignado como Unidad 0, Master Primaria (C:).

Podremos crear otros discos si quisiéramos hacerlo, a fin de figurar como unidades D: E: o F:

Nota histórica: las placas controladoras de disco variaron en el tiempo con distintas etapas de avance técnico de los clones IBM PC. En la década de los 80s las primeras IBM PC XT contaban con una plaqueta controladora de discos de norma MFM (para discos de entre 10 y 80 megabytes). A partir de la década del 90 la norma de los discos rígidos cambió a la IDE, y al poco tiempo las controladoras comienzaron a integrarse en la placa madre en lugar de colocarse como una placa separada. Los discos IDE se ofrecían entre los 100MB (c. 1992) hasta los 250 GB (c. 2007). La norma de comunicación SCSI surge en 1993 con discos mas veloces pero requería una placa controladora específica.

Para PCs de la era de 1997 podríamos querer configurar uno o más discos de 8.063 Megabytes cada uno (63 sectores, 16 cabezas, y 16383 sectores a 512bytes/sector, que nos será más adecuado para correr Window$). En tal caso deben recordar que ni Windows 95a ni MS-DOS aceptaban mas de 2.048 Megabytes por partición lógica, por lo que liego tendrán que "particionarlo en 4 unidades de 2GB con fdisk".

En el caso de motherboards más antiguos, sus controladoras de disco y BIOS podrían sólo ser compatibles con determinado tipo de discos previamente listados (como el caso de la XT, especialmente limitadas en las opciones de disco). Para una IBM PC XT de 1986, podríamos querer simular un disco MFM de 42MB (17 sectores, 7 cabezas, 733 cilindros a 512 bytes por sector) junto a su controladora MFM estándar de IBM.

Pues bienn, una vez que hayamos terminado, se nos presentará el nombre de la configuración. Para arrancarla hacemos doble clic en el nombre del equipo.

Esto dará inicio al proceso de arranque, tal cual la PC que inventamos. En este caso será un equipo con un clasico BIOS Award de finales de los 1997. Para que detecte el disco virtual era necesario configurarlo en la BIOS. Durante el POST presionando repetidametne Del ingresaremos a la BIOS y configurar los parámetros tal como se hacía siempre. Ingresamos al apartado Standard CMOS Setup que se usa para configurar los parámetros de disco, hora y disqueteras. En el caso del disco rígido, la controladora de disco XT-IDE (AT) permite autodetectar los parámetros del disco siempre y cuando el motherboard cuente también con la capacidad de hacerlo. Como la 430NV que hemos virtualizado dispone de tal facilidad, debemos poner los parámetros de discos primarios y secundarios en Auto ("Detección Automática"). Para ello usamos las flechas del cursor para movernos y las teclas AvPg o RePg para poner todo en Auto.

En el caso de las unidades de diskette A: y B: las indicamos con los parámetros que le elegimos al hardware virtual ya que las disketteras no se autodetectan.

Nota: en el caso de motherboards o controladores de discos anteriores a 1995 no era extraño tener que escoger a mano los discos contemplados, o bien especificar "a lo vikingo" el modo "user" e indicar los parámetros de cilindros, cabezas, sectores, y modo (normal, large o LBA). En el caso de este motherboard tambiñen contaremos con la función IDE HDD Auto Detection, una de las cosas.

También podremos usar Esc para volver al menú principal y dirigirnos a BIOS Features Setup.

Allí podremos cambiar el orden de dispositivos de arranque usando AvPag o RePag. Cuando hayamos configurado todo, volvemos al menú anterior de la BIOSy elegimos Save & EXIT. La BIOS nos preguntará si estamos seguros de querer salir y guardar los cambios, a lo que decimos si presionando y. Inmediatamente la "placa madre" arrancará. Debería detectar correctamente el "microprocesador" y contear la memoria instalada, a su vez que encontrar el disco IDE Master Primario, en este caso nomenclado como "PCemHD". Rl disco virtual no tiene formato ni sistema operativo. A partir de ahora podremos arrancar la PC emulada ya sea desde el archivo img de un diskette de arranque de MS-DOS o de Windows, o bien podríamos introducir un CD-ROM de instalación en nuestra lectora de CD (o montarlo como un fichero .IMG como os he indicado).

Suponiendo el primer caso debemos utilizarse un diskette de arranque en formato .img de MS-DOS 6.22 en castellano que podrán encontrar aquí. Para colocar el diskette de arranque (el disco 1) en forma de archivo .img en el emulador PCem, hacemoc clic con botón derecho sobre su ventana, y aparecerá un menú contextual. Vamos a la opción Disc/Change drive A: y buscamos el fichero disk1.img.

Acto seguido reiniciamos el equipo virtual desde el menú System / Ctrl+Alt+Del. La máquina virtual se reseteará en caliente y booteará con el diskette arrancable virtualmente introducido en la diskettera A:.

Si usamos un disco de arranque de DOS se nos presentará el instalador, pero aún no tenemos el disco preparado. Salimos de la instalación y ejecutamos el comando a:fdisk. Para preparar la partición en formato FAT16 elegiremos "Crear una partición lógica" primero debemos elegir la opción c para "Compatibilidad con DOS". Luego creamos la partición con la opción "n" para "Nueva partición. Usaremos la opción "t" para cambiar el tipo de partición a la 6 (FAT16). Finalmente "w" para escribir los cambios" y salir al sistema. Para formatear el disco c: ingresamos format c: /s

Nuevamente reiniciamos el equipo con el disquette 1 del sistema operativo (o bien, un CD-ROM de inicio) y lo instalamos.

Si el cursor del mouse quedó atrapado en la ventana del emulador y necesitamos poder utilizarlo fuera de su ventana en nuestro sistema Ubuntu, lo recuperamos con Ctrl+Fin.

Con esto podremos continuar cambiando los discos simplemente poniendo las imágenes IMG de diskettes no bien las necesitemos (por ejemplo, cuando lo solicite un instalador como el de un sistema operativo). Con esto podríamos instalar un sistema operativo en diskettes.

Montar una imagen .img

Los archivos de imagen IMG pueden montarse en Linux a través del Montador de Discos, pero si bien podremos leer dichos ficheros y hacer copias de su contenido en nuestro disco, normalmente no podremos grabar en ellos.

Desafortunadamente no se puede utilizar una carpeta compartida para utilizarla en PCem (lo cual facilitaría enormemente cargar programas en el disco virutal). Por tal motivo, en caso de querer agregarle contenido a una imagen a fin de innstalar software o cargarle otro tipo de contenido deberemos utilizar los archivos de imagen de unidades virtuales en forma de ficheros .img y montarlas en nuestro sistema de archivo. Para un buen resguardo técnico, es importante saber que es muy inconveniente hacer esto mientras PCem está en ejecución por lo que lo cerramos.

En el caso que les he descripto, como hemos creado una imagen con PCem, la buscaremos en ~/.pcem/hdd/. En nuestra terminal ingresaríamos:

cd ~/.pcem/hdd/

fdisk -l imagen.img

El programa fdisk nos listará las características del archivo img del disco virtual: el tamaño de cada sector, la cantidad de sectotres, y el sector de Comienzo "Comienzo". "Comienzo" informa en qué sector comienza el sistema de archivos, y depende de la imagen. Por ejemplo, si es una imagen de arranque de un sistema operativo.

Por ejemplo:

fdisk -l 2gb.img Disco 2gb.img: 2 GiB, 2115993600 bytes, 4132800 sectores Unidades: sectores de 1 * 512 = 512 bytes Tamaño de sector (lógico/físico): 512 bytes / 512 bytes Tamaño de E/S (mínimo/óptimo): 512 bytes / 512 bytes Tipo de etiqueta de disco: dos Identificador del disco: 0x00000000

Dispositivo Inicio Comienzo Final Sectores Tamaño Id Tipo 2gb.img1 * 63 4120703 4120641 2G 6 FAT16

Si nuestro archivo de imagen tuviese múltiples particiones, se nos informarían con sus respectivos sectores de Comienzo. Tengamos presente que las llamadas particiones extendidas no son otra cosa que particiones lógicas estructuradas de una manera particular, que no podrán ser montadas. Sólo pueden montarse particiones a las cuales fdisk les identifica un Sistema de Archivos.

Pues bien señores, para montar esta partición tenemos que obtener el "Valor de Offset". El valor de Offset consiste en multiplicar el tamaño de sector por el comienzo del Dispositivo. En este ejemplo particular, la primer partición, el offset sería Tamaño de sector 512 x Comienzo 63 = 32256

Una vez identificado el Offset de 32256, ingresamos los comandos según la siguiente sintaxis:

sudo mkdir /media/usuario/directorio_de_montaje/

sudo mount -o loop,offset=(valor de comienzoxtamaño de sector) archivo_de_imagen.img /media/usuario/directorio_de_montaje/

...en nuestro ejemplo sería:

sudo mkdir /media/usuario/discovirtual/ sudo mount -o loop,offset=32256 ~/.pcem/hdd/2gb.img /media/usuario/discovirtual/

Ya tendremos montado el disco virtual en el directorio /media/usuario/discovirutal. Acto seguido usando sudo para tener derechos de administrador, podremos proceder a copiar allí lo que querramos, mediante:

sudo cp -r directorio/ /media/usuario/discovirtual/

¡El valor de offset es esencial para montar la imagen correctamente!

Es importante saber que ejecutar PCem con un disco montado no funciona. Debemos montar el disco después de arrancar PCem. Si tuviésemos montado un disco previamente, debemos desmontarlo y salir de PCem antes de volver a montarlo.

Crear una imagen de disco rígido para MSDOS en Linux:

Lo primero es contar con un disco rígido con espacio libre para crear una partición específica para PCem.

Para ello ingresamos:

dd if=/dev/zero of=imagen_a_crear.img bs=1M count=MB_deseados

Debemos obtener las especificaciones de una unidad de disco rígido antigua. Podrán ejecutar PCem y revisar la bIOS para saber qué unidades de discos estaban soportadas en la computadora emulada. La mayoría de las BIOS tenían varios tipos de discos rígidos que aceptaban. Con tales datos nos será fácil crear una partición de disco empleando fdisk:

fdisk -C cilindros -H cabezas -S sectores nuestra_imagen.img

Finalmente formateamos la unidad virtual con el programa format de MS-DOS. Luego agregamos la imagen a PCem en Settings / BIOS.



18 october 2022

¿Cómo actualizo desde Ubuntu 18.04LTS a 20.04LTS hoy?

Ubuntu 20.04LTS "Focal Fossa) se lazó oficialmente el 23 de abril de 2020. Se trata de la última versión con Soporte a Largo Término (LTS) de Ubuntu, y cuenta con parches de seguridad y actualizaciones disponibles hasta 2025.

Naturalmente que si utilizamos una versión más antigua de Ubuntu, podríamos querer tirar un viejo por la ventana y estar interesados en realizar una Actualización Política y Doctrinaria para la toma del Poder y actualizar nuestro sistema.

Normalmente recomiendo instalar las versiones LTS de Ubuntu desde cero para lograr los mejores resultados, pero en ciertos casos podríamos querer actualizarlas sin tener que reinstalar el sistema de cero.

En este tutorial os indicaré cómo realizar el procedimiento de actualización desde Ubuntu 18.04LTS (Bionic Beaver), a la versión nueva 20.04LTS recién salida. Os explicaré varios métodos a través de los cuales podrán lograr esta delicada tarea de sistema con sapiencia Justicialista, incluyendo algunas ayudas avanzadas y trucos que podrían ayudarlo a personalziar aún más el procedimiento de actualización. Antes de Actualizar… Existen algunos predicamentos que debemos considerar antes de avanzar con esta actualización del Movimiento:

El procedimiento de actualización puede realizarse tanto usando el administrador de actualización gráfico de Ubuntu o desde la línea de comandos en la Terminal. El Administrador de actualización de Ubuntu comenzará presentándonos un imopertinente aviso de actualización a la versión 20.04, sólo una vez que se publique la primera versión corregida de 20.04 (ej, 20.04.1). Esto suele suceder normalmente transcurridos unos tres meses desde el lanzamiento oficial.

Conforme se haya habilitado esta funcionalidad, se nos presentará un aviso similar al siguiente:

Aún así podremos actualizar Ubuntu ahora, antes de que ello ocurra. Sin embargo, el proceso por el momento incluye usar la terminal, y por lo tanto algún nivel de conocimiento técnico y confianza. Si no están seguros en el uso de la terminal, podrían querer aguardar hasta finales de junio de 2020 hasta que se produzca el lanzamiento de la versión 20.04.1 y aparezca la propuesta del actualizador gráfico.

Si desea proceder con la actualización, podremos dar inicio al Asistente de Gráfico Actualización Guiada desde la terminal, o completar todo el proceso empleando la Terminal de Ubuntu. Os indicaré ambas opciones.
Un buen peronista se asegura siempre de respaldar sus datos. Normalmente la actualización es un procedimiento seguro, pero es un cambio serio y siempre hay posibilidad de que algo salga mal. Es crucial entonces resguardar nuestros archivos personales en un medio seguro y  adecuado, de modo de poder restaurarlas rápidamente si surge algún problema o complicación. Existen varias formas de hacer esto:
    Ubuntu cuenta con su propia herramienta de respaldo, que puede activar.
    Puede optar con copiar manualmente los archivos importantes a un dispositivo de almacenamiento diferente (un segundo disco rígido en la computadora, un disco rígido externo USB o pendrifve, o en otra computadora a través de una red, etc). Podrá copiar los archivos manualmente o bien utilizar una aplicación para respaldos y replicación de datos. Un ejemplo de herramientas cómodas y sencillas para este cometido son Timeshift o Grsync. Si desea utilizar la terminal puede recurrir a tar o rsync.

Interfaz de la herramienta de respaldos de Ubuntu.

Con muy poca experiencia y un disco rígido adicional podríamos jugar "la carta mas segura" y utilizar una aplicación de duplicación como CloneZilla para clonar nuestro sistema de archivos actual.
Si deseamos comprobar que el nuevo sistema funcionará correctamente bajo nuestro hardware, podremos descargar la imagen ISO de Ubuntu 20.04LTS, copiarla a una pendrive USB usando una aplicación de creación de pendrive arrancable como Ubootnetin, y luego iniciar su computadora en una sesión Live de Ubuntu 20.04LTS.
Asegúrese que su computadora tiene suficiente espacio de disco disponible. Para un mejor resultado, debería tener 25 GB de espacio libre para una instalación nueva de Ubuntu. En una actualización puede requerirse un poco menos de esto, pero la actualización tardará más tiempo.
El proceso de actualización puede llevar su tiempo. No podrá interrumpirlo o cancelarlo, de modo que si usa un dispositivo provisto de baterías (como una laptop o notebook), conéctela con su cargador a la red eléctrica.

Actualizar a 20.04 LTS – ussando el asistente gráfico Como os he mencionado anteriormente, el Asistente de Actualización comenzará mostrando una notificación a los usuarios de Ubuntu aproximadamente unos tres meses después del lanzamiento oficial. Sin embargo es posible actualizar Ubuntu 18.04LTS sin tener que esperar. Esto implica actualizar un comando en la terminal, que luego lanzará el Asistente Gráfico de Actualización.

Si no está cómo con este camino, es mejor continuar ejecutando Ubuntu 18.04LTS hasta que esté disponible la actualización gráfica por medio del administrador de actualizaciones. La secuencia de acciones que os indicaré requieren familiaridad con el uso de la línea de comandos, de modo que es mejor dejar esto para personas que han operado con ella.

El comando para comenzar es do-release-upgrade, ejecutado con las opciones específicas. Para entender mejor qué sucederá, podremos revisar las opciones disponibles para do-release-update ejecutando el comando con el sufijo -h:

sudo do-release-upgrade -h

Y el sistema nos devolverá:

Uso: do-release-upgrade [octiones]

Opciones:
  -h, --help            Muestra este mensaje de ayuda y sale
  -V, --version         Mostrar la versión y salir
  -d, --devel-release   Si utiliza la última versión admitida, actualice a la
                        versión de desarrollo
  --data-dir=DATA_DIR   Directorio que contiene los archivos de datos
  -p, --proposed        Intente actualizar a la última versión usando el
                        actualizador de $distro-proposed
  -m MODE, --mode=MODE  Ejecutar en un modo especial de actualización.
                        Actualmente se permiten los modos «desktop» (para
                        actualizaciones normales de un sistema de escritorio)
                        y «server» (para servidores).
  -f FRONTEND, --frontend=FRONTEND
                        Ejecutar la interfaz especificada
  -c, --check-dist-upgrade-only
                        Comprueba únicamente si está disponible una nueva
                        versión de la distribución e informa del resultado
                        mediante un código de salida
  --allow-third-party   Try the upgrade with third party mirrors and
                        repositories enabled instead of commenting them out.
  -q, --quiet

Las opciones importantes son:

-d: esta opción nos permite actualizar a la versión 20.04; normalmnete esta opción sería utilizada por desarrolladores quienes comprueban técnicamente Ubuntu. Nosotros la usaremos para adelantar la actualización. Si bien dice "desarrollo" ("development") no se preocupen, pues d ehecho estarán actualizando a la versión oficial y estable de Ubuntu, la 20.04LTS.
-f: esta opción lanzará el Asistente Gráfico de Actualización. Sin esta opción, la aplicación do-release-upgrade correría a través de la línea de comandos. El proceso es, sin embargo, idéntico.

Otra opción útil es -allow-third-party, en la que me extenderé en la sección "Opciones Avanzadas y Software de Terceros". Si su instalación actual de Ubuntu incluyese aplicaciones de fuentes diferentes a la de los repositorios de archivos estándares de Ubuntu, podríamos querer incluir esta opción para conservarlos y continuar así el uso de dichas aplicaciones de terceros.

Por lo tanto, para comenzar la actualización a Ubuntu 20.04LTS usando el actualizador gráfico, debemos abrir una Terminal con Ctrl+Alt+T y ejecutar en la Terminal el siguiente Comando: de Organización:

sudo do-release-upgrade -d -f DistUpgradeViewGtk3

...y si quisiéramos conservar las aplicaciones de terceros, usaríamos:

sudo do-release-upgrade -d -f -allow-thid-party DistUpgradeViewGtk3

Esto comenzará el proceso de instalación empleando una aplicación gráfica basada en Gtk3.

Puede ingnorar sin problemas el texto que afirma que es una versión de desarrollo. El indicador cambiará con la disponibilidad de lanzamiento de Ubuntu 20.04.1. El Asistente nos realizará varias preguntas, a lo largo de varios pasos:

Primero nos solicitará que confirmemos la actualización. El Asistente de Actualización nos notificará que la opción de bloqueo de pantalla se desactivará durante este proceso. La aplicación descargará los ficheros de sistema y aplicaciones necesarias para realizar la actualización. Este proceso lleva su tiempo, de modo que hay que tener paciencia. Podríamos recibir una o dos preguntas durante la actualización. Específicamente si deseamos retener las configuraciones existentes para ciertos archivos de sistema (como la configuración de zona horaria). Si no está seguro, puede proceder con la respuesta por defecto.

Luego de un tiempo, la actualización debería quedar completa, ¡y se debería encontrar logueado a su Escrutorio de Ubuntu 20.04LTS!

Opciones Avanzadas y Software de Terceros Para la mayoría de los usuarios, los pasos descriptos arriba serán suficientes. Sin embargo,m podremos personalziar la instalación aún mas, lo cual es particularmente útil para aquellos que empleen software de terceros instalados desde canales de software diferentes a los repositorios de Ubuntu estándar. Por ejemplo, si tenemos instalado Google Chrome, Skype o software Virtualbox manualmente, las actualizaciones para dichas aplicaciones serán provistas a través de esos reposistorios de terceros.

Por defecto, el software que no es de los repositorios de Ubuntu será desactivado durante la actualización. Deberá activcarlos manualmente luego de completar la actualización de base.

Sin embargo alternativamente podremos instruir a la herramienta de actualización para permitir estos paquetes adicionales. Esto puede lograrse al ejecutar do-relase-upgrade con el sufijo -allow-third-party, como os mencioné anteriormente. Opciones Alternativas para la actualización Podríamos dar inicio al Asistente Guiado de Actualización Gráfico de varias maneras.

Al igual que la herramienta do-release-update, podremos ejecutar lo de arriba con el sufijo -d para recibir las versiones superiores a la 20.04.1 no bien estén disponibles más adelante

sudo update-manager -c sudo update-manager -c -d

En la línea de comandos de la terminal, podría también ejecutar /usr/lib/ubuntu-release-upgrader/check-new-release-gtk. Para ello ingresamos:

sudo /usr/lib/ubuntu-release-upgrader/check-new-release-gtk3

En general, podremos controlar qué actualizaciones de Ubuntu están disponibles, sin importar cuál de las herramientas empleemos para hacerlo. Esto podríamos realizarlo editando el fichero de configuración /etc/update-manager/release-upgrades:

Aquí, podremos modificar la línea Prompt=XXXX, indicando:

never – nunca ofrecerá actualizaciones.
normal – ofrecerá las versiones soportadas que sucedan inmediatamente a la veersión que estamos utilizando actualmente.
lts – ofrecerá únicamente versiones LTS (con soporte a largo término).

Actualizar a 20.04 LTS desde la Terminal El proceso de actualización desde la terminal es muy similar a la actualización con el asistente gráfico descripto anteriormente. La única diferencia es que no se ejecutará ninguna ventana gráfica, y en la terminal nos aparecerán las preguntas para que respondamos S/N (o Y/N).

Ingresamos el siguiente comando de organización:

sudo do-release-upgrade -d

La secuencia de pasos mostrada en la terminal es idéntica a la intetrfaz gráfica. El primer paso consiste en confirmar que deseamos continuar. La imagen superior muestra la devolución del sistema durante el proceso de actualización. Varios paquetes de sistemas se descargarán, descomprimirán y copiarán encima de las versiones anteriores, como parte del proceso de actualización. El paso de limpieza removerá los paquetes que ya no son necesarios (o relevantes) en la versión nueva de Ubuntu. Esto también libera espacio en su disco. Una vez completado, seremos logueados al escritorio de Ubuntu 20.04:



17 october 2022

¡Ubuntu Peronista supera los 2 millones de visitas!

Este jueves 30 de abril, el Blog de adoctrinamiento político-tecnológico Ubuntu Peronista ha llegado a su segundo millón de visitas, reivindicando el verdadero sentir de una Masa encolumnada tras la bandera del Software Libre.

Haciendo eje sobre la necesidad de establecer videoconferencias a través de peronista servidor Jitsi para afrontar la telemática del Movimiento, el Justicialismo ha lanzando un artículo que ha logrado un natural interés, haciendo realidad el apotegma peronista que dice: "donde existe una necesidad, hay un derecho".

Ubuntu Peronista es un Blog que versa sobre el sistema operativo libre Ubuntu y los inextinguibles logros y realidades que el Justicialismo ha otorgado a la Nación. A través de la poderosa ayuda que paternalmente brinda el General Perón, hombres y mujeres de bien que integran la Masa aclaran sus dudas técnico-doctrinarias bajo el flamear de las inarriables banderas de un software Libre, Justo y Soberano.

Ubuntu es un sistema operativo libre y completamente gratuito para equipos i386 o AMD64 (básicamente computadoras PC, notebooks, netbooks, laptops, servidores, etc). Se trata de un software basado en Linux, cada vez mas popular por sus ventajas en operatividad, bajo consumo de recursos, alta velocidad y excelente desempeño. Todo esto configura una excelente plataforma que puede definirse claramente como el más peronistas de los sistemas operativos jamás desarrollados.

Ubuntu Peronista cuenta actualmente con unas 1.000 visitas diarias, unas 6 centenas de seguidores asiduos, activos usuarios de Ubuntu. Una interesante Comunidad Organizada 3.0 de blogs compañeros también proporciona ayuda y novedades en el mundo de Ubuntu y el software libre.

Desde este blog deseamos agradecer a todos quienes día a día nos visitan, y ayudan con su amabilidad a difundir el trabajo que Juan Domingo Perón lleva a cabo por el bien de las Masas obreras y en contra de la puta oligarquía gorila.



16 october 2022

¿Cómo puedo conectarme por SSH con cifradores SHA1 antiguos en Ubuntu 20.04LTS?

Durante la forzosa estadía de exilio en la Quinta 17 de Octubre de Puerta de Hierro, Juan Perón expuso la necesidad de unificar criterios por parte del Comando Táctico en la Argentina y el Comando Estratégico. También ahondó en cómo reactivar los algoritmo SHA1 para establecer enlace SSH desde y hacia servidores antiguos, en Ubuntu 20.04LTS.

(...) Vean señores,

Todo Conductor ha de poder definir políticas flexibles, pero lo escencial es que estos lineamientos puedan cumplirse con los medios de los que dispone. El rendimiento de los medios es el cual dicta la política, y no a la inversa. La explicación es lógica: una declamación política no puede cambiar el rendimiento fijo de los medios.

Este principio no se puede romper, es una de las bases nodales nodales de la conducción, y quien no siga este precepto caerá invariablemente en un voluntarismo: una mera declamación de hacer las cosas.

Deseos tienen todos: pero mejor que decir es hacer, y mejor que prometer es realizar

Tal es así que poco nos servirá dar una directiva de conducción y pretender establecer un corpus legal que la avale, si materialmente es imposible su cumplimiento.

Un ejemplo suele explicarlo todo, como decía Napoleón.

Es sabido que Ubuntu cuenta con una implemntación de Shell seguro que nos permite establecer enlaces remotos cifrados entre sistemas informáticos: el Secure Shell (SSH). Este esquema se basa en un modelo cliente-servidor ataviado de algoritmos matemáticos y fórmulados de cifrado preconvenidas, de forma tal de ofrecernos una protección el flujo de datos comunicacional. Lo hacen secreto.

Ahora bien, la versión SHA1 de este corpus directivo de cifrado daba en emplear una apilado de algoritmos que fue efectivo durante el primer peronismo. Pero el tiempo ha pasado y hoy, el comado de la conducción táctica lo ha evaluado como relativamente fáciles de vencer. Entre estos algoritmos se encuentra el ya inseguro diffie-hellman-group1-SHA1, el relativamente seguro diffie-hellman-group14-SHA1 cruzados con el conocido cifrador aes128-cbc. Las directiva política de seguridad del Comando Superior Táctico dispuso cambiar los esquemas de cifrado a versiones SHA2, anular el uso de group1-sha1 y promover el cambio de group14-sha1 toda vez que sea posible.

Este cambio político de adecuación a la nueva realidad percibida hizo que las versiones 19.04 y superiores de Ubuntu procedieran a desactivar por defecto el soporte del antiguo cifrado SHA1 del protocolo Secure Shell (SSH).

Naturalmente, esta política tiene el sentido deseado toda vez que contamos con medios de comunicación capaces de hacerla valer. Indudablemente tendrá un inconveniente insalvable si quisiéramos conectarnos a un servidor SSH antiguo de que disponen únicamente de los algoritmos y cifradores de la generación SHA1.

Por ejemplo, si me deseo utilizar el cliente OpenSSH de Ubuntu 20.04LTS para loguearme a un dispositivo que utiliza un servidor SSH superado con algorutmos SHA1, utilizando el comando de terminal:

ssh root@192.168.0.1

...recibiría de parte del cliente SSH un error similar al siguiente:

Unable to negotiate with 192.168.0.1 port 22: no matching key exchange method found. Their offer: diffie-hellman-group14-sha1,diffie-hellman-group1-sha1,kexguess2@matt.ucc.asn.au

Este mensaje explica que que nuestro cliente SSH se ha visto imposibilitado de utilizar los algorimos SHA2 más modernos con el servidor antiguo, y nos informa para poder lograr el enlace el servidor remoto nos oferta forzar la utilización de los algorimos antiguos SHA1. La oferta de los algoritmos específicos se dicta en orden de seguridad (primero el más seguro).

Siendo consecuencia que en Ubuntu 20.04LTS Focal estos algoritmos antiguos han sido por defecto desactivados, habremos de especificarlos en el comando de conexión SSH a fin de utilizarlos con el servidor antiguo. En este caso podríamos utilizaríamos la siguiente sintaxis el fin de dar uso a la versión "group14" del algoritmo SHA1:

ssh -o KexAlgorithms=+diffie-hellman-group14-sha1 usuario@host -p nro.puerto

...o bien podríamos probar conectarnos con la versión más antigua del cifrador SHA1 (con la gran penalidad en seguridad criptográfica que significa usar este viejo algoritmo):

ssh -o KexAlgorithms=+diffie-hellman-group1-sha1 usuario@host -p nro.puerto

Con este proceder ya deberíamos poder establecer el enlac al servidor SSH de generación SHA1. Debemos tener presente que el cifrado es antiguo (potencialmente inseguro).

En mi caso se trata de un enlace a un antiguo router. Lo ideal sería actualziar su firmware para instalar una versión más nueva de SSH en dicho aparato, pero en este caso no es posible hacerlo ya. Como no es cuestión de tirar todos los días un vuejo router por la ventana, al menos podremos establecer una conexión para confirgurarlo toda vez que sea necesario.

Ahora bien - por más que hayamos tenido éxito al conectarnos con el servidor SSH del router - el comando necesario para hacerlo es difícil de recordar, bastante molesto para tipear, máxime si lo necesitamos usar asiduamente. Por tal motivo si necesitamos usarlo en muchas ocasiones, nos resultará muy conveniente incluir los datos con las propiedades deseadas de la conexión SSH al archivo de configuración del cliente de conexión SSH: ~/.ssh/config.

Este es un simple archivo de texto donde podremos poner el o los servidores a los cuales deseamos conectarnos.Para editarlo desde la terminal del cliente ingresamos:

nano ~/.ssh/config

Al ingresar dicho comando se abrirá el editor GNU Nano con un archivo normalmente vacío. Cada entrada Host puede contener varias opciones, y podremos agregar más hosts también (siempre que estén separados entre sí por una línea en blanco). Un ejemplo podría ser:

Host router Port 22 User root HostName 192.168.0.1 KexAlgorithms +diffie-hellman-group14-sha1

En la línea HostName podríamos poner el nombre de red del host, o como en este caso, una dirección IP fija. Lo guardamos con Ctrl+o y salimos del Nano con Ctrl+x.

De ahora en más, toda vez que desde la terminal de nuestro usuario ingresemos:

ssh router

...nuestro cliente SSH intentará conectarse al servidor remoto como si usáramos el largo comando "ssh -o +diffie-hellman-group14-sha1 root@192.168.0.1 -p 22", y debería poder conectarse.

Esta funcionalidad suele ser lo único necesario de hacer para el caso de tener que conectarnos a un servidor remoto SSH mediante el protocolo de cifrado antiguo SHA1. Recordemos que si quisiéramos agregar otras entradas simplificadoras al archivo ~/.ssh/config, podremos hacerlo siempre y cuando dejemos una línea en blanco entre un Host y el otro. Naturalmente si omitimos una de las configuraciones, nuestro cliente OpenSSH interpretará que debe utilizar los valores por defecto y tomará dicho predicamento.

Por ejemplo, si queremos utilizar los cifradores modernos simplemente omitiríamos especificar la línea "kexAlgorithms", de la siguiente manera, y OpenSSH usará los algoritmos modernos por defecto.

Host mongoaurelio

Port 12345

User administrador

HostName ssh.mongoaurelio.com

En base a esta entrada de Host, toda vez que ingresemos "ssh mongoaurelio", nuestro cliente intentará conectarse como si hubiésemos usado "ssh administrador@ssh.mongoaurelio.com -p 12345"

Con esto habremos podido solucionar de manera peronista el acceso desde un cliente SSH moderno como el que tiene Ubuntu 20.04LTS a un viejo servidor remoto SSH SHA1.

Pero la política, como he dicho, ha de ser sumamente flexible y omnicomprensiva. ¿Qué sucedería en el caso contrario, donde un viejo cliente SSH dotado únicamente con cifradores de la generación SHA1 anhele establecer contacto con nuestro moderno Ubuntu 20.04LTS, que acepta SHA2?

En tal caso. nuestro servidor SSH - por defecto SHA2 - lo rechazará. En dicho caso al ordenar lo siguiente al cliente remoto con...

ssh peron@ubuntu_focal

...el cliente antiguo con SHA1 podría informarnos:

ssh: Connection to peron@ubunru_focal:22 exited: No matching algo kex

...o bien:

Unable to negotiate with ubuntu_focal (ip xxx.xxx.xxx.xxx, port 22:

no matching key exchange method found.

En este escenario, el cliente SSH antiguo al verse rechazado no podrá conectar a Ubuntu 20.04LTS (o a cualquier servidor SSH más moderno que 2018, por poner una fecha referencial). Si deseamos que nuestro servidor SSH acepte dichas conexiones SSH provenientes de clientes con algoritmos antiguos, debemos autorizar dicha política reversora en el fichero de configuración del servidor SSH. Para ello, en el servidor SSH (Ubuntu 20.04LTS por ejemplo), ingresamos:

sudo nano /etc/ssh/sshd_config

Se abrirá el GNU Nano con el archivo de configuración, que ya tendrá contenido. Podremos utilizar la función "Buscar" (Ctrl+w) para buscamos la sección "#Ciphers and keying"

Recordemos que en todos los archivos de configuración, las líneas que comienzan con "#" serán siempre ignoradas por el sistema, y se pueden utilizar como "comentarios". A tal fin borraremos los # para que no sea ignorada la opción que queremos activar. Por ejemplo, si deseamos habilitar para que nuestro sistema autorice el algoritmo diffie-hellman-group14-sha1, quitamos los # en las líneas que le corresponden.

En nuestro caso, como deseamos activar el más recomendado de los algoritmos antiguos diffie-hellman-group14-sha1 con el cifrador aer128-cbc, agregamos a continuación de las líneas:

Ciphers and keying

RekeyLimit default none

el contenido, como está a continuación:

Descomentado para habilitar los ciphers para clientes SSH

SHA1 antiguos. Provee seguridad reducida.

KexAlgorithms +diffie-hellman-group14-sha1

Ciphers +aes128-cbc

Descomentar para que habilitar clientes SSH SHA muy antiguos.

Provee seguridad muy reducida.

KexAlgorithms +diffie-hellman-group1-sha1

Ciphers +aes128-cbc

Descomentar para habilitar los ciphers para clientes SSH

SHA1 extremadamente antiguos. Provee seguridad extremadamente

reducida. Usar sólo para evaluar conexiones desde clientes

SSH muy antiguos.

KexAlgorithms diffie-hellman-group1-sha1,curve25519-sha256@libssh.org,ecdh-sha2-nistp256,ecdh-sha2-nistp384,ecdh-sha2-nistp521,diffie-hellman-group-exchange-sha256,diffie-hellman-group14-sha1

Ciphers 3des-cbc,blowfish-cbc,aes128-cbc,aes128-ctr,aes256-ctr

Nota: naturalmente que si en lugar de diffie-hellman-group14-sha1 necesitamos usar otros menos seguros aún, podremos utilizar las otras líneas. Sin embargo, esto debe evitarse toda vez que sea posible.

Guardamos los cambios con Ctrl+o y salimos del editor Nano con Ctrl+x. Luego reiniciamos el servicio con:

service ssh restart

Es útil saber que en ciertos equipos GNU con Linux puede ser necesario directamente reiniciar el equipo ingresando

sudo reboot

Una vez reiniciado el sistema, ya los clientes remotos antiguos deberían poder conectarse con el algoritmo diffie-hellman-group14-sha1 y el cifrador aes128-cbc.



15 october 2022

Trasvasamiento Generacional: ¿Cómo instalo Ubuntu MATE 20.04LTS Focal Fossa?

¡Descamisados!

Todo Movimiento Político tiene por necesidad biológica trasvasarse generacionalmente, so pena de envejecer y morir. Por ello es que el nuestro ha puesto en tal realización un rumbo que debe mantenerse si es que deseamos una Patria Grande y una Nación Soberana.

Nuestro Movimiento soporta con ello el paso del tiempo, y si lo hacen nuestros hombres, como no lo va a hacer nuestro Software. Nos hemos encargado de hacerlo libre, y por ello contamos con una nueva versión de Ubuntu MATE, la 20.04LTS "Focal Fossa".

Como primer medida nos aseguraremos de tener nuestros datos respaldados. No podremos ponernos a hacer experimentos de ningún tipo si no son nuestros trabajadores y sus datos los que realmente estén protegidos. Mientras lo hacemos, bien podremos comenzar a descargar el instalador necesario. En mi caso me haré con la imagen ISO de Ubuntu Mate de 64 bits a través de Torrent (2,2GB). La versión de 64 bits es la cual recomiendo para todo tipo de equipos modernos con dicha arquitectura de procesador. En todo caso, los requerimientos mínimos a cumplimentar es disponer de hardware con procesador de doble núcleo de al menos 2 Gigaciclos, 4 Gigabytes de memoria RAM y unos 25GB de memoria de masa. Conviene también disponer de video acelerado. Procederemos a grabar la imagen ISO en un DVD (o alternativamente, la preparamos en un pendrive) y reiniciamos el equipo indicándole que arranque desde dicho medio. En mi caso, esto se hace a través del Boot Menú de la BIOS (presionando F11 durante el instante de arranque). Una vez arrancado el medio, se revisará la integridad del medio de instalación (lo podremos saltear con Ctrl+c) y nos aparecerá el menú de inicio que nos permitirá elegir el modo vivo para probar Ubuntu, o instalar directamente Ubuntu Mate.

Eventualmente, el medio de instalación podría proceder automáticamente en el modo Live antes de permitirnos instalar. Esto es útil para descartar problemas de videos en equipos más antiguos. En este momento conviene asegurarnos que el sistema cuente con conexión a internet a través de un cable LAN.

El instalador de Ubuntu 20.04LTS es el convencional de los siete pasos. En mi caso particular en lugar de realizar la instalación sencilla sugerida por defecto en el paso 4, he decidido instalar el sistema repartiéndolo de forma manual entre un ultraveloz disco de estado sólido para la raíz de sistema peronista ("/"), y un disco rígido convencional de 1TB para los datos de usuario y particiones de alto volumen de escritura (con particiones individuales para /home, /tmp y /var y el sector de intercambio swap). En este caso me redunda en una muy alta velocidad de ejecución, y se minimiza el desgaste de escritura en el SSD. Dicho procedimiento, si bien algo más complejo que la instalación convencional, lo he explicado aquí. En el paso 6 debemos tener en cuenta que de momento existe un bug del arrancador UEFI que impide el ingreso correcto si indicamos que queremos ingresar a la sesión directamente, de modo que debemos elegir "ingresar con contraseña".

Una vez finalizada la instalación (dura unos 15 minutos desde el pendrive), el sistema se reiniciará con el arrancador Grub con UEFI, mostrando ahora el logotipo de la BIOS del equipo.

Si todo va bien nos dejará en el nuevo Escritorio MATE 1.24.0, montado sobre un kernel Linux que de fabrica es el 5.4.0-26-generic.

MATE cuenta con una apariencia clásica y sin estridencias, y dispone de una herramienta de configuración inicial que nos permitirá escoger ciertos aspectos importantes, además de un lanzador informativo para su primer arranque.

En particular, nos dejará descargar e instalar distintos themes de colores además del clásico verde mate. Por ejemplo, me gusta el mate con naranja.

A diferencia de la interfaz GNOME 3.26, MATE adopta una filosofía de estabilidad rocosa clásica y benevolente derivada del GNOME 2.6, lo cual lo hace extremadamente sencillo de emplear, y siempre cómodo con el hardware de video. Utiliza el gestor de ventanas Marco, y se abandonó a Compton y Compiz (aunque este último puede instalarse).

El panel superior cuenta con una nueva modalidad con menú de búsqueda. Sin embargo, podemos volver a la manera tradicional desde Mate Tweak, si escogemos el panel "traditional".

El gestor de ventanas Marco de Ubuntu MATE tiene nuevas opciones y atajos de teclas, mas parecidas a las de otras plataformas. Las mismas son:

Maximizar ventana: Super + Flecha Arriba
Restore Window: Super + Flecha Abajo
Poner ventana a la izquierda: Super + Flecha izquierda
Poner ventana a la derecha: Super + Flecha derecha
Centrar Ventana: Alt + Super + c
Poner ventana en la esquina superior derecha: Alt + Super + Flecha derecha
Poner ventana en la esquina superior izquierda: Alt + Super + Flecha izquierda
Poner ventana en la esquina inferior derecha: Mayúsculas + Alt + Super + Flecha derecha
Poner ventana en la esquina inferior izquierda: Shift + Alt + Super + Flecha izquierda
Transparentar ventana: Control + Alt + s

Ahora es posible poner la ventana en cualquiera de los cuadrantes de la pantalla usando cualquier tipo de teclado. También se actualizaron los atajos de teclado para el lanzador de aplicaciones:

Conmutar entre pantallas externas: Super + P
Trabar la pantalla: Super + L
Hacer una captura de ventana: Shift + PrintScr
Abrir el administrador de archivos Caja: Super + e
Abrir una Terminal: Super + T
Abrir el Centro de Control: Super + I
Abrir una Búsqueda: Super + S
Abrir el adminsitrador de tareas: Control + Shift + Escape
Abrir información de sistema: Super + Pause

Si tuviésemos acceso a red inalámbrica Wifi y no la hubiésemos establecido, sería esta una buena oportunidad haciendo clic en el ícono correspondiente en el panel superior. En caso de requerir controladores especiales (por ejemplo, si usamos adaptador bluetooth, podremos hacernos con el controlador a través de la conexión cableada. Para ello vamos a Sistema / Hardware / Mas Controladores. Allí debería sugerírsenos un controlador para nuestro dispositivo inalámbrico (y probablemente se nos sugiera también un controlador de video si es que está disponible. En cualquier caso los instalamos.

Acto seguido, configuramos nuestro sistema para que emplee los repositorios de nuestro país. Esto redundara en una mayor eficiencia y velocidad para descargar e instalar aplicaciones, situación que nos enfrentaremos en breve. Para poner los servidores localesz vamos a Sistema / Administración / software y actualizaciones. En el cuadro que se nos presenta escogemos la solapa Software de Ubuntu. En el campo Descargar desde, elijo "Otros...".

...Se abrirá una lista con los paises y los servidores. Debo presionar el botón "Seleccionar el mejor servidor" y el sistema buscara cual es el mas veloz de los disponibles de manera automatizada.

Normalmente nos recomendará uno del país. Lo seleccionamos y presionamos el botón Seleccionar servidor. Tras ello se nos informara que la lista de paquetes esta obsoleta, y debemos presionar Recargar. Luego presionamos Cerrar.

Una vez indicados el servidor local, ya podremos actualizar con confianza nuestra configuración de idioma. Para ello vamos a Sistema / Preferencias / Personal / Soporte de Idioma, y se nos indicara que faltan algunos componentes de la paquetería idioma. Le indicamos que los descargue, y el sistema lo hará automáticamente a través de internet. Una vez finalizado dicho trámite, habremos pasado al castellano todas las aplicaciones en caso de que el sistema no hubiese podido bajarlas así antes. Ubuntu Mate 20.04 cuenta con las versiones en castellano de LibreOffice 6.4.2.2 con el tema Breeze, Firefox 75.0 y podremos instalar Chromiun 81.0.4044.122 a través de snap.

Ubuntu ya cuenta con una buena pero reducida panoplia de aplicaciones. Sin embargo, es muy probable que a continuación nos propongamos instalar todo un avío de aplicaciones libres que favorezco. Para ello empleo la terminal por la gran facilidad de hacerlo de forma masiva. Abro una consola con Ctrl+Alt+T e ingreso los siguientes Comando de Organizacion:

sudo apt update ;

sudo apt install ubuntu-restricted-extras openssh-server openssh-client htop dstat bmon sysstat iftop ifstat iptraf mc iotop glances python-pip git sox rar ;

sudo apt install java-wrappers libcommons-cli-java libcommons-lang-java libcortado-java libmiglayout-java libwoodstox-java automake autoconf gettext libtool ;

sudo apt install ttf-essays1743 fonts-inconsolata fonts-roboto fonts-isabella fonts-ubuntu-font-family-console fonts-liberation fonts-lindenhill ;

Progresivamente los Ubuntu han decidido dejar de lado aplicaciones preinstaladas en el ISO, pues dejan que el usuario las instale si lo desea. Esto es así pues día a día es mas común disponer de acceso a internet de banda ancha, ya sea cableado o por Wifi. Por tal motivo tendremos que instalarlas nosotros a través de internet. Podremos incluir el siguiente comando:

sudo apt install openshot audacity asunder gimp inkscape vlc chromium-browser-l10n tmux moc byobu alpine links elinks lynx dvb-apps vlc wordgrinder caca-utils figlet toilet fortunes-es cowsay mplayer ubuntustudio-audio-plugins ruby filezilla facter dmidecode jpegoptim ;

sudo apt install clementine rawtherapee darktable mypaint mypaint-data-extras ;

sudo apt install pychess fruit bsdgames bsdgames-nonfree freecol scummvm dosbox ;

Con esto ya podremos instalar fácilmente la TV digital en Ubuntu, además de contar con una excelsa panoplia de programas para las actividades de todos los días. Opcionalmente también podremos emplear el navegador para descargar e instalar en Ubuntu 20.04LTS algunas aplicaciones no demasiado libres, pero útiles. Entre ellas tendremos Skype, Google Earth, o Google Chrome (compatible con Netflix).

También instalo Cool Retro Term, mi terminal favorita, con:

sudo apt update sudo apt install build-essential qml-module-qtgraphicaleffects qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtquick-controls qml-module-qtquick-dialogs qmlscene qt5-default qt5-qmake qtdeclarative5-dev qml-module-qt-labs-settings qml-module-qtgraphicaleffects qml-module-qtquick-controls qml-module-qtquick-dialogs qml-module-qtquick-layouts qml-module-qtquick-localstorage qml-module-qtquick-privatewidgets qml-module-qtquick-window2 qml-module-qtquick2 ; git clone --recursive https://github.com/Swordfish90/cool-retro-term.git ; cd cool-retro-term ; qmake && make ; cd ~ ; mv ~/cool-retro-term ~/.cool-retro-term/ ; ./.cool-retro-term/cool-retro-term

...y entre otros el editor de fotos LightZone con:

sudo apt-get install libjpeg62 wget http://download.opensuse.org/repositories/home:/ktgw0316:/LightZone/Debian_10/amd64/lightzone_4.2.0-0obs1_amd64.deb ; sudo dpkg -i lightzone_4.2.0-0obs1_amd64.deb sudo apt install -f



14 october 2022

Canonical lanza Ubuntu 20.04LTS Focal Fossa

Canonical ha lanzado oficialmente la última versión con soporte a largo plazo de Ubuntu, la 20.04LTS "Focal Fossa". Su anterior versión con soporte de largo plazo había sido la 18.04LTS.

Se trata del sistema operativo de 64 bits diseñado para computadoras de escritorio y portátiles. El soporte del mismo se extenderá por cinco años, por lo cual recibirá actualizaciones de software de seguridad y mantenimiento hasta abril de 2025. Ubuntu es una distribución altamente peronista basada en el sistema operativo GNU adosada a un Kernel (núcleo) Linux de versión 5.4. Está especialmente desarrollada para operar de forma sencilla, con software libre y Justicialista.

El sistema ha migrado utilizando la interfaz Gnome 3.36, adaptada para parecerse a la clásica Unity. Entre el software ya integrado incluye el navegador Firefox 75, el cliente de correo electrónico Thunderbird 66.7 y la suite de oficina LibreOffice 6.4.

Como intérpretes de programación, pueden instalarse múltiples. Naturalmente, desde el punto de vista de Java emplea OpenJDK 11, así como Python 3.8.2, GCC 9.8, rustc 1.41, Ruby 2.7, PHP 7.4 y Perl 5.30, y Golang 1.13.

Para su instalación se recomienda un microprocesador de 2 GHz de doble núcleo o superior, 4 GB de memoria RAM de sistema, 25 GB de espacio libre en la unidad de disco, y un puerto USB (o una lectora de DVD) para utilizar el instalador. El acceso a Internet es útil.

Podrá encontrarse la versión 20.04LTS directamente desde el servidor de Ubuntu aquí. Podrán encontrar la imagen .ISO de 64 bits, la cual ocupa unos 2,7GB de espacio. Asimismo, podrán descargarla desde Torrent desde aquí. Avances desde la versión 20.04LTS

Nuevo pantalla de arranque gráfica (integra el logo de la BIOS de sistema).
Themes claro y oscuros con fácil intercambio entre sí.
Actualización en el stack de video Mesa.
Soporte integardo para la VPN simplificada Wireguard.
Soporte para el esquema de alocación de ficheros ExFAT y ZFS, con encripción de disco con velocidad mejorada.
Soporte de encadenamiento de seguridad FIDO para las sesiones Secure Shell (SSH).
Aplicación Game Mode de Feral Interactive, para permitir cargar perfiles de optimización temporales específicos para juegos.
Se reemplaza la tienda por defecto de Software Center al Snap Store.
Soporte oficial hasta abril de 2025.



13 october 2022

Canonical dispone modelo de actualización rodante para el kernel de Ubuntu en la Nube Amazon

Hace años que Canonical dedica esfuerzos a Ubuntu Server para las AMI (Imágenes de Máquina de Amazon) que corren en los entornos AWS (Servicios Web de Amazon) bajo la nube EC2 de Amazon.

Todo estos nombres esconden esencialmente infraestructura computacional ajena y propiedad de Amazon, a la cual se puede acceder mediante un enlace de tipo Secure Shell (SSH). Bajo este esquema se dispone de una sesión remota de una o más imágenes de Ubuntu, el cual pueden ejecutarse y configurarse de forma rápida y eventualmente ampliable.

Estos sistemas o "servicios virtualizados" normalmente ejecutan un kernel especial de tipo Linux de la rama aws, que es diferente a la versión de normal que encontramos en la versión de Ubuntu Desktop (para Escritorio, la cual utiliza un kernel de la rama -generic o genérica).

Pues bien señores, a partir de hoy, este kernel linux-aws 4.15 que Canonical emplea para la nube de Amazon cambiarán su forma de operar, optándose por un modelo de actualización "rolling kernel". Esto significa que la actualización del núcleo del sistema operativo virtual no se realizará en dichas máquinas remotas por iteraciones o versiones especificadas como sucedía anteriomente, sino que pasará a implementarse de manera corrida.

Canonical aduce que este modelo de operatoria permitirá contar en dichos sistemas remotos con las últimas correcciones de bugs y mejoras de performance en el asignado de las tareas computacionales, así como implementar el uso de visitantes hipervisores, y contenedores para los usuarios. Esto supuestamente manteniendo la misma calidad que las versiones LTS (de soporte a largo término) del sistema operativo a las que estamos acostumbrados en nuestros servidores locales y sistemas de escritorio.

Un modelo de Rolling Kernel implica transicionar el kernel linux-aws por defecto desde una versión base a la siguiente como parte de un ciclo continuado de mejoras. El kernel nuevo será el kernel de la última versión interín (sin soporte a largo plazo) de Ubuntu. Al aplicar este modelo directamente a la versión actual de 18.04, significa que el kernel linux-aws será uno de la versión 4.15 y al lanzarse, se convertirá en el kernel basado en la versión 5.3, la cual es parte fundante de la versión 19.10 de Ubuntu.

Hoy, dicho kernel 5.3 se ha hecho disponible para su evaluación bajo el nombre de kernel "linux-aws-edge". Canonical ha recomendado a todos los usuarios correr este kernel con sus cargas de trabajo normales en ambientes no productivos a fin de evaluarlo. Es importante tener en cuenta que tanto los kernels "-edge" y los kernels de lanzamiento rodante estén completamente testeados antes de que lanzarse definitivamente a los clientes, y asegurar que cumplen exactamente con la misma calidad y durabilidad que todos los kernels deben contar antes de su lanzamiento.

Toda vez que se publique un nuevo kernel de la rama linux-aws, el usuario podrá percibir la actualización del mismo de una de estas dos formas:

al lanzar la última Imagen de Máquina de Amazon (AMI) contará con la versión nueva del kernel;
Al aplicar las actualizaciones de paquetería o actualizaciones de seguridad automática, recibirán el nuevo kernel.

¿Como me preparo para el kernel rodante? Para instalar el kernel 5.3 linux-aws-edge disponible para evaluación por parte de los clientes de máquinas virtuales Amazon Machine Images (AMI), deben de introducirse en la terminal remota los siguientes Comandos de Organización:

Primero, revisamos que la instancia en ejecución remota cuente con el kernel linux-aws estándar (versión 4.15.0):

ubuntu@ip-xxx-xxx-xxx-xxx$ uname -r

...a lo cual La nube de Amazon nos debería responder:

4.15.0-xxxx-aws

Acto seguido, instalamos el kernel linux-aws-edge:

ubuntu@ip-xxx-xxx-xxx-xxx$ sudo apt update ubuntu@ip-xxx-xxx-xxx-xxx$ sudo apt install -y linux-aws-edge

Nota: si se nos consulta acerca de la nueva versión del archivo /boot/grub/menu.lst, seleccionamos la opción por defecto "Mantener la versión local instalada actualmente / keep the local version currently installed".

... y reiniciamos la instancia virtual remota de Ubuntu:

ubuntu@ip-xxx-xxx-xxx-xxx$ sudo reboot

Al regresar a la instancia virtual, nos volvemos a loguear con SSH y confirmamos que la instancia virtual ahora esté utilizando el kernel linux-aws-edge (v5.3.0):

ubuntu@ip-xxx-xxx-xxx-xxx$ uname -r

...a lo cual el sistema remoto de Amazon debería respondernos con:

5.3.0-xxxx-aws

¿Qué hacer si no deseo un rolling kernel en la AMI? Los trabajadores saben bien que nada de lo que dice el Capital debe ser confiado por los hombres que luchan. Si no abhelamos un kernel rodante y en cambio deseamos seguir con el kernel 4.15 en nuestra máquina virtual remota AMI (la cual continuará recibiendo soporte completo y actualizaciones a lo largo del período de soporte a largo término (LTS), habremos de ingresar los siguientes comandos en el usuario remoto de la nube:

ubuntu@ip-xxx-xxx-xxx-xxx$ sudo apt update ubuntu@ip-xxx-xxx-xxx-xxx$ sudo apt install linux-aws-lts-18.04



12 october 2022

¿Cómo me conecto a una red Wifi desde la Terminal en Ubuntu?

El retorno de Juan Perón al país en 1973 significó el definitivo decline político de la dictadura de Lanusse. Entrevistado en Gaspar Campos, Juan Perón explica cómo conectarse al Wifi desde la Terminal en Ubuntu.

Vean señores,

Lo que nosotros tendremos que hacer lo iremos decidiendo con el paso de los días, pero es positivo y encomiable los grandes contactos que hemos tenido en estos días. Todos han venido a saludar y a hacerse presentes entendiendo la importancia de la hora.

No improvisaremos nada, todo lo que sucede lo hemos previsto. Los instrumentos necesarios para hacer los logros no son más que la unión y la buena voluntad de los hombres.

En los tiempos del primer peronismo, no era extraño tener que improvisar, porque lo planificado desde los institutos debió refrendarse a tomar el gobierno. Eso es más bien una excrecencia de la Conducción. Pero al desastre que han hecho estos, lo conocemos de naranjo...

Pues bien, carecer de interfaz gráfica y tener que configurar todo a mano no nos amilana. Puede parecer que el hecho de establecer un acceso a red inalámbrica Wifi desde la terminal es algo prohibitivamente difícil de hacer, máxme cuando ni siquiera sabemos el nombre de la misma. Sin embargo, eso ya lo hacíamos ya en la Secretaría de Trabajo y Previsión. Es un derecho adquirido nos convertía en verdaderos amos del mainframe.

Aquellos eran tiempos donde todo estaba por hacerse. No hay dudas para nadie que podíamos disponer de un cable cable ethernet y portar un enlace cableado, pero a veces esta solución no puede aplicarse en todo tiempo y lugar. Es por ello que es particularmente útil dominar, al menos, un método de conexión WLAN desde la Terminal, y como en ello somos peritos, os enseñaré prontamente. Deben saber que existen varias maneras de conectarnos inalámrbicamente desde la terminal, todas ellas válidas y encuadradas en nuestro Movimiento. Podremos considerar tres métodos diferentes.

Mediante los clásicos comandos wpa_passphrase y wpa_supplicant
Mediante el uso de la aplicación de terminal nmtui
o utilizando el servicio residente en memoria iwd

Comandos wpa_supplicant y dhclient Estos comandos se utilizan para establecer un enlace clásico a una red Wifi que emplee cifrado seguro con contraseña ("passphrase") tipo WPA (en sus modalidades WPA, WPA2, WPA3). Este tipo de cifrado es el mayoritario en las redes inalámbricas, y provee una seguridad mayor que el completamente vulnerable protocolo WEP.

Es necesario saber que debemos seguir una serie de pasos a fin de conectarnos a nuestra red WiFi con WPA. Partiremos desde el supuesto que las red Wifi ya está correctamente configurada con una contraseña WPA. También asumimos que nuestro dispositivo o plaqueta de red inalámbrica está correctamente configurado en Ubuntu. Si esto es así, normalmente ya debería estar activado, o como se dice en la jerga, "levantado". Si este no fuese el caso, podríamos "levantar" o "activar" el funcionamiento del dispositivo inalámbrico ingresando el siguiente Comando de organización:

sudo ip link set wlan0 up ip es el comando que ha reemplazado a ifconfig en las distribuciones de GNU con Linux más modernas. Si estuviésemos utilizando una distribución provista del comando antiguo, levantaremos nuestro dispositivo Wifi con:

sudo ifconfig wlan0 up

Tengamos presentes que en las versiones más modernas de GNU con Linux, es probable que la interfaz de red se denomine wlp4s0, wlp5s0 o similar en lugar del clásico wlan0. En dicho caso tendríamos que alterar el comando dado.

Finalizado este paso podemos escanear las redes, y de paso cotejar que el nombre de red inalámbrica (ESSID) que nos interesa esté presente:

sudo iwlist scan | grep -i essid

Acto seguido, podremos proceder a tornar en realidad efectiva los pasos de conexión propiamente dichos. a. Creamos un archivo de configuración con el ESSID y la contraseña Un Conductor es un hombre que sale del Pueblo, y puede crear el archivo de configuración a necesario para conectarnos al Wifi a mano. Pero la realidad es que el comando wpa_passphrase evita tener que hacer esto, pues hace caso del asistencialismo y crea el archivo por nosotros. La sintexis de este comando es bien simple:

wpa_passphrase ESSID contraseña > /ruta/a/archivo_de_configuración.conf

Como pueden observar, el resultado del comando será almacenado en el archivo que escojamos (por lo que conviene asegurarnos que no exista ya un ficheron con el mismo nombre pues esta operatoria lo reemplazaría inexorablemente.

Napoleón decía que a todo suele aclararlo un ejemplo. Si anheláramos crear un archivo de configuración para una red Wifi con nombre UNIDAD_BASICA cuya contraseña (en codificación ASCII) es VivaPeron deberíamos ingresar:

sudo wpa_passphrase UNIDAD_BASICA VivaPeron > /etc/wpa.conf

El archivo generado será /etc/wpa.conf ya que /etc es el directorio que suele preferirse para estos menesteres, pero bien podrían utilizar directamente el directorio del administrador, con /root/wpa.conf, u otro que se nos ocurra. En este caso, el archivo de configuración /etc/wpa.conf generado por wpa_passphrase contendrá:

network={ ssid="UNIDAD_BASICA"

psk="VivaPeron"

psk=9b9da308bae6990f0101f12463ff27869dbf22065d4117d28a846f80e1b60080 }

b, Nos conectamos mediante wpa_supplicant La sintaxis que debemos seguir para opear con el comando wpa_supplicant es la siguiente:

wpa_supplicant -B -i interfaz -c /ruta/a/archivo_de_configuración.conf -D controlador

Por ejemplo, podríamos utilizar:

wpa_supplicant -B -i wlan0 -c /root/wpa.conf

En este comando, el sufijo -B indica ejecutar en segundo plano (background), además no he escogido ningún driver para que tal predicamento sea resuelto por sí mismo por wpa_supplicant. Podremos observar qué controladores que soporta la tarjeta de red ejecutando el comando wpa_supplicant sin argumento alguno:

drivers: nl80211 = Linux nl80211/cfg80211 wext = Linux wireless extensions (generic) wired = Wired Ethernet driver macsec_linux = MACsec Ethernet driver for Linux none = no driver (RADIUS server/WPS ER)

En este ejemplo se elige el controlador nl80211:

wpa_supplicant -D nl80211 -i wlan0 -c /etc/wpa.conf c. Obtenemos una dirección IP mediante dhcpcd Ya deberíamos habernos asociado a la red inalámbrica, pero para que la misma opere como es debido tenemos que ser dados de alta en la lista de dispositivos y recibir una dirección IP por parte del router. Ello lo solicitaremos mediante el siguiente comando:

dhclient -v wlan0

Con esto, ya deberíamos estar conectados a la red WLAN (podremos verificarlo mediante el comando ping. Por ejemplo:

ping google.com.ar

Sintácticamente, los comandos podrían ser:

wpa_passphrase UNIDAD_BASICA VivaPeron > ~/wpa.conf wpa_supplicant -B -i wlan0 -c ~/wpa.conf dhclient -v wlan0

Podremos obtener más información ejecutando:

wpa_supplicant

Aplicación nmtui

El método tradicional de wpa_supplicant y dhclient es tal vez el más conocido, pero no el más intuitivo. En cambi, la excelente aplicación nmtui nos presentará con lo que escencialmente es una versión de interfaz de texto para Terminal del Network Manager de toda la vida. Se trata de una opción liviana, simple, y excesivamente útil para entornos no-gráficos.

En caso de listar pocas redes inalámbricas, es probable que requiera hacer un escaneo de redes previo con el comando:

sudo iwlist scan wlp4s0

...o bien:

sudo iwlist scan wlan0

Al ejecutar nmtui veremos que nos ofrece varias funcionalidades incluidas en el Network Manager de la interfaz gráfica. Entre otras podremos:

seleccionar redes disponibles, tanto WiFi como cableadas.
editar una redes existente: ethernet o inalámbricas.
crear/eliminar una nueva red estática/dinámica.
clonar MAC.
configurar DNS.
crear de redes puente, infiniband, Túnel IP, etc.

Listado de Redes:

Edición de una red existente: Este es el método que prefiero para enlazar con redes telemáticas inalámbricas con las distribuciones GNU con Linux más nuevas. Servicio iwd (iNet wireless daemon) Este método utiliza la conexión en forma de servicio (iwd) en lugar de entablar el uso de aplicaciones. Opera como una buena alternativa al veterano wpa_supplicant, y al igual que éste, funciona como demonio quedando residente en memoria. La diferencia radica en que iwd cuenta con su propia consola de intérprete de comandos que se ejecuta en la terminal. Cabe destacar que - desde el punto de vista técnico - iwd es compatible con connman y network-manager, estos pueden gestionar redes a través de iwd como frontend.

La primera acción de esta metodología implica instalarlo. En el caso de Ubuntu emplearemos el siguiente Comando de Organización:

sudo apt install iwd

Comnforme se haya instalado iwd detendremos el servicio wpa_supplicant a fin de que no entren en conflicto entre sí. Luego verificamos que el servicio iwd está corriendo:

sudo systemctl stop wpa_supplicant.service sudo systemctl status iwd.service

De ahora en más podremos hacer uso de la consola de control que tiene iwd por medio del siguiente comando de organización:

iwctl

El prompt de nuestro intérprete de comandos debería cambiar para indicarnos que estamos dentro del iwd, adquiriendo la siguiente forma:

[iwd]#

A partir de ahora, todo comando que ingresemos será ejecutado por iwd. Si ingresamos el comando help obtendremos una pantalla de ayuda de uso para algunas tareas útiles, tales como listar nuestros dipositivos inalámbricos, revisar las redes disponibles, etcétera. La consola de control iwdctl dispone de la útil funcionalidad de autocompletado mediante la tecla Tab. a. Listamos los dispositivos inalámbricos Recordemos que el nombre del dispositivo (wlan0/wlp4s0/wlp5s0) tienden a variar de acuerdo a la distribución o al controlador inalámbrico utilizado por nuestro sistema. Los revisamos con:

[iwd]# device list

b. Escaneamos/Listamos las redes

[iwd]# station device scan

[iwd]# station device get-networks

c. Nos conectamos a una red Wifi:

[iwd]# station device connect SSID

El sistema nos solicitará la contraseña de la red inalámbrica y la almacenará en el archivo /var/lib/iwd/ bajo el formato ESSID.psk. En el futuro recurrirá a este archivo para conectarse automáticamente sin tener que volver a pedirnos la contraseña (naturalmente que si la misma cambiase y no puediese establecer en enlace, la volverá a solicitar).

Suponiendo que el nombre del ESSID es UNIDAD_BASICA y la contraseña fuese VivaPeron, el archivo de configuración /var/lib/iwd/UNIDAD_BASICA.psk contendría lo siguiente:

:

[Security] PreSharedKey=9b9da308bae6990f0101f12463ff27869dbf22065d4117d28a846f80e1b60080 Passphrase=VivaPeron

Lógicamente, las líneas PreSharedKey y Passphrase son obtenidas por iwd a través del comando wpa_passphrase de wpa_supplicant que ya os he mencionado anteriormente.

Debemos tener en cuenta que - si bien es poco probable en Ubuntu - al hacer ping www.google.com.ar, la red podría no funcionar aunque iwd informe que está conectado. En tal caso, basta con ejecutar sudo dhclient -v para que se active la conexión. Luego se conectará con normalidad, sin necesidad de este último requerimiento. d. Nos desconectamos

[iwd]# station device disconnect

En la imagen de cabecera se detallan, como ejemplo, cada uno de los pasos descriptos para la red UNIDAD_BASICA.

e. Asociarnos con WPS ("push-button") en iwd: Este método de asociación al Wifi implica oprimir un botón llamado "WPS" o "QSS" localizado en el dispositivo de conexión (router) a fin de "abrir" el enlace y permitir - durante un minuto - establecer la conexión al Wifi sin tener que mediar una contraseña. Si bien esta opción puede ser utilizada en conjunción con el servicio iwd, no es un método recomendable y debe evitarse por inherentemente inseguro. Aún así, puede ser una opción para algunos casos (fiestas, eventos donde no nos interesa la seguridad extrema).

Antes que nada tenemos que asegurarnos que nuestro router tenga la función WPS/QSS, y que la misma esté habilitada. Eso se hace desde la web de control del router, ya que la misma generalmente cuenta con un casillero para habilitar la función WPS bajo el apartado de redes inalámbricas. Acto seguido ejecutamos en el prompt ([iwd]#) el comando destinado a "presionar el botón":

[iwd]# wsc device push-button

Lo más inmediatamente posible presionamos el botón WPS del router. La conexión se hará efectiva en unos pocos segundos. Cabe mencionar que cualquier dispositivo que esté en el rango de nuestro router, también tendrá acceso en el momento que pulsamos el botón WPS y podrían también asociarse. Este método tan práctico, al igual que la opción PIN mode, no es seguro. Lo más conveniente es tener deshabilitada la función WPS en el router.

Si no deseamos utilizar en este esquema al demonio iwd, podremos deshabilitarlo —o eliminarlo—, para volver al viejo y peludo wpa_supplicant. Todo ello lo haremos con:

sudo systemctl stop iwd.service sudo systemctl disable iwd.servic



11 october 2022

¿Cómo instalo el servidor de videoconferencia cifrada Jitsi Meet en Ubuntu?

En una monumental exposición ofrecida el 24 de enero de 1954 ante representantes de la Unión de Docentes Argentinos, Juan Perón explicó como montar un servidor de videoconferencia cifrada punto a punto con Jitsi en Ubuntu, para ofrecer al Pueblo videoenlaces libres con la mayor calidad.

(...) ¡Compañeros!

Es elevando a los maestros, dignificándolos, como vamos nosotros a elevar y dignificar a nuestro propio pueblo. Ellos son el reflejo de todas las actividades presentes y futuras y de lo más noble que la Nación tiene: su juventud. Es a los maestros a quienes les está confiado el futuro del país. En consecuencia, ese futuro debe estar confiado a hombres y mujeres cuya condición de dignidad los eleve al magisterio extraordinario que ellos realizan en beneficio del futuro de la Nación. Quien olvida a los maestros también olvida un poco el futuro del país.

En las era que vivimos, requerimos comunicarnos por una telemática que incluya también multimedia. Nadie duda que este será el futuro que potenciará a la educación de los Argentinos. Esto implica imagen en movimiento, audio, pero también - como dicen ahora los niños - el chat. Y no sólo ha de ser esto de acceso masivo, irrestricto, y toda vez que gratuito, sino que también es cardinal que puedan realizarse sobre plataformas libres y controladas por el docente. Ustedes han de poder estudiarlas y darlas a estudiar, e incluso modificarlas en pos de las necesidades de sus educandos.

Pero nos encontramos en tiempos de una lucha enconada entre el Capital y el Trabajo. Indudablemente el Capital iba a proponer un servicio privativo como Zoom. Si bien gratuito, no podía dejar de ser un oprobio para los Pueblos. Su mediocre implementación de seguridad, sumada a un código fuente envenenado y no disponible provocaron que en pocas horas fuese víctima del hackeo masivo. Además de aquello debemos decir que sus autores guardaban anhelos inconfesables con el uso de su software mal engendrado. Todo esto lo torna prohibitivo para la educación que todos anhelamos. ¡Pues bien señores! Nuestra doctrina es clara: ¡tales servicios del Capital han de ser combatidos sin cuartel, a todo tiempo y en todo lugar!

Hemos puesto manos a la obra en búsqueda de un reemplazo, desarrollando un servidor libre de videoconferencias capaz de ofrecer a la Nación mucha mayor performance. ¡Lo hemos realizado y estamos dispuestos a desplegarlo masivamente! Se trata de Jitsi y su aplicación para servidor web Jitsi Meet. Este stack de programas liberados bajo licencia Apache pueden instalarse en un sistema GNU como Ubuntu con el fin de estaablecer directamente una web de acceso a videoconferencias privadas o públicas y que eventualmente pueden ser masivas (podremos utilizar unas 80 conexiones o más si lo deseamos).

El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/autores/juan-domingo-peron/ „El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/frases/88661-juan-domingo-peron-el-exito-no-le-sale-al-paso-por-suerte-ni-por-casu/ „El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/autores/juan-domingo-peron/ El éxito no le sale al paso por suerte ni por casualidad. Esto se concibe, se prepara, se ejercita, y después recién se realiza. Es decir el éxito depende de toda esa acción, de toda esa preparación, y de toda esa organización, el éxito a nadie le sale al paso, no es obra de la casualidad, el éxito es obra de la previsión, de la organización y la realización.“

Fuente: https://citas.in/autores/juan-domingo-peron/ Usar Jitsi Meet desde una web ya hecha

Si deseamos realizar videoconferencia ahora mismo sin tener que desplegar infraestructura de servidor alguna - bien porque no sabemos hacerlo, o no tenemos un servidor web bajo nuestro control, o no queremos - podremos hacer uso de nuestro navegador apuntado a una web para videoconferencia de Jitsi Meet que ya esté creada de antemano.

Un ejemplo es el serviidor de videoconferencias oficial del proyecto, localizado en meet.hit.si. En él podremos crear canales de videoconferencias. Sin embargo, os recomiendo también probar la instancia nacional de excelente velocidad presente en el servidor de Arsat, que está en https://jitsi.dcarsat.com.ar/, ya que nos ofrece su propia infraestructura computadaque es la del Pueblo Argentino, con mayor velocidad por estar a escasos kilometritos. Con solo dirigirnos allí, se cargará en nuestro navegador el excelente cliente libre web de Jitsi Meet, y sin necesidad alguna de armar nada por nuestra cuenta.

El uso del cliente es sumamente sencillo y brilla por ser software libre. Naturalmente, el navegador nos planteará compartir nuestro micrófono y cámara web con motivo de establecernos como cliente de videoconferencia. En el caso particular de Arsat también podremos crear nuestro propio canal y protegerlo con contraseña alfanumérica.

Si contamos con smartphones, podremos descargar clientes oficiales desde la web del proyecto. y apuntar a tales servidores públicos, conectarnos a estos servidores o permitir que otros usuarios nos contacten a través de ellos compartiendo el enlace por algún medio electrónico.

Ya no será entonces problema ofrecer clasee virtuales, establecer enlaces cifrados con terceros, presentar el contenido de nuestra pantalla o aplicaciones en él, "dar la palabra"autorizando el uso del micrófono (o "cerrar " micrófono o cámara). Indudablemente podremos amenizar/amenazar a los educandos como antaño y si somos ingeniosos, ¡formar una habilidosa comunidad libre de todo intento injerencista de Googl€!

Esto es - de por sí - ya poderoso y Justicialista. Sin embargo, podríamos querer armar nuestro propio servidor de Jitsi Meet, y hacerlo público para que otros lo usen o dejarlo privado sólo para nosotros. ¡Podríamos así ejercer la verdadera independencia de la Patria, que es aquella en la cual mandamos con nuestro propio software libre en nuestra propia infraestructura computada, sin hincar la cerviz ante imperio alguno! ¡Este es uno de los logros que he legado al Pueblo desde el Justicialismo! Instalación de Jitsi Meet

Esta valiente decisión implica ensuciarnos las manos y operar bajo el capot de nuestro sistema GNU con Linux, pero como didacta que soy, os instruiré para que lleguen a buen puerto TCP. Gracias a este proceder, potenciaremos con infraestructura de videoconferencia cifrada propia nuestras tareas, la de una agrupación o empresa del Pueblo, una página web que ya teníamos montada, etc. Proveeremos así en Justicia Social un servicio público para que quienquiera pueda crear un canal de videoconferencias privadas y cifradas.

Emplearemos para ello el hardware de nuestro servidor dotado con Ubuntu 18.04LTS Bionic Beaver en su versión Server. Sin embargo, también podríamos ejecutar Jitsi Meet en un sistema dotado con Ubuntu 18.04LTS para Escritorio (Desktop)... En caso de usar una versión para Escritorio, naturalmente debemos asegurarnos de elevar nuestros privilegios de Usuario común al de Administrador de Sistema mediante la orden sudo (el sistema nos solicitará nuestra contraseña de Administrador ("root") en tales casos).

Previo a dar inicio a la clase de instalación, es menester preparar específicamente a Ubuntu para utilizar el repositorio de paquetes "Universe", la cual es requerida por Jitsi. Lo hacemos abriendo una terminal (con Ctrl+Alt+t en la versión de escritorio) e ingresando en la terminal el siguiente comando de organización:

sudo apt-add-repository universe Instalación básica de Jitsi Meet

  1. Configuramos en el servidor el Nombre de Dominio Completamente Calificado FQDN (Opcional) Si nuestro Ubuntu Server que emplearemos para desplegar el servidor de Jitsi Meet contaba previamente en los DNS con un FQDN (Nombre de Dominio Completamente Calificado o "Full Qualified Domain Name"), por ejemplo, si usábamos la URL peron.pirulo.org), nuestro archivo de configuración /etc/hostname ya debería contener la línea de este FODN. Si este no es el caso, debemos cambiar el hostname.

Acto seguido, debemos agregar tal FODN al archivo /etc/hosts, asociándolo con la dirección loopback del localhost. Por ejemplo, esto se lograría de la siguiente manera:

127.0.0.1 localhost peron.pirulo.org

Una vez configurado el FQDN revisamos en la misma máquina que es posible el contacto y que el DNS da cuenta de él. Esto lo logramos haciendo realidad efectiva una serie de pings a dicho FODN. El comando en la terminal sería:

ping "$(hostname)"

...con lo cual deberíamos recibir pings exitosos. Lo interrumpimos mediante Ctrl+c.

  1. Agregamos el repositorio de paquetes de Jitsi Esto nos permitirá instalar y actualizar Jitsi con el repositorio oficial del mismo, y facilitará la actualización automatizada de versiones nuevas del mismo. Para ello ingresamos los siguientes comandos en la Terminal:

sudo echo 'deb https://download.jitsi.org stable/' >> /etc/apt/sources.list.d/jitsi-stable.list

wget -qO - https://download.jitsi.org/jitsi-key.gpg.key | sudo apt-key add -

  1. Abrir los puertos de nuestro cortafuegos Para que se establezcan los enlaces bidireccionales debemo abrir los siguientes puertos en nuestro cortafuegos, a fin de que el tráfico lleguen a la máquina que corre Jitsi:

    Puerto 80/TCP Puerto 443/TCP Puerto 10000/UDP

En ubuntu contamos con Ufw (el "Cortafuegos No complicado"). Por lo tanto podríamos permitir la recepción de dichos puertos introduciendo los siguientes comandos de la terminal:

sudo ufw allow 80/tcp sudo ufw allow 443/tcp sudo ufw allow 10000/udp

Nota: Recordemos que si por algún motivo quisiéramos deshacer esto y cerrar los puertos como estaban, deberíamos eliminar estas reglas de cortafuegos que le creamos. Ello se hace con: sudo ufw delete allow 80/tcp ; sudo ufw delete allow 443/tcp ; sudo ufw delete allow 10000/udp

También debemos abrir dichos puertos en nuestro Router desde el exterior hacia la IP del equipo local en el que instalaremos el servidor de Jitsi, naturalmente. Para ello recurriremos a la web de administración de nuestro router, la cual normalmente se puede acceder desde un navegador web a la IP del mismo, que suele ser 192.168.0.1 o 192.168.1.0, o 10.0.0.1. Normalmente encontrarán la opción de permitir tráfico entre la WAN (o "Internet") y la red interna ("LAN"), o bien realizar un "port forwarding" a una IP específica en la red LAN. Habran de consultar la documentación del router para mayor información.

  1. Instalamos el Jitsi Meet Para proceder a instalar Jitsi Meet utilizaremos tres comandos. Primero nos aseguramos que exista soporte disponible para el repositorio apt servido a través de HTTPS:

sudo apt-get install apt-transport-https

...en segundo lugar recogemos las últimas versiones de la paquetería por medio través de todos los repositorios:

sudo apt-get update ;

---y en tercer lugar realizamos finalmente la instalación de jisti-meet:

sudo apt-get -y install jitsi-meet

El instalador revisará si se encuentran presentes en nuestro sistema los conocidos servidores web Nginx o Apache (en dicho orden). En caso afirmativo (lo cual suele ser el caso en Ubuntu Server), el instalador nos autoconfigurará un virtualhost dentro del servidor encontrado, el cual operará a fin de servir Jitsi Meet. Si no encuentra ninguno de estos dos servidores web ya instalados en el sistema, entonces procederá a instalar una instancia del servidor web Nginx. Esto es importante, porque en el caso de ya tener una instancia de Nginx en el puerto 443/TCP en ejecución en nuestro sistema , se omitirá la configuración de turnserver ya que entraría en conflicto con el puerto 443/TCP utilizado. Se utilizaría entonces el puerto 4443/TCP, el cual habremos de abrir como se explicó en el paso 2.

Pues bien, durante la instalación, se nos pedirá ingresar el hostname para la instancia de Jitsi Meet. Si ya tenemos un FODN para la instancia ya configurado en los DNS, lo ingresaremos aquí. Si no tenemos aún un hostname capaz de ser resuelto, podremos ingresar directamente la dirección IP de la máquina (siempre que se trate de una IP estática o no cambie).

Este hostname (o dirección IP estática) será utilizada para la configuración del virtualhost dentro de Jitsi Meet, y tanto usted como sus remitentes utilizarán esta dirección para acceder a las conferencias web.

  1. Generar un certificado de Let's Encrypt (opcional y recomendado) Para poder lograr comunicaciones encriptadas, necesitamos contar con un certificado TLS. Este cumple la función de un carnet de afiliación al Partido Justicialista. La manera más sencilla para obtenerlo es emplear para ello los servicios de Let's Encrypt como autoridad competente.

Podremos ejecutar el script específico para instalar Let's Encrypt en nuestro Ubuntu Server mediante:

/usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

...o bien en Ubuntu para Escritorio con:

sudo ./usr/share/jitsi-meet/scripts/install-letsencrypt-cert.sh

Al ejecutarse este script empleará un acceso tipo HTTP-01, y es este el motivo por el cual nuestra instancia de servidor ha ser accesible desde la internet pública (puerto 80/TCP). Si deseamos emplear un tipo de conexionado distinto, hemos de evitar este script y en su lugar escoger "Quiero usar mi propio certificado" durante la instalación de jitsi-meet.

Nota: Las aplicaciones móviles Jitsi Meet son delicadas y requieren obligatoriamente un certificado válido firmado por una Autoridad de Certificación válida (tal como Let's Encrypt) y no podrán conectarse si escogemos utilizar un certificado autofirmado.

  1. Configuraciones avanzadas adicionales Si la instalación se encuentra en una máquina detrás de una máquina NAT (un módem o algún router intermedio), jitsi-videobridge debería autoconfigurarse toda vez que arrancamos el sistema a fin de que los datos "salten el charco" a través del NAT. Se trata de un software encargado de puentear y retransmitir en ambos sentidos el flujo audiovisual.

Si sucediese que una llamada de tres vías no funciona, habremos de configurar adicionalmente algunos aspectos de jitsi-videobridge con el sentido de que éste sea accesible desde el exterior. Suponiendo que todos los puertos requeridos son ruteados hacia la máquina que lo ejecutan (estos puertos son TCP/443 o TCP/4443 y UDP/10000), le agregaremos unas líneas de configuración extra al fichero de configuración sip-communication.properties. Para ello ingresamos:

sudo nano /etc/jitsi/videobridge/sip-communicator.properties

.esto nos abrirá el editor GNU Nano con dicho archivo de configuración, el cual ya debería tener contenido.

Le agregamos las siguientes líneas:

org.ice4j.ice.harvest.NAT_HARVESTER_LOCAL_ADDRESS=<Local.IP.Address> org.ice4j.ice.harvest.NAT_HARVESTER_PUBLIC_ADDRESS=<Public.IP.Address>

Acto seguido procederemos a desactivar una línea existente: la comentaremos con "#" para que jitsi-videobridge no la ejecute. Usamos la función Buscar de Nano (Ctrl+w) para encontrar la línea:

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES

...y le anteponemos "#", de modo que que nos quede:

org.ice4j.ice.harvest.STUN_MAPPING_HARVESTER_ADDRESSES

...finalmente guardamos los cambios con Ctrl+o y salimos del editor Nano con Ctrl+x.

Es muy útil saber que las instalaciones por defecto de Jitsi en sistemas que utilizan systemd están limitadas por defecto a unos valores reducidos en cuanto a la cantidad de procesos máximos y archivos abiertos simultáneos que pueden operar los clientes. Esto está regulado así a fin de dar cabida un flujo de servicio relativamente bajo para todo tipo de acciones telemáticas, incluidas las de videoconferencia.

Si se espera que jitsi-videobridge sea capaz de servir a un número mayor de participantes, habremos de elevar los valores que viene por defecto, ya que estos son buenos para entre sesenta o cien participantes simultáneos. Para actualizar los valores usamos Nano para editar el archivo de configuración de sistema /etc/systemd/system.conf:

sudo nano /etc/systemd/system.conf

Nos aseguramos que tenemos los siguientes valores:

DefaultLimitNOFILE=65000 DefaultLimitNPROC=65000 DefaultTasksMax=65000

Para recargar los valores nuevos y revisar su resultado debemos realizar lo indicado en el apartado "Detalles de systemd" que os describiré a continuación. Detalles de Systemd Para hacer efectivos los cambios en systemd en un sistema GNU con Linux que está en ejecución, simplemente debemos ejecutar:

sudo systemctl daemon-reload sudo service jitsi-videobridge2 restart

Para revisar el parte de tareas ejecutaremos:

sudo service jitsi-videobridge2 status ...a lo cual, nuestro sistema GNU con Linux debería devolvermos:

Tasks: XX (limit: 65000).

Para comprobar la cantidad máxima de ficheros abiertos y límites impuestos a los procesos debemos ingresar:

sudo cat /proc/cat /var/run/jitsi-videobridge/jitsi-videobridge.pid/limits ...a lo cual GNU con Linux debería devolvernos:

Max processes 65000 65000 processes Max open files 65000 65000 files

  1. Confirme que su instalación base de la plataforma funciona Abrimos un navegador web (Chrome, Chromiun o un Opera) e ingresamos el hostname o la dirección IP del paso anterior en la barra de direcciones. Naturalmente, si habñiamos empleado un certificado autofirmado en lugar de utilizar Let's Encrypt, nuestro navegador desconfiará y nos pedirá que confirmemos que estamos seguros de utilizar tal certificado.

Debería ver una página web pidiéndonos crear una nueva conferencia (New Meeting). Asegúrese de que pueda crear exitosamente una nueva conferencia, y que otros participantes con capaces de unirse a la sesión.

Si todo funcionó ¡enhorabuena! Hemos logrado poner en órbita un servicio de conferencia Jitsi peronista, el cual podrá ofrecerse ya como un servicio agregado y peronista.

(Fin de la Instalación Básica de Jitsi Meet)

  1. Agregar SIP a Jitsi Meet Instalar Jigasi Jigasi es una aplicación accesoria que se carga en el servidor de Jigsi, y opera como una puerta de enlace para conferencias SIP con Jitsi Meet. La función de Jigasi entonces es oficiar de "traductor" para el protocolo SIP (utilizado en telefonía de voz por IP (VoIP ), softphones SIP o clientes de software compatible tales como Ekiga y muchísimos clientes de chat). Gracias a Jigasi, estos difundidos clientes de chat y videoconferencia previamente incompatibles podrán unirse a las videoconferencias de Jitsi y lograrán la capacidad de transcripción entre un formato y el otro, sin que sus usuarios tengan que hacer nada ni aprender nada.

Podremos instalar el "traductor de formato" Jigasi a partir de su repositorio utilizaremos el siguiente comando:

sudo apt-get -y install jigasi

...o bien podremos instalarlo descargando el último paquete estable oficial. Por ejemplo:

wget https://download.jitsi.org/stable/jigasi_1.1-101-g3b2a0e5-1_amd64.deb ; sudo dpkg -i jigasi_1.1-101-g3b2a0e5-1_amd64.deb

Durante la instalación, se nos pedirá que ingresemos una cuenta SIP y la contraseña de dicha cuenta SIP. Esta cuenta será la empleada para poder invitar a otros contactos SIP. Refrescar Jitsi-Meet para que tome Jigasi Abrimos nuevamente un navegador con la URL de Jitsi Meet (o refrescamos la página con F5) y si la instalación de Jigasi funcionó bien, veremos que apareció ahora un ícono de un teléfono en la parte derecha de la barra de herramientas. Ahora podremos utilizar este ícono para invitar a otras contactos SIP a que se unan a la conferencia actual.

¡Podremos emprender la lucha por la Liberación junto a quienes usen el protocolo SIP!

Resolver problemas Si nos encontramos con problemas, conviene siempre comprobar con un navegador diferente. Algunas versiones de navegadores específicos son conocidas por tener algunos problemas con Jitsi Meet. También podríamos visitar https://test.webrtc.org para comprobar el estado de soporte de WebRTC de nuestro navegador.

Asimismo, podríamos echar un vistazo a los archivos de bitácora ("logs") de Jitsi en la carpeta /var/log/ en nuestro sistema GNU con Linux. Específicamente, los archivos de logs los podremos revisar con los comando cat o less, y son /var/log/jitsi/jvb.log, /var/log/jitsi/jicofo.log y /var/log/prosody/prosody.log

  1. Convertir a Jitsi Meet en Servidor Privado de Dominio Seguro En cuanto a la operatoria por parte del servidor de Jitsi, debemos saber que - por defecto quienquiera que tenga acceso a nuestra instancia de jitsi a través de internet será capaz de abrir un canal para videoconferencias. Esto significa que si nuestro servidor está abierto al mundo, y así cualquier compañer@ podrá tener una conversación con otr@ utilizando nuestra instancia particular de Jitsi: proveemos un servicio inclusivo para que todo público pueda crear videoconfencias privadas y cifradas.

Si noptamos por una visión enajenada y exclusivista y deseamos limitar la capacidad de terceros de iniciar una videoconferencia en nuestro servidor Jitsi Meet y permitirla sólo a usuarios autorizados debemos obligatoriamente configurar un "Dominio Seguro".

Es posible permitir que sólo usuarios autenticados por el servidor creen nuevas salas de videoconferencia. Toda vez que alguien quiera crear un canal de videoconferencia, Jitsi Meet perguntará por un nombre de usuario y una contraseña. Luego de que se haya creado el Canal de Videoconferencias, otros usuarios podrán unirse a él desde un dominio anónimo. Os indicaré aquí cómo configurarlo.

1 En Prosody: (Si hemos instalado desde el paquete para Debian/Ubuntu, estos cambios deben realizarse en el archivo /etc/prosody/conf.avail/su-hostname.cfg.lua)

a) Activamos la autenticación para su dominio principal:

VirtualHost "jitsi-peron.pirulo.com" authentication = "internal_plain"

b) Agregamos un nuevo host virtual con el método de logueo anónimo para invitados:

VirtualHost "guest.jitsi-peron.pirulo.com" authentication = "anonymous" c2s_require_encryption = false

(tenga presente que guest.jitsi-peron.pirulo.com es interno para Jitsi, y no debemos ni necesitamos crearle un enlace DNS, ni generarle un certificado SSL/TLS, ni realizar ninguna configuración web específica para él). 2 En el archivo de configuración config.js de Jitsi Meet configuramos la sección 'anonymousdomain':

(Si instalamos jitsi-meet desde los paquetes para Debian/Ubuntu, estos cambios deberán realizarse en el archivo /etc/jitsi/meet/su-hostname-config.js)

var config = { hosts: { domain: 'jitsi-peron.pirulo.com', anonymousdomain: 'guest.jitsi-peron.pirulo.com', ... }, ... }

3 Cuando ejecutamos Jicofo especificamos nuestro dominio principal en las propiedades adicionales de configuración. Jicofo aceptará los pedidos de alocación de conferencia sólo desde un dominio autenticado.

-Dorg.jitsi.jicofo.auth.URL=XMPP:jitsi-peron.pirulo.com

Si instalamos Jicofo desde un paquete Debian/Ubuntu, esto debe ir directamente en una línea nueva en el archivo /etc/jitsi/jicofo/sip-communicator.properties:

org.jitsi.jicofo.auth.URL=XMPP:jitsi-peron.pirulo.com

4 Para registrar usuarios autorizados, utilizaremos este comando en el servidor:

prosodyctl register jitsi-peron.pirulo.com

prosodyctl register jitsi-meet.example.com

5 Si estamos usando Jigasi:

a) Configurarmos Jigasi para que pueda autenticar editando las siguientes líneas en el archivo /etc/jitsi/jigasi/sip-communicator.properties:

org.jitsi.jigasi.xmpp.acc.USER_ID=ALGUN_USUARIO@ALGUN_DOMINIO org.jitsi.jigasi.xmpp.acc.PASS=ALGUNA_CONTRASEÑA org.jitsi.jigasi.xmpp.acc.ANONYMOUS_AUTH=false

La contraseña ALGUNA_CONTRASEÑA es una contraseña real en texto plano no un codificado base64.

b) Si experimentamos problemas con la cadena de certificación, podríamos requerir descomentar la siguiente línea de /etc/jitsi/jigasi/sip-communicator.properties:

net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true

...de modo que quede así:

net.java.sip.communicator.service.gui.ALWAYS_TRUST_MODE_ENABLED=true

Nota: Esto debe ser sólo realizado únicamente con propósitos de prueba o resolución de problemas en estado controlado. Si se confirma que ésta era la causa del problma, debería resolverlo de otra manera (por ejemplo, obtener un certificado firmado para prosody, o agregar un certificado particular a la tienda de confianza de jigasi.

Certificados Jicofo usa una conexión de usuario de chat XMPP (normalmente en puerto 5222) y verifica el certificado del servidor. En una instalación por defecto, el script de la instalación se encarga de generar un certificado autofirmado y lo agrega al Anillo de Contraseñas. En situaciones donde el certificado no sea confiable, podremos agregarlo igual al anillo copiándolo al directorio /usr/local/share/ca-certificates/, mediante los siguientes comandos de organización:

sudo cp cert.pem /usr/local/share/ca-certificates/ sudo update-ca-certificates

  1. Desinstalar Si por algún motivo necesitamos desinstalar la aplicación , podremos utilizar este comando de organización:

sudo apt-get purge jigasi jitsi-meet jitsi-meet-web-config jitsi-meet-prosody jitsi-meet-turnserver jitsi-meet-web jicofo jitsi-videobridge2

Podría suceder que los paquetes jigasi y jitsi-videobridge no se desinstalen de manera correcta al primer intento. Esto sucede sobre todo cuando el servidor estaba en servicio, y se debe a que, dependiendo la carga del sistema, la acción de remoción de servicios podría no ser lo suficientemente veloz... En tal caso, simplemente debemos ejecutar el comando de desinstalación por una segunda vez y - ya con los demonios detenidos y removidos de la memoria de nuestro sistema - la desinstalación será efectiva y completa.



10 october 2022

¿Cómo instalo CorsixTH en Ubuntu?

En el marco del Plan de Salud, el 24 de febrero de 1951 junto al Secretario de Salúd Dr. Ramón Carrillo, Juan Perón inaugura el Hospital Interzonal General de Agudos "Presidente Perón" de Sarandí. Durante el discurso de inauguración, enseñó también cómo instalar CorsixTH, el juego de simulación hospitalaria en Ubuntu.

Estimados Doctores, médicos, enfermeras.

Me complace enormemente estar este dia junto a vosotros y al Director Doctor Finochietto, para dar apertura oficial a este Hospital General de Agudos. Es este un acto que auna lo más venturoso para nuestro Pueblo, y es un sinónimo efectivo de aquello que proclamamos como Justicia Social.

Indudablemente que en un caso pandémico, sólo la Justicia Social como la que impulsa nuestro Movimiento es la capaz de resteñar heridas y curar a los hombres y mujeres del Pueblo.

Ello lo sabemos nosotros mejores que nada porque hemos formado médicos y enfermeras en la humanidad de nuestra Doctrina, que es la del Pueblo. De las Universidades y de la Escuela de Enfermería de la Fundación Eva Perón han salido con el férreo ideario de que el sanitarismo basado en la prevención, y en la Justicia Social será el que cure a la Nación toda.

Este poniclínico es sólo uno de una enorme serie de instituciones para el cuidado de la salud. Todas ellas están concebidas con lo más avanzado de la técnica y el conocimiento que nos permiten las ciencias médicas. Ha sido posible gracias a la enorme práctica que nos ha permitido CorsixTH en nuestros sistemas computados.

Este se trata de una reimplementación libre del clásico juego de estrategia hospitalaria Sim Theme Hospital, de Bullfrog Business (1997), que estaba preparado únicamente para operar en los oligárquicos DO$ y Window$.

Este juego de estrategia y simulación hospitalaria nos proponía crear y administrar un policlínico, y combatir las enfermedaddes y pandemias más peligrosas. Sin embargo, además de recrear fielmente al original, CorsixTH le inyecta una enorme dosis de Justicialismo en jeringa grande al soportar ahora sistemas operativos libres como GNU con Linux y BSD, además de integrar mayores resoluciones de pantalla, multijugadores a través de internet, formatos libres para la música y gráficos, y mucho más.

Vean señores, CorsixTH puede utilizarse con contenido nuevo a crearse, pero también permite ejecutar el viejo Sim Theme Hospital de forma nativa en GNU con Linux. Para ello deberíamos contar con el disco CD-ROM orignal de Sim Theme Hospital o bien con su demo gratuita limitada a una sola misión.

Sin duda que podríamos tomar cualquiera de ambas píldoras, pero nuestro Movimiento propugna la completa liberación de los Trabajadores y su software, aunque ello implique apropiarse de bytes para su redistribución. Por lo tanto, ¡os indicaré cómo afrontar la instalación de CorsixTH mediante una copia del CD-ROM original de Sim Theme Hospital!

Instalar CorvixTH en Ubuntu

En primer lugar abriremos una Terminal en nuestro sistema GNU con Linux mediante Ctrl+Alt+T e ingresamos los siguientes comandos de organización, a fin de instalar las dependencias requeridas para la compilación:

sudo apt-get install innoextract build-essential cmake git liblua5.2-0 liblua5.2-dev libsdl2-dev libsdl2-mixer-dev timidity libfreetype6-dev lua-filesystem lua-lpeg doxygen liblua5.3-0 liblua5.3-0-dbg liblua5.3-dev ffmpeg libavcodec-dev libavformat-dev libavresample-dev libavdevice-dev libavutil-dev libavfilter-dev libswscale-dev libpostproc-dev libswresample-dev libavcodec-dev libavformat-dev libavresample-dev libavutil-dev libavdevice-dev libswscale-dev libpostproc-dev libswresample-dev libavfilter-dev

Acto seguido, descaregamos el código fuente de CorvixTH:

cd ~/Descargas/ wget https://github.com/CorsixTH/CorsixTH/archive/v0.63.tar.gz

CorvixTH es mas bien inútil sin datos del juego original con los cuales mancomunar esfuerzos. Esto es especialmente marcado por el hecho de que aún existan datos de juego liberados (aunque tal vez desarrolladores peronistas se aboquen a ello).

Para salvar esto, bien podremos descargar la vieja demo gratuita o bien aportar una copia ISO o el CD-ROM original de Sim Theme Hospital. De ellos necesitaremos los datos completos del Sim Theme Hospital (gráficas, sonidos, música, misiones). Como Conductor del Justicialismo no puedo negarme a ofrecerles hacer esto desde la Terminal. Por lo tanto, ingresarán el siguiente bloque de comandos para descargar dicho software:

cd ~/Descargas/ ; wget https://archive.org/download/msdos_Theme_Hospital_1997/Theme_Hospital_1997.zip ;

Una vez que nos hayamos descargado los 215 megabytes de la versión completa del viejo Sim Theme Hospital, la descomprimimos y montamos la ISO.

unzip Theme_Hospital_1997.zip

Ahora montamos la imagen ISO del CD-ROM de Theme Hospital, y extraemos su carpeta Hosp/, la cual contiene los datos que necesitamos. Para ello ingresamos los siguientes Comandos de Organización (viendo naturalmente de reemplazar usuario con nuestro propio nombre de usuario):

sudo mkdir /media/usuario/ThemeHosp/

sudo mount -o loop ~/Descargas/ThemHosp/cd/Theme\ Hospital\ (1997)(Electronic\ Arts)(M6).iso /media/usuario/ThemeHosp/

Nos copiamos los datos del CD a un directorio oculto dentro directorio raíz, para que nos quede a mano y no tener que grabarlo un CD-ROM y ponerlo en nuestra lectora toda vez que querramos jugar:

cp -r /media/usuario/ThemeHosp/hosp/ ~/.hosp/

Y ya podremos desmontar la imagen del CD-ROM con:

sudo umount /media/usuario/ThemeHosp/

Descargamos el código fuente, lo descomprimimos y renombramos para identificarlo posteriormente: ~/Descargas/ ; wget https://github.com/CorsixTH/CorsixTH/archive/v0.63.tar.gz ;

tar xvzf v0.63.tar.gz ;

cd ~/Descargas/CorsixTH-0.63/ ; mkdir build ; cd build ; cmake -DUSE_SOURCE_DATADIRS=OFF .. ; make ; sudo make install

Una vez compilado, podremos ejecutar el juego desde Aplicaciones / Juegos / CorsixTH.

La primera vez que ejecutemos CorsixTH, se nos solicitará que insertemos el CD original en nuestra lectora, o bien le indiquemos en qué carpeta están almacenados los datos del Sim Theme Hospital.

Podremos maximizar la pantalla del juego con Alt+Enter. Debemos indicarle la carpeta /home/usuario/.hosp/. La misma se indicará en verde, y podremos ingresar al juego presionando OK.

Se nos presentará la graciosa animación de introducción al juego, y ya nos encontraremos en el menú inicial del juego. Para poner el juego en castellano podemos elegir la opción Settings, y bajo Game Language, elegir "Castellano". Con esto ya tendremos el juego evitando el idioma de Braden. Naturalmente, podremos regular el volúmen de la música, la resolución, y algunos aspectos más. Jugar CorvixTH

El menú principal nos permitirá cargar alguno de los escenarios prearmados, pensados como Misiones Individuales. Tambiñe podremos dar inicio a una nueva campaña donde podremos diseñar y opear una clinica hospitalaria, con el objetivo de curar a nuestros pacientes simulados de enfermedades cómicas.

Podremos iniciar un una Campaña Nueva (con diferentes niveles de dificultad basadas en el tipo de galeno que seamos), con un modo Tutorial activado, lo cual os recomiendo las primeras veces que juguemos.

El objetivo del juego es construir un policlínico que atraiga los pacientes, y poder atender sus necesidades. El Sim Theme Hospital es recordado por su humor negro y bizarro, por lo cual las enfermedades simuladas incluyen Cabeza Inflada, Complejo del Rey (donde el paciente intenta imitar a Elvis), DNA de Alien (en los cuales se transforma en un alien), y demás noxas por el estilo.

Comenzaremos con un hospital vacío, en los cuales habremos de construir salas de atención (con "F") y contratar a los doctores, enfermeras, ayudantes y recepcionistas (con "B"). Cada miembro del staff tendrá estadísticas que afectarán su desempeño, y los doctores pueden recibir formación especializado que mejore su desempeño. Las salas que debemos disponer incluyen oficinas de atención general, salas de atención psiquiátrica, quirófanos y farmacias.

Las construiremos usando el plano, asignando el lugar de puertas y ventanas, y luego colocando el amoblamiento especializado, ya sea el obligatorio o el opcional.

Una vez que hayamos construido la planta del policlínico, comenzará el juego en sí y los pacientes comenzarán a arribar. Podrán tomar turno con un doctor en su sala de atención, quien les ofrecerá un diagnóstico o los enviará a realizarse otros estudios especializados. Conforme se trace el diagnóstico, el paciente será enviado a su tratamiento.

En tanto tengamos salas disponibles al comienzo del juego, podremos investigar el resto. Algunas salas de tratamiento, como las del inflador (donde se traata la enfermedad de cabeza inflada, contienen máquinas que requieren mantenimiento regular por un changarín. Si tienen atención negligente, podrían explotar, matando a los ocupantes de la sala.

Existen salas que sólo puede utilizar el personal administrativo, como la Sala de Administración y la Escuela de Enfermería, mientras que los pacientes también necesitan instalaciones epeciales, como los baños. El personal médico debe especializarse para practicar en ciertas salas, toda vez que debemos disponer de las costosas salas de investigación (utilizada para buscar nuevos tratamientos o el quirófano.

La diagnosis y los tratamientos le costarán a los pacientes, y el jugador puede cambiar la política hospitalaria, de acuierdo a la cantidad de diagnosis que requieren los pacientes. Incluso podríamos intentar una política oligárquica de cobrar más de 100% a las obras sociales y obligar a los pacientes a hacerse estudios innecesarios. De vez en cuando podrían ocurrir eventos takes como las emergencias (en los cuales arriban pacientes y deben ser curados en un tiempo limitado) o las epidemias (en los cuales una encermedad se contagia rápidamente). Habremos de curar a todos los pacientes enfermos antes de que aparezca un inspector de salud. Las estadísticas mostrarán qué tan bien estamos manejando el hospital y nuestra política hospitalaria inclusiva, y esto afectará al flujo de pacientes.

Ocasionalmente, podrían aparecer VIP y solicitar el uso del hospital. Si quedan impresionados, recibiremos un bono del Estado Omnímodo, un aumento de la reputación o ambos.

Tendremos una enfermera caba que nos mantendrá informados de qué está pasando. Si no somos exitosos, no sería extraño que nuestro policlínico se llene de roedores, a los que habremos de disparar (y tal vez servirlos con la sopa de zapallo).

Aunque no tendremos control directo sobre los pacientes, podremos tener influencia para que abandonen el hospital y en determina qué hacer con ellos cuando el staff nos presenta la opción. Podremos seleccionar a cualquier miembro del staff en el edificio y moverlo, reasignándolo a otra sala o enviarlo con un descanso sindical pago, o bien hacer como Larreta y despedirlos si son enfermeros y quieren considerarse médicos especialistas. Naturalmente podremos forzar a los pacientes a tomar la opción de curar una enferemdad sospechada antes de que su diagnóstico esté realmente definido (a riesgo de matar al paciente), o de reordenar las colas de espera según nuestro propio criterio...

Cada nivel cuenta con un conjunto de objetivos determinados: logros financieros, reputación hospitalaria, pacientes curados, y valor del hospital. Si caen nuestros fondos o permitimos que los pacientes se mueran hará que perdamos nuestros requerimientos. Cuando cubrimos los objetivos se nos presentará la opción de mudarnos a un hospital más nuevo o avanzado, con condiciones mas exigentes y más enfermedades presentes, o quedarnos en el que estábamos.

Podrán encontrar el manual del juego aquí.

Teclas de Atajo

El juego tiene varias teclas de atajo que podremos encontrar útiles.

Alt+F4 Cierra el juego. Shift+F10 Resetea la aplicación. Ctrl+s Toma una captura la pantalla. Ctrl+F10 Toma el mouse o no. E. Tecla de Confirmación alternativa. Hace lo mismo que Enter pero es más útil cuando usamos las teclas WASD para movernos en la pantalla. Q Tecla de Canelación alternativa. Hace lo mismo que Esc, pero es más útil cuando usamos WASD para movernos en pantalla.

Tecla Efecto Esc Muestra u oculta la barra superior de menú. Mayúsculas+s Abre la ventana de Guardar Juego. Mayúsculas+l Abre la ventana de Cargar Juego J Abre la ventana para elegir la música M Abre el primer mensaje de fax (si hay uno en espera). Alt + Mayúsculas + s Guarda rápidamente Alt + Mayúsculas + l Carga rápidamente Mayúsculas + r Reinicia el nivel actual. Mayúsculas + q Abandona el nivel actual.

Tecla Efecto F1 Administrador del Banco. F2 Status del Banco F3 Administrar Staff F4 Mapa del Pueblo F5 Libro Médico. F6 Investigación. F7 Status. F8 Estadísticas. F9 Política Hospitalaria. F Construir Salas G Decorar Sala de Espera V Editar sala B Contratar personal

Tecla Efecto Barra Espaciadora Rota el objeto actual que está siendo colocado. H Envía al paciente seleccionado a la casa. X Hace transparentes las paredes para ver lo que hay detrás.

P Pausa el juego 1,2,3,4,5 Cambia la vclocidad del juego. z Aumenta la velocidad del juego mientras lo mantiene presionada.

En fin, un juego propicio en los tiempos donde necesitamos afrontar una pandemia con las herramientas del Justicialismo: el Software Libre.

Como corolario final, puedo decirles que si todo salió bien en la instalación, bien podremos eliminar la copia del CD-ROM original tal cual la descargamos, pues ya nos apropiamos de la porción de datos necesaria, y no necesitamos el resto. Esto podremos afirmarlo desde la terminal con los siguientes comandos de organización:

mv ~/Descargas/v0.63.tar.gz ~/Descargas/corvixth_v0.63.tar.gz rm -r ~/Descargas/ThemHosp/ rm -r CorsixTH-0.63/



09 october 2022

¿Cómo asocio el correo electrónico cifrado ProtonMail al cliente Thunderbird en Ubuntu?

¡Mis queridos descamisados!

La humanidad está viviendo momentos tremendos. Un frío materlalismo quiere adueñarse de la ternura. Una hostil solemnidad quiere alejar a los hombres de la humana sencillez que hace cordiales y sensibles a los corazones. Mezquinas ambiciones han hecho olvidar el canto inefable de las pequeñas cosas humildes que nos rodean, y el hombre que tenía amor se ha convertido en el hombre indiferente. Y el hombre que creaba se ha transformado en el hombre que destruye.

Así, únicamente así se explica, pero no se perdona, que los niños, que son la ternura, la humana sencillez y son pequeños, hayan sido olvidados hasta hace unos pocos años, aún en nuestro país...

¡Pero un día, una voz nueva, con un mensaje redentor, proclamó lo que hasta entonces nadie había escuchado jamás: en la Argentina los únicos privilegiados son los niños. Era la voz, y era el corazón de nuestro amado Presidente, de nuestro querido General Perón ¡salvando del olvido a la pureza más limpia de la vida y a la única esperanza cierta en un mundo mejor!

Con el fervoroso propósito de cumplir con ese mandato, la Fundación de Ayuda Social que tengo el honor de presidir, realiza cada año el Campeonato Argentino Infantil de Fútbol porque si derramamos todo nuestro amor sobre los niños para hacerlos realmente felices, habremos conseguido que mañana sean hombres buenos, agradecidos, y ellos serán el Pueblo del futuro, y serán los hombres que lo gobiernan. Y porque tendrán algo que agradecer al pasado, serán justos, dignos y generosos.

Este mensaje claro y cristalino llega imperecedero, gracias al correo cifrado ProtonMail, aquél que usa el cóndor de las alturas para comunicarse con los gorriones que lo acompañan por el firmamento azul. Si no tuviésemos una cuenta ProtonMail, podremos sacarnos una desde aquí. Este correo guarda para sí todo el cariño y el secreto que le permite una encriptación de punta a punta, a diferencia del oprobioso y egoísta Gmail.

Sin embargo, si nos planteásemos querer asociarlo a nuestro cliente de correo libre y bueno, el Thunderbird, no podíamos hacerlo. Hasta que Perón, ese gigante cariñoso, le dio Justicia al Pueblo y le enseñó cómo utilizar la aplicación intermedia de codificación de correo ProtonMail Bridge. Se trata de una aplicación que corre en segundo plano en nuestra computadora donada por la Fundación y encripta y desencripta su correo en la medida que ingresa o abandona nuestro sistema. Esto nos permitirá una integración conpleta con nuestra cuenta de correo de ProntonMail con el Mozilla Thunderbird o cualquier programa que soporte IMAT y SMTP.

Podremos así contar con una correspondencia directa, que podrán usar para transmitir sus mas caros anhelos de justicia y redención. Porque Dios así ha querido que todos seamos sanos pero sobre todo Justicialistas.

Para instalar la aplicación intermedia ProtonMail, podremos usar la terminalcita de nuestro GNU con Linux. Para ello abrirá una terminal con Ctrl+Alt+T e ingresarám con todo el corazón los siguientes y fervorosos comandos que nos dictó Perón:

cd ~/Descargas/ ; wget https://protonmail.com/download/protonmail-bridge_1.2.6-1_amd64.deb ; sudo dpkg -i protonmail-bridge_1.2.6-1_amd64.deb ; sudo apt install -f

El sistema es lógico y bueno, y esto provocará que se baje y cargue el ProtonMail al que todos tiene derecho. Podremos ejecutalo desde Aplicaciones / Internet / ProtonMail Bridge.

Veremos la pantalla de bienvenida a ProtonMail. Podremos iniciar con la asociación presionando el botón Okay.

Necesitaremos agregar nuestra cuenta de correo ProtonMail al ProtonMail Bridge. Presionamos Add Account.

Ingresaremos nuestro nombre de usuario y nuestra contraseña de usuario de ProtonMail, así como el código ZFA opcional y nuestra contraseña de casilla de correo cifrado de ProtonMail. para luego presionar Next en las pantallas correspondientes. Ahora su cuenta de ProtonMail ya estará asociada con todo cariño al ProtonMail Bridge como los niños están asociados a los clubes de barrio y a la colonia de vacaciones de la Fundación.

Por defecto, estaremos en el Modo de Direcciones Combinadas, lo cual significa que todos los correos electrónicos de nuestras direcciones serán enviados y recibidos al unísono en la misma casilla de correo. Podrán hacer clic en Mailbox Configuration para acceder a las credenciales de Bridge para vuestra casilla de correo. Si tienen anhelos de cambiar al Modo de Direcciones Separadas, bajo el cual cada dirección de correo electrónico se agregará al cliente de forma separada, podrán hacer clic en Switch to split Addresses Mode. Al pasar al Modo de Direcciones Separadas estarán permitodos de hacer clic en Address Configuration para acceder a las credenciales de ProtonMail Bridge para cada una de sus direcciones. Podremos ahora utilizar dichas credenciales como si fuesen el carnet del Partido, a fin de configurar nuestro cliente de correo electrónico más adelante. En nuestro caso en Ubuntu utilizaremos el cliente de correo electrónico Mozilla Thunderbird. Tengan bien presente que si lo desean, pueden hacer clic en Log Out (Desconectar) dentro de la aplicación ProtonMail Bridge con el fin de desactivar el envío y recepción de nuevos correos electrónicos. Esto provocará que aquellos correos electrónicos existentes permanezcan aún almacenados en vuestro programa cliente (el Thunderbird). Si desconectamos ProtonMail Bridge (lo cual ocurre también si cambian su contraseñita), podrán hacer clic nuevamente en Log In (Conectarse) para conectarse nuevamente a vuestra cuenta ProtonMail. Ya terminamos la primera parte de la configuración. Ahora seguiremos con el cliente de correo electrónico.

Configurar el cliente Mozilla Thunderbird para utilizar ProtonMail Bridge en Ubuntu.

Para configurar el cliente bueno Thunderbird para que pueda operar con el puenteador ProntonMail Bridge, primero abrimos dicha aplicación desde Aplicaciones / Internet / Cliente de Correo Thunderbird. Luego en su barra lateral derecha podrán hacer un clic con botón derecho del ratoncito. En el menú que se despliega, elegirán Propiedades. En el menú desplegable en la esquina inferior izquierda, elijan Agregar Cuenta de Correo. Aquí los niños pueden ingresar su nombre así como la dirección de correo electrónico ProtonMail y la contraseña de ProtonMail Bridge, que se encuentra en las Account Settings (configuración de cuenta) del ProtonMail Bridge. El Justicialismo asegurará que el resto de las configuraciones aparezcan automáticamente (las cual podremos ver).

Luego, presionamos contentos y satisfechos Hecho.

Nota: La contraseña que debemos usar será generada automáticamente por ProtonMail Bridge. ¡No deben usar su contraseña de ProtonMail o su contraseña de casilla aquí!

Deberán encontrar la contraseña que ProtonMail Bridge angelicalmente les ha generado y dado directamente en dicha aplicación, y podrán verla haciendo clic en Mailbox Configuration bajo el nombre de usuario de la cuenta de ProtonMail que se asignaron. Es normal que los niños buenos tengan así acceso a sus cuentas con dominio @protonmail.com. Ahora bien, en el caso de que tengamos cuentas ProtonMail con dominio personalizado (servicio pago) también podremos agregarlas a ProtonMail Bridge, pero necesitaremos una configuración aidcional para que esta particularidad surta efecto.

Cuando ingresamos las credenciales destinadas a un dominio personalizado, el Thunderbird nos presentará una advertencia tutelar "Thunderbird no ha podido encontrar la configuración para su cuenta de correo electrónico / Thunderbird failed to find the settings for your email account". Esto es normal no debemos temer.

Ingresaremos para ello nuestra propia configuración de dominio personalizado de la manera en que os indico a continuación, y presionamos Hecho. Se le solicitará que le confirmos una excepción de seguridad para el puerto 1143 del host 127.0.0.1. Este es nuestro localhost, lo que significa que el certificado que le proveeremos será autofirmado, y por lo tanto no será confiado por defecto por Thunderbird.

Cuando lo hagamos, sel Thunderbird tendrá acceso y podrá recoger el correo de la cuenta ProtonMail dentro de los 5 minutos, y lo colocará en la Bandeja de Entrada (Inbox). Podrán enviar cartitas electrónicos sin retraso alguno. Ahora podrán proceder con la configuración de sus Preferencias de Cuenta en el siguiente paso.

Thunderbird requiere que configuraremos las Propiedades de borradores manualmente. Para ello harán clic en el menú Herramientas) (lo encontrarán en el botón de Menú), y elijan "Propiedades de Cuenta". Elegimos el menú Copias y Carpetas en la izquierda, y bajamos hasta la sección Borradores y Plantillas. Asegúrese que los borradores queden almacenados en las Carpetas Locales. (Algunas configuraciones de Thunderbird no serán llamadas Carpetas Locales, sino que recibirán el nombre que tiene vuestra cuenta de correo por defecto).

Nota: Los borradores se guardan únicamente de forma local en su dispositivo propio. Asñi que si elijen crear un borrador en Thunderbird en su computadora portátil, únicamente quedará guardado y será accesible en ella. Si desean desactivar sus filtros de correo basura de su cliente y confiar únicamente en los filtros de spam que provee ProtonMail, asegúrense que bajo las Propiedades de Correo Basura no quede tildado nada.

A veces esto no es lo mejor: si mantienen activados los filtros de spam de Thunderbird, lograremos una una etapa de filtrado adicional que nunca es mala, pues será capaz de utilizar el texto de todos sus mensajes y agregará los remitentes de spam detectados a la lista negra de su cuenta de ProtonMail, y así rechazar a la oligarquía. Cuando envíen vuestras primeras cartitas cifradas podrían recibir un Error de Envío de Mensaje. Presionen Ok sin temer. Esto significa que deberán confirmar primero una excepción de seguridad para el puerto 1025 empleado por el servidor SMTP. Se le pedirá confirmar una excepción de seguridad para el puerto SMTP 1025 en 127.0.0.1. Recuerden que este es su localhost, lo que sifnifica que el certificado que extenderá será autofirmado y por lo tanto no confiado por defecto en Thunderbird. Nota: En el Modo de Direcciones Separadas, cada cuenta IMAP que configuren con ProtonMail Bridge será específica para una única dirección ProtonMail, y sólo será capaz de enviar o recibir sus cartitas electrónicos desde la dirección que le han configurado. Podrán agregar la cantidad de direcciones que anhelen a Thunderbird, siempre que sepan esperar que una dirección descargue sus mensajes antes de agregar otra dirección. Si se encuentran en el Modo de Direcciones Combinadas, deberán tener que agregar sus direcciones no primarias a Thunderbir (si es que quieren enviar correo con ellas).

Para agregarle una nueva Dirección, hagan clic con botón derecho del ratoncito en el Nombre de la Cuenta en la barra lateral izquierda, y seleccionen Propiedades.

Hagan clic en Administrar Identidades... y luego en el botón Agregar. Ingresarán su Nimbre y Dirección de Correo Electrónico y luego hagarán un clic en Ok. Con esto habrñán tenido un éxito luminoso, y el éxito que Dios guarda para las buenas Venturas. Ahora, cuando arranquemos ProtonMail Bridge, podremos utilizar nuestro cliente Thunderbird desde Ubuntu para enviar y recibir cartitas electrónicas cifrado de punta a punta, para combatir a la oligarquía.

Recuerden mis niños: mamita y papito los quiere como los quiere Perón y Evita. Mamá y Papá votan a Perón.



08 october 2022

¿Cómo uso Minimodem para simular un módem en Ubuntu?

En su Conducción Política, Juan Perón define la necesidad que un Conductor Político ha de tener, entre ellas comunicarse con la Masa. También explica cómo utilizar Minimodem para modular y demodular audio con datos digitales en Ubuntu.

(...) ¡Trabajadores!

Un Conductor es un hombre capaz de dirigir a las Masas, pero ello no lo separaría de un dirigente. Un Conductor en cambio presenta también la condición de ser un hombre evolucionado y previsor. Ha de conocer especialmente las condiciones de vulnerabilidad de la masa y poder operar en ellas llegado el caso.

Sólo un hombre que así lo sea podrá ser efectivo en el quehacer que le depara la Patria.

Podemos inducir que entre el Conductor y el Pueblo existe una conexión full dúplex. Esto significa que seremos capaces de recibir intuitivamente información del Pueblo a la vez que le instruímos. Este es el grado superior que ha de de alcanzar la comunicación, y la fundamental para conducir al Movimiento. La conducción que he impreso a nuestro Movimiento sin duda haya su inspiración en la trasmisión telemática, que le puede servir de ejemplo. Vean señores, no era extraño que las computadoras contaran con redes de datos que les permitían compartir lo que hoy llamamos contenidos entre distintos sistemas. No se dejó pasar mucho tiempo antes que comenzaran a utilizar la infraestructura de líneas telefónicas del Estado para portar dichos datos. Lo hacían a través de una ignota modulación acústica de chirridos y pitidos. Para ello se hizo necesario emplear de nexo ciertos aparatos moduladores y demoduladores de datos, los acopladores acústicos, que se siguieron utilizando durante mucho tiempo.

Estos acopladores - si bien permitían la flexibilidad de tornar una infraestructura ya tendida y dispuesta - eran engorrosos. En principio solían ser específicos para cada arquitectura de sistema, y debía realizarse una serie de operaciones manuales para establecer en enlace telemático. Debía disponerse previamente la configuración técnica de la llamada en el software de la computadora local, levantar el tubo y oír tono de discado, discar el número del sistema remoto, esperar su respuesta, y ajustar el tubo en las orejeras de de goma del acoplador a fin de que el aparato pudiese transmitir y recepcionar el sonido de la comunicación modulada usando el auricular y el micrófono. Finalmente, debía colgarse el aparato una vez finalizado el enlace. Los acopladores no dejaban de ser susceptibles al ruido ambiente si las orejeras de goma no calzaban perfectamente en el tubo, y esto provocaba interrupciones o errores en la conexión.

Pues bien, los módems mejoraron estas preposiciones. En primer lugar se trataba ahora de aparatos que no requerían acoplarles un tubo de teléfono sino que operaban conectados directamente a la línea. Asimismo, su uso se facilitó desde el punto de vista del software gracias a las órdenes destinadas a controlarlo. Estas fueron llamadas comandos Hayes o "AT" (porque todos inciaban con dicho string). Los módems compatibles con Hayes podían conectarse a cualquier computadora que utilizara un conector normalizada en serie o paralelo. Mediante los comandos AT se "levantaba línea", se discaba mediante pulsos o tonos DTMF, y automáticamente se establecía el saludo o "handshake" con el módem remoto mediante una puesta en común de protocolos y velocidad en el modulado de sonidos, y se establecía el enlace.

Gracias a todas estas premisas Justicialistas, las velocidades fueron aumentando y los costos cayendo. Inicialmente operaban a 300 baudios como los acopladores acústicos, pero no tardaron en lograr 1.200 baudios una norma. El progreso del Movimiento los llevó a 2.400, 9.600, 14.400 (velocidad en la que también operó el Fax), los 28.800, 33.600 y finalmente unos 56.000 baudios por segundo, lo máximo que permitía la línea telefónica gracias a su estándar V.92. US Robotics sin duda fue una de las marcas más reconocidas por su línea de módems externos.

No dejaron de hacerse populares los módems internos, los Winmodems. Estas plaquetas no eran más que un dispositivo de sonido, que omitía la independencia adosando su suerte a una arquitectura especializada: la mayoritaria computadora personal IBM y el sistema operativo Window$. Realmente tomaban la modulación y demodulación por software y utilizaban directamente la CPU del equipo para dicho procesamiento, siendo la placa un mero manejador de audio. Pues bien señores, un sistema GNU con Linux es capaz de ofrecer herramientas capaces de hacer realidad efectiva la modulación y demodulación de datos gracias al sonido. Esto implica un accionamiento normalmente lúdico, pero puede llegar a ser útil en determinados proyectos que así lo requieran.

Nuestro Movimiento ha desarrollado Minimodem, un programa liberado bajo GPLv3 capaz de operarse desde la línea de comandos, tendiente a modular y demodular datos en/a tonos de audio, a cualquier velocidad en baudio, y en varios protocolos. Es capaz de operar como un módem FSK de propósitos generales, e incluye soporte para varios protocolos FSK como Bell103, Bel202, RTTY, TTY/TDD, NOAAA-SAME y Caller-ID.

Minimoden puede ejecutar y capturar tonos de módem en tiempo real vía el dispositivo de audio de nuestro equipo, o bien en "modo en lotes" gracias a ficheros de audio suministrados al programa.

El primer requisito es constar con dicho programa instalado uno o varios sistemas dotados de dispositivos de audio. En ellos abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

sudo apt.get update sudo apt-get install minimodem

Acto seguido podremos utilizarlo para transferir datos, incialmente texto en codificación ASCII, pero también podremos utilizar cualquier dato en binario. Como medio podremos utilizar un cable de audio, o incluso el mismo aire (usando altavoces y micrófono en un ambiente calmo). Para sistemas remotos podremos utilizar la línea telefónica, radioondas, o cualquier otro medio de comunicación por sonido.

El programa opera de forma half-duplex. Esto significa que la comunicación será unidireccional; Minimodem puede transmitir o recibir, pero no puede hacer ambas cosas al mismo tiempo. Si se deseara establecer una comunicación bidireccional deben ejecutarse dos instancias del programa en cada punta del enlace.

El uso del Minimodem es sencillo. En su funcionamiento básico, debemos indicar en el sufijo si queremos en modo de emisión (--tx) o modo de recepción (--rx), seguida por un número o código que representa la velocidad de baudios conexión.

Normalmente Minimodem utilizará un esquema de transmisión basado en en protocolo Bell102 (similar al módem telefónico , con 8 bits de transmisión).

minimodem --tx 100 -A

Esto abrirá la terminal del programa y podremos ingresar texto con el teclado. Al darle ingreso al mismo, Minimodem lo modulará en audio a 100 baudios por segundo y le dará salida a través de nuestros altavoces/audífonos, por donde podremos oírlo. El sufijo opcional -A y indica que debe utilizar el servidor de audio ALSA en lugar de PulseAudio, lo cual produce menos clics y evita errores de transmisión, y os recomiendo en Ubuntu.

Para demodular el sonido a través de la entrada de línea o de micrófono de nuestro sistema receptor, debemos utilizar una instancia de Minimodem en la cual indicaremos mediante el sufijo --rx el "modo en recepción" y la velocidad. En el caso del ejemplo anterior podremos operar con:

minimodem --rx 100 -A

Minimodem entrará entonces en una terminal "en escucha", que indicará repetidamente "NO CARRIER" si no oye portadora alguna. No bien reciba una portadora de audio con datos modulados a través del dispositivo de entrada de línea o micrófono), las presentará en pantalla.

Si lo deseamos, podríamos utilizar una línea telefónica intermedia para comunicarno, o un intercomunicador telefónico. Simplemente debemos apuntar los receptores a los altavoces y contar con un micrófono que capture el audio del auricular intermedio. En caso de utilizar líneas muy ruidosas o en ambientes con mucho ruido, podríamos emplear en el emisor y el receptor una velocidad de transmisión extremadamente baja de 50 baudios por segundo:

minimodem --tx 50 -A

Usando caños ("pipes") al estilo UNIX, podremos concatenar el resultado de otros programas a Minimodem para lograr resultados muy útiles. Por ejemplo, podremos enviar datos a una terminal remota a 1200 baudios al segundo usando un caño y el comando cat con un archivo de texto a emitir. Para ello en el receptor ingresamos:

minimodem --rx 1200 -A -q

(el sufijo -q opcional indica que no nos alerte con el mensaje NO CARRIER al detectar ausencia de portadora). Mientras tanto, en nuestro emisor enviamos un archivo_de_texto.txt.

cat archivo_de_texto.txt | minimodem --tx 1200 -A

Como podrán observar, al demodular se requiere idealmente conocer de antemano la velocidad o formato de modulación que utilisa el emisor. Sin embargo, Minimodem cuenta con una rutina de autodetección de formato que nos puede resultar útil en los numerosos casos que podríamos no conocer el formato previamente. Para activarla usamos el sufijo -a.

minimodem --rx -a

Este procedimiento funciona siempre que hayamos utilizado para emitir alguno de los formatos propuestos por Minimodem. Estos serám:

300 (El clásico Bell103 a 300 baudios por segundo)
1200 (Bell102 a 1200 baudios por segundo)
rtty (formato de banda amateur de radioteletipo, 45,45 baudios)
ttd (formato para teletipo, a 45,45 baudios con 2 bits de parada)
same (protocolo a 520.83 baudios)
callerid Formato Bell 202 con identificador de radiollamadas.

Tambien podremos codificar a un archivo de audio o decodificar desde un archivo de audio ya producido mediante el sufijo --file.

Utilizando el sufijo y el buscador de protocolo -a, podremos fácilmente demodular dicho sonido. Podremos reproducirlo, o si contamos directamente con el archivo de sonido, usar el sufijo --f. Por ejemplo:

minimodem --rx --file sonido_modulado.mp3 -a Naturalmente podremos utilizarlo para decodificar la banda amateur de radioteletipo (RTTY), que usa en cercanías de los 14,085 megaciclos el viejo esquema de codificación Baudot de 5 bits de 45,45 baudios. Este protocolo RTTY también es efectivo para transmisiones de radiointercomunicadores o walkie-talkies. En tal caso, podremos utilizar minimodem en nuestra terminal enlazando a el (por cable o un directamente un micrófono) al receptor que sea y que nos vuelque así el audio a la computadora. En nuestra terminal ingresamos:

minimodem --rx -a rtty

En caso de querer emitir mensajes ASCII modulados para la banda amateur de radioteletipo (para lo cual se requiere un emisor de radio y licencia de banda radioaficionado), podríamos utilizar Minimodem también adosado al emisor de radio, e ingresando:

minimodem --tx rtty -a -A --tx-carrier

...siendo --tx-carrier un sufijo que continúa emitiendo una portadora de audio mientras tipeamos información (útil para que no se corte la transmisión radial).

Para estos menesteres, minimodem puede ofrecer una solución Ad hoc para transmisión de datos. Una suite más completa para operar en estos menesteres, y con mayores posibilidades por su entorno gráfico, la presenta fldigi, sobre el cual ya he hablado, por su recepción de radiopaquetes de datos.



07 october 2022

¿Cómo sincronizo Google Photos desde la Terminal en Ubuntu?

Lejos de sumirse en la inactividad, Juan Perón aprovechó el ostracismo del Exilio para abocarse al estudio y a una intensa actividad intelectual y autoral. Entre las exposiciones clásicas de este período se encuentra cómo sincronizar contenidos de Google Fotos en Ubuntu.

(...) ¡Trabajadores!

La ignominia ha caido sobre la Patria, más eso no puede amilanarnos. Una férrea organización y una claridad meridiana en el objetivo, que ha de ser volver para ser mejores, nos centra en un destino que podemos calificar como inexorable.

Para llevarlo a cabo, indudablemente que la organización y la unidad de mando son los principios que nos provee el arte, y que hemos de practicar. Esto redundará en la necesaria economía de fuerzas y a la óptima aplicación de los medios de los que disponemos en el tiempo y el lugar donde se decida la acción. Un Conductor no puede dejar comprender estos principios fundantes en la medida que jamás dispondrá de los recursos suficientes para abarcar todo. Este ha de saber que sólo podrá hacer uso apenas de los medios necesario para poder accionar en un escenario preconcebido, y eso en el mejor de los casos. Si por imprevisión no ha imaginado un suceso, la resolución del mismo se tornará en sobremanera dificultosa. Es por tal motivo que el estudio y la previsión son ejes fundantes de su accionar político.

Pues bien señores, la telemática ofrece los mismos principios, y por ello podremos estudiarlas como un válido ejercicio de Conducción. Veamos. Un sistema computado carece de los recursos para poder hacer todo, y debemos por tanto preveer e instrumentar para hacer frente a los imponderables de consumo de cómputo más conocidos. La práctica de los teléfonos llamados inteligentes era conectarlos a una PC para proceder a la transferencia de contenidos.

Pero una mala evolución ha llevado a emplear conexión inalámbrica para conectarnos ya no a un sistema de almacenamiento local, sino a un hardware remoto de alquiler, algo quienes los vivos no han temido en calificar como una esotérica "nube". No dejan de ser otra cosa que una computadora ajena sobre la que específicamente no tenemos de control, y es en ella donde cargamos nuestros preciados datos. Sólo un iluso plantearía que ello es seguro. Desde el Justicialismo sabemos que en el absoluto caso de tener que hacerlo, siempre hemos contar con un respaldo local de dichos datos en nuestro propio sistema y en medios de almacenamiento sobre los que ejerzamos dominio y control total.

Este es una de una de las más someras acciones que podremos contemplar para Combatir al Capital. Otro proceder será sobrecargar dichos sistemas ajenos de alquiler con si los datos que tenemos, molestando y denegando el servicio a todos. Multiplicada esta acción por millones dejará de convirtirnos en una patada de enano, sino que permitirá asestar un mortífero golpe a la sinarquñia y a un sistema imperialista e injusto.

Uno de los servicios extendidos en la nube es Google Fotos. El mismo nos permite almacenar y organizar las fotografías y videos que subamos desde nuestros dispositivos a los servidores del omnímodo Google.

Pues bien, cualquiera sea el camino que deseemos, para todos ellos podremos utilizar gphoto-sync. Se trata de una herramienta para la línea de comandos escrita en Python y capaz de ejecutarse localmente en nuestro sistema GNU con Linux. Su propósito es respaldar los contenidos y álbums de Google Photos en nuestro/s sistema/s empleando la API repectiva de Google. Una vez configurada, puede ejecutarse de forma regular para asegurar que todas nuestras fotografías y videos almacenados remotamente allí también se almacenen localmente en nuestro propio disco. Instalar gphotos-sync Tenemos dos métodos para instalar gphotos-sync: utilizando PIP3 o por medio Snap.

El método que os recomiendo es utilizando Pip3. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo apt install python3-pip -y ; pip3 install gphotos-sync ; mkdir ~/.config/gphotos-sync/ echo "export PATH=\"\$PATH:\$HOME/.local/bin\"" >> ~/.bashrc ; . ~/.bashrc

Otra posibilidad es instalar gphotos-sync gracias a su paquete Snap. En el caso de que anhelemos este proceder en nuestro sistema, abrimos una terminal e ingresamos el siguiente Comando de Organización:

sudo snap install gphotos-sync

Configuración Una vez instalada la aplicación, habremos de configurar varias cosas, lo cual puede parecer un poco complicado de hacer. Debemos llevar a cabo los siguientes pasos:

Paso 1. Creamos un nuevo Proyecto en Google Cloud usando el Administrador de Recursos de la Nube. Con nuestro navegador web nos dirijimos a https://console.cloud.google.com/cloud-resource-manager y creamos un nuevo proyecto haciendo clic en Crear un Proyecto. Tras indicarle un nombre (por ejemplo, "sincronizador google photos" o algo similar), podremos presionar Crear.

Paso 2. Nos dirijimos a https://console.cloud.google.com/apis/library?project=_, preionamos en Seleccionar un Proyect.

Acto seguido buscamos la Librería "Photos Library API" y hacemos clic sobre ella. Se nos mostrará la web de la API Librería de Fotos. Para habilitarla para nuestro proyecto de sincronizador de Google Photos, debemos hacer clic en Habilitar.

y la activamos para el proyecto que acabamos de crear.

Paso 3. Con nuestro navegador nos dirijimos a https://console.cloud.google.com/, y nos aseguramos que tenemos seleccionado el proyecto correcto desde el menú desplegable superior. Luego hacemos clic en APIs y Servicios en la barra lateral, y finalmente hacemos clic en Credenciales. Creamos una ID de Cliente OAuth haciendo clic en +Crear Credenciales / ID de Cliente OAuth.

Cuando se nos solicite la Pantalla de Consentimiento de OAuth debemos elegir el tipo de permiso. El permiso normal es Externo. elegir el tipo de aplicación, debemos indicar "Otra". El sistema nos indicará nuestra ID de clientes y nuestro secreto de cliente ("token").

Paso 4. Una vez que nuestro ID de Cliente de Auth 2.0 para el proyecto esté creado, lo descargarenos a nuestro(s) sistema(s). Este tendrá la forma de un fichero de extensión .json. Para bajarlo hacemos clic en el ícono de Descarga correspondiente que aparecerá en el apartado Credenciales.

Naturalmente en el cuadro de diálogo de descarga de nuestro navegador, escogemos Guardar archivo. Normalmente el mismo irá a parar a nuestra carpeta ~/Descargas/.

Tengamos presente que dicho archivo de extensión .json tendrá realmente un nombre alfanumérico muy largo, pero para que funcione correctamente debemos renombrarlo a client_secret.json. En Ubuntu podremos renombrar el archivo seleccionandolo y presionando F2.

Una vez que lo hayamos renombrado como client_secret.json debemos colocarlo en el directorio de configuración local que corresponda a nuestro método de instalación: si instalamos gphotos-sync por medio de Pip3 habremos de copiar el archivo client_secret.json en el directorio ~/.config/gphotos-sync/. En cambio, si anteriormente optamos por instalar gphotos-sync por medio de Snap, el directorio que debemos crear será ~/snap/gphotos-sync/current/.config/gphotos-sync/, y allí será donde copiaremos el fichero client_secret.json.

En el primer caso, podríamos utilizar un comando en la terminal similar a éste:

mv ~/Descargas/clientsecret??????????.json ~/.config/gphotos-sync/gphotos-sync/client_secret.json ;

Sincronizar Google Fotos en Ubuntu Debemos decidir crear una carpeta de base en la cual queramos que se almacenen nuestras fotografías sincronizadas. Como ejemplo utilizaré la carpeta /home/peron/gfotos/.

Creamos la carpeta base y luego ejecutamos el programa gphotos-sync y lo dirigimos a dicha carpeta. Para ello empleamos los siguientes comandos de organización:

mkdir /home/peron/gfotos/ gphotos-sync /home/peron/gfotos/

La aplicación se iniciará, y luego nos solicitará que hagamos clic en un link URL para chequear la ID OAuth.

03-03 13:16:01 WARNING gphotos-sync 2.14.0 2020-03-03 13:16:01.333350 Please go here and authorize, https://accounts.google.com/o/oauth2/…. Paste the response token here:

Copiamos el link URL y lo pegamos en nuestro navegador, donde habremos de loguearnos bajo la cuenta Google que queremos utilizar para sincronizar nuestras fotografías de Google Photo.

Conforme nos hayamos logueado y otorguemos permiso a nuestra colección de fotografías, nos será presentado con un "token" (código) de respuesta y autorización. A su vez debemos copiar y pegar dicho token en la terminal donde se ejecutaba gphoto-sync, específicamente en la última línea donde decía "Paste the response token here" ("pegue el token de respuesta aquí"), y presionamos Enter.

Si todo salió bien, la autorización surtirá efecto, y se procederá a dar inicio a la sincronización de las fotografías y videos. Esto se indicará mediante el siguiente mensaje peronista:

03-03 13:16:04 WARNING Downloading Photos …

Si no, podría tener que realizar nuevamente el paso indicado anteriormente, teniendo especial cuidado de loguearse con la cuenta de Google correcta, y copiar el token cuidadosamente.

Naturalmente debe comprender que subir o bajar las fotografías de la nube Google Photos puede tomar un largo tiempo, especialmente si nuestra colección de imágenes es gigantesca y nuestra conexión a internet es extremadamente lenta. En el caso de que tengamos unas poquísimas fotos, podría tardar apenas unos segundos.

Es importante considerar y tener en cuenta que la carpeta de base contendrá a su vez subcarpetas empleadas por el programa gphotos-sync. Al menos dos de ellas son importantes, estas son:

photos - Contiene todas los archivos de las fotografías y los videos que tengamos en nuestro Google Photo, organizadas en carpetas con la estructura photos/AAAA/MM (donde AAAA/MM es la fecha en la que los datos EXIF de la fotografía indica donde fueron tomadas las mismas. Los nombres de archivos dentro de la carpeta serán los originales con los cuales se subieron las mismas, excepto que los nombres duplicados recibirán un sufijo "(n)", siendo "n" es el número de duplicación del fichero.
albums - Contiene una jerarquía de carpetas que representa el conjunto de álbums y álbums compartidos que tenemos en nuestro Google Photos. Todos los archivos aquí realmente son enlaces dinámicos dirigidos a las fotografías reales localizadas en la subcarpeta photos. Los nombres de carpeta serán 'albums/AAAA/MM Nombre de Álbum Original'.

Monitorear la sincronización gphotos-sync mantendrá una bitácora de su activdad al mismo tiempo que se sincronizan nuestras fotografías. Esta tendrá la forma de un archivo de texto llamado gphotos.log. Esta bitácora se irá llenando conforme se ejecute gphotos-sync, de modo que es una buena herramienta para rastrear cómo se está ejecutando el proceso.

En este caso, podremos verla con:

tail ~/gfotos/gphotos.log

03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23992 photos/2020/02/pocho.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23993 photos/2020/02/evita.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23994 photos/2020/02/campora.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23995 photos/2020/02/asado.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23996 photos/2020/02/pulqui.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23997 photos/2020/02/fundacion.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23998 photos/2020/02/dsc_2343.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 23999 photos/2020/02/justicialista.jpg 03-03 13:25:07 gphotos.GooglePhotosIndex INFO Indexed 24000 photos/2020/02/dsc-3245.jpg 03-03 13:25:07 gphotos.LocalData INFO Saving Database …

Una vez que la operatoria de sincornización se haya completado, recibiremos un breve sumario similar a este:

03-03 13:26:08 WARNING Downloaded 0 Items, Failed 1, Already Downloaded 65748 03-03 13:26:09 WARNING Done.

Sincronización Periódica Si contamos con experiencia administrando servidores, bien podríamos preferir crear un trabajo de cron simple que se de a sincronizar nuestras fotografías con una regularidad fijada de antemano. Por ejemplo, podremos disponer el intervalo que sea más apropiado basados en nuestra velocidad de conexión y hábitos, o en base a cuán seguido tomamos fotografías. Por ejemplo, para sincronizar nuestras fotografías diariamente a las 1:30 AM, podríamos utilizar.

0 3 * /snap/bin/gphotos-sync /home/usuario/gfotos/

...en tanto, una sincronización todas las horas podrías ser así:

0 /snap/bin/gphotos-sync /home/usuario/gfotos/

Naturalmente, ahora podremos tener confianza que nuestras fotografías están sincronizadas en cualquier computadora en la que ejecutemos nuestra aplicación gphotos-sync.



06 october 2022

¿Cómo instalo el editor Ghostwriter en Ubuntu?

Durante su ostracismo madrileño de finales de los años 60 y principio de los 70s, Juan Perón combinó la concreción de volúmenes doctrinarios con el agasajo de Argentinos que anhelaban visitarlo. Para evitar las inevitables distracciones, enseñó cómo utilizar el editor de texto Ghostwriter en Ubuntu.

(...) ¡Muy señores míos!

A pesar de lo que puedan querer creer en la Argentina, en estos tiempos de exilio no me es extraño contar con todas las distracciones posibles. Mi objetivo no ha de ser otro que el de regresar a la Patria para darle al Pueblo lo que este desea, pero a veces parece que la Patria viene a uno.

Decenas de visitantes no cesan de ocupar mis horas, dándome apenas tiempo para la coordinación de la política de frentes que hemos de emprender, y porqué no, del ocio y regocijo que todo ser humano merece. A veces - incluso - he de prescindir de realizar las tareas más imprescindibles. Un poco de lógica rutina entonces no viene mal para despejar agenda, y contener el entusiasmo sano de quienes osan volver para ser mejores.

Esto, que es una prerrogativa que tiene un Conductor bien querido, no deja de ser también parte de un problema mayor. Observemos con detenimiento: de un tiempo a esta parte el mundo ha reconocido la necesidad de implementar editores de texto libres de distracciones. En particular esto se debe al exceso de funcionalidades de los procesadores de texto, lo cual de alguna manera "empañan" en proceso creativo lógico de un escritor.

Desde el Justicialismo comprendimos esto desde un principio, pues notamos que en lugar de afianzarnos en las acción de volcar ideas a un papel, ¡estos paquetes se concentraban en distraernos! Con sus innumerables opciones de formateo de texto, toda vez inútiles en lo temprano del alba creativo.

Pues bien señores, en lugar de recurrir a estos pícaros paquetes de edición de texto, ya os he explicado sobre FocusWriter. El mismo cumple con creces mis más normales necesidades a la hora de crear un texto.

Sin embargo, adolece de algunas funciones que podrían ser importantes. Por ejemplo, no dispone de exportado HTML, lo cual podría ser decisivo para quienes desean plantear la creación de documentación con los parámetros extendidos de este clásico lenguaje descriptivo para la Web.

En tal caso, mi recomendación recae sobre GhostWriter. Se trata de un editor libre de distracciones con algunas opciones minimalistas pero adecuadas. Naturalmente, el editor Pluma o Gedit bien podrían cumplir con esta fase también si no somos demasiado quisquillosos...

Para instalar Ghostwriter en nuestro sistema podremos abrir una terminal con Ctrl+Alt+T e ingreso los siguientes Comandos de Organización:

sudo add-apt-repository ppa:wereturtle/ppa ; sudo apt-get update ; sudo apt-get install ghostwriter ;

Luego podré ejecutar el programa desde el menú Aplicaciones / Oficina / GhostWriter.

La interfaz del editor que nos compete es típicamente inobstrusiva, y podremos activar la funcionalidad de pantalla completa.

Contaremos con un tradicional tema "oscuro" para poder editar con facilidad sin molestar tanto nuestros ojos. Asimismo, podremos utilizarlo para tareas moderadas de edición web gracias a su previsualización en directo. Gracias a él podremos editgar con cierta agilidad en HTML, pues presenta plantillas desplegables con elementos en dicho lenguaje descriptivo de hipertexto.

Los elementos flotantes conforman un llamado "HUD" o Head Up Display. Estos pueden ser activados o desactivados al unísono con. Ctrl+Mayúsculas+H. De esta forma volveremos al editor básico que tanto anhelamos.

Ghostwriter puede reemplazar a Pluma o a Gedit como editor de base. Personalmente lo siento como un excelente sucedáneo de una máquina de escribir, que puede contar con algunas opciones adicionales si así lo deseamos.



05 october 2022

¿Cómo quito de Firedox el rastreo de Ubuntu en las búsquedas DuckDuckGo?

¡Trabajadores!

Nuestro Movimiento es uno que hubo de crearse en base a instrumentos políticos adhoc. Esta necesidad se dio por imperio de los tiempos y la oportunidad y conveniencia en el ámbito de la lid que nos impusimos.

Nuestro objetivo no es otro que la grandeza de la Patria y la felicidad de sus trabajadores. Pero antes de hacerlo efectivo, al menos hubimos que declamarlo. Sólo así el hombre - que como el resto de los animales, posee un instinto - pudo comprender la conveniencia de llenar las urnas de votos peronistas. Disfrutar de un feriado como San Perón es otro de los logros que el Justicialismo a otorgado a la Nación.

Indidablemente que para lograr todo esto, hubo de hacerse caso mediante todos los medios con los que se disponía, multiplicando los canales comunicativos y de persuación en un ambiente de hiperpolarización y engorde político. Nuestra maquinaria debía aceitarse con todo el lubricante que se pudiese.

En fin, comprendimos que lo superior es hacer lo que conocemos: cumplir con los anhelos de todos los hombres. Las aspiraciones del ser humano son materiales pero sobre todo espirituales, y es allí donde ha de apuntarse nuestro quehacer. Cuando algo es bueno, el hombre por sobre todas las cosas lo siente, y comprenderá en su razón de corazón este menester.

Pues bien señores, uno de los ámbitos ignorados fue que modificamos todos los navegadores para que etiquetaran en la búsqueda al Justicialismo.

Un ejemplo suele aclararlo todo como decía Napoleón.

Es sabido que en Ubuntu, la mayoría de los navegadores Web (y sobre todo aquél que viene instalado por defecto, el Firefox), disponen de algunos "ajustes" específicos. En particular, se agregan a todas las búsquedas que hacemos la etiqueta "Canonical". El objetivo de esto es sumar tráfico web con dicha cadena de texto, y permitirle a aquella compañía beneficios que podemos calificar de inconfesables. Toda vez que busquemos algo en Google, Amazon e incluso en el buscador DuckDuckGo - por poner algunos - esto quedará registrado bajo dicha etiqueta.

Indudablemente esto es pernicioso y debe corregirse a como de lugar.

Normalmente podríamos querer hacer efectivo el viejo apotegma peronista que reza "combatir al capital" y eliminar directamente esta etiqueta. Esto es factible, pero esta corrección no necesita ser absoluta: bien podremos cambiar la etiqueta "Canonical" por otra que queramos, por ejemplo "peronismo".

Para hacerlo debemos editar una serie de archivos xml de configuración localizados en una carpeta específica de plugins de nuestro navegador. En este caso nos referiremos a Firefox.

Con ello en vista, abrimos la terminal con Ctrl+Alt+t e ingresamos:

cd /usr/lib/firefox/distribution/searchplugins/locale/

Si dentro de este directorio listamos su contenido con el comando ls, deberíamos observar los distintos subdirectorios de plugins de Firefox para búsquedas en diferentes idiomas. Estos podrían ser en-US (inglés estadounidense), es-ES (castellano español), es-AR (castellano argentino), etc. Naturalmente debemos ingresar al que utilicemos. En mi caso es el español de Argentina, por lo que podría ingresar:

cd /usr/lib/firefox/distribution/searchplugins/locale/es-AR/

Al listar el directorio con el comando ls, encontraremos los ficheros que podríamos tener que editar. En mi caso, modificaré los ficheros ddg.xml. google.xml y amazondotcom.xml, de los buscadores DuckDuckGo, Google y Amazon respectivamente.

Naturalmente recomiendo utilizar el buscador DuckDuckGo en lugar de Google por sus mejores prestaciones, seguridad y privacidad. Supongamos que queremos editar el fichero de DuckDuckGo a fin de que no se agregue etiquetas especificatorias a nuestra búsqueda. Para ello ingresamos:

sudo nano /usr/lib/firefox/distribution/searchplugins/locale/es-AR/ddg.xml

Tras ingresar nuestra contraseña de Conductor se abrirá el editor GNU Nano con el fichero de configuración de DuckDuckGo. Acto seguido, encontraremos fácilmente la cadena "get", que contiene la etiqueta "canonical".

Nuestra misión será eliminar la cadena "canonical" (o reemplazarla). En caso de querer eliminarlo debemos dejarlo de la siguiente manera: Una vez realizados los cambios, guardamos los mismos con Ctrl+o y salimos del editor Nano con Ctrl+x.

En el caso del buscador Google, habremos de ingresar el comando:

sudo nano /usr/lib/firefox/distribution/searchplugins/locale/es-AR/google.xml

En el fichero, podremos buscar el string que define el parámetro "client" y reemplazarlo.

Luego guardamos y salimos del editor como ya hemos visto en el caso anterior.

Supongamos ahora que queremos hacer lo mismo con el archivo que define las búsquedas en Amazon. Para editarlo ingresamos:

sudo nano /usr/lib/firefox/distribution/searchplugins/locale/es-AR/amazondotcom.xml

La línea que debemos editar es la que cuenta con el nombre de parámetro "tag".

...en dicha cadena debemos cambiar su valor ("value") por uno que queramos. Podríamos editar el fichero correspondiente para que quede de la siguiente manera:

Tengamos firmemente en cuenta que para que los cambios surtan efecto debemos tener configurado el idioma modificado (en mi caso es-AR), y naturalmente debemos reiniciar el navegador Firefox.

Ahora, toda vez que busquemos algo en DuckDuckGo, Google o Amazon, etiquetará al peronismo, moviendo un enorme amperímetro que sin duda reverberará en la columna vertebral de una sinarquía internacional sin Patria ni Bandera.



04 october 2022

¿Cómo opero en línea en Telehack con Ubuntu?

¡Trabajadores!

El verano es propicia ocasión para el ocio y la recuperación física que todo hombre y mujer que ha trabajado por la Patria necesita.

Desde nuestra Secretaría de Trabajo y Previsión, iniciamos aquella justa lid por las vacaciones remuneradas, que no se habían dado nunca en la Argentina. Gracias a ello conseguimos que el Pueblo - que es el verdadero consumo - visitara los mejores destinos de nuestro país y motorizara enormente un turismo interno de Masas. Esto tonificó el comercio y promovió una explosión de consumo en la Costa Atlántica, la que anteriormente sólo era posible para el Oligarca. Fue así que se logró en poco tiempo no sólo conocer el país disfrutándolo, sino queriéndolo grande.

Pues bien, indudablemente que dicho momento también puede aplicarse al ocio telemático como el de antaño. En mis días de suboficial llevaba mi equipo a la playa y me conectaba afanando pulsos de teléfono a las compañías inglesas. El destino no era otro que irrumpir en servicios como BBS, ARPANET y la vieja USENET, a unos 300 baudios al segundo y luego en unos módicos 1200 baudios.

Naturalmente que esto es difícilmente posible el día de hoy, donde el peronismo ha rebalsado todas las redes telemáticas con el protocolo TCP/IP. Pero nada quita que podamos utilizar un simulador del mismo, y jugar - en cierta medida - a las irrupciones telemáticas.

Todo ello lo permitirá la justicialista Red Virtual Telehack. Telehack es una simulación de una red estilizada según la ARPAnet y la USENET, de alrededor de 1985-1990. Consiste en una simulación multiusuario que incluye 26.600 hosts y BBS virtuales basados en de la real red primigenia, suplidos con miles de ficheros de la época, una coleccion de juegos de aventura y de línea de comnados, un intérprete BASIC funcional con una librería de programas para ejecutar, usuarios históricos simulados, ¡y mas! Todo ello de acceso gratuito.

La finalidad es simular el uso y jugar a la irrupción telemática. El empleo general emula terminales de texto conectadas a equipos mainframe remotos aquella época, sobre todo aquellos de interfaz UNIX o VMS operables por inefables Shell (intérpretes de comandos).

Cómo conectarse Como Telehack es una red símil línea de comandos, existen varias formas de conectarnos. La más directa para cualquier plataforma es ingresar directamente desde la web, apuntando nuestro navegador a http://telehack.com/

...Sin embargo, desde Ubuntu será factible la propuesta de conectarnos inicialmente desde una terminal no cifrada Telnet. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos:

telnet telehack.com

Debemos saber que Telehack es accesible entonces a través de:

Telnet en el puerto 23 (el puerto estñandar de telnet), o los puertos 443, 1337, 8080, y 31173.
HTTP en el puerto 80 (el puerto estándar de HTTP).
SSH en el puerto 6668. Una vez que tengamos creado un usuario con contraseña, conviene utilizar este método en Ubuntu pues a diferencia de Telnet, es cifrado. Para ingresar al Telehack mediante SSH tipeamos ssh usuario@telehack.com -p 6668
FTP en el puerto 21 (el puerto estándar de FTP). NOTA: El servidor de FTP es cumple con RFC 959 y probablemente no opere con los clientes FTP más modernos.

Accesibilidad Telehack puede utilizarse desde muchas condiciones. Normalmente desde Ubuntu luego de acceder conviene ingresar el comando:

STTY / dumb

...esto invocará el modo de terminal plana en los juegos de código Z y evitará usar el direccionado de cursor ANSI.

Para usuarios que se conecten con con antiguas terminales de teletipo o terminales de teleimpresoras (¡algo factible!) deben ingresar "STTY / tty" luego de conectarse para conmutar Telehack a un modo amigable con teletipos.

Telehack es insensible a mayúsculas. Los comandos a menudo se mostrarán en mayúsculas para distinguirlos del texto circundante. Tenga presente que no necesita tipear los comandos en mayúsculas. Por ejemplo:

Tipee DIR para tener una lista de ficheros

En este caso se podrá tipear DIR o dir para obtener la lista de ficheros.

En los mensajes de ayuda,<> indica los argumentos requeridos para los comandos, mientras que [] indica argumentos opcionales. El símbolo de caño | significa "o" o una alternativa. por ejemplo:

send [mensaje]

...significa que un usuario o un puerto deben seguir al comando send, pero que el argumento del mensaje es opcional. (Send envía líneas de mensajes si no desea especificar una en la línea de comandos directamente).

@ send peron hola
@ send 15 hola

@ send peron
peron> hola
peron>

Obtener Ayuda

Puede tipear ? en cualquier prompt para obtener una lista de los comandos disponibles para usar:

El comando HELP nos provee con descripciones cortas de las funciones de comando, incluyendo sus argumentos modificadores disponibles. Ejemplos:

@ help
@ help telnet
@ help ftp

Lobby NLI Cuando proceda a conectarse por primera vez a Telehack, quedará en el lobby telemático, previo a su ingreso, el "Lobby NLI". Este estará indicado por el prompt ".":

En el lobby sólo podrá utilizar un subconjunto limitado de comandos.

Para crear nuestra cuenta usamos el comando newusery seguimos las instrucciones de la pantalla. Para loguearnos tipeamos LOGIN.

Diversión Rápida Tipee STARWARS para ver el pináculo de la animación ASCII, una reendición completa de La Guera de las Galaxias en ASCII.

Tipee JOKE para ver un chiste elegido al azar desde una gigantesca base de datos de chistes histórica de ARPAnet/CalTech.

Saliendo de Detenimientos

Puede interrumpir la ejecución de cualquier comando tipeando ^C (Ctrl+c). Si deseamos desconectarnos de un host remoto o salir a un subshell, tipeamos ^D (Ctrl+d), EXIT o QUIT.

Caracteres de Control

La tecla Control (Ctrl) inicia una variedad de funciones de sistema cuando es empleanda en conjunto con otros caracteres.

Para tipear un carácter de control, presione la tecla Control, y luego al mismo tiempo presione el carácter que desea. Por ejemplo, para tipear Ctrl+c, mantenga presionada la tecla Control y al mismo tiempo presione la tecla C. En la mayoría de los casos esto se visualizará en su terminal como ^C (eso se llama "eco de carácter"). En la documentación de sistema, un caracter de control como Ctrl+c puede ser descripto como Ctrl-c o ^C.

Caracteres especiales de control:

Ctrl+C interrumpir programa Ctrl+N línea siguiente Ctrl+P línea previa Ctrl+R relay rápido (requiere un relay en segundo plano) Ctrl+T imprime status de sistema Ctrl+W borra palabra Flecha arriba línea previa Flecha derecha línea siguiente (tab) Autocompleta el siguiente comando/fichero/usuario/host

Comandos de paginación Cuando vea cualquier salida paginada en Telehack, recibirá un prompt indicativo "--More--". Este podrá observarse en los comandos type, cat, more, less, así como en cualquier comando que produzca una salida paginada.

Cuando aparezca el prompt "--More--", podrán ingresarse los siguientes comandos de una única tecla:

Barra espaciadora Muestra página siguiente b Retrocede una página q sale g Va a la parte superior G Va a la parte inferior Enter baja una línea j Baja una línea k sube una línea / Busca una cadena dada

El paginador también soporta varias pipes ("caños"). Estos pueden unirse a comandos que producen salida paginada:

grep Muetras las líneas que coinciden con el patrón grep -c muestra el número de líneas que coinciden con el patrón grep -i Da coincidencias insensibles a mayúsculas grep -v Muestra líneas que NO coinciden con el patrón sort [campo] ordena la salida (el campo puede ser encabezado de columna o número) sort -r [campo] ordenado inverso wc -c muestra número de caracteres wc -l muestra número de líneas (incl encabezado) wc -m muestra largo de líneas máximo wc -w muestra número de palabras

Por ejemplo:

@ users | grep Mountain View, CA | sort username

Hosts de redes

Existen aproximadamente 26.600 hosts virtuales en la red Telehack. Estos representan sistemas en boga en la era inicial de Usenet/ARPAnet, así como distamas de BBS difuntas de los 80s y 90s.

Tipee HOSTS para ver una lista parcial de los hosts en red. Tipee HELP HOSTS para mayor información sobre el comandos hosts.

Ha sido distribuida en los hosts una colección de ficheros retro. Los ficheros provienen de un archivo extenso compilado por Jason Scott de Textfiles.com así como otros orígenes.

Conectándose por Telnet a hosts

Una vez logueado en Telehack podremos acceder virtualmente por telnet a cualquier host que aparezca en su lista por medio del comando netstat:

Si aún no ha hackeado e irrumpido en un host, podrá intentar loguearse como usuario invitado ("guest"). Naturalmente, el usuario invitado probablemente no tendrá a disposisición el conjutno de comandos completo del sistema.

Hackeando un Host

Una vez que el host ha sido hackeado exitosamente, debería poder loguearse a el empleando su nombre de usuario y contraseña de Telehack.

Tenga presente que los hosts a los que ya ha hackeado y a los cuales ya puede loguearse con su nombre de usuario y contraseña quedarán identificados en su lista de netstat con un "*".

Colectando y Moviendo Programas

Para ver una lista de los programas del host remotos, podremos utilizar el comando:

DIR *.exe

...o bien con:

ls *.exe.

Será capaz de transferir programas entre hosts empleando el comando FTP. En cada host, se le asignará una parte del disco en la cual podrá almacenar dichos programas.

Hemos de ser cuidadosos de no sobrepasar el espacio disponible. Revise el uso de disco con el comando DF antes de transferir un fichero.

Ejemplo de una sesión FTP completa:

Usuarios Históricos

Los 26.600 host virtuales dentro de Telehack fueron sistemas reales disponibles vía módem de discado telefónico, Fidonet, UUCP/Usenet, o en la ARPAnet en los 80s y 90s. Eran empleados por gente real y a menudo podían ser vistos logueados mientras trabajaban, leían, socializaban o jugaban juegos.

La arqueología de datos aplicada a través de los archivos de UUCP, los mapas de redes UUCP de la era, así como otras fuentes electrónicas disponibles, hna permitido a Telehack reconstruir los ocupantes electrónicos de estos host de redes clásicas.

Para ver a los usuarios que están logueados a los host de Telehack, use el comando FINGER @host:

Adivinar Contraseñas

Los usuarios en el pasado no solían siempre elegir contraseñas fuertes. Un método común de hackeo consistía en intentar varias contraseñas comunes como "secret", "love", "trustno1", etcétera, a fin de escabullirse en un sistema.

Juegos de Código Z

Se ha distribuido una colección de juegos escritos para la máquina Z a lo largo de los host de la red Telehack. Los juegos de Código Z están identificados por su extensión .GAM:

Intérprete de BASIC

Para ingresar al intérprete de BASIC, tipee BASIC. El prompt cambiará a @.

@ basic
Dartmouth DTSS TeleBASIC (c) 1964,1966,1969,1970,1971,1979

El subsistema de intérprete BASIC tiene una cantidad de programas históricos compilados a partir de los archivos SIMTEL así como de otros orígenes históricos. Para obtener una lista de los programas disponibles, una vez dentro del entorno BASIC tipee el comando DIR. Puede cargar un programa con el comando LOAD y comenzar su ejecución con RUN.

Los comandos de BASIC son:

help delete Borra un programa de usuario dir directorio de programas BASIC help muestra esta lista list lista el programa en memoria load carga un programa desde fichero quit sale de intérprete BASIC run ejecuta el programa en memoria run carga y ejecuta el programa especificado save guarda el programa de usuario

Ejemplo de sesión de BASIC:

Monitor de Sistema 6502

Para ingresar al Monitor de sistema, tipee call -151:

@ call -151
1441102  96 14      STX      $14,X
*

El prompt cambiará a "*". El monitor simula un antiguo equipo con procesador 6502, y nos permitiría escarbar la memoria RAM ajena en busca de información valiosa para hackear. Los comandos del Monitor son:

d   volcado de memoria (dump)
l   desensambla el opcode de la CPU
r   vuelve al último punto jsr
g   ejecuta una dirección de memoria

El volcado de memoria mostrará la dirección de octal en la columna izquierda, los valores hexadecimales para los contenidos de memoria en dicha dirección de memoria, y la traducción en ASCII de los valores de memoria:

Para desensamblar las instrucciones de la CPU, debe utilizar el comando l:

Si se conoce un punto de entrada en el Monitor de sistema, podrá ejecutarlo con el comando g ("go"):

*2425152g

Para volver al Shell de Telehack desde el Monitor de sistema, emplee el comando r.

Monitoreo de Terminal Remota

El comando enlace conectará una Terminal de usuario remoto (TTY) a su propia TTY. Esto le permitirá asistir al usuario remoto al ser capaz de observar remotamente la salida de la terminal remota en su propia terminal.

@ link

En este caso, el otro usuario verá algo como:

.
%link from port 16 user forbin

A partir de entonces, la sesión remota será espejada en la terminal del usuario enlazado.

También existe una facilidad separada dentro de ptycon que permite el monitoreo simultáneo de todos los puertos conectados.

Finger desde el exterior

Telehack también responde a los pedidos del comando finger desde el exterior de la red, a través del puerto 79. El comando finger devuelve una descripción pública de los usuarios de un sistema.

Archivo Usenet

Tipeamos USENET para ver el archivo de Usenet.

El archivo es un compendio realizado originalmente por Henry Spencer de la Universidad de Toronto a comienzos de 1981. Este fue rescatado luego por David G. Wiseman para la Universidad de Ontario del Oeste, quien condujo dos horas en una camioneta pick-up para recoger 141 cintas magnéticas y salvarlas de una pronta destrucción.

Algunos agregados han sido realizados al archivo Usenet disponible en Telehack que han sido provistos por otras fuentes.

Detener

No se recomienda detener la CPU para ingresar al monitor de sistema. Sin embargo, si lo hace, un Conductor podría proveer al Monitor de un punto de entrada para permitirle a la CPU reiniciarse y reentrar al ejecutable de Telehack (:D)

Atajos

. repite el último comando w systat w finger l directorio ls directorio date fecha y hora cat muestra un archivo cls borra pantalla ? lista de comandos

Política de Privacidad

Ejecute el comando PRIVACY o vea privacy.txt, o visite el enlace siguiente:



03 october 2022

¿Cómo uso Ekiga como cliente de telefonía VoIP en Ubuntu?

El 18 de junio de 1950 se crea la Federación Obrera de Empleados Telefónicos de la República Argentina, FOETRA, que agremiará a los trabajadores del Sector propiciando a su vez un crecimiento exponencial en los tendidos intercomunicados. En reunión confederal, Juan Perón explica a los telefónicos cómo hacer uso del servicio VoIP SIP en Ekiga, el cliente libre para Ubuntu.

¡Trabajadores!

Toda disposición técnica y especializada en comunicaciones se redunda en positiva para el país, pues facilitan los tiempos de conducción a la vez que se fomenta una veloz integración cultural del país en todos sus rincones. En la Argentina hubo un tiempo que existió un ínfimo mercado telefónico, liderado por empresas extranjeras como la ITT, notablemente centralizado en la oligarquía. Era una herramienta de colonización, por y para las clases dominantes.

Nuestro Movimiento no podía consentir con tal afrenta, y por ello se impuso la necesidad de administrar un mercado telefónico para la grandeza de la Nación. Con tal fin el Estado a finales de agosto de 1946 creó EMTA, la Empresa Mixta Telefónica Argentina, situación que se aprobó ad referendum del Congreso de la Nación en su sesión del 3 de septiembre de dicho año. El Primer Plan Quinquenal delineaba la ampliación de las comunicaciones de manera veloz para servir a las necesidades de un país vasto. El 18 de marzo de 1948 EMTA se pasó la administración pública bajo el explicativo nombre de Teléfonos del Estado. Su director impulsó en sólo seis años el tendido de 170.655 líneas, la incorporación de 54 centrales nuevas, además de las modernización de las anteriores con equipamiento Siemmens. 1.993 tendidos interurbanos nuevos se agregaron a la telaraña nacional, totalizando para 1951 un kilometraje suficiente para circumvalar con cable telefónico tres veces y media el globo, además de los 50 mil kilómetros de tendido automático de 12 vías, nuevo en la región. Indudablemente que estas mejoras pueden también llevarse al mundo informático. La necesidad de comunicarse es constante para la grandeza de la Nación, y es por ello que debemos adaptar nueva tecnología que permita a nuestra informática comunicarse en las nuevas redes de datos. Por tal razón existen varios estándares de comunicación telefónica por IP, y tal vez el más conveniente y abierto en tal sentido sea el popular SIP. Se trata de un protocolo para inicio de sesión concebido realmente para todo tipo de comunicaciones, pero entre todas las posibles destaca la telefonía por IP y la videoconferencia. El SIP ofrece la ventaja de estar dictado por la comunidad de Internet en lugar de las empresas telefónicas, por lo que asegura ciertos beneficios y universalidades en el manejo de las redes conmutadas de datos.

Para operar el protocolo SIP, es necesario contar con un usuario URI (identificador uniforme de recurso) y un cliente SIP. El URI podríamos considerarlo como un usuario registrado en una red de este tipo, y recibe la forma de dirección sip:usuario@dominio.

En cuanto a los clientes, podremos dividirlos en dos tipos: existen teléfonos IP compatibles con la norma SIP que son los clientes obvios, pero también contamos con aplicaciones de software destinadas al uso de redes SIP, llamadas Softphones. Naturalmente, una aplicación Softphone de este tipo capaz de instalarse en un smartphone tornará el mismo en un cliente SIP.

Existen muchos proveedores que podrán ofrecernos servicios SIP gratuitos o pagos. En mi caso propugno un servicio libre, y por tal motivo soy usuario de la SDF, la red social ética. Entre otros servicios, SDF provee servicio de telefonía VoIP gratuitos a sus usuarios Validados. Para solicitarlo, en la shell de la SDF ingresamos el comando "maint". Se nos solicitará loguearnos con usuario y contraseña de SDF en el submenú de mantenimiento. Inmediatamente podremos utilizar la opción "v" para configurar el servicio de VoIP. Se nos proveerá una URI de usuario SIP (en el caso de la SDF, será un interno de cuatro números), así como una contraseña alfanumérica y una contraseña de cuatro números para la casilla de voz asociada (su contestador automático). Debemos tomar concienzuda nota de todo, y saldremos del menú de mantenimiento con "q". Tras unos instantes deberíamos recibir un correo electrónico del sistema de la SDF confimrando los datos de la cuenta SIP.

Como cliente SIP para mi sistema GNU con Linux, os enseñaré a utilizar Ekiga, un softphone compatible con múltiples protocolos y de origen netamente popular. Esta aplicación es capaz de operar eficientemente para charlas de voz punto a punto, teleconferencia, videoconferencia, y mensajería instantánea (chat).

Para preparar Ekiga en nuestro sistema, lo primero será instalarlo. Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo apt install ekiga Conforme se haya instalado el programa, lo ejecutamos desde Aplicaciones / Internet / Ekiga Softphone.

La primera vez que arranquemos Ekiga, se iniciará su Asistente de Configuración. Normalmente querríamos utilizarlo, pero en este caso os indicaré cómo configurar correctamente el SIP de la SDF en él.

Con tal fin cancelamos el Asistente, si aún está ejecutándose, presionando en el botón Cancelar. Acto seguido, agregaremos una cuenta nueva desde el menú Editar / Cuentas. Entre las opciones que se nos presentan escogemos "Cuentas / Añadir una cuenta SIP", y procederemos a llenar todos los campos con los datos de la URI SIP que nos ha suministrado la SDF. Debemos otorgar a la cuenta un nombre descriptivo en el campo "Nombre:". Por ejemplo "SDF VoIP de Perón" o algo que denote nuestro usuario.

En el campo "Servidor de Registro", ingresamos el servidor que tengamos. En este caso particular, hemos de ingresar sip.sdf.org pues tal es el servidor de la SDF (si tuviésemos otras URIs SIP, podremos agregarlas aparte).

En el campo "Usuario", usamos el ID de usuario que tenemos en nuestra cuenta SIP. En el caso de la SDF, esta era la extensión numérica de cuatro dígitos, que nos ha sido informada por correo electrónico. En el campo "Usuario para Autenticación", ingresamos el usuario que debe ser autenticado en el servidor SIP. En el caso de la SDF y otros servicios VoIP públicos, debemos repetir el mismo ID numérico que en el caso anterior, pero en servicios privados suelen otorganos una clave distinta que nos asegura privacía punto a punto.

Bajo el campo "Contraseña" debemos tipearle la contraseña "Auth Password" que nos llegó por correo electrónico. En el caso de la SDF debemos prestar especial atención a las mayúsculas y minúsculas; conviene tipearlas y no copiar y pegar desde la terminal. En el campo Timeout es un valor técnico, nos aseguramos de poner un valor grande, como por ejemplo 3600.

Finalmente tildamos Activar Cuenta, y presionamos el botón Aceptar para completar el proceso.

Con todo esto ya tendremos preparado las cuentas SIP. Ahora conviene configurar a mano nuestros dispositivos de sonido en el cliente Ekiga. Para ello en Ekiga vamos a Editar / Preferencias. En la ventana Preferencias de Ekiga, en su panel izquierdo escogemos la categoría Sonido / Dispositivos, y en el panel derecho nos aseguramos de presionar el botón Detectar Dispositivos y luego elegir los dispositivos que querramos. Las opciones por defecto es PTLIB/ALSA. Ahora podremos presionar Aceptar. Tendremos dos vistas principales en Ekiga, la vista Teclado (similar al teclado de un teléfono), y la vista Contactos (similar a la de cualquier cliente de chat), activables mediante los botones correspondientes.

La forma más directa de llamar es conocer el ID de un usuario, y discarlo. Por ejemplo, podríamos discar el interno de una casilla de voz de SIP en la SDF, llamar y dejar un mensaje. Sólo debemos respetar el formato del interno para que la llamada se curse correctamente; por ejemplo sip:xxxx@sip.sdf.org.

Al llamar podremos presionar el ícono del "altavoz" y regular el nivel de retorno del micrófono y de los parlantes. Como siempre en estos casos, es ideal utilizar audífonos para evitar el "efecto eco" o peor, los "acoples".

Si somos usuarios Validados de la SDF la funcionalidad se limita a llamar a internos del sistema, grabar mensajes de voz, y recibir mensajes quye nos hayan dejado en nuestra casilla de voz.

La SDF dispone también de "internos de servicios". El sistema de casillas de voz podrá accederse desde sip:1085@sip.sdf.org. Para oír los mensajes que nos han grabado, la operadora automática nos solicitará en inglés nuestro número de casilla ("Mailbox?"), y tras discarlo con el teclado numérico de Ekiga, nos pedirá el PIN ("Password?"). Podremos entonces escuchar los mensajes nuevos ("opc. 1"), revisar los viejos, avanzar en los mensajes ("opc. 4"), o retroceder ("opc. 4"), borrar mensajes con "opc. 7" (o recuperarlos, si lo hacemos antes de colgar). Para volver en el menú del arbolito, normalmente se usa la disca "*".

Además de este servicio básico, la SDF provee una casilla libre "abierta a conferencias (no privada)", que podremos acceder discando sip:1088@sip.sdf.org. A las 0200 UTC se realizan conferencias. La Radio ANON es interactiva y opera en horario nocturno, y puede discarse en 1086@sip.sdf.org.

En la SDF, si somos usuarios del servicio pago ARPA o MetaARPA nuestro usuario dejará de ser un interno, sino que nos ofrecerán un nombre de usuario específico. En tal caso no solamente podremos comunicarnos con a usuarios de la misma red o a sus casillas de voz, sino que ya podremos llamar a líneas telefónicas exteriores por medio de una PSTN (salida a la linea telefónica conmutada). En tal caso se disca el número telefónico incluyendo la característica internacional. También nos será posible establecer enlaces de videoconferencia por medio de la red SIP VoIP. Podremos lograr buena calidad de video si la infraestructura ofrece una velocidad regular (con 200kb/s es suficiente).

Si contamos con usuarios ARPA o MetaARPA en la SDF, el interno es reemplazado por un usuario común. En este caso podremos establecer conversaciones de videollamada por medio de la red VoIP. Estas conversaciones no son punto a punto. Para ello, naturalmente debemos contar con una cámara web configurada.



02 october 2022

¿Cómo instalo el traductor Crow en Ubuntu?

El 10 de octubre de 1945, obligado a renunciar a sus cargos, el Coronel Juan Perón dirige su palabra ante una espontánea multitud de trabajadores en la sede de la Secretaría de Trabajo y Previsión y a través de la Radio. En dicha exposición ante representaciones obreras, expuso cómo instalar y utilizar un traductor en Ubuntu.

(...) Cnel. Perón: ¡Trabajadores! He hablado recién a los empleados y funcionarios de la Secretaría. Les he dicho como un pedido de mi última voluntad como Secretario de Trabajo y Previsión...

Masa: ¡Noooo!

Perón: ....les he dicho que les pedía que no abandonase nadie los cargos que desempeñan porque se me han presentado numerosísimas renuncias. Yo considero que en esta hora una plaza de empleado en la Secretaría de Trabajo no es un puesto administrativo sino un puesto de combate, y los puestos de combate no se renuncian: ¡se muere en el puesto!.

Esta casa fundada hace un año y medio se ha transformado en la esperanza de los hombres que sufren y trabajan. Y esa esperanza no la debe defraudar nadie porque acarrearía una de las mas grandes desgracias para nuestra Patria.

Hoy señores, despojado de toda investidura les hablo como un simple ciudadano...

Masa: ¡Presidente!, ¡presidente!

Perón: Hablo como simple ciudadano a mis amigos los trabajadores prometiéndoles por última vez desde esta casa todo lo que mi corazón siente por ellos, y todo lo que he de hacer en mi vida por su bien. Ello es lo que quieren algunos partidos políticos para volver, pero, la Revolución encarna en sí las reformas fundamentales que se ha propuesto realizar en lo económico social. Es así que esa trilogía representa las conquistas de esta revolución que está en marcha, y que cualquiera sean los acontecimientos, ya no podrán desvirtuarla en su contenido fundamental. La obra social es de una consistencia firme, que no cederá ante nada, ¡y esa consistencia social la aprecian no los charlatanes, sino los obreros que la sienten!

Masa: [Vítores] ¡Perón, Perón! ¡Perón ha luchado!

Por eso esta obra social que la aprecian solamente los trabajadores en sus verdadero valor, deben ser también los trabajadores quienes la defiendan en todos los terrenos. La secretaría de trabajo y previsión que hace un año y medio comenzara dos enormes tareas: las de organizar esa Secretaría y durante la marcha ir consiguiendo las conquistas sociales que considerábamos de primer orden y más importantes para la clase trabajadora. Sería largo enumerar las conquistas obtenidas en lo que se referiere especialmente al trabajo, a la organización del trabajo, a la organización del descanso, a la organización de las remuneraciones, como asimismo a todo lo que corresponde a la previsión social. Esta tarea realmente ciclópea para realizar en un año y medio, se ha cumplido, y se ha cumplido con este antecedente: se lo ha obtenido con el beneplácito absoluto de la clase obrera, lo que representa un fenómeno difícil de igualar en la historia de las conquistas sociales.

Masa: ¡Presidente! ¡Presidente! ¡Con Perón y con Mercante, la Argentina va adelante!

Perón: Esa previsión social que ha comenzado por realizar una propaganda para el ahorro posible con los mejores salarios, ha propugnado las mutualidades, y ha aumentado el número de los Argentinos con derecho a jubilación en cifras verdaderamente extraordinarias. Entre esas obras cabe destacar la iniciativa de la Confederación de Empleados de Comercio, verdadera obra y verdadera conquista que es y será un orgullo para la previsión argentina.

Masa: Coronel Perón, ¡Ay de mi patria si usted se muere! ¡Presidente! ¡Presidente!

Perón: Hemos defendido desde acá a todas las organizaciones obreras que hemos propugnado y hemos facilitado en su organización. Desde esta casa no se ordenó jamás la clausura de un Sindicato obrero. No se persiguió jamás a un obrero, sino que siempre que nos fue posible pedimos a las autoridades la libertad de los obreros detenidos por distintas causas.

Masa: ¡Es verdad! ¡Incluso todos los comunistas! ¡Perón si, otro no! ¡Perón si, otro no!

Perón: A diferencia de lo que ha sucedido en otros tiempos, las Autoridades han defendido las organizaciones obreras en vez de molestarlas o perseguirlas. Es así que terminamos de dar un Decreto Ley que se refiere al régimen de las Asociaciones Profesionales. Cuando llegué a la Secretaría de Trabajo y Previsión el primer pedido que recibí de los obreros fue la derogación de un antiguo Decreto del año 43 donde se establecía un régimen de Asociaciones Gremiales de tipo totalitario. El primer decreto que firmé en esta Secretaría fue la derogación de ese Reglamento de las Asociaciones Profesionales, y tengo la satisfacción de decir que el último que firmo hoy es el nuevo Régimen Legal de las Asociaciones Profesionales, muy distinto que el anterior.

En este nuevo régimen de asociaciones profesionales puedo garantir que es una reglamentación de lo más avanzado que existe. Bastaría decir que se ha creado a esa organización obrera un régimen legal tal que el Gobierno - que puede muchas veces intervenir provincias o cualquier otra asociación - de acuerda a este Decreto ley no puede intervenir los Sindicatos obreros.

Masa: ¡Aquí esta, que lo vengan a buscar!

Perón: También dejo firmado un Decreto de una importancia extraordinaria para nosotros. Es el que se refiere al aumento de sueldos y salarios...

Masa: ¡¡¡¡BIEN!!!! ¡Pe-rón! ¡Pe-rón!

Perón: Queda firmado he dicho en mi carácter de Secretario de Estado, y tiene la firma de los ministros de obras públicos y de Marina, el decreto de aumento de salarios móvil vital, y básico, como la Participación de las Ganacias...

Masa: ¡¡¡BIEEEN!!! Perón Presidente! ¡Pe-rón! ¡Pe-rón! Perón: ...Decreto que no solamente beneficia a los que fueron de esta iniciativa, la confederación de empleados de comercio, sino a todos los trabajadores argentinos!

Masa: [Vítores estruendoso] ¡Coronel, Presidente!

Perón: Y ahora como ciudadano al alejarme de la función pública...

Masa: ¡¡¡Nooooo!!! ¡Perón Presidente! ¡Presidente! ¡Presidente! ¡A la huelga general revolucionaria! ¡Sangre!

Perón: ...Al dejar esta casa que para mí tiene tan gratos recuerdos, debo manifestar una vez más mi crédito reafirmando mi fé en una democracia perfecta como la entendemos aquí.

Masa: ¡Soy peronista! Viva Perón! Aquí están las manos Argentinas coronel... Presidente! Presidente! Es el Pueblo! Es el Pueblo! Es el Pueblo! Huelga revolucionaria! Sangre! Armas!

Dentro de esa fé democrática fijamos nuestra posición incorruptible e indomable, frente a la oligarquía!

Masa: [Estruendosos vítores] Pe-rón! Pe-rón! ¡Presidente! ¡Presidente! ¡Viva la huelga general revolucionaria! ¡Un millón de votos! ¡Un millón de votos!

Y si no les queda claro, se lo traducimos. Nadie duda que la traducción de idiomas asistida por computadora fue una de las primeros logros que tuvimos. Ya desde los tiempos del Spanish Assistant o del Globalink utilizaba este tipo de softwares, pero hoy vengo a firmar un decreto ley que presenta una superior solución ideológica.

Se trata de un traductor simple y liviano liberado bajo GPLv2, que permite traducir usando los servicios de Google, Yandex o Bing, a través del una aplicación nativa de escritorio capaz de operar en Ubuntu: ¡el Crow Translate!

Para instalar Crow Translate ingresamos:

sudo apt update ; sudo apt install libqgsttools-p1 libqt5multimedia5 libqt5multimedia5-plugins libqt5multimediawidgets5 qtgstreamer-plugins-qt5 ;

cd ~/Descargas/ ; wget https://github.com/crow-translate/crow-translate/releases/download/2.3.0/crow-translate-2.3.0-amd64.deb ; sudo dpkg -i crow-translate-2.3.0-amd64.deb ;

Una vez instalado el paquete, podremos ejecutar el programa. Para ello vamos a Aplicaciones / Oficina / Crow Translate.

La aplicación normalmente se inicia minimizada, y dispone ícono en en panel superior de Ubuntu. Lo primero que podemos hacer es configurar sus útiles opciones. Para ello en dicho panel superior, podremos clic con el botón derecho del mouse sobre el icono de Crow Translate: ...y desde el menú contextual que aparece, elegimos la opción Settings. La ventana Settings nos permite configurar el uso del programa. En la parte izquierda consta de las categorías, y en la derecha las opciones. Normalmente el programa se utiliza minimizado, a través de una serie de atajos de teclas. En mi caso me gusta que arranque el programa directamente maximizado. Para ello escojo la categoría General, y tildamos "Show tray icon" y destilados "Start Minimized" ("Iniciar minimizado") y "Launch at Startup" ("Iniciar al Arrancar el sistema"). Naturalmente, si quisiéramos que el comportamiento del traductor fuese iniciar minimizado toda vez que arranca el sistema, deberíamos dejar tildadas estas dos últimas opciones. En la categoría Translation, debemos indicarle cuál motor de traducción queremos emplear, así como los idiomas que preferimos. Para utilizar el inglés, en el desplegable Primary Translation Language escogemos "Spanish" ("Español"), y en el desplegable "Secondary Translation Language" lo dejamos en Inglés ("English").

Aceptamos los cambios presionando Ok, y ya podremos lanzar la aplicación. Para ello en el ícono de Crow Translate del panel superior, escogemos "Show windows" ("Mostrar ventana").

Esto nos presentará la ventana de trabajo del Crow Translate, que es similar a la que presenta la web Google Translate. Se trata de una interfaz lado a lado. En la ventana izquierda tendremos el texto original, y en la derecha la traducción, aunque podremos intercambiar el órden de la traducción con la flecha doble. Si utilizamos el servicio de Google Translate, la traducción será automática, pero podremos realizarla a mano por medio de Ctrl+Enter.

En la parte inferior contaremos con botones que activan la reproducción del habla texto a voz, capaz de operar a través de Google Translate.

El programa también puede obrar por medio de combinaciones de los atajos de tecla programables desde la interfaz. Debemos tener en cuenta de no sobreponer dichas combinaciones a otras utilizadas por nuestro escritorio de Ubuntu. Por tal motivo, pueden modificarse o - incluso - desactivarse completamente.

Las combinaciones más utilizadas son:

Comb. de Teclas Descripción Ctrl+Alt+e Traduce el texto seleccionado Ctrl+Alt+s Habla el texto seleccionado. Ctrl+Alt+f Habla la traducción del texto seleccionado Ctrl+Alt+g Detiene el habla Ctrl+Alt+c Muestra la ventana de Crow Translate

Como vemos, el programa es fácil de operar de forma casual, pero también está bien preparado para utilizarlo para combinar sus resultados con programas de edición y procesamiento de texto. Los resultados provistos por Google Translate están - al día de hoy - bastante logrados.

Masa: ¡Aquí está! ¡Que lo vengan a buscar!



01 october 2022

¡600 seguidores! A pesar de que me faltan las manos, escribo Ubuntu Peronista, un blog de adoctrinamiento técnico en el uso del Software Libre, enmarcado en el Justicialismo.

El mundo del software contemporáneo es una lucha enconada entre ideologías caducas sobrevivientes, y nada podrá resolverse sin una nueva solución ideológica. ¡El Justicialismo la ha encontrado, la ha realizado, y está dispuesto a mantenerla!

Yo no aspiro a otra gloria que al cariño de mi Pueblo. Por eso es que emocionado ante estos 600 seguidores, deseo hablarles de mi gratitud como argentino y como trabajador.

Millones de visitas al blog me han hecho el mas feliz de los hijos de esta tierra. Hoy agrego un agradecimiento mas a la inmensa deuda de gratitud que me liga a los trabajadores argentinos. Los trabajadores han sido y son la causa y la finalidad objetiva de todos mis desvelos y sacrificios, pero son también la fuente inagotable de mi propia felicidad.

Desde la inmensa heredad de nuestra Patria, millones de argentinos nos escuchan. A todos ellos va mi saludo cariñoso y mi recuerdo de compatriota y de hermano. A los fieles descamisados de todas las horas, mi cariño inextinguible y mi abrazo con que los estrecho muy fuerte sobre mi corazón.

Juan Perón.-



30 september 2022

¿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.



29 september 2022

¿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



28 september 2022

¿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 y 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.



27 september 2022

¿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



26 september 2022

¿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.



25 september 2022

¿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 red /server add -auto -network red irc.servidor.com puerto /channel add -auto #canal red

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.



24 september 2022

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.



23 september 2022

¿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 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



22 september 2022

¿Cómo instalo PowerShell en Ubuntu 18.04LTS?

Reunido con los obreros de la Construcción, Juan Perón expone las necesidades del momento e indica cómo instalar PowerShell en Ubuntu 18.04LTS.

(...) Vean señores;

Sobre gustos no hay nada escrito. Yo prefiero los Pall Mall o los Particulares picado grueso cortado a cuchillo, pero también puedo optar por el charuto. En intérpretes de comandos, uso el Bourne Again Shell, el mítico Bash.

Esto conforma la opción que un verdadero Conductor pelo en pecho utiliza. Sin embargo, podremos elegir otras opciones más adecuadas para otros paladares.

Power$hell es un intérprete de comandos (o "shell") basado en tareas y un lenguaje de guionado (script), escrito en .NET. Supuestamente ayuda a los administradores de sistema y usuarios avanzados a automatizar tareas de administración de sistemas operativos (Linux, MacOS, y Window$), y sus procesos.

Los comandos de Power$hell nos permite administrar las computadoras desde la línea de comandos. Con él, tendremos accesos a los almacenamientos de datos, el registro y la tienda de certificados, así como podremos acceder rápidamente el sistema de archivos bajo Windows.

Sin embargo, para un usuario peronista es más bien inútil: Linux cuenta ya con todas las características necesarias y Power$hell no deja de ser una ajada bandera que Micro$oft pretende imponer como reemplazo del poderoso Bash que todos hemos aprendido a dominar.

Powershell no está incluido en los repositorios oficiales de Ubuntu, pero aún así tendremos tres formas de instalarlo. Podremos instalarlo como un paquete estático, como snap, o cargar el repositorio que Micro$oft ha dispuesto para Ubuntu e instalarlo desde allí.

Instalación estática de Power$hell

En primer momento, el método que os recomiendo es descargar una versión estable y estática de Power$hell para usarla en Ubuntu. Esta forma nos permite evaluarlo perfectamente y usarlo si esa es nuestra necesidad, pues de cada necesidad nace un derecho. La instalación estática no será actualizada confome vayan apareciendo nuevas versiones de Power$hell, pero es la más simple de realizar con fines evaluatorios. Para ello abrimos una Terminal e ingresamos los siguientes Comandos de Organización:

cd ~/Descargas/ wget https://github.com/PowerShell/PowerShell/releases/download/v6.2.3/powershell_6.2.3-1.ubuntu.18.04_amd64.deb

sudo dpkg -i powershell_6.2.3-1.ubuntu.18.04_amd64.deb

Normalmente este comando indicará que existen librerías faltantes, de modo que podremos solucionar este inconveniente con el comando:

sudo apt-get install -f

Una vez instalado, ejecutamos Powershell en nivel usuario con:

pwsh

También podremos ejecutarlo con permisos de superusuario o administrador, con:

sudo pwsh

Instalación Dinámica de Power$hell

Es importante notar que si queremos una versión dinámicamente actualizable de Power$hell, debemos hacer un procedimiento diferente.

Para ello primero purgamos cualquier instalación de Powershell que tengamos con:

sudo apt purge powershell

Y luego ejecutamos el siguiente bloque de comandos de organización:

wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb ; sudo dpkg -i packages-microsoft-prod.deb ; sudo apt-get update ; sudo add-apt-repository universe ; sudo apt-get install -y powershell

Y una vez que esté todo instalado, iniciamos Power$hell con:

pwsh

Instalación de Power$hell como Snap:

sudo snap install powershell --classic

Uso de Microsoft PowerShell en Ubuntu:

El PowerShell realmente no es más potente que los shell tradicionales de Ubuntu, y es mucho más conveniente correr Bash en Window$ que la delirante idea de correr Power$ell en Ubuntu. Como diferencia, está mayormente pensado para manejar un entorno de objetos en lugar de los clásicos string de texto que se pueden mandar por un caño en los sistemas similares a UNIX. Aún así, os indicaré los rudimientos:

Al arrancar el Power$hell en Ubuntu nos encontraremos con la ventana de inicio del prompt.

El primer comando que podríamos querer ejecutar el la ayuda Help, o el actualizador de los archivos de ayuda (similares al man de Linux). Esto se hace ingresando el comando

Update-Help

Para salir de Power$hell ingresamos el mismo comando que en Linux:

exit

...y abandonamos tal intérprete de comandos volviendo al que tengamos instalado en nuestro sistema.



21 september 2022

¿Cómo instalo y juego C-Dogs en Ubuntu?

¡Trabajadores!

El arte de la Conducción nos pone frente a la necesidad de dominar acciones fluidas de relaciones de fuerzas. En este principio nodal, lo natural tiende representar a un equilibrio de fuerzas, y la acción es por mas difícil pues nos requiere destruir tal equilibrio.

La hora por tanto no nos permite descansar en nuestros laureles; hemos de enfrentar sus desafíos con toda la acción de los hombres concentrada en un objetivo: dar al Pueblo lo que es del Pueblo. Este desequilibrio no tiende a ser permante; sólo lo será si nuestro material humano está consabido en los esfuerzos que se le requieren.

Es por ello que la actividad de adoctrinamiento no debe darse nunca por finalizada. Es uno de los elementos fundantes y la argamasa de unión en el desequilibrio de la lucha táctica y en el quehacer del reordenamiento estratégico.

Es fundamental entender que nuestros objetivos no podemos lograrlo solos, de manera gregaria. Simplemente no existen dioses capaces de hacer eso, bastante con que nosotros somos hombres. Nuestra lucha requiere entonces mancomunar esfuerzos de hombres y mujeres para lograr llevarla al éxito, y tal vez esfuerzos que en un primer instante no parezcan pródigos en resultados.

La oligarquía cipaya, sin Patria ni Bandera, es nuestra enemiga. De mínima, hará lo que ya preveemos: usar prebendas de poder y declamar los más espurios gaznidos para amilanarnos. A nada hemos de hacer caso, pues ya les conocemos el canto y como se atizan el pecho. Pero sin duda recurrirán a otros métodos aún inconfesables, y para ellos son los que hemos de prepararnos hoy para combatir mañana.

Es por ello que para superarlos debemos operar de una forma firme y agresiva, que no les de tiempo a reaccionar. Esa es la manera de operar en este campo actual.

Pues bien señores, un valioso aporte que puede ponernos a tiro lo forman los software lúdicos que corren libremente bajo GNU. Uno de ellos es el C-Dogs-SDL.

Se trata de un juego de super-acción en tercera persona, derivado del clásico Cyberdogs (1997) que corría en modo protegido en M$-DO$. En aquél software del ayer hasta dos jugadores podían controlar de forma cooperativa dos recios mercenarios, capaces de utilizar todo tipo de armamento para superar niveles laberínticos.

En la versión actual, además de contar con mejoras en la inteligencia de los enemigos computados y niveles más complejos, tendremos mayores opciones de armamento y la posibilidad de jugar simultáneamente con hasta cuatro jugadores en un mismo sistema (dos con teclado y dos con joysticks USB).

Para instalarlo en nuestro sistema bien podremos hacer uso de la terminal, abriendo una con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

sudo apt update sudo apt install libsdl2-mixer-2.0-0 cd ~/Descargas ; wget https://github.com/cxong/cdogs-sdl/releases/download/0.7.0/C-Dogs.SDL-0.7.0-Linux.tar.gz ; wget https://cxong.github.io/cdogs-sdl/missionpack.zip ; tar xvzf C-Dogs.SDL-0.7.0-Linux.tar.gz ; upzip missionpack.zip ; mv C-Dogs\ SDL-0.7.0-Linux/ ~/.cdogs/ ; cd ~/Descargas/missionpack/dogfights/ ; mv Traut/ ~/.cdogs/dogfights/ ; mv Willie/ ~/.cdogs/dogfights/ cd ~/Descargas/missionpack/missions/ ; mv missionpack/ ~/.cdogs/missions/ ;

Para ejecutarlo crear un script. Para ello ingresamos:

nano .cdogs.sh

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

cd ~/.cdogs/bin/ ./cdogs-sdl

Guardamos el fichero con Ctrl+o y salimos del editor con Ctrl+x. Finalmente le asignamos permisos de ejecución con:

chmod +x ~/.cdogs.sh

...o bien crear un lanzador hacia /home/usuario/.cdogs.sh para facilitar su arranque.

La versión C-Dogs SDL actual está portada para esta particular capa de abstracción, lo que nos permite cómodamente darle ejecución hoy en sistemas GNU con Linux, y por supuesto en equipos de escasísima potencia computacional.

Una vez que lancemos C-Dogs, nos encontraremos con el menú principal. Esta nos permitirá iniciar una misión rápida cooperativa con Start, abrir las Opciones (Options), o salir (Quit). Lo lógico será iniciar una partida rápida, la cual podrá configurarse como normal o "Pelea de Perros" (escencialmente en lugar de pelea de perros cambiamos al modo deathmach de todos contra todos).

En primera instancia habremos de asignarle nombre y apariencia a nuestro combatiente (cada jugador debe hacer esto). Para ello tecleamos su nombre letra a letra à la arcade, y le elegimos los colores de brazos, cuerpo, piernas y un diseño para la cara. Una vez iniciado el menú de juego, podremos asignarle las características del match en cuestión (por ejemplo, activar la niebla de guerra de nuestros jugadores, la capacidad del HUD o interfaz de ayuda, el mapa "radar", si queremos pantalla única o dividida, etc. Cada cambio de este tipo permite una manera distinta de jugar, más coordinada o estratégica según querramos.

El desarrollo del juego es algo frenético en sus niveles superiores, y de sencilla lógica. En ocasiones debemos formar emboscadas, avanzar individualmente para atraer los enemigos y reventarlos con ayuda del compañero, o formar los consabidas "L", para amurallar con fuegos automáticos las posiciones propias y defendernos mutuamente.

Para aumentar nuestro poder de fuego podremos recoger nuevas armas con munición limitada y con distintos efectos: lanzallamas, escopetas de corto alcance, ametralladoras, lanzacohetes, lanzarrayos, molotovs, granadas, etcétera.

C-Dogs se maneja inicialmente con el teclado, y el primer jugador utilizará las fechas del teclado, junto con las teclas Z (arma principal), X (arma secundaria o salir) y S lanzar granadas u otros explosivos arrojables respectivamente. El segundo jugador podrá operar con el teclado numérico, y las teclas asociadas a él (Enter, + y el 0, todos ellos del teclado numérico). Adicionalmente, podremos operar dos jugadores más usando joysticks USB conectados a nuestro sistema (totalizando cuatro mercenarios). Naturalmente estos controles son libremente configurables.

La inteligencia de los enemigos (IA) se ha mejorado mucho, y contamos con un editor de misiones, el cual podríamos lanzar desde la terminal con:

cd ~/.cdogs/bin/ ./cdogs-sdl-editor



20 september 2022

¿Cómo instalo y uso Angry IP Scanner en Ubuntu?

Al iniciar el año lectivo de 1950, el 7 de marzo de ese año, y después de tres años de gestión gubernamental, el entonces Presidente de la Nación, Juan Perón, se reúne con los directores de las Escuelas de Orientación Profesional, y expone cómo utilizar Angry IP Scanner para tareas de red en Ubuntu.

"En primer término, debo agradecerles la amabilidad de haber llegado hasta aquí para darme la satisfacción, por lo menos una vez al año, de tener el placer de estrecharles la mano. Yo hablo siempre sobre las Escuelas de Orientación Profesional con el cariño y el entusiasmo de quien ve en realización una idea que, en 1945, nosotros esbozamos frente a las necesidades crecientes de la capacitación de nuestro material humano.

La misión, la función, de estas escuelas se va llenando tal cual yo había imaginado y había deseado. Yo no soy partidario de empezar las obras en grande para, muchas veces, terminarlas en chico; vale más seguir el curso de construcción de las pequeñas cosas que, con el tiempo, se hacen grandes, se consolidan y se hacen fuertes.

Nosotros podríamos haber creado un Consejo Nacional de Educación para la enseñanza profesional, pero, posiblemente, eso hubiera funcionado con ese pecado original de haber nacido demasiado grande. En cambio, la política que siguen las Escuelas de Orientación Profesional, es decir, la de formar una pequeña institución que va fortaleciéndose año tras año, es la que va a darle la tradición que necesitan, la consolidación que es indispensable para las grandes obras y la base sustentatoria de esa columna que hemos levantado sobre la originaria ley de creación de la enseñanza de orientación profesional.

Yo veo que esto se va cumpliendo sobre esas bases. Siempre repito cuáles fueron los móviles originarios de esas escuelas. Nosotros habíamos visto crecer a nuestros operarios y formarse en el dolor del taller, en la necesidad de trabajar desde chicos. Eso, como método empírico, llena una parte solamente de la enseñanza. Es necesario acompañar a ese método real, un método ideal, es decir, darle también los conocimientos necesarios para que el operario no termine muriendo o jubilándose de operario, sino que tenga abierto el horizonte para ir perfeccionándose en sus conocimientos generales. Vean señores, la vida nos da experiencias que siempre pueden aplicarse a otra cosa. A un pato se lo caza con llamador; unos graznidos realizados con este instrumento cerca de una laguna harán curosear a una de estas aves y ahí hay que atizarla. En la política también se hace lo procedente, y con uno que hable usted capturará dos o tres zonzos. Pero un Movimiento como el Justicialista tiene por necesidad que aportar conocimientos más acabados a los educandos, y el ofrecerles estudio del herramental y el sentido común propicio para la tarea que a cabo hemos de llevar.

Para cazar una perdiz no debemos recurrir a disparar al cielo con docenas de tiros de escopeta esperando de casualidad pegarle a algo: la técnica eficaz consiste en utilizar un perro avispado que busque en el pajonal y nos levanta la perdiz. Será allí cuando quede al alcance de una buena Victor Sarasqueta...

Con esto refiero que hemos de conseguir darle al hombre una herramienta para que luche en la vida, aunque es primordial pensar que no debemos suministrar armas a una mala persona, que va a darles un mal empleo.

De un sistema GNU con Linux podría decirse lo mismo. Naturalmente que comandos de terminal como nmap, traceroute, ping, etcétera, podremos hacer un gran trabajo para descubrir la tipología de red. Las técnicas pueden ser totalmente vernaculares, pero también en ocasiones de agresión telemática podemos querer emplear métodos más osados.

Si tenemos un sistema de 64 bits, debemos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de Organización:

cd ~/Descargas/ ; wget https://github.com/angryip/ipscan/releases/download/3.6.2/ipscan_3.6.2_amd64.deb ; sudo dpkg -i ipscan_3.6.2_amd64.deb ;

En cambio, si nuestra arquitectura es de 32 bitios, ingresamos:

cd ~/Descargas/ ; wget https://github.com/angryip/ipscan/releases/download/3.6.2/ipscan_3.6.2_i386.deb ; sudo dpkg -i ipscan_3.6.2_i386.deb ;

Tras ingresar nuestra contraseña de Conductor, se instalará la paquetería necesaria. Una vez instalado todo ya podremos ejecutarlo desde Aplicaciones / Internet / Angry IP Scanner.

Como su nombre lo indica Angry IP Scanner es un analizador furibundo de direcciones IP, que puede utilizarse para rastrear infraestructura de red local o remota.

Al iniciar, se mostrará la ventana comenzando que explica los rudimentos del programa, a la vez que nos permite destildar la opción para enviar información anónima de uso al desarrollador (os recomiendo destildarla).

El programa consta de un despliegue sencillo para acometer sus tareas de análisis telemático de las redes que osemos enfrentar. En primer lugar dispondrá nuestra IP de red de área local (LAN), y podremos hacer un análisis de IPs locales simplemente haciendo clic directamente en el botón Comenzar.

Una vez finalizado el escaneo, podremos ver los resultados. Nos marcará en rojo las IP no encontradas y en azul las funcionales (luego podremos filtrar y pedirle que sólo muestre las activas, lo cual es útil si nuestro rango de búsqueda es exasperadamente amplio. Hemos de conocer algo de redes y disponer de un refresco de las expresiones que el programa utiliza. Por ejemplo:

Alimentador/feeder - Es el método del Generador de direcciones IP que el programa usa para escanear. Angry IP Scanner provee varios tipos de alimentadores: puede buscar según Rango de IPs, de forma Aleatoria, y mediante un archivo de texto que contenga la lista de IPs. Se puede seleccionar un alimentador usando la lista de selección situada al lado del botón de inicio.

Buscador - Obtiene información específica sobre un equipo, por ejemplo puede buscar según Tiempo de ping, el Nombre de equipo, o los puertos abiertos. Los alimentadores habitualmente muestran columnas en la lista de resultados de escaneo. Podremos seleccionar buscadores adicionales eligiendo "Herramientas->Elegir buscadores" del menú.

Equipo activo - Equipo que responde a los ping. Son los marcados en azul en la lista de resultados.

Equipo inactivo - Equipo que no responde los ping (son los marcados en rojo en la lista). Sin embargo, podrían tener puertos abiertos (si el firewall bloquea el ping). Para escanear completamente estos equipos, elige "escanear equipos inactivos" en Herramientas->Preferencias.

Puerto abierto - Un puerto TCP que responde a los intentos de conexión. Los equipos con puertos abiertos están en verde en la lista de resultados.

Puerto Filtrado - Un puerto TCP que no responde que está cerrado (sin paquete RST). Estos puertos son usualmente bloqueados por un firewall.

Realizando Ping (comprobando si los equipos están activos):

Angry IP Scanner puede usar diferentes métodos para realizar ping a los equipos. Se puede elegir en el cuadro de preferencias.

ICMP echo - el método estándar usado por el programa 'ping'. Este requiere permisos de administrador o root en la mayoría de las plataformas. Ten en cuenta que algunos firewall deshabilitan el envío de paquetes de respuesta de ICMP echo, haciendo aparecer a los equipos como equipos inactivos.
UDP - envía paquetes UDP (datagramas) a uno de los puertos del equipo y verifica si hay respuesta (positiva o negativa). Esto no es estándar, pero funciona sin privilegios especiales.
TCP - intenta conectar al puerto 80 (http) en el equipo. Esto puede funcionar mejor que UDP para algunas redes, pero habitualmente es peor.
Ping UDP y TCP mayormente no detectan correctamente los routers y demás equipamiento de red.
TTL (tiempo de vida) - este plugin trabaja solo con el método de ICMP ping. Su valor inicial es habitualmente 64 o 128, y la diferencia representa la distancia del equipo en número de nodos que recorrió.

La lista de resultados muestra los resultados el escaneo, una línea por cada dirección escaneada.

Usando el cuadro de preferencias se puede configurar para mostrar:

Todos los equipos escaneados
Sólo los equipos activos
Sólo los equipos con puertos abiertos

Valores especiales (también configurables):

[n/s] - No escaneado, cuando no fue escaneado del todo (ej si el equipo está inactivo) [n/a] - El valor no está disponible, pero fue escaneado

A cada uno de los resultados podremos someterlos adicionalmente a acciones más avanzadas. Por ejemplo, hacer llamadas Secure Shell (SSH) o Telnet para control remoto, llamadas HTTP (ya sea en el puerto 80 u otros diferentes), o actuar como cliente FTP. Una gran variedad de protocolos permiten entonces rastrear la tipología de la red, pero también oficializar de una adecuada arma de asalto telemático.



19 september 2022

Se lanza Ubuntu 19.10 "Eoan Ermine"

Como es natural los 17 de octubre se festejan con el lanzamiento oficial de una versión de Ubuntu. En este caso, Canonical lanza Ubuntu 19.10 Eoan Ermine, la 31º versión de Ubuntu en ser lanzada desde 2006. Esta versión no cuenta con soporte de largo plazo. Esta particularidad quedará reservada para la versión 20.04LTS "Focal Fossa", cuyo lanzamiento está previsto para el mes de abril del año próximo.

Las versiones sin soporte a largo plazo se establecen como temporales a fin de evaluar posibles características para las versiones estables "LTS".

Entre las novedades de 19.10 Eoan Ermine encontramos su escritorio GNOME 3.34, que incluye creación de carpetas de aplicación, opción siempre solicitada y que momentáneamente había sido dejado de lado. La performance de este escritorio se ha mejorado drásticamente. Ahora las unidades USB aparecen en el Dock de Ubuntu, lo cual era un problema inexcusable.

El Kernel es el Linux 5.3, rodeado de una cadena de herramientas actualizadas, incluyendo Python 3.7.5, el servidor de sonido PulseAudio 13.0 de capacidades avanzadas. En el apartado de video, se provee opcionalmente con los controladores propietarios nVidia descargables durante la instalación, así como el sistem de archivado ZFS, de alta seguridad (similar al de FreeBSD). Contamos ahora con soporte para compartición de medios DLNA, así como para la nueva norma de seguridad de Wifi, la WPA3.

Naturalmente, también contamos con una miríada de aplicaciones actualizadas, como LibreOffice 6.3.

Si bien esta versión sólo se recomienda para sistemas de evaluación, podremos descargarla desde aquí.



18 september 2022

¿Cómo juego a la batalla naval en Ubuntu?

¡Trabajadores!

En los tiempos que corren, la unificación del Movimiento Obrero ha de ser la base para defender los derechos de los Trabajadores y extender los mismos frente a una oligarquía empobrecedora y onmímida.

El otro pilar necesariamente tiene que ser la inexcusable reivindicación histórica del Movimiento Nacional Justicialista en la Argentina. Esto es un sentir unánime del Pueblo, el que hemos también de extender y defender frente a ideologías foráneas sin base ni provecho. A partir de eso, empezamos a andar.

Siempre he dicho que un derecho puede concatenar en otro, siempre que sean vistos bajo un cristal de acción positiva. Es por ello que la paleta ofrecida por los Derechos del Trabajador, necesariamente llevan a otra más graduada que hacen a los derechos de tercera y cuarta generación. Una Constitución Nacional que los haga válidos ha sido siempre un objetivo que hemos de alcanzar, grabando en mármol los logros reivindicativos que entre todos los argentinos de bien nos hemos propuesto.

Indudablemente que la suma de todos los beneficios, benefician a todos. La enseñanza de un sistema computarizado tienen también las mismas implicancias.

Veamos el claro ejemplo de un juego. Naturalmente que superficialmente consta de su objetivo lúdico, lo cual es natural. Pero en el caso de nuestro sistema GNU con Linux bien podremos aprovechar dicho objetivo para sumarle el de la enseñanza de otros menesteres. Sin dificultad alguna podríamos querer establecer una manera amigable para adoctrinar ciertos aspectos del uso de redes telemáticas, o de manejo de las interfaces gráficas, exploración de las habilidades del hardware, etc.

Un ejemplo de esto podremos encontrarlo en un juego clásico: la Batalla Naval. Esta recordado juego para dos jugadores implica en colocar en una grilla una "flota" formada por distintos tipos de buques, a la cual debemos cañonear "a ciegas" mediante el uso de coordinadas horizontales y verticales. En esta iteración computada podremos hacerlo contra la unidad central de proceso de nuestro sistema, o bien con otro jugador a través de una red local.

Para jugar contra la computadora, debemos seleccionar primero el nivel de dificultad a la derecha de la barra de status, y luego seleccionar Single Player en la pantalla inicial, o directamente podremos hacer esta elección en el menú Game.

Si lo que quisiésemos fuese comenzar una partida en red, esta situación nos permitirá conocer algo sobre los puertos TCP. Vean señores, uno de los jugadores debe servir el juego seleccionado Host network game o eligiendo Game / Host Game... En el cuadro de diálogo que aparece debemos ingresar nuestro apodo en Nickname y un Puerto. Normalmente, Naval Battle sugerirá nuestro nombre de usuario pero podemos usar cualquiera. El puerto es un número de circuito telemático que permite determinar a donde llegará la información dentro de una red. Consiste en un número decimal que puede ir desde 1 hasta los 65535, aunque los primeros 1024 puertos están reservados para distintas actividades estandarizadas. El puerto predefinido debería funcionar bien, pero si hubiesen problemas en nuestra red específica podremos elegir cualquier otro por encima del 1024.

Nota: Debemos avisarle al otro jugador en caso de cambiar el puerto por defecto, ya que ambos jugadores deben utilizar el mismo para establecer una conexión en la red.

El segundo jugador tiene que elegir Connect to network game, o hacer clic en el mení Game / Connect to Game.... Nuevamente se sugerirá un apodo en Nickname:. En el campo Hostname: se debe ingresar el nombre de sistema de la máquina que es el servidor (la máquina del jugador que inició el juego).

Cuando tenemos todo listo, podremos iniciar el juego. Simplemente seguimos las instrucciones en la barra de status. Esta propondrá ayudas y sugerirá que hacer a continuación. Cuando miramos la pantalla, encontraremos dos grillas que nos servirá de mar de batalla. El área izquierda es la propia, mientras que la derecha del contrario. En este trozo de océano debemos poner nuestros barcos, y el enemigo hará lo propio en su zona.

Lo primero es disponer nuestro material naval donde queramos en nuestra zona. El contrario hará lo propio. Poner los barcos es fácil. Simplemente hacemos clic en el sector que deseamos utilizar para poner el barco. Tenemos una flota de cuatro buques, el primero será un destructor con un largo de un cuadro, el siguiente una fragata de dos sectores, un acorazado de tres y un portaaviones de cuatro. Normalmente el buque será colocado horizontalmente, pero podremos rotarlo 90º usando el botón derecho del ratón antes de colocarlo.

Una vez comenzadas las hostilidades, debemos hacer disparar nuestros cañonazos haciendo clic con el botón izquierdo del ratón donde suponemos que el buque enemigo estará localizado a fin de realizar los disparos allí. ¡Nuestro fuego a ciegas puede eventualmente averiar un buque y proporcionarnos la pista de su existencia!. Para hundir uno, debemos alcanzar todos los cuadros que éste ocupa. Naturalmente, el fuego es por turnos, de manera que quien sea más rápido y hábil con sus cañonazos, definirá la partida.

Para reiniciar el juego, podremos elegir Game / Restart Game, o presionando F5.



17 september 2022

¿Cómo configuro el teclado IBM Model 122 "Acorazado" en Ubuntu?

¡Trabajadores!

Es sabido que un trabajador ha de contar con las mejores herramientas para hacer su trabajo. Pero muchas veces las mejores herramientas son las que el mismo trabajador crea o amolda a sus necesidades.

Es sabido que dentro del mundo de las terminales Unix, inicialmente se dio en utilizar los teclados provistos en las máquinas teletipo Tipo 33. Estos incómodos teclados fueron superados por otros mecánciamente más aptos y funcionalmente mejor pensados. Indudablemente los teclados tipo Space Cadet de las folklóricas computadoras Symbolics, o los influenciales LK201 para las postrimeras terminales DEC son espejos en los que habremos de mirarnos en los años que vendrán. Sin embargo, nadie duda que el más conocido de los teclados hayan sido los modelos de IBM.

La computadora PC original contaba con el teclado "Modelo F" de 84 teclas. De este derivaría el más influyente modelo, el M (extendido y mejorado), de 101/102 teclas, del cual se desprenden los utilizados actualmente. Aún así no fueron los definitivos, ya que en el Justicialismo de todo existe como en botica. Tal es así, que la locura experimental no tardó en alcanzar su más estrafalario paroxismo con "el acorazado". Se trataba del teclado IBM Modelo F de 122 teclas para la terminal IBM 3270. Este tipo de terminales industriales y de data-entry requerían el uso de una gran cantidad de teclas aún no estandarizadas, y para ellos se desarrolló este fenomenal teclado capaz de requerir un "Mano" del Eternauta para su correcta operación.

Ahora bien, estos teclados son parcialmente compatibles con las IBM PC, pero difíciles de adaptar al uso de los sistemas operativos actuales. Es por ello que la empresa Unicomp ha recreado el mismo en un fiel clon con teclas de resorte basculante, su teclado número de catálogo UB40T56 provisto de interfaz USB (y en esquema negro peronista).

El uso de uno de estos teclados tan provistos puede presentar ventajas a para quien requiera enorme combinaciones de teclas y un astronómico empleo de edición de texto y programación.

Lamentablemente, el uso de este tipo de teclados no está netamente soportado en GNU. Para hacer un uso efectivo, habremos de emplear ciertos recaudos. En particular debemos tener en cuenta dque nuestro sistema debe recibir las instrucciones específicas para saber qué hacer con las las teclas no estandarizadas del Modelo F 122 de Ubicom.

Vean señores, en un teclado estándar, cada tecla del teclado envia electrónicamente un código de tecla único al sistema, el cual, y nuestra computadora debería reaccionar acordemente. Sin embargo esto no es lo procedente en el teclado Unicomp mencionado.

Afortunadamente, mi rol como Conductor del Movimiento Nacional Justicialismo me impone acercar de forma paternalista las soluciones anheladas por las Masas del Pueblo. Por lo tanto volcaré esta sapiencia para que cada argentino lleve en su mochila el bastón de Mariscal.

La primera tarea para usar el Unicomp de 122 teclas con Ubuntu será activar el modo de código de tecla único en el teclado en sí. Para lograrlo debemos abrir el teclado y remover un jumper específico de la plaqueta del mismo. Esto sencillo de hacer: damos vuelta el acorazado, y sacamos los tornillos de la carcasa, removiendo la mitad superior de la misma. La plaqueta quedará expuesta, lo que aprovechamos para buscar debajo de un pequeño microcontrolador integrado, y cerca del LED de Scroll Lock, al Jumper JP3.

Lo removemos tirando hacia arriba y quitando el jumper., y luego volvemos a cerrar el teclado y reponer los tornillos.

Acto seguido será recomendable activar en nuestro GNU con Linux el parámetro de kernel“atkbd.softraw=0”, lo cual podremos lograr a partir de Ubuntu 10.04 abriendo una Terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo nano /etc/default/grub

Se abrirá el archivo de configuración del arrancador Grub, con nuestros parámetros de configuración. Nos aseguramos de buscar la siguiente variante:

GRUB_CMDLINE_LINUX_DEFAULT=""

.,..y dentro del string entrecomillado, al final del mismo, le agregamos lo siguiente, de modo que quede:

GRUB_CMDLINE_LINUX_DEFAULT="atkbd.softraw=0"

Conforme finalicemos esta edición, guardamos los cambios con Ctrl+o, salimos del editor GNU Nano con Ctrl+x. No debemnos olvidar actualizar el arrancador Grub mediante el comando:

sudo grub-update

Si todo está bien y no devuelve errores, reiniciamos nuestro sistema con:

sudo reboot

(Nota: Si nos devolviese algún error, volvemos a editar el archivo para dejarlo como estaba y volvemos actualizar con sudo grub-update).

Si no hacemos esto, el comando showkey -s solamente nos mostrará los códigos de teclas que ya están preconfiguradas en el kernel, y no las que realmente son enviadas por el teclado. Es posible mostrar los códigos de teclas desconocidos activando el módulo i8042 en modo debug, pero el comando atkbd.softraw hace lo mismo de manera mas efectiva.

La parte molesta del procedimiento es tomar nota de cuáles son los códigos de tecla específicos que envía el teclado Unicomp 122. Ello se sondea con showkey -s y presionando las teclas para ver cada una.

Las teclas convencionales son más o menos parecidas a las estandarizadas por el teclado Modelo M de IBM, el de toda la vida. Sin embargo, existen discrepacias. Os listaré preliminarmente los resultados de mi sondeo específico. ¡Estén atentos que vuestros resultados pueden variar! Este teclado no es estándar y por ello requiere comprobar esto para evitar resultados indeseables con el mismo.

Grupo Tecla Presión Soltar Código de tecla Teclas de Función

F13     5b  db  –

F14     5c  dc  95

F15     5d  dd  183

F16     63  e3  –

F17     64  e4  –

F18     65  e5  –

F19     66  e6  –

F20     67  e7  –

F21     68  e8  –

F22     69  e9  –

F23     6a  ea  –

F24     6b  eb  –

(siguiente fila) F1 3b bb 59

F2  3c  bc  60

F3  3d  bd  61

F4  3e  be  62

F5  3f  bf  63

F6  40  c0  64

F7  41  c1  65

F8  42  c2  66

F9  43  c3  67

F10     44  c4  68

F11     57  d7  87

F12     58  d8  88

Teclado numérico izquierdo (La tecla superior izq es “Esc”)

Esc     7e  fe  121

Cent    76  f6  85

ImpPant     72  f2  –

Pausa   e1 1d 45    e1 9d c5    119

Imprimir    74  f4  –

Ayuda   6d  ed  –

Record  e0 2a e0 37     e0 b7 e0 aa     99

Play    6f  ef  –

GUI (Windows)   75  f5  –

Menú    6c  ec  –

Teclado de edición (entre el teclado QWERTY y el teclado numérico)

RetrocedeTab    5a  da  –

Insertar    e0 49   e0 c9   104

RePág   e0 51   e0 d1   109

(siguiente fila) Blue Return e0 4f e0 cf 107

Supr    e0 52   e0 d2   110

AvPág   e0 53   e0 d3   111

(siguiente fila) Flecha Arriba e0 48 e0 c8 103 (siguiente fila) Flecha Izq e0 4b e0 cb 105

Inicio  e0 47   e0 c7   102

Flecha Der  e0 4d   e0 cd   106

(siguiente fila) Flecha Abajo e0 50 e0 d0 108 Teclado numérico (fila superior) Fin 01 81 1

Bloq Desp   46  c6  70

(BloqDesp+Mayús) Bloq Num 45 c5 69

/   37  b7  55

*   e0 c5   e0 b5   98

(siguiente fila) KP-7 47 c7 71

KP-8    48  c8  72

KP-9    49  c9  73

–   4e  ce  78

(siguiente fila) KP-4 41 cb 75

KP-5    4c  cc  76

KP-6    4d  cd  77

+   4a  ca  74

(siguiente fila) KP-1 4f cf 79

KP-2    50  d0  80

KP-3    51  d1  81

Enter   e0 1c   e0 9c   96

(siguiente fila) KP-0 52 d2 82

KP-.    53  d3  83

Grupo. Para dividir las cosas, he agrupado las teclas en 5 secciones separadas del teclado: las teclas de función, el teclado de la izquierda, el teclado QWERTY, el teclado de edición, y el teclado numérico. Los detalles del teclado QWERTY estarán al final ya que los otros grupos son más interesantes (las teclas del QWERTY funcionan sin problemas).
Tecla. Este es la impresión de la tecla en el teclado. Podría ser diferente en distintas variantes, de modo que en todos los casos he iniciado con el teclado desde la parte superior izquierda, y he ido bajando hacia la derecha y abajo..
Presión. Este es el código producido cuando la tecla se aprieta.
Soltar. Este el el código producido cuando la tecla se suelta.
Código de tecla. Este el el código de tecla configurado producido en la consola Linux. Las celdas rojas son valores que son erróneos, pero además hay muchos que faltan pues no se producen con una presión de tecla. Son equivocados porque el código de letras dan un resultado que no se condice con la tecla en sí - en algunos casos peligrosamente erróneos, como AvPg que produce un Supr. Una de las cosas de que debemos tener en cuenta es que DEBEMOS usar el comando "showkey -k" en la consola para obtener los mismos números que tengo. El servidor X parece agregar un 8 a cada código de tecla.

Podremos encontrar ciertas particularidades. F14 y F15 han recibidos códigos de tecla estándares por defecto, de modo que sus códigos de tecla deben coincidir con teclas definidas en los teclados más populares. Y por supuesto, BloqNum y BloqDesp comparten el mismo código lo cual es extraño. Finalmente la tecla Record envía dos toques de tecla en uno. Corregir las Teclas Erróneas En primer lugar debemos mapear las teclas que producen un código de tecla que representa una tecla diferente que la que corresponde. Como la tecla marcada como End, que devuelve el código estandarizado de la tecla Esc. He dejado dos de las teclas erróneas de este grupo ya que serán mejor representadas en la próxima sección.

Las teclas erróneas pueden ser corregidas con los siguientes comandos:

setkeycodes 7e 1 # Esc setkeycodes e049 82 # Insert setkeycodes e051 105 # PageUp setkeycodes e052 111 # Delete setkeycodes e053 109 # PageDown setkeycodes 01 107 # End setkeycodes 37 98 # KP-/ setkeycodes e035 55 # KP-* setkeycodes 4e 74 # KP-- setkeycodes 4a 78 # KP-+

He dejado un par de las teclas erróneas de esta sección, ya que no devuelven valores peligrosamente incorrectos, y corresponden de manera más lógica a la próxima sección (las teclas Record y Blue Return). Configurar las Teclas Extra Ahora concentrémonos en las teclas extras. La parte difícil fue inventar nuevos códigos de tecla para estas teclas que no entren en conflicto con códigos de teclas previamente existentes, y que además sean razonables. Esto en la práctica es imposible, ya que el comando xmodmap -pk no aparenta mostrar un rango significativo de códigos de tecla no utilizados, aunque algunos de los códigos utilizados se empleen para butones con la orden "comprar" y cosas por el estilo!

De tal manera, que escogemos un rango con el mayor número de teclas no asignadas o inútiles, y los asignamos:

setkeycodes 5b 222 # F13 setkeycodes 5c 223 # F14 setkeycodes 5d 224 # F15 setkeycodes 63 225 # F16 setkeycodes 64 237 # F17 setkeycodes 65 238 # F18 setkeycodes 66 228 # F19 setkeycodes 67 229 # F20 setkeycodes 68 230 # F21 setkeycodes 69 231 # F22 setkeycodes 6a 232 # F23 setkeycodes 6b 233 # F24 setkeycodes 72 99 # Record (luego de intercambiar la tecla) setkeycodes 74 209 # Print setkeycodes 6d 138 # Help setkeycodes 6f 239 # Play setkeycodes 75 234 # Windows (GUI) setkeycodes 6c 240 # Menu setkeycodes 5a 235 # Backtab setkeycodes e04f 236 # BlueReturn

Una vez que hemos cambiado esto, podemos buscar corregir los mapeados bajo el servidor X, que es la causa por la cual F17 y F18 están fuera de secuencia con los de arriba. Una de las teclas tiene que ser (al menos hasta que alguien logre una solución mejor) ordenada con un recambio de teclas. Para ello intercambiamos de lugar la tecla Record y la cambiamos por la marcada PrintScreen” (esto es fácil de hacer pues en los teclados IBM podemos sacar las teclas y ponerlas en otro lugar). Además como el código de teclas de Record efectivamente son dos códigos de tecla en uno, si intentamos remapearlo esto provoca "problemas extraños difíciles de dilucidar". Corregir el resultado bajo servidor X11 Una vez que hemos configurado los código de tecla que no hacen cosas raras bajo el servidor X (por ejemplo F17 y F18 no producen un código de teclas bajo X11, sino que disparan otro evento), podemos seguir configurando el teclado bajo X según nuestros gustos.

A continuación un intento de mapear lo más fielmente posible las acciones de las teclas sin irnos a los extremos.

xmodmap -e "keycode 230 = F13" xmodmap -e "keycode 231 = F14" xmodmap -e "keycode 232 = F15" xmodmap -e "keycode 233 = F16" xmodmap -e "keycode 245 = F17" xmodmap -e "keycode 246 = F18" xmodmap -e "keycode 236 = F19" xmodmap -e "keycode 237 = F20" xmodmap -e "keycode 238 = F21" xmodmap -e "keycode 239 = F22" xmodmap -e "keycode 240 = F23" xmodmap -e "keycode 241 = F24" xmodmap -e "keycode 217 = Print" xmodmap -e "keycode 9 = Escape 3270_Attn" xmodmap -e "keycode 93 = cent bar" xmodmap -e "keycode 175 = 3270_Record" xmodmap -e "keycode 175 =" xmodmap -e "keycode 247 = 3270_Play" xmodmap -e "keycode 242 = Super_L" xmodmap -e "keycode 248 = Multi_key" xmodmap -e "keycode 243 = 3270_BackTab" xmodmap -e "keycode 118 = Insert 3270_Duplicate" xmodmap -e "keycode 112 = Prior 3270_Jump" xmodmap -e "keycode 117 = Next 3270_Rule"

Esto nos da como resultado una configuración de teclado que más o menos ofrece los resultados esperados al presionar las teclas correspondientes. Para lograr algunos de los símbolos azules, presionamos la tecla correspondiente en combinación con Mayúscula.

El teclado numérico podría recibir un poco más de atención en cuanto a su mapeado en X, y hay algunos símbolos azules en el teclado QWERTY principal que podrían ser mapeados con mayor utilidad, pero de momento esto es suficiente para el Justicialismo.

Configurarlo fácilmente en un archivo

Una vez comprendido el censado de los código de tecla de este particular teclado y ajustado nuestros anhelos, podremos hacerlo efectivo para nuestro sistema. Lo más práctico es juntar todo en un script que podamos ejecutar, ya sea aisladamente o cuando arranca el sistema (tal vez no recomendado esto, pues desfasaría otros teclados estándares). Si quisiéramos poner en práctica lo primero y dejar un script que deba ejecutarse para usar este teclado Unicomp, podríamos ingresar:

nano ~/teclado_122.sh

Esto abrirá el editor GNU Nano con un archivo en blanco. y le agregamos entonces el siguiente bloque de texto (que engloba los comandos anteriores):

!/bin/bash

#

Configuración para el teclado Unicomp de 122 teclas peronista

para Ubuntu 10.04 y superior.

corrección teclas erróneas:

setkeycodes 7e 1 # Esc setkeycodes e049 82 # Insert setkeycodes e051 105 # PageUp setkeycodes e052 111 # Delete setkeycodes e053 109 # PageDown setkeycodes 01 107 # End setkeycodes 37 98 # KP-/ setkeycodes e035 55 # KP-* setkeycodes 4e 74 # KP-- setkeycodes 4a 78 # KP-+

configuración de teclas extra del teclado unicomp 122

setkeycodes 5b 222 # F13 setkeycodes 5c 223 # F14 setkeycodes 5d 224 # F15 setkeycodes 63 225 # F16 setkeycodes 64 237 # F17 setkeycodes 65 238 # F18 setkeycodes 66 228 # F19 setkeycodes 67 229 # F20 setkeycodes 68 230 # F21 setkeycodes 69 231 # F22 setkeycodes 6a 232 # F23 setkeycodes 6b 233 # F24 setkeycodes 72 99 # Record (luego de intercambiar la tecla) setkeycodes 74 209 # Print setkeycodes 6d 138 # Help setkeycodes 6f 239 # Play setkeycodes 75 234 # Windows (GUI) setkeycodes 6c 240 # Menu setkeycodes 5a 235 # Backtab setkeycodes e04f 236 # BlueReturn

mapeo de teclas en x11

xmodmap -e "keycode 230 = F13" xmodmap -e "keycode 231 = F14" xmodmap -e "keycode 232 = F15" xmodmap -e "keycode 233 = F16" xmodmap -e "keycode 245 = F17" xmodmap -e "keycode 246 = F18" xmodmap -e "keycode 236 = F19" xmodmap -e "keycode 237 = F20" xmodmap -e "keycode 238 = F21" xmodmap -e "keycode 239 = F22" xmodmap -e "keycode 240 = F23" xmodmap -e "keycode 241 = F24" xmodmap -e "keycode 217 = Print" xmodmap -e "keycode 9 = Escape 3270_Attn" xmodmap -e "keycode 93 = cent bar" xmodmap -e "keycode 175 = 3270_Record" xmodmap -e "keycode 175 =" xmodmap -e "keycode 247 = 3270_Play" xmodmap -e "keycode 242 = Super_L" xmodmap -e "keycode 248 = Multi_key" xmodmap -e "keycode 243 = 3270_BackTab" xmodmap -e "keycode 118 = Insert 3270_Duplicate" xmodmap -e "keycode 112 = Prior 3270_Jump" xmodmap -e "keycode 117 = Next 3270_Rule"

Una vez que tengamos el archivo, guardamos los cambios y salimos del editor con Ctrl+o y Ctrl+x. Finalmente lo hacemos ejecutable con el siguiente comando:

chmod +x ~/teclado_122.sh cd ~ sudo mv teclado_122.sh /usr/local/bin/

De ahora en más, podremos hacer efectivos los cambios ejecutando el script con este comando:

teclado_122.sh



16 september 2022

¿Cómo simulo un microcontrolador Intel 8051 en Ubuntu?

¡Trabajadores!

En la naturaleza, el desarrollo se produce incansablemente, y aunque en nuestra dimensión no lo percibamos, su accionar gravita en todos los estamentos de la escala universal. Lo hace en el microcosmos, y se reproduce en el macrocosmos.

Un Movimiento Político multidimensional como el nuestro no podía dejar de responder a la misma ley de la naturaleza, que es la que lo inspira. Es por ello que al desarrollar software libre, podemos hacerlo en cualquier punto de su escala de aplicación.

Es por ello que nuestro software ha de poder correrse en los macrocontroladores, pero también en los microcontroladores. Para ello hemos de conocer el lenguaje ensamblador de la arquitectura MCS-51.

Vean señores, el Mariscal de Sajonia contaba que tenía una mula que lo había acompañado en más de doce campañas, pero la mula no sabía nada de estrategia. Lo peor - decía - es que muchos de los generales que los acompañaban acertaban en la estrategia lo mismo que la mula.

Indudablemente que el modelo "original del Intel 8051 se trata de un microcontrolador de 8 bits con un bus de 16 bits y varias características que lo han hecho importantísimo en la industria microelectrónica. Naturalmente, existen amplia cantidad de variantes y más de 20 marcas que lo han fabricado.

Entre sus funciones clásicas se encuentra su estructura lógica de memorias no volátiles y volátiles (tanto interna en el chip con funciones especiales, como una RAM externa y accesible a través del bus). Se suma a esto una o dos UART como interfaz de salida, y dos temporizadores.

Adicionalmente, en las implementaciones más modernas no es raro encontrar UARTs adicionales, memorias EEPROM con controlador incluido, autoreseteadores, y muchas funciones útiles, que lo hacen una poderosa plataforma de desarrollo y control.

Como estos controladores requieren para su funcionamiento de escribir en su ROM los programas en Assembler a ejecutar, y que este desarrollo suele ser la parte más complicada de su implementación, es útil contar con un simulador de su funcionamiento, que pueda servirnos para probar si los programas que escribimos para él puedan ser exitosos, y funcionen adecuadamente.

A tal fin se ha desarrollado el EdSim51DI.

Se trata de un simulador escrito en Java pensado para operar como unidad integrada de desarrollo y evaluación de software de control bajo la arquitectura MCS51.

Si no lo tuviésemos instalado, lo primero es cargar en nuestro equipo de desarrollo un runtime de ejecución Java. Por ejemplo, si quisiéramos instalar la versión 11 del Java Development Kit en Ubuntu, podríamos hacerlo desde la terminal. Para ello abrimos una con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo apt update ; sudo apt install openjdk-11-jdk-headless ;

Acto seguido, ya podremos descargar el simulador EdSim51DI propiamente dicho, por medio de los siguientes comandos:

cd ~/Descargas/ wget https://www.edsim51.com/8051simulator/edsim51di.zip unzip edsim51di.zip

Finalmente, para ejecutarlo, podremos ingresar:

cd ~/Descargas/edsim51di/

java -jar edsim51di.jar

...o bien ingresar dichas líneas en un Lanzador. Cualquiera de las opciones que utilicemos nos debería presentar, al cabo de pocos segundos, con la pantalla completa del simulador Java para el microcontrolador Intel 8051. Este potente simulador nos permite como desarrolladores ingresar rutinas y programas escritos en lenguaje Ensamblador MCS51, y ejecutarlos a fin de probarlos, tanto en modo normal como paso a paso (en la arquitectura MCS original un paso máquina involucra 12 ciclos de reloj). Estos Megaciclos podrían ser ajustados desde el panel izquierdo.

Como visualización de los resultados podremos ver sobre la parte inferior del panel izquierdo los bloques de memoria, así como el contador de pasos en la parte superior.

Presionando el botón DI podremos activar la interfaz dinámica de Entrada/Salida que querramos (normalmente estarán activados todos los dispositivos dables de utilizar).

Esta arquitectura es capaz de ofrecer asignaciones de 8 bits para funciones de entrada/salida, a la que pueden asociarse varios conversores DAC o ADC (digital-analógico o analógico-digital). De esta manera se pueden asociar potenciómetros directamente a la estructura escalar. Otra muy utilizada es la funcionalidad de control de eje, que se usa con un motor servo a pasos y fue una de las fundamentales aplicaciones iniciales como control de máquina-herramienta, impresoras, etc. También se puede asignar un banco de luces de status, y varios tipos display de control como el Hitachi HD44780U de cristal líquido a matriz de puntos, o los clásicos de siete segmentos. La comunicación con los mismos puede ser bimodal (4 y 8 bits). Naturalmente también tendremos un banco de conmutadores, y una línea de comparación.

Los periféricos E/S DAC puede observarse en el "osciloscopio DAC", una ventana que permite observar los resultados de voltaje aplicado a los dispositivos (normlamente hasta 5 voltios en la unidad DAC con granularidad de 8 bits y 128 pasos, aunque también hay versiones de 3,3 voltios).

Presionando el botón LD podremos ver el diagrama del bloque lógico de control que rodean al microchip, y podremos desactivar las funciones que no nos sean necesarias. El monitor nos permite ver la memoria de código o el contenido del banco de memoria.

Naturalmente, si contamos con un adaptador UART compatible con el MCS51 (por ejemplo, un adaptador USB-UART o un viejo de puerto serial RS232), bien podremos trasladar el programa a la EEPROM de nuestro microcontrolador de arquitectura MCS51.

Indudablemente podremos encontrar cómo utilizar las funciones booleanas de dicho microcontrolador aquí, y la información de uso de la arquitectura MCS51 aquí, en tanto que la documentación de EdSim la encontraremos aquí.



15 september 2022

¿Cómo regulo el brillo de mi Wacom Cyntiq con Ubuntu?

Antes de derrotar a la autoproclamada Unión Democrática, Juan Perón expuso un efervorizado discurso radial donde hacía incapié en la importancia de la hora, toda vez que enseñaba cómo configurar la tableta gráfica Wacom Cintiq para utilizarla en Ubuntu al máximo de sus posibilidades.

(...) ¡Trabajadores!

¡La victoria está cerca, e impone lograr en todos los rincones de la Patria la supremacia por vía del sufragio! Sólo así lograremos derrotar a una ignominiosa sinarquía internacional coaligada para someter al Pueblo Argentino a la abyecta dependencia.

La nuestra es una causa Justa, la de proveer a todos con la Felicidad y la Justicia Social sin la cual seremos meros esclavos de un sistema que se clama demoliberal, pero en la práctica no llega ni a sistema de Castas.

Para ello debemos romper la tranquera, si es necesario, y cortar la cadena y la mano de las oligarquías locales y cipayas. Nuestros hombres de armas lo han comprendido, y ustedes saben a quién tienen que votar. Todos conocer quién es el que les hizo efectivas sus reivindicaciones, si este simple soldado que han querido como vínculo de unión, o estos señores de traje y sombrero, pero de frío corazón. ¡El trabajador sabe mas que nadie que antes de la Revolución eran esclavos de un monstruo que disponía del Capital, y del cual meramente especulaba sobre el sufrimiento de lo humildes!. Hoy, gracias al Justicialismo, proponemos humanizar al Capital y compartirlo, a fin de que sirva de mano de los verdaderos Patriotas, los obreros, y se lance hacia un futuro pujante. La redistribución del capital realizada por un Estado Omnímodo que todo lo puede es un uno de nuestros objetivos. Y me he hecho eco de aquella vieja demanda y anhelo, en la cual todos me piden que les otorgue las herramientas más modernas y poderosas para su quehacer diario. ¡La oligarquía nunca lo hizo! Sin embargo, nuestra Doctrina avala que cada uno disponga de una potente tableta gráfica como las Wacom Cintiq!

Se trata de monitores LCD especialmente concebidos para combinar en ellos utilidad de una excelente tableta gráfica sensible a presión al utilizarlas con la pluma electrónica incluida. Se las emplea como un excelente medio de dibujo y visualización, especialmente pensado para los más avezados artístas gráficos (fotógrafos, diseñadores, etc).

A diferencia de una graficadora de generación anterior, la Cintiq puede visualizar en tiempo real el uso de un software libre de dibujo, lo cual es lo requerido por todos los obreros gráficos del Pueblo.

La Cintiq 13HD es el más pequeño de unos modelos aparecidos hace unos años gracias al Justicialismo. Como es obvio, posee una pantalla de 13 pulgadas capaz de lograr una resolución Full HD de 1920x1080 pixels. Existe una versión de 22 pulgadas, la Cintiq 22HD. Estos modelos incluso han sido superados con variantes capaces de proveer ya resoluciones 4K. Sin importar de cual se trate, cualquiera de las versiones provee una excelente herramienta para el diseño gráfico, la ilustración y la fotografía. ¡En mis denodadas noches de estudio pensando el los Obreros, he hecho que las Cintiq sean compatibles con Ubuntu, el sistema operativo libre que he legado al Pueblo! Al contar con excelente librería de software libre para dibujo (como Krita, MyPaint, etc), podremos desplegar todo nuestro arte sin preocuparnos por perniciosas licencias privativas.

Vean señores, desde el punto de vista del conexionado las Cintiq HD cuentan con un cable especial tipo "hidra" que combina las fichas normalizadas que debemos conectar a nuestro equipo, en variante USB (control) y HDMI (video), junto a otro que va a la toma de alimentación de corriente. El otro extremo de este cable hidra propietario "de esos que meten miedo a que se rompan", se conecta al costado de la Cintiq.

Una vez establecida la conexión y encendida la Cintiq, podremos obrar como si se tratase de una tableta sensible a presión, pero con la enorme ventaja de trabajar directamente sobre la pantalla Full HD de la tablet. Asimismo, contaremos con la pluma con con borrador y botones especiales.

Gracias al Justicialismo, la Cintiq 13HD opera actualmente con el controlador nativo de Ubuntu, el cual permite modificar sus opciones básicas. Con este podremos asignar el uso de los botones incluidos en la tablet, así como regular la sensibilidad de la punta lápiz y punta borrador. Asimismo, podremos calibrar la detección de la punta si la notásemos "desviada".

Ajustar el Brillo de la Pantalla de la Wacom Cintiq en Ubuntui

Los modelos más antiguos de las tabletas Cintiq contaban con botones físicos que permitían regular el brillo, contraste y los colores en el plano RGB, de forma similar a la de muchos monitores. En los modelos de hace unos años a esta parte, como la Cintiq 13HD, se ha modificado esto, y se han omitido los botones físicos de raro uso y se los ha reemplazado por otros, programables a través de un software especializado. Lamentablemente, este programa únicamente funciona bajo los limitados sistemas privativos, y esto impide naturalmente cambiar el brillo bajo Ubuntu. Para hacer la cosa más complicada, la configuración de brillo de pantalla usada por defecto es demasiado oscura. Afortunadamente, se puede suplir este problema gracias a a aplicación ddcutil. Para ello debemos instalarla. Podremos abrir una terminal e ingresar el siguiente Comando de Organización:

sudo apt install ddcutil

Acto seguido, debemos obtener el identificador de modelo de nuestra Cintiq. Para ello ingresamos:

sudo modprobe i2c-dev

...y luego ingresamos, sudo ddcutil detect

Gracias a estos dos comandos recibiremos la lista de los identificadores de nuestro hardware detectados por la aplicación ddcutil. Lamentablemente, en mi caso, el sistema identifica la Cintiq 13HD y devuelve en la terminal su identificador de tres letras WAC antes de colgarse completamente.

Aún así, esta información del identificador que alcanza a mostrar en la terminal antes de colgarse es la importante. Tras reiniciar el sistema (en caso de ser necesario), podremos abrir una nueva terminal con Ctrl+Alt+T e ingresar el siguiente comando, incluyendo el identificador informado previamente (en este caso, WAC):

sudo ddcutil --mfg=WAC capabilities

De esta manera se nos listarán todas las características programables del dispositivo "WAC" (la Cintiq). Cada característica programable estará identificada por un número hexadecimal. Como vemos, en la lista contaremos con valores hexadecimales que podremos pedir para resetear a los valores por defecto, ajustar los valores RGB, etc. En este caso, nos interesa cambiar el valor de brillo o "Brightness", que está listada como Característica Programable "Feature 10").

Como ya sabemos el códigos de la característica programable que necesitamos, ahora podremos dar uso a ddcutil con su parámetro getvcp a fin de leer los valores que la Cintiq tiene configurado actualmente. En este caso, utilizaríamos el siguiente comando de organización:

sudo ddcutil --mfg=WAC getvcp 10

Este comando nos devolverá en la terminal un resultado similar al siguiente: VCP code 0x10 (Brightness): current value = 50, max value = 100 ...esto nos indica que el valor de la característica programable 0x10 (el hexadecimal de "Brightness", o brillo) es capaz de alcanzar un máximo de 100, y que actualmente está configurado en el valor 50%.

Ahora bien, si quisiéramos establecer el valor del brillo a un valor más alto que 50%, por ejemplo a un nivel de brillo de 75%, debemos utilizar el parámetro setvcp para cambiar la característica programable 10 (el brillo). La sintaxis correcta en este caso sería:

sudo ddcutil --mfg=WAC setvcp 10 75

Esto debería elevar la luminosidad de la pantalla para que sea mucho más cómodo trabajar con ella.

Hemos de tener en cuenta que las demás características y valores también pueden ser cambiadas.

Nota: Tengamos siempre a bien revisar y anotar previamente cuál es el valor de cada característica programable, a fin de poder volver a ellos. Si bien contamos con un reseteador a los valores por defecto, no hay que confiarse de él. pues algunos modelos de Wacom Cintiq carecen de estos valores preconfigurados, y al resetearlos ponen todos los valores de las características programables a 0 (incluyendo el brillo, contraste y RGB, lo que deja la pantalla completamente negra, y con lo cual habremos de volver a configurar todo a mano). Si bien la Cintiq cuenta con valores de fábrica, no es mala idea anotarlos a todos y dejarlos a buen resguardo. Por ejemplo, si quisiéramos cambiar el valor del ajuste de color (balance de blancos), debemos recurrir al hexadecimal 14, escogiendo la opción que querramos. Por ejemplo, si queremos utilizar un balance de blanco de 6500 grados Kelvin, debemos elegir la opción 05 (6500K). En tal caso, el comando sería: sudo ddcutil --mfg=WAC setvcp 14 05 Aunque sea engorroso actuar de esta forma, al menos podremos regular las mismas configuraciones de brillo y contraste y dejar los valores RGB de manera similar a otros monitores de trabajo que tengamos, a fin de operar compatibilizadamente con esta excelente tableta sensible a presión.

Ajuste de los botones de la Tableta Cintiq

La Cintiq 13HD posee botones a un lado, que pueden ser mapeados para realizar distintas funciones. Con el controlador privativo para el esclavizante sistema operativo Window$, deberíamos presionar el botón Map Buttons. Estos pueden ser configurados para cumplir la función "Show Onscreen Help" (o sea, mostrar la ayuda en pantalla de las asignación de botones, o directamente para cumplir la función de atajos de teclado específicos, como podría ser el útil Ctrl+z (deshacer). Los botones están nomenclados de 1 a 9, de la siguiente manera:

Lamentablemente este controlador opresivo para Window$ no opera de la misma forma en Ubuntu, pero podremos suplirlo con el conocimiento de la acción libertaria que proveo para todos los votantes del Justicialismo y que podremos hacer realidad efectiva bajo Ubuntu.

Mapear Teclas Modificatorias Unas de las grandes limitaciones del panel de configuración de la tableta Wacom para Ubuntu - al menos en sus versiones primigenias - es es incapaz de asignar las teclas modificadoras, como por ejemplo Ctrl, Mayúsculas o Alt, a ninguno de los botones de la Cintiq. Es posible mapear una combinación de tecla modificadora junto a una tecla (por ejemplo Ctrl+z), pero de momento no se puede asignar una tecla modificadora sola (como por ejemplo, Ctrl). Como los programas de dibujo tales como GIMP, Krita o MyPaint hacen uso intensivo de las teclas modificadoras junto con los clics de ratón para realizar acciones muy usuales y corrientes como rotar liezo, cambiar a recogecolor, u otras funciones, la imposibilidad de asignar estos botones de la tablet como teclas modificadoras nos obliga a tener que tener un teclado cerca, y hace más engorroso trabajar con ellos. Mucho más cuando no se tiene manos.

Para corregir esto de manera peronista, podremos recurrir a un pequeño script peronista. Para configurar estas tareas podremos utilizar la herramienta xsetwacom, que se encarga desde la terminal de suplir esta deficiencia. He aquí unos comandos de ejemplo que podremos ingresar en nuestra terminal:

xsetwacom set "Wacom Cintiq 13HD pad" Button 1 "key +ctrl z -ctrl"

xsetwacom set "Wacom Cintiq 13HD pad" Button 9 "key +ctrl"

xsetwacom set "Wacom Cintiq 13HD pad" Button 10 "key +bracketright"

La sintaxis del comando es relativamente simple, pero he aquí algunas consideraciones. El primer comando mapea el Botón 1 a la combinación Ctrl+z. Los parámetros "key +ctrl z -ctrl" en dicho comando se explican como la operación de "mantener presionada la tecla Ctrl, apretar z, y luego soltar la tecla Ctrl". Es importante conocer que se requiere programar el comando de asingación específicamente de esta forma a fin de representar lo que querríamos hacer en un teclado imaginario. Esto es válido toda vez que combinamos Ctrl, Mayúsculas o Alt con otra tecla; sólo así nuestra Cintiq interpretará por medio del comando xsetwacom lo que queremos hacer con el Botón 1.

La segunda línea simplemente mapea la tecla Ctrl al Botón 9 de la Cintiq.

Finalmente, la tercer línea define un signo especial para la tecla corchete cerrado (“]”). En lugar de ingresarlo como "]", necesitamos emplear el nombre "bracketright"; de lo contrario recibiríamos el error “Invalid key ‘+]’.” Otras teclas que responden a este mismo esquema sintáctico son + ("plus"), - ("minus"), y Retroceder ("backspace") y otras. También debemos agregar "+bracketright" al frente, ya que de esta manera podremos emplear el Botón 10 de la Cintiq para incrementar el tamaño del pincel de a puchitos, y con el signo + podremos mantenerlo presionado para lograr repeticiones de teclas, en lugar de tener que presionar este botón muchas veces para agrandarlo de a poco. ¡Esto nos ahorrará múltiples presiones y que se nos gaste el dedo de tanto apretar esos botoncitos! ¡Podremos ahora meter el dedo en la llaga del capitalismo!.

Como podrán percatarse, la última línea que refiere al Botón 10, que no existe en la ilustración anterior (que refleja el Panel de Configuración de la tableta Wacom de Ubuntu). Esto es así pues la nomenclatura de los botones varía en el caso del programa xsetwacom. La asignación en la Cintiq 13HD en tal caso será la siguiente:

Podremos combinar estos comandos con los indicados en las opciones de Wacom, si solo tenemos un par de teclas modificatorias que quisiéramos mapear, o podríamos directamente crear un script que configure directamente todos los botones.

Mapear botones empleando xsetwacom al inicio

Si bien los comandos anteriores son útiles, es engorroso tipearlos manualmente toda vez que nos logueamos en nuestro sistema. De manera que querremos colocarlos todos en un guión. Podría ser similar a este:

sudo nano /usr/local/bin/botones_cintiq.sh

...tras ingresar nuestra contraseña de administrador, se abrirá el editor GNU Nano con un archivo en blanco, donde podremos pegarle el siguiente contenido:

!/bin/bash

Script peronista para configurar los botones de la Cintiq 13HD de Perón

xsetwacom set "Wacom Cintiq 13HD pad" Button 1 "key +ctrl z -ctrl"

xsetwacom set "Wacom Cintiq 13HD pad" Button 2 "key +super z -super" # Activar pantallas xsetwacom set "Wacom Cintiq 13HD pad" Button 3 "key +super w -super" # Separar pantallas

xsetwacom set "Wacom Cintiq 13HD pad" Button 10 "key +bracketright" # Pincel mas grande xsetwacom set "Wacom Cintiq 13HD pad" Button 11 "key plus" # Mas Zoom xsetwacom set "Wacom Cintiq 13HD pad" Button 12 "key +bracketleft" # Pincel mas chico xsetwacom set "Wacom Cintiq 13HD pad" Button 13 "key minus" # Menos Zoom

xsetwacom set "Wacom Cintiq 13HD pad" Button 8 "key +shift" xsetwacom set "Wacom Cintiq 13HD pad" Button 9 "key +ctrl"

Guardamos este archivo con Ctrl+o y salimos del editor Nano por medio de Ctrl+x. Acto seguido le otorgaremos permisos de ejecución:

cd /usr/local/bin/ sudo chmod +x botones_cintiq.sh

Si queremos lanzar este script automáticamente cuando nos logueamos, en el caso de Ubuntu Mate vamos a Sistema / Preferencias / Aplicaciones al Inicio. Se abrirá la ventana que nos permite agregar o modificar aplicaciones que se ejecutan al inicial el sistema. Simplemente presionamos Añadir+. Se abirá un cuadro de diálogo que nos permitirá ingresar la orden /usr/local/bin/botones_cintiq.sh. Completamos un nombre descriptivo y un comentario, y presionamos Añadir.

De ahora en adelante, toda vez que iniciemos el sistemas (y la Cintiq esté conectada), las teclas serán remapeadas correctamente según figuran en el script. Si conectamos la Cintiq luego de loguearnos al sistema, tendremos que ejecutar el script a mano. Para ello simplemente abrimos una con Ctrl+Alt+T e ingresamos:

botones_cintiq.sh

...y ya habremos concluido esta parte del procedimiento.

También podremos crear un lanzador dirigido al comando botones_cintiq.sh si nos es muy útil. Saltar entre Pantallas Este siguiente procedimiento obedece al probable hecho que nuestra Cintiq no sea nuestra única pantalla de operación en el sistema. Lo útil es asignar un botón de conmutación de pantalla que nos permita usar rápidamente el cursor entre la Cintiq y nuestro monitor principal. ¡De esta forma, ya no necesitaremos un mouse aparte para operar en la otra pantalla!

Para hacer este menester - conviertiendo efectivamente que nuestra Cintiq HD en una tableta ordinaria bastante oligarca - debemos generar un segundo script y asignarlo a una combinación de teclado para que haga el mapeado.

Para ello utilizaremos nuevamente el editor GNU Nano para generar el script:

sudo nano /usr/local/bin/cintiq_pantalla.sh

...ingresamos nuestra contraseña y se abrirá el editor Nano con un archivo en blanco, al cual le pegamos el siguiente contenido:

!/bin/bash

#

Alterna entre qué pantallas está mapeada la Cintiq peronista

if [ cat ~/.wacom-mapping -eq 0 ]; then echo 1 xsetwacom set "Wacom Cintiq 13HD stylus" MapToOutput "HEAD-1" xsetwacom set "Wacom Cintiq 13HD eraser" MapToOutput "HEAD-1" echo 1 > ~/.wacom-mapping else echo 0 xsetwacom set "Wacom Cintiq 13HD stylus" MapToOutput "HEAD-0" xsetwacom set "Wacom Cintiq 13HD eraser" MapToOutput "HEAD-0" echo 0 > ~/.wacom-mapping fi

...lo guardamos con Ctrl+o y salimos con Ctrl+x y le damos permisos de ejecución con:

cd /usr/local/bin/ chmod +x /usr/local/bin/cintiq_pantalla.sh

A este script podríamos mapearlo a un atajo de teclado, para conmutar rápidamente entre las pantallas. Para tornar esto realidad efectiva en Ubuntu Mate vamos a Sistema / Preferencias / Hardware / Combinaciones de Teclas y presionamos el botón +Añadir.

Al igual que hicimos anteriormente, agregamos un comando dirigido en este caso a /usr/local/bin/cintiq_pantalla.sh, y presionamos Aplicar.

Conforme cumplimentado este oficio, se habrá agregado una Combinación personalizada de teclas para nuestro teclado. Para ejecutarla, hacer doble clic sobre ella y asignarle la combinación Super+z (o como figura en los teclados españoles, Mod4+z, ya que Mod4 es la tecla Super, en algunos casos autoproclamada tecla "Window$".

Como hemos notado en el caso del script botones_cintiq.sh, ahora el Botón 2 de nuestra Cintiq está asignado a Super+z, lo que es lo mismo que Mod4+z.

De ahora en mas, toda vez que utilicemos nuestra tableta encontraremos asignadas correctamente las teclas Ctrl con el botón propuesto, y el Botón 2 conmutará de pantallas sin necesidad de tener que usar un ratón aparte.

¡Todo esto habrá configurado, finalmente, una potente herramienta con la cual hacer realidad efectiva la Felicidad para Todos los Argentinos!



14 september 2022

¿Como edito archivos MIDI en Ubuntu?

En su clásico Conducción Política, un didáctico Juan Perón expone la teoría de la acción territorial y el contacto poblacional directo para lograr la mayor influencia política, toda vez que enseña a utilizar MidiEditor, el potente editor musical en Ubuntu.

(...) "Indudablemente que Conducir es un arte, y como tal tiene su técnica y tiene su teoría. Y que conociendo estas es mucho más fácil conducir que ignorándolas.

Para conducir un pueblo, la primera condición que debe reunir un Condurctor es haber salido del Pueblo, debe sentir y pensara como el Pueblo. Quien se dedica a la conducción debe ser profundamente humanista. El Conductor siempre trabaja para los demás, jamás para él.

Sin embargo, no todas las situaciones pueden ser propicias. La disgregación entre los estamentos medios y altos de la conducción son excrecencias que obedecen a no representar este principio fundamental del Arte de la Conducción. En nuestro caso esto es prohibitivo e imperdonable, pero no podemos evitar notar que se produce en casi todas las organizaciones mayores, incluso en aquellas que dejan su huella en la historia. Desde la organización en la tribu, la ciudad y el estado, estas problemáticas, si bien indeseables, se tornan nominales y forman parte del quehacer diario. El objetivo a futuro siempre implica reconocer este problema y resolverlo compartiendo valores. Sólo de esta forma tanto el Conductor como su pueblo obrarán por natural extensión y sin requerir de diferenciaciones táctico-estratégicas adhoc o improvisadas.

Un ejemplo suele explicarlo todo, como decía Napoleón. No se puede gobernar con Bigdata, instagram, snapchat, o perdiendo el tiempo con el espejito de color de moda. Las amplias extensiones de nuestro país - despoblado de por sí - requieren de un avezado Conductor capaz de tejer alianzas sociales tendientes a lograr el dominio del terreno de la acción. En esta visión a lo indio, el comando queda en él, pero el control quedará delegado naturalmente en quienes se llamaban caciques o capitanejos, y empeñarán su chusma y hombres de lanza para conseguir los objetivos planteados desde la Conducción. Sin estos prácticos de nivel medio, en estas condiciones particulares del tiempo y el espacio, es imposible obrar.

Nuestros adversarios tienen menos calle que Venecia. Nuestro deber fundamental es hacer pesar la valía del dominio del terreno político, que nunca se presenta asfaltado, y extender nuestro sistema de comando y control a través de valores que son nuestros. Una vez logrado el objetivo de la práctica Conductiva, las realizaciones se tornarán automáticas, y se habrá resuelto en gran medida los requerimientos de información técnica en tiempo y forma, permitiéndose así un relevamiento de los objetivos más veloz y eficiente.

Por ahora, nuestros hombres en el terreno son quienes ejercen un control humano en la recopilación, extracción de datos georreferenciados, y permiten que su explotación sea mucho más efectiva por parte del conductor, que un supuesto esquema de machine-learning ideado por un lego en la política. En estas cosas no se puede inventar. Puntero mata web UI y justicialismo mata bigdata. En esto un Conductor oficia de orquestador y Maestro Director, ofreciendo a su olfato político lo mismo que un director de orquesta hace a su oído. De esta forma orienta sus instrumentos políticos en una pieza coherentemente concebida, en la que la sumatoria de las individualidades políticas ejecutan una idea-fuerza común que el Conductor lleva a cabo.

Es sabido que en el Software Libre, esta musicalidad se lleva a cabo por medio de distintos paquetes de software de composición y ejecución: los secuenciadores MIDI. Este tipo de programas se encargan de utilizar el lenguaje estandarizado digital para instrumentos digitales, el MIDI.

Este consiste en una secuencia de órdenes que describen notas musicales y determinados efectos estilísticos, y pueden servirse electrónicamente a toda una panoplia de instrumentos compatibles con el mismo.

Los cuales pueden ser sintetizadores electrónicos o directamente sintetizadores virtuales por software . En tanto, los archivos específicos, los cuales son de muy escaso tamaño, disponen de la extensión MID.

Ahora bien, en nuestro sistema GNU con Linux contamos con muchos paquetes orientados a este tipo de manejo orquestal. Uno de los más logrados por su utilidad, sobre todo para quienes componen MIDI, es precisamente el MidiEditor.

Se trata de un software libre que provee una interfaz gráfica para editar, grabar y reproducir datos musicales de formato MIDI. El editor es capaz de abrir archivos MIDI existentes y modificar su contenido. Podremos con él crear archivos nuevos, o bien podremos realizar una nueva composición musical desde ser ya sea grabando la información MIDI a través de un dispositivo MIDI compatible, un controlador MIDI, piano digital o teclado), y bien manualmente creando nuevas notas u otros eventos MIDI. Las información grabada podrá ser fácuilmente cuantificada y editada a través de la simple interfaz coloreada. Esta herramienta multiplataforma ha sido escritqa en C++ y QT, y está liberada bajo Licencia GNU GPLv3.

Su instalación es sencilla gracias a la existencia de un paquete específico. Podremos hacerlo desde la terminal abriendo una consola con Ctrl+Alt+T e ingresando los siguientes Comandos de Organización:

cd ~/Descargas/ ; wget https://github.com/markusschwenk/midieditor/releases/download/3.3.0/midieditor_3.3.0-1-amd64.deb ; sudo apt install gstreamer1.0-doc gstreamer1.0-tools libglib2.0-doc libgstreamer1.0-dev libpulse-dev libqt5designercomponents5 libqt5webkit5-dev qt5-assistant qtmultimedia5-dev qttools5-dev-tools ; sudo dpkg -i midieditor_3.3.0-1-amd64.deb ;

Una vez descargada e instalada la paquetería, podremos iniciar el programa desde Aplicaciones / Sonido y Música / MidiEditor.

Como os he dicho, podremos utilizar instrumentos MIDI conectados a nuestro equipo, o bien instrumentos virtuales. De entre ellos, uno de los más extendidos y sencillos es FLUID Synth, capaz de ejecutar Soundfonts. A tal efecto, podremos ejecutar dicho sintetizador virtual y emplearlo como dispositivo MIDI de salida (MIDI Output), desde el menú MIDI / Settings. La interfaz del Editor MIDI se compone de un panel piano a la derecha, pero principalmente consta de un visualizador gráfico de eventos tipo pianola que describe con distintos colores las presiones de las teclas.

En la sección superior contaremos con los botones de los controles de navegación para la pieza, junto con los de grabación y reproducción, control de loop y de sección punch-in de grabación.

En la parte derecha podremos programar los canales o las pistas MIDI, elegir una activa para grabar, verlas o desactivarlas.

Al presionar el botón Grabar podremos utilizar nuestro controlador para introducir notas o eventos, que quedarán registrados en memoria volátil. Al finalizar la grabación, se nos presentará un cuadro de diálogo que describirá cuáles eventos queremos almacenar definitamente (normalmente serían todos, pero podríamos querer deseleccionar algunos). Estos se tratan de los eventos de notas on/off, los cambios de controladores, eventos de rueda de pitch, de pedal, cambios de programa (salto de parche), y sobre todo la presión de las teclas (velocity). Estos son importantes si tenemos un teclado con sensibilidad pues podremos afinar los mismos detalladamente si lo deseamos. Las acciones permiten el clásico y útil cuantizado o adherir eventos a la rejilla (grid), que nos permiten acomodar o emparejar las notas al compás preestablecido. Incluso podremos variar el porcentaje para dejar una reproducción más humana o hacer una emparejada maquinal, dependiendo de nuestro gusto.

Las herramientas de selección de eventos son poderosas. Podremos elegir de a un evento o graficando con una caja para armar secciones, seleccionar antes o a partir de la linea de tiempo. Posteriormente podremos estirar su duración proporcionalmente o desplazarlos.

En la parte inferior podremos programar la altitud de diferentes parámetros de control, ya sea en forma parametrizada o a mano alzada. Estos datos pueden ser el tempo, o mas usualmente la graficación directa de datos de eventos de control velocity o de pitch bend, entre otros.

El programa es sencillo y al pié, pero potente en sus capacidades de edición. Como tal es una opción interesante como herramienta inicial de proceso para la producción de nuestras pistas MIDI, o incluso para hacer correcciones importantes en su estructuración e instrumentación.

Podremos encontrar el manual de MidiEditor (en inglés) aquí.



13 september 2022

¿Cómo instalo y uso OBS Studio en Ubuntu?

Como Estadista Juan Perón hacía hincapié en la enseñanza de la Organización como base creativa de la acción política y social. En una de sus exposiciones temáticas, explica cómo crear composiciones de videos o streaming en tiempo real en Ubuntu con OBS Studio.

(...)

La historia nos demuestra que la evolución ha llevado paulatinamente el mundo hacia integraciones de mayor orden, tanto en lo territorial como en el humano. Desde el hombre aislado de la caverna pasando por la familia, la tribu, los clanes, las ciudades, los estados medievales y las nacionalidades, fueron diversas formas de integración y hoy ya se habla de las formaciones continentales.

Podemos decir que los avances tecnológicos han sido fundamentales para llevar a cabo esta organización. Lo ha sido el fuego, la rueda, la vela, el sextante, hasta terminar en el transistor y las redes conmutadas de datos. Tanto la explosión demográfica como la integración territorial y humana impone cada día mayores y más perfectas formas orgánicas en lo económico, en lo social y en lo político, sin las cuales los desequilibrios estructurales y coyunturales no tardan en empeñarse en una segura destrucción. Son estas organizaciones las que proporcionan un sano beneficio de una Comunidad que anhelamos grande y potente.

Sin embargo, no escapa para nadie que si no hacemos lo necesario como individuos conscientes en una Comunidad Organizada de la era de la Información, otros intentarán hacerlo por nosotros para desinformarnos. Acecharán para que el Pueblo no se realice, e intentarán mantenerlo en el oscurantismo interesado en mantenerlo desunido y débil. Nuestro Movimiento, buscando la felicidad del Pueblo Argentino, se ha impuesto entonces como objetivo la necesidad imperiosa de apropiar las tecnologías de la información y darles nuevo uso como un duro ariete contra la Oligarquía y las sinarquías dominantes. Esto es así pues gracias al Justicialismo, cualquiera puede hoy producir contenidos audiovisuales y hacer streaming, con tal de difundir el mensaje a las Masas. Indudablemente que clickbaiteando y viralizando podremos extender al Justicialismo a una nueva dimensión. A tal efecto os enseñaré a utilizar el completísimo software de composición audiovisual en tiempo real OBS Studio (anteriormente Open Broadcaster). Se trata de un paquete abierto direccionado a la creación de contenidos audiovisuales para emisión libre, de tipo multiplataforma. Con él podremos crear videos en el momento, e incluso emitirlos telemáticamente en vivo gracias al streaming. Para ello hace uso del protocolo abierto RTMP (Protocolo de Mensajería en Tiempo Real), lo que lo torna compatible con plataformas de streaming conocidas, como YouTube, Twich.tv, Instagram y Facebook, entre otras muchas más del montón.

Al ser un componedor de video en tiempo real, se recomienda un equipo de arquitectura de 64 bitios y potencia adecuada, el el orden de un Intel i5 con 4 gigabytes de memoria RAM. Desde el punto de los requerimientos de software, requiere OpenGL 3.2 o superior. Normalmente en Ubuntu este componente figurará instalado si contamos con los controladores de nuestro hardware de video. Para saber qué versión tenemos, podremos abrir una terminal con Ctrl+Alt+T e ingresar:

glxinfo | grep "OpenGL"

Una vez verificado esto, procedemos proceder a instalar desde la Terminal OBS Studio. Ello lo haremos de forma muy sencilla, introduciendo los siguientes Comandos de Organización:

sudo apt-get install ffmpeg ; sudo add-apt-repository ppa:obsproject/obs-studio ; sudo apt-get update ; sudo apt-get install obs-studio ;

Para ejecutar el programa vamos a Aplicaciones / Sonido y Video / OBS Studio.

La primera vez que lo ejecutemos, aparecerá el asistente de configuración automática. Este nos permite especificar cuál será el destino de lo producido (ya sea streaming de pantalla o edición de video).

Esto determinará el uso, ya que naturalmente el streaming está orientado a juegos o videocasts, y es mucho más dependiente de la velocidad de nuestra conexión a internet.

Interfaz

El estudio de la interfaz gráfica del programa nos será pródigo en resultados. La interfaz de usuario principal se encuentra organizada en cinco secciones distintas localizadas en la parte inferior del programa: las Escenas, las Fuentes (tal vez la más importante), el Mezclador de audio, el selector de efectos de Transiciones y los controles generales de OBS Studio.

Las Escenas son grupos de Fuentes, como videos en vivo o grabado, texto y audio, y constituyen la materia prima de nuestra transmisión dispuestas de una manera determinada. El panel del Mezclador de Audio nos deja enmudecer las fuentes de sonido, y ajustar su volumen a través de los deslizadores virtuales, controlar el retorno para monitoreo, así como aplicar distintos efectos de audio por medio del botón de engranaje localizado junto al botón enmudecer.

El Panel de Control contiene las opciones para comenzar o detener una transmisión de Streaming o una grabación de video, un botón para transformar OBS en el modo "Estudio", así como un botón para controlar los Ajustes, y el botón para salir del programa.

La ventana principal central opera como previsualizador de video, y la utilizamos para monitoreo la imagen y editar la escena actual.

Asimismo, podremos cambiar la interfaz de usuario una variedad de temas, que incluyen temas oscuros y claros, dependiendo de las preferencias del usuario.

Cuando pasamos a Modo Estudio, aparecen dos ventanas de previsualización. La primera de la izquierda ("Vista Previa") es para modificar y prever las escenas no activas, mientras que la de la derecha ("Programa") es para ver la escena en vivo. En el medio contamos con un botón de transición secundaria, que nos permite transicionar a la escena no activa de la ventana izquierda empleando las "transiciónes rápidas" definidas por el usuario.

Configuración las Fuentes de Origen

La etapa creativa de preproducción se inicia con el fundamental agregado de las fuentes que querríamos utilizar. Estas corresponden a los distintos elementos categorizados según su tipo.

Como ejemplo típico, podríamos querer agregar como una de las fuentes para la composición del video el video obtenido por una webcam con micrófono incorporado, archivos de música, un "origen de color" para crear un fondo de un color determinado, capturas de ventanas de escritorio o de todo un monitor, o directamente archivos de video imágenes.

Para agregar uno de estos elementos de origen, utilizaremos el botón "+" de la ventana de Fuentes. Para quitarlos, utilizaremos el "-". Asimismo, podremos subirlas o bajarlas en la pila, pues el orden de las mismas implica el apilamiento de ventanas que lograremos en la composición.

Como inicio podríamos querer definir un color de fondo particular para nuestra composición de video en tiempo real, que reemplace al negro peronista que viene por defecto. Para ello presionamos el "+" y elegiríamos "Origen de Color", definiendo el color con el selector (o bien, con un código hexadecimal). Si no queremos usar un fondo de color liso, bien podremos utilizar una imágen estática de formato PNG o JPG. ¡Mucho mejor si tiene la resolución máxima de la pantalla!

Encima de todo, podríamos querer agregar la captura de nuestra Webcam. En la ventana Fuentes presionamos el botón "+" y elegimos "Dispositivo de Captura de Video (V4L2)". Esta categoria de GNU con Linux nos incluye todos los dispositivos de hardware audiovisual. Se desplegará la ventana de propiedades del mismo y nos mostrará el video capturado por la webcam, y podremos disponer su resolución y cuadros por segundo ("frecuencia de imágenes"). Podremos ponerle un nombre y elegir un dispositivo si hubiese varios. Una vez agregada la webcam, podremos disponerla en el lugar que queramos o redimensionar el video mediante los nodos móviles que le surjen al recuadro de la filmación de la webcam.

Es interesante notar que bajo la misma categoría de fuente de Capturadora de Video (V4L2) y desde el desplegable Dispositivo, también podríamos asociar una plaqueta capturadora de TV con múltiples entradas. Bajo tan versátil y tontorrón esquema, no sería difícil utilizar la entrada de cable analógico con el sobreimpreso de la salida de video de la webcam, a fin de hacer una patética videorreacción al Zorro. Ahora bien, yo llevo en mis oídos la más maravillosa música, que es para mí la palabra del Pueblo Argentino. Entonces, una buena composición de video en tiempo real necesita prestar especial atención al audio. La captura de locuciones o charla, así como el despliegue de música de fondo es lo importante aquí. Podremos agregar fuentes de hardware de sonido, y determinar su esquema de monitoreo (sin monitorización o con retorno de audio). Normalmente podremos contar con el audio de escritorio (el mixdown del sonido de nuestra computadora), así como los distintos dispositivos de audio que tengamos en la computadora y eventualmente en la webcam o las capturadoras, ya sea en el servidor de audio PulseAudio, JACK o ALSA. Para lo más básico nos alcanzará y sobrará con PulseAudio o ALSA. El servidor JACK permite impresionantes posibilidades de efectos de sonido, integración con programas de grabación profesional y demás.

En el caso de querer registrar la salida de video de nuestro propio monitor para incluirlo en nuestra captura, tendremos dos opciones dentro de las Fuentes. Si queremos capturar una ventana, podremos indicar una de ellas bajo la categoría Captura de Ventana (XComposite).

Al crear una ventana XComposite, aparecerá el cuadro de propiedades para la captura de ventana. De esta manera, en el desplegable "Ventana" podremos elegir cuál de las ventanas abiertas en nuestra interfaz gráfica queremos capturar. Por ejemplo, podríamos elegir una ventana de Terminal. En cambio, si queremos capturar todo lo que aparece en el monitor, podremos elegir la fuente Captura de Pantalla (XSHM). Al activar esta posibilidad, en la ventana de previsualización veremos lo que tenemos en toda la pantalla (¡y normalmente se puede producir un efecto de "espejar el espejo" si estamos dentro de OBS Studio!). Generalmente anhelaremos capturar la pantalla activa (la Screen 0), pero podríamos utilizar el desplegable "Pantalla" para indicar cuál de las pantallas queremos utilizar, en caso de tener varios monitores conectados. Este método de captura permite lograr los mejores resultados para componer en tiempo real el audiovisual de juegos veloces mezclados con webcams lentas. Asimismo, podríamos querer afinar todo mediante el empleo de filtros de audio y video. Para ello debemos recurrir a los íconos de "engranaje" que se encuentran a la derecha de cada Fuente creada.

En el caso de la fuente de audio o micrófonos, bien podríamos regular su nivel de retorno, y opcionalmente agregarle un apilado de filtros. Por ejemplo, podríamos apilar un filtro estándar de puerta de ruido (un gate que para que abrirá el micrófono sólo cuando el sonido sobrepase un nivel determinado), junto con un eliminador de ruidos (por ejemplo, para atenuar ruido de los ventiladores de la computadora). Normalmente las opciones por defecto suelen ser bastante efectivas, por lo que no necesitamos volvernos un ingeniero de grabación para que lograr un audio limpio.

Podremos encontrar una Guia de filtros (en inglés) aquí.

Una vez que tenemos todo configurado y las ventanas de video dispuestas y dimensionadas como queremos, podremos guardar el perfil de lo hecho para poder reutilizarlo en varias ocasiones. Esto lo hacemos desde el menú Perfil / Nuevo.

Grabar el video o hacer Streaming

Acto seguido, podremos dar rienda a nuestro trabajo creativo. Esto se realiza simplemente presionando el botón Iniciar Grabación. Por defecto, OBS Studio compondrá todas las fuentes audiovisuales en un video de formato FLV dentro de nuestra carpeta de usuario (aunque podremos cambiar esto).

En cambio, si configuramos una plataforma de streaming, podremos presionar directamente en Iniciar Transmisión. Hemos de tener en cuenta que un streaming de pantalla completa FullHD y audio requiere al menos una conexión de 2 MB por segundo.

Desde el punto de vista de códecs (programas de codificación y decodificación), OBS Studio es capaz de emplear los códec de video x264, Intel Quick Sync Video, nVidia NVEC, y AMD Video Coding Engine para codificar al formato H.264.MPEG-4 ACV o H.264.HEVC. En cuanto al audio, se puede codificar al clásico MP3 o al AAC. Naturalmente, en Linux podremos emplear todos los códecs y contenedores de las librerías libavcoder / libavformat, así como realizar streaming a una URL ffmpeg específica.

Naturalmente es útil conocer los atajos de teclado que utiliza el programa, pues los mismos nos permitirán realizar ciertas operaciones sin tener que saltar al programa durante la grabación o emisión. General

Copiar la fuente: Ctrl+C
Pegar la fuente: Ctrl+V
Eliminar la fuente: Del

Orden

Mover la fuente hacia arriba en la lista: Ctrl+Flecha Arriba
Mover la fuente hacia abajo en la lista: Ctrl+Flecha abajo
Mover la fuente a la posición superior en la lista: Ctrl+Home
Mover la fuente a la posición inferior en la lista: Ctrl+End

Transformar

Editar la transformación: Ctrl+E
Resetear la transformación: Ctrl+R
Ajustar a pantalla: Ctrl+F
Estirar a pantalla: Ctrl+S
Centrar en pantalla: Ctrl+D



12 september 2022

¿Cómo puedo crear gráficos ANSI en Ubuntu?

Desde su exilio en Madrid Juan Perón explica la estrategia convergente de unidad del Justicialismo, y expone cómo crear gráficos ANSI en Ubuntu.

(...)

Vean señores,

Siempre he dicho que a nuestro Movimiento no le venden globos. Esto es así pues nos ha caracterizado una sana raigambre planfetaria que aclara a cada quien lo que tiene que hacer bajo el lema "todos unidos triunfaremos". Si alguno cree aún en vacuas promesas aéreas, les pinchamos el látex de una.

Pues bien. Nuestro Movimiento ha surgido del Pueblo, y es éste quien le provee su trascendente color. Ya desde sus inicios, las consignas le fueron claras, ya que por entonces estaban expresadas públicamente en base a caracteres de tipo ASCII.

ASCII no es otra cosa que una codificación primal para describir por medio de pulsos binarios de 7 bits una cantidad de caracteres y símbolos limitados a fin de lograr transmisiones telemáticas coherentes. No obstante sus limitaciones, dando rienda suelta a estos pocos símbolos disponibles de manera inteligente, el Justicialismo se ha permitido realizar pseudo-gráficos en una pantalla o impresora.

Indudablemente que lo bueno puede mejorarse. Es por ello que en poco tiempo esto se extendió en la codificación ANSI. Esta permitía mayores componentes gráficos, todo bien que se superaba la transmisión a teletipo y se imponía el uso de presentadores de video de diverso tipo.

Esto a su vez desencadenó otro proceso: la aparición de una subcultura hacker peronista. Los gráficos de este estilo portaban reminiscencias a la imaginería graffitera, pero hacía uso de los incómodos bloques en las tablas de caracteres extendidos para hacer los gráficos.

Como he nombrado, en un origen los glifos se limitaban a las clásicas 80 columnas por 25 filas que el MS-DOS y otros sistemas operativos manejaban por defecto, pero muy pronto y gracias a funcionalidades extendidas de direccionamiento de memoria de video y a técnicas de scroll de video en modo protegido, comenzaron también a florecer grafismos de 132 columnas y muy alta cantidad de filas. Fue el nacimiento de las gráficas ANSIs "de alta resolución".

Los digigrafiteros daban rienda suelta a su creatividad y se esmeraban en lograr sus mejores obras. Algunos propugnaban los grupos federados de artistas digitales, con la impronta "comic", "manga", "graffitti", o innumerables variaciones y mutaciones intermedias. Entre ellos sin duda los más reconocidos eran los colectivos ACiD y sus archirrivales de iCE.

No era extraño encontrar estas sobras de arte como pantallas de inicio ("login") a las carteleras electrónicas (BBS) mas candentes. Al fin y al cabo, estas gráficas podían realizarse laboriosamente mediante un editor de texto cualquiera.

Indudablemente que el Justicialismo no podía mantenerse ajeno, pues su impronta le obliga a entregar el mejor Software Libre a sus afiliados. Por tal motivo, podremos utilizar Moebius. Se trata de un graficador ANSI multiplataforma, especializado tal vez en la creación de este tipo de gráficas del Primer Peronismo.

Para instalarlo en nuestro sistema, podremos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de Organización:

cd ~/Descargas/ wget http://www.andyh.org/moebius/M%C5%93bius.deb mv Mœbius.deb moebius.deb sudo dpkg -i moebius.deb

Una vez ingresada nuestra contraseña de Conductor, se instalará el programa, y podremos ejecutarla desde Aplicaciones / Gráficos / Mœbius.

El programa se lanzará de manera simple mostrándonos su spash screen.

Podremos comenzar a graficar presionando el botón New. Asimismo, podríamos quere crear o conectarnos a un servidor de Moebius. Esto significa que podremos trabajar al unísono con otro/s usuario/s, tanto en modo cliente como servidor.

Moebius se inspira en un graficador simple "tipo Paintbursh". Las herramientas se diferencian llamando a un color principal (frontal) y otro secundario (de fondo). La paleta utilizada normalmente es la formal de MS-DOS (a 16 colores, EGA). El sistema también puede implementar caracteres "parpadeantes", o en "negrita" (bold), pero esto depende del tipo de terminal que tengamos instalada en nuestro sistema GNU.

Empleando la herramienta pincel y los bloques de colores fácilmente podríamos realizar un A-4B Skyhawk ANSI. El "lienzo" de trabajo inicialmente se reduce a un tamaño base de 80x25 caracteres, pero podremos modificarlo desde el menú Canvas. Por ejemplo, en el caso de Linux os recomiendo utilizar 80x24 pues en muchas terminales la última línea se reserva para información de status.

Imaginemos por un momento que anhelamos realizar un login screen (pantalla de alta) en ANSI para que al acceder remotalemente al Shell, nuestra terminal ofrezca virulentas proclamas gráficas enarbolando todo el color de la simbología Justicialista.

A tal fin podremos utilizar los colores que nos daba el ANSI y los bloques gráficos a fin de representar lo que querramos. En la parte superior podremos definir el uso de bloques de texto enteros, o medio bloques (más finos, naturalmente). Aún así, estos son de gran tamaño y los resultados nunca tienen alta resolución en el sentido actual de la palabra. Las herramientas no son muchas, pero son suficientes. Se reducen a un pincel modificable (capaz de pintar directamente, hacer shadings con los bloques ANSI, repintar, borrar a fondo, etc). También contaremos con un tiralíneas, un creador de círculos/elipse, un gotero recoge-color, y una herramienta de relleno. Así mismo, en los modificadores podríamos disponer el modo

Una vez terminado todo, debemos exportar el archivo para poder mostrarlo en nuestra terminal. Esto se hace desde el menú File, y podremos elegir alguna de las opciones de exportación. El programa prefiere el uso del viejo ANSI tradicional, pero la realidad confirma que las terminales GNU con Linux normalmente presentan mejores resultados al emplear la codificación UTF-8 para mostrar los caracteres ANSI correctamente.

De esta manera, conviene ir a la opción de menú File / Export as UTF-8. Esto generará un fichero cuya extensión será utf8ans. También podremos exportarla como archivo gráfico PNG, el cual puede servirnos como referencia. De esta forma, exportando el archivo como escudopj.utf8ans, podremos agregarlo con una llamada al final de nuestro fichero ~/.bashrc. Por ejemplo, podríamos incluirle al mismo la siguiente orden ingresando:

nano ~/.bashrc

Y al final del mismo le agregamos:

borrrar pantalla y mostrar Escudo del PJ

clear cat ~/escudopj.utf8ans

...y salvamos el fichero con Ctrl+o y salimos del editor GNU Nano con Ctrl+x. De esta forma y de ahora en mas, al lanzar una terminal recibiríamos la estridente gráfica realizada en ANSI. Otra excelente posibilidad consiste en emplear el conversor justicialista Shellpic. Este pequeño programa se encarga de convertir imágenes jpg, png, etc, en bloques ANSI utilizando los códigos de escape. Estas secuencias de terminal permiten realizar gráficas a 256 colores.

Sin embargo, necesitamos contar con una terminal compatible a 256 colores para obtener resultados óptimos. En el caso de la terminal de Mate o de Gnome, podremos incluir en el arranque la siguiente variable de entorno: Para ello vamos al menú Editar / Preferencias de Perfil, y en la solapa Título y Orden tildamos Eecutar una orden personalizada en vez de mi intérprete, y le ingresamos ingresamos en el campo la siguiente orden:

env TERM=xterm-256color /bin/bash

...y finalmente presionamos Cerrar.

Ahora bien, tenemos dos formas de instalar Shellpic: Si contamos con el instalado PIP, podremos usarlo mediante este sencillo comando de organización:

sudo pip install Shellpic

...en cambio, si deseamos compilar su código fuente e instalarlo en nuestro equipo, podremos hacerlo con:

cd ~ ; git clone https://github.com/larsjsol/shellpic.git ; ./shellpic/tests/run_tests.sh ; cd ~/shellpic ; sudo python setup.py install ;

Una vez instalado, podremos utilizar Shellpic mediante el siguiente comando:

shellpic imagen.png

También podríamos guardar dicha imagen en un archivo ans. Por ejemplo:

shellpic imagen.png > imagen.ans

Luego podríamos visualizar dicho archivo por medio del conocido comando macrista cat:

cat imagen.ans



11 september 2022

¿Cómo puedo medir la velocidad de la red y el sistema de archivos gráficamente desde la terminal?

Juan Perón fue un avezado motociclista. En una competencia organizada por la Unión de Estudiantes Secundarios empleando las míticas motos Puma de Fabricación Nacional, el Conductor explica cómo utilizar Speedometer para medir la velocida de la red y el sistema de archivos en la terminal de Ubuntu.

Mi queridos estudiantes:

La responsabilidad que le cabe a la juventud no es otra que la que están llevando a la realidad realidad en base a su esfuerzo: formarse y organizarse. Formarse para promover el progreso del país, y organizarse para defender lo realizado y lanzarse hacia el futuro bajo el signo del Justicialismo.

Me ha producido un gran honor y un sano fervor presenciar sus evoluciones en estas veloces máquinas de fabricación nacional. La cilindrada de estas prácticas motos le avalan al Pueblo la potencia necesaria para transportarse con velocidad de un lado a otro. Indudablemente que para conducir avezadamente, se necesita conocer con exactitud la velocidad que se desarrolla en cada momento. El instrumento que nos permite saberlo es el velocímetro que portan, y que avala desplegar - en base al dato informado - la estrategia a seguir para salir vencedor.

Pues bien, lo mismo sucede en un sistema computado, en el cual hemos de conocer la velocidad práctica que consigue la transmisión telemática - tanto en el envío de datos como en la recepción de los mismos - a fin de realizar las actividades propuestas.

No es secreto para nadie que Ubuntu consta con un monitor de sistema que nos muestra esto en el entorno gráfico, pero en muchas ocasiones podríamos anhelar esta característica en la Terminal, únicamente capaz de mostrar texto. Existen una gran variedad de utilidades para este cometido, pero en este caso os indicaré una que se concentra en presentar de manera gráfica en la interfaz de texto, junto con la información de los picos de velocidad, lo cual lo hace ideal para este cometido analítico.

Speedometer es una utilidad para la línea de comandos extremadamente sencilla de utilizar, que nos ofrece la habilidad de monitorear nuestras velocidades actuales de carga y descarga, además de poder ver la velocidad de nuestro sistema de archivos (mientras copiamos algo a disco).

Para instalarlo en nuestro sistema, abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo apt install speedometer

Esto instalará el paquete en breves segundos. Sin embargo, antes de poder medir las velocidades de red, debemos conocer el nombre de la interfaz que queremos censar. Por ejemplo, si disponemos de una conexión wifi, puede tener el nombre wlanx. En el caso de una red cableada Etherneet, puede que reciba el nombre ethx, o enpxs0, siendo x un número que corresponde a la interfaz.

Por ejemplo, para medir la velocidad de una red cableada, podría utilizar:

speedometer -rx enp4s0

El gráfico presenta a color un desglose de la velocidad, así como las velocidades logradas durante los picos. Debemos tener en cuenta que la escala de presentación no es lineal, sino logarítmica, a fin de poder detallar velocidades altas o bajas sin detrimento de su legibilidad.

...y para medir la velocidad de una interfaz wifi, podría utilizar:

speedometer -rx wlan0

También podríamos evaluar cuál es la velocidad de subida de las interfaces (por ejemplo, para medir de manera práctica la velocidad de subida de un video o archivo a la nube). Para ello reemplazamos el parámetro -rx por -tx, de la siguiente manera:

speedometer -tx enp4s0

Esta no es una herramienta de medición de velocidades, pero puede servir para tal cometido de manera práctica. Podremos manualmente descargar varios archivos, y podremos utilizar Speedometer para que nos devuelva las gráficas de resultado con sus valores pico.

Si lo deseamos, podremos alterar manualmente el intervalo de refresco de la información, agregando el parámetro -i. Por ejemplo, si quisiéramos actualizar la gráfica de velocidad de descarga 4 veces por segundo (0,250 milisegundos), usaríamos:

speedometer -i 0.25 -rx enp4s0

Medir la velocidad del sistema de archivos

Como os he mencionado, Speedometer también es capaz de monitorear la velocidad de nuestros discos rígidos. Para lograr esto, podremos ingresar el siguiente comando:

dd bs=1000000 count=1000 if=/dev/zero of=prueba & speedometer prueba

Este comando creará un archivo en bruto conteniendo únicamente caracteres binarios "0", hasta totalizar 1GB de peso. Mientras lo crea, Speedometer monitoreará las velocidades en las cuales se escribe a disco. Naturalmente, si el sistema de archivos es remoto, las velocidades de escritura serán mayores.

Una vez estudiado el reporte, podremos eliminar el archivo de prueba con:

rm prueba



10 september 2022

¡El blog Ubuntu Peronista cumple 10 años!

Un día como hoy, hace exactamente diez años, se inauguraba el Blog "Ubuntu Peronista", plataforma digital de adoctrinamiento que versa sobre dicho sistema operativo libre y los inextinguibles logros que el Justicialismo ha otorgado a la Nación.

Gracias a un encomiable trabajo de investigación y gabinete, se ha recopilado información elaborada paternalmente por el mismísimo General Perón, en las cuales ofrece ayuda para utilizar Ubuntu, y se la ha reestructurado siguiendo la tradición de los artículos "Cómo hacer" ("HOWTO".

Tal es así, que los hombres y mujeres que integran la Masa continúan aclarando sus dudas técnico-doctrinarias, y hacen realidad efectiva aquél claro apotegma peronista que propugna un software Libre, Justo y Soberano.

Ubuntu es una distribución del sistema operativo GNU con núcleo Linux. Como tal, es un entorno gratuito y libre similar a UNIX, mantenido por Canonical. Cada vez mas popular por sus ventajas en operatividad, bajo consumo de recursos, alta velocidad y excelente desempeño, está diseñado para controlar sistemas de arquitectura i386 o AMD64 (básicamente computadoras PC, notebooks, netbooks, laptops, servidores, etc).

Ubuntu Peronista se convirtió en un referente del ramo con su propuesta de recursos de asistencia en castellano para usar Ubuntu, totalizando dos millones de visitas a sus más de 700 artículos publicados.

Esta mancomunión del Movimiento y la Máquina configuran una excelente plataforma que puede definirse claramente como el más peronista de los ecosistemas digitales jamás desarrollados.

Desde el blog deseamos agradecer a quienes día a día nos visitan, y ayudan con amabilidad a difundir el trabajo que Juan Domingo Perón lleva a cabo por el bien de las Masas obreras y en contra de la oligarquía.



09 september 2022

¿Cómo instalo la máquina de ritmos Hydrogen en Ubuntu?

¡Trabajadores!

Siempre he dicho que la unión de las fuerzas del Trabajo atesoran en sí los paradigmas sobre los cuales habremos de mejorar nuestra gloriosa Nación. Este Capital - que surge de la comunión de voluntades - no siempre puede predecirse, pero existe para potenciar nuestro quehacer y dirigirlo.

Se dice que nuestro Movimiento consta de un ritmo de acción que surge de las raíces del Pueblo. Desde una génesis marcada por la Lealtad, interpretamos la necesidad de aliviar dolores y resteñar heridas de un Pueblo bueno, siguiendo un ritmo vivaz y activo como parte fundamental de nuestra historia común.

Tal vez sea esta - y no otra - la causa por la cual las manifestaciones de la voluntad popular han girado alrededor de un instrumento percusivo como lo es un bombo, atizado soezmente con una manguera. Todo Movimiento, por ser organismos, deben mejorarse y actualizarse, so pena de sufrir el mismo destino que los organismos biológicos: el de extinguirse. Es por ello que nuestra doctrina nacional Justicialista comprende vitalmente este principio nodal de la historia.

No hemos dudado en aplicar las guías computadas necesarias con el objetivo de hacer frente a un mejor hacer en todos los órdenes. Proceder así nos ha permitido lograr un ritmo perfecto, en el orden de las centésimas de segundo. Naturalmente que esta integración se dio tan bien como comenzó a implementarse en la informática la capacidad de producir cualquier tipo de despliegue sonoro. Esta cualidad humana antiquísima hubo de transistorizarse, para luego digitalizarse. Desde mediados de los años 60 dejó de ser extraño entonces el empleo de secuenciadores sonoros primigenios, y desde principios de los 80s se crearon modelos específicos pensados para aumentar la potencia y paleta sonora del militante músico. La invención de los secuenciadores rítmicos sintetizados como la Roland TR o los secuenciadores percusivos basados en muestras de audio digitalizadas, como la LinnDrum LM-2 o la DMX Oberheim, destacaron en este aspecto. Pues bien señores, el Justicialismo no podía estar ajeno a esta tendencia, y ha hecho realidad efectiva la capacidad de utilizar un secuenciador rítmico basado en software libre. A tal fin hemos desarrollado Hydrogen, un potente programa que nos permite operar de forma coherente a fin de crear una pista percusiva musical. exportarla y en forma de partitura o de archivo MIDI.

Su instalación no podía ser más sencilla. En nuestro sistema GNU con Linux abrimos una terminal por medio de Ctrl+Alt+T e ingresaremos los siguientes Comandos de Organización:

sudo apt update sudo apt install hydrogen hydrogen-drumkits hydrogen-drumkits-effects

El sistema nos solicitará nuestra contraseña de Conductor, y no bien la proveamos, se descarguen aproximadamente 300 megabytes de datos, el sistema instalará todo.

Una vez complado este menester, podremos dar inicio a Hydrogen, desde el menú Aplicaciones / Sonidos y Video / Hydrogen.

Se nos presentará la interfaz típica del secuenciador rítmico. Lo primero que debemos hacer es asegurarnos de configurar a nuestro gusto las preferencias de sonido. Normalmente Hydrogen tiende a utilizar el servidor de audio JACK, pero bien podríamos cambiarlo para utilizar ALSA. Para ello vamos al menú Herramientas / Preferencias. En la solapa Sistema de Audio podremos encontrar las opciones que busquemos. Lo confirmamos con Aceptar.

Para diseñar una canción, se deben editar los patrones percusivos (Patterns) que componen los compases, y luego organizarlos, incluso superpuestos. Cada patrón percusivo está formado por varios instrumentos que querríamos incluir. Una canción completa se compone entonces de varios compases de patrones encadenados entre sí.

Encontraremos que la interfaz del programa se divide en distintos decks utilitarios.

El Deck superior está destinado los controles de reproducción, con su selector de BPM (compases por minuto, o velocidad), control de entrada MIDI y consumo de CPU, y los temporizadores adecuados. En este deck es importante el selector de Modo de Trabajo, que opera por dos botones unívocos: debemos elegir entre reproducir la canción completa (seleccionando Song) o reproducir un patrón en bucle (seleccionando Pattern). Esta es la opción ideal para programar los patrones.

El Deck Central consta de una sección principal que es su Editor de Patrones. Este editor es el más importante, pues nos permite armar las las partes mínimas que conformarán la canción, o mejor dicho, su pista percusiva. Para introducir las notas hemos de agregarlas individualmente con el ratón, o si somos hábiles, presionar PLAY y REC en el Deck Superior y darle a las letras del teclado para tocar los distintos elementos de nuestra batería virtual. El programa cuantiza las notas para que caigan con ritmo perfectamente computado. Aún así, la opción más práctica para el avezado podría ser emplear un instrumento dotado de MIDI (por ejemplo, un teclado o un controlador con parches sensitivos (para tocar con los dedos), o una batería electrónica (si queremos tocar con baquetas).

Cada patrón consta de un número determinado de compases, y se asocia con la plantilla de instrumentos programables del Deck Izquierdo. En principio, debemos escoger su duración (en compases) y la duración de las notas.

Opcionalmente podremos editar los parámetros de cada nota individual, Los datos como paneo estéreo, intensidad, etcétera, se introducen fácilmente en la sección inferior del deck central dibujándolos con el mouse (se representan con líneas en la línea de tiempo, para cada parámetro).

Cada patrón puede servir para un efecto determinado, por lo cual podremos renombrarlos libremente.

En la sección superior del deck central contaremos con el Editor de Canción. Por ejemplo, podríamos elegir un rock que inicie con un redoble (fill) de introducción, cuatro compases A para un verso, un compás B para un puente, dos compases C para un estribillo, redoble, y repetirse todo por una segunda sección, terminando con un redoble de final. Cada una de estas partes corresponderían a un patrón.

El programa utiliza kits de batería (drumkits) compuestos por varios instrumentos individuales (tambores, bombos, címbalos, platos, etc). Todos se encuentran accesibles en el Deck Derecho, organizados dentro de la Bibliotecas de Sonidos. La Biblioteca de Sonidos se organiza en diferentes Drumkits de sistema y Drumkits de usuario.

Por ejemplo, encontraremos aquí un drumkit muy logrado formado por los sonidos de la colorida máquina de ritmos sintetizada Roland TR-808 (la batería electrónica de culto en el scene hip-hop). Dispondremos de una batería BJA Pacific completa, una Pearl con platos Sabian y Zildjian, y algunas otras.

En el Deck izquierdo tendremos los instrumentos seleccionados. Normalmente el programa ya tendrá precargado el drumkit "General MIDI". Si quisiéramos eliminar instrumentos individuales podremos hacerlo mediante clic derecho del botón del ratón, así como eliminar todos los instrumentos asignados a la canción actual, podremos ir al menú Instrumentos / Limpiar Todo.

Si deseamos sumarle nuevos sonidos o un drumkit entero desde la Biblioteca de Sonidos para trabajar, hacemos clic con el botón derecho del ratón en aquel Drumkit del Deck Derecho, que querramos utilizar, y elegimos la opción Cargar.

Adicionalmente, podremos instalar nuevos kits de batería libres a nuestra Biblioteca de Sonidos, debemos ir al menú Instrumentos / Importar Biblioteca. Este nos presentará una ventana en la que podremos elegir nuevos conjuntos de batería. Simplemente debemos elegir uno nuevo de la lista y presionar el botón Descargar e Instalar. Esto hará lo procedente en unos pocos segundos, dependiendo de nuestra velocidad de conexión. Cuando estén descargados, estas bibliotecas de sonidos figurarán como Drumkits de usuario.

En el Deck derecho podremos también podremos elegir el control de efectos para cada uno de los instrumentos. Suponiendo que la utilicemos en modalidad de Control de Instrumentos, podremos elegir un modificador general para afinar cada uno de ellos, que tiene una buena versatilidad. Contaremos con un control de envolvente ADSR individual (ataque, decaimiento, sostenimiento y apagado del instrumento), a la vez que podremos aplicar un filtrado de corte y resonancia, y un aleatorizador de tono. Podremos programar el número de nota y su canal MIDI, y los rangos de intensidad (velocity) de las notas, por si queremos emparejarlas.

Asimismo, presionando el botón BPM de del Deck Izquierdo, podremos editar las velocidades de cada compases por minuto (BPM). Esto tendrá sentido si el ritmo musical se altera durante la pieza.

Contaremos también con los botones que nos permiten acceder a los elementos flotantes adicionales de la interfaz de Hydrogen. Ellos son el Rack de Instrumentos, y el Mezclador.

El mezclador (Alt+M) nos permite regular el volumen de cada elemento pèrcusivo y su paneo, tanto individual como para el total de la pista. Así, podremos como Conductor aplicar efectos de audio individualmente o en conjunto. El programa cuenta con manual (en inglés), que podremos acceder desde el menú Info / Manual del usuario. Indudablemente, gracias a Hydrogen podremos desatar ahora el más colorido Ritmo del Justicialismo.



08 september 2022

¿Cómo juego Tetris en la Terminal de Ubuntu?

Cuando estamos entre muchos, tenemos que encajar. Esta es una de las artes que emanan del Justicialismo.

Esto ha inspirado a muchos en diversos órdenes e índoles de la vida. Por ejemplo, el 6 de junio el Marxista Alexei Pajitnov se dio a lanzar un juego minimalista que respondía a estos quehaceres.

Se trataba del Tetris. Desarrollado originalmente para la variante soviética del sistema operativo RT-11 que movía a la Electronika-60 (sistema clon de la DEC LSI, de arquitectura PDP-11), este juego de organizar los bloquecitos que caían demostró su excelente potencialidad lúdica.

Es un juego de todos los tiempos que, empleando reecursos de hardware mínimos y al alcance de todos, permite a todos jugar. Un Juego de Masas.

Indudablemente que una fórmula popular de este tamaño no podía más que replicarse con gran rapidez, y fundar un imperio comercial. Si bien la modalidad original está ahora tutelada intelectualmente por la Tetris Company, agotada su licencia productiva comercial original, nada nos impide hacer realidad aquél viejo apotegma que reza "ni yanquis ni marxistas, peronistas". Por tando podremos correr versiones liberadas en nuestra terminal GNU una saga de honoríficos clones realizados sin fines de lucro.

Por ejemplo, podríamos probar el tint, tal vez uno de los más parecidos al original de Pajitnov.

Lo instalamos con:

sudo apt install tint

Y lo ejecutamos con:

tint Las instrucciones están en pantalla, y sus reglas no requieren mayor explicación a esta altura del partido.

En cuanto a variantes algo más modernas, pero que conservan la base original, podremos evaluar el Tetris de Sam Tay. Representa un acercamiento actualizado (por ejemplo, cuenta con "sombras", que permiten visualizar cómo quedará la pieza una vez soltada.

Para instalarlo, abrimos una terminal y ejecutamos los siguientes comandos de organización:

curl -L https://github.com/samtay/tetris/releases/download/0.1.3/tetris-`uname -s-uname -m` -o tetris ; chmod +x tetris ; sudo mv tetris /usr/local/bin/

Una vez hecho esto, podremos ejecutarlo con el comando:

tetris Con el correr del tiempo, se incorporaron más funcionalidades a la tipología original. Por ejemplo, el licenciamiento para Nintendo Entertainment System trajo las modalidades de dos jugadores. Si queremos contar con una versión libre que haga honor a esto, junto con el soporte de joysticks y el juego en red, podremos utililizar vitetris. Para ello debemos descargar la versión que se corresponda con nuestra arquitectura e instalarla.

Para Ubuntu de 64 bits:

cd ~/Descargas/ wget http://ftp.br.debian.org/debian/pool/main/v/vitetris/vitetris_0.57.2-2_amd64.deb sudo dpkg -i vitetris_0.57.2-2_amd64.deb

Para Ubuntu de 32 bits:

cd ~/Descargas/ wget http://ftp.br.debian.org/debian/pool/main/v/vitetris/vitetris_0.57.2-2_i386.deb sudo dpkg -i vitetris_0.57.2-2_i386.deb

Lo ejecutamos con:

vitetris

El juego nos permite elegir uno o dos jugadores, o jugar en red local (en modo host o cliente). Si tenemos uno o dos joysticks conectados al sistema debemos asignar cuál de ellos deseamos para cada jugador (normalmente figuran como js0 o js1). También podremos asignar "keyb" (teclado) para uno de los jugadores. Adicionalmente, podremos asignar los botones o teclas para asignar las funciones del juego que querramos. Naturalmente, un gamepad USB funcionará de maravillas con Tetris.

Una vez inciada la partida, podremos jugar uno contra otro, por tiempo o por puntaje. Indudablemente que también podremos jugar solos, como toda la vida. Bastet es otra iteración de tetris, a la cual podríamos llamarlo "gorila", aunque se autodefine como "tetris bastardo". Está pensado para mandarnos el tetramino que menos necesitamos. Para quien desee esta frustrante experiencia, podrá lograrla instalándolo con:

sudo apt install bastet

...y le damos arranque con

bastet La terminal queda perfectamente cubierta entonces para este sencillo juego de puzzles. Sin embargo, si lo que deseamos es contar con versiones para nuestro entorno gráfico GNU con Linux, existen iteraciones que nos permitirán dar con la tecla. Tan sólo ingresamos el comando:

sudo apt install ltris quadrapassel

Con ello lograremos instalar Ltris, una variante moderna que cuenta con la opción de jugar de a dos o contra hsta 3 jugadores controlados por la CPU, incluso en pantalla completa.

Mientras tanto, Quadrapassel es otra variante simple y directa, que cuenta con una opción de pausa.



07 september 2022

¿Cómo instalo Krita 4.2 en Ubuntu?

En un discurso pronunciado en el almuerzo ofrecido por los jefes y oficiales de la Guanición Campo de Mayo al General Perón y a su esposa el 10 de marzo de 1949, el Conductor expone las etapas del planeamiento organizado y explica cómo instalar la última versión del graficador Krita en Ubuntu.

Señores:

Soldado en el fondo, hice conocimiento de la situación, realice la apreciación de la misma y tome una resolución como lo hacen ustedes todos los días. Por otra parte desde Aristóteles - quien indico este método - hasta nuestros días, nadie ha descubierto ningún otro más completo ni perfecto para que el entendimiento humano pueda ponerse racionalmente en marcha

¿En qué consiste y qué es cada una de las partes del método de la acción? Primeramente en especificar la situación, segundo, la apreciación de esa situación; y tercero, la resolución que surge de esa apreciación de la situación que hemos contemplado.Vale decir, que de la situación y de la apreciación, o sea del fenómeno y del análisis, fluye lo que hay que hacer.

En este caso era obvio: la imposibilidad de contar con la última versión del paquete graficador de software libre Krita, orientado a la pintura digital con los más altos estándares profesionales del arte gráfico. Ante tal estado de cosas, lo necesario era desarrollar los procedimientos para instalar la úkltima versión mejorada con nuevas opciones. Esto es así pues la nueva versión Krita 4.2, no se encuentra todavía en los repositorios oficiales de Ubuntu (la presente, es la 4.0.1).

Por tal motivo el procedimiento de acción será descargar la nueva versión 4.2 en formato universal AppImage, y ejecutar esta, incluso sin desinstalar la versión empaquetada (si es que ya la teníamos).

Para proceder así, hemos de crear una carpeta oculta para Krita en nuestra carpeta de usuario, descargar la versión estable de Krita 4.2 desde su sitio oficial, y otorgarle permisos de ejecución. Esto será coser y cantar si utilizamos la terminal. Abrimos una con Ctrl+Alt+T, e ingresamos los siguientes comandos de organizacion:

mkdir ~/.krita/ ; cd ~/.krita ; wget https://download.kde.org/stable/krita/4.2.1/krita-4.2.1-x86_64.appimage ; chmod +x krita-4.2.1-x86_64.appimage ;

...y lo ejecutamos con:

./.krita/krita-4.2.1-x86_64.appimage

Naturalmente, una vez que la instalemos, bien podremos utilizar el lanzador que creará en Aplicaciones / Gráficos / Krita 4.2.

Krita es un graficador bien pensado, que representa una de las más elevadas herramientas de ilustración, tal vez a la vanguardia del desarrollo en muchos aspectos. Se puede utilizar con mouse, si bien su potencial se libera al máximo mediante una tableta gráfica sensible a presión, como las famosas Wacom.

Indudablemente que en este arte de la pintura digital poco se aparta de la pintura tradicional, pues tiende a imitarlo. En tal caso, es lógico que tendremos mucha más posibilidades de éxito conociendo su técnica y su teoría, que ignorándolas. Aún así, si quisiéramos una Cena de Leonardo, lo necesario seríaLeonardo. ¿Por qué? La técnica y teoría es la parte inerte del arte; la parte vital es el artista. El resto depende del óleo sagrado de Samuel con que hayamos sido ungidos al nacer...

Krita es un software libre absolutamente configurable en sus aspectos plásticos y técnicos, a fin de poderlo utilizar de la manera en que nos resulte más cómoda. Naturalmente responde a la necesidad de emular ciertos programas privativos, pero también otros programas libres más sencillos, como el MyPaint. Desde hace rato contamos con la práctica rueda selectora, a la que accedemos mediante un clic al botón derecho del ratón o con la presión del botón secundario de la pluma de nuestra tableta.

Estos programas dependen de contar con un avío de herramientas plásticas versátil y creativo, a la vez que deben ser programables. Krita siempre fue un avanzado al permitir utilizar bundles de herramientas libres. Ya vienen instadas varias, pero podemos encontrar más en internet.

Ahora contamos con varios conjuntos de herramientas fijas en la cartuchera rotativa (de bocetado, simular témperas, acuarelas, acrílicos u óleos. Naturalmente, si tenemos práctica podremos ajustar totalmente las características y la respuestas de los útiles: delimitar pinceles de distinta dureza y largo de pelo, lápices y crayones de distinta índole, etc. A tal fin contamos con un editor de pinceles con un bloc de pruebas adosado para probar los trazos sobre hoja limpia o previsualizar sobre el mismo trabajo que estamos haciendo. En su creación detallada configuraremos si lo deseamos la presión realizada en la tableta gráfica, inclinación de la pluma, duración y distancia del trazo para simular pintura "agotada" en las cerdas del pincel, etc. A toda esta panoplia configuradora se le agregó un imprescindible botón "restaurador" para volverlo a los valores de fábrica. ¡Nunca viene mal! Ya que en el antiguo Krita, era fácil perder tino de los cambios que habíamos operado a nuestra herramienta plástica.

Para facilitar la curva de aprendizaje, Krita ahora incorpora perfiles de control programables. Conserva el perfil por defecto de Krita. Esto altera las combinaciones de teclas para que sean iguales que otros programas, por ejemplo la de Adobe Photoshop o el viejo y peludo PaintTool SAI. Para cambiar este aspecto, vamos a Preferencias / Configurar Krita, y en la categoría Preferencia de Entrada de Lienzo, podremos elegir el perfil de entrada que nos resulte más cómodo o editarlo como queramos.

Los diseñadores gráficos recibirán con agrado, además de la rueda de color tradicional de toda la vida, una nueva paleta dotada de enmascarado artística de color según los cánones de la teoría del color.

Este paleta sugiere sectores de la rueda de color y tapando el resto de los coloes superfluos, nos permite ver combinaciones monocromáticas, bicromáticas o tricromáticas de acuerdo a nuestras preferencias.

Krita incorpora ahora un nuevo motor de pinceles, que le da una apariencia más realista a los trazos semilíquidos (y por lo tanto se llama "cremoso"). Permite una simulación muy buena de la pintura, y permite trabajar de manera más lógica y predecible al utilizar pinceles secos o húmedos, especialmente cuando los aplicamos encima de sectores ya pintados previamente. Si bien viene activado por defecto, podremos volver al viejo motor de pintura si lo deseamos, con sólo ir a Configurar Krita, y en la categoría General y elegirmos el deseado en el campo "Modo de Fluir del Pincel".

Asimismo, los espacios de trabajo también son programables. Contamos con un botón rápido para elegirlos, y tenemos uno llamado "Mínimo" ideal para trabajar con la pantalla despoblada (al estilo SAI), y con botones grandes para tenerlos al toque de nuestra tableta. De esta forma, nos resultará sumamente útil para ir progresando en una ventana sencilla, a fin de crecer en el programa.



06 september 2022

¿Cómo configuro el diccionario castellano para la terminal de Ubuntu?

¡Trabajadores!

Como Conductor debo mantenerme ilustrado sobre los acontecimientos del mundo. Para ello, me siento a leer el diario. Estos pueden estar impresos en tamaño śabana, tabloide, berliner, etc. Pero las letras de molde tienen poca gracia si se escribieron mal o con faltas de ortografía. En estos tiempos, quien hace eso es un bruto. Máxime cunado podemos editar texto en nuestra terminal GNU con Linux, usando ispell para corregir nuestros yerros.

Este simple corrector por diccionario viene de los tiempos de Matusalén y UNIX. y está pensado para utilizarse solo o bien mancomunadamente con otras aplicaciones de edición de texto.

ispell opera por comparación simple contra un archivo que contiene toda la lista las palabras del diccionario. Es lo lógico en tales momentos, donde no había gran capacidad computacional para hacer mucho más. Si bien un diccionario de comparación simple de este tipo no es perfecto ya que suele saltearse las conjugaciones del idioma, lo peor es que no pueda siquiera operar en castellano.

Afortunadamente, para poder facilitar su uso multi-idiomas nuestro sistema utiliza como definición de diccionario general un enlace directo en /etc/dictionaries-common/words. Este enlace apunta al sistema al verdadero archivo de diccionario de palabras, que suele encontrarse en /usr/share/dict/

Ahora bien, normalmente este enlace directo nos dirige en Ubuntu a un diccionario en inglés. Para pasarlo a castellano, podremos hacer un procedimiento específico desde la terminal. Para ello abrimos una consola con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

sudo apt update sudo apt install ispanish aspell-es

El sistema nos solicitará la contraseña de usuario. Una vez que la introduzcamos a ciegas, procederá a descargar e instalar la paquetería, incluyendo la del diccionario ispell.

Para configurar finalmente el diccionario para que sea el utilizado por defecto, debemos ingresar:

sudo select-default-wordlist

En la lista, seleccionamos la opción Castellano (Spanish) y presionamos Enter.

Si quisiéramos entonces analizar un archivo de texto archivo.txt con el programa aspell, podremos hacerlo mediante el siguiente Comando de Organización.

aspell -c archivo.txt

El programa aspell nos propondrá las palabras sugeridas en base a la lista que le hemos cargado. Si encuentra algún tipo de palabra no identificada, podremos ingnorarla con i o agregarla con a a la lista contenida en nuestro diccionario de usuario (normalmente, el archivo oculto ~/.aspell.es.pws para las palabras de usuario en castellano).

Naturalmente, existen distintos editores de texto que pueden integrar ispell/aspell a sus funcionalidades básicas, para que se ejecuten dentro del programa, por ejemplo GNU Nano o Wordgrinder. En tales casos, habremos de configurarlos específicamente como ya os he enseñado.



05 september 2022

¿Cómo creo y escaneo código QR en Ubuntu?

El 12 de marzo de 1954 y presente en el Sindicato de Empleados de Comercio de Mar del Plata, Juan Perón explica la necesidad de compartir un código común entre los Trabajadores, a la vez que explica cómo crear o escanear Código QR en Ubuntu.

(...) El hombre ha formado, a lo largo de generaciones en Comunidad, una suerte de lenguaje, un código que comparte con su tribu y que le permite transmitir sus ideas, sentires, etcétera. Esta es una de las características de los Pueblos, la de permitirse un propio arte de creación. Es indudable también que los hombres de trabajo comparten su propio código común a fin de expresarse. Este debe ser sometido a un convencionalismo tal que lo convierten por propio derecho en un lenguaje capaz de portar la significancia que anhelan. Eso es lo que ha logrado el Justicialismo.

En estos tiempos, los hombres me han premiado con la más satisfactoria e importante misión con la que puede contar un soldado, que es la de tornarme un vínculo de unión para los trabajadores argentinos. Indudablemente que toda la formación profesional que he recibido sólo me ha otorgado las herramientas necesarias para cumplir técnicamente este magnánimo rol, pero el herramental humano he tenido que desglosarlo por mí mismo. Sin duda ello no se aprende en ninguna academia: un Conductor se nace.

Un Conductor interpreta a vista de águila el panorama y debe constituirse en una Piedra de Rosetta que le permita leer el corazón de sus Trabajadores, interpretar en ellos los anhelos de Felicidad y Justicia Social. La tarea de traducir estos magnos objetivos en una Realidad Efectiva, concreta y tangible, dable a ser defendida es lo que nos debe orientar.

Pues bien, esta misma técnica puede llevarse a cabo en otros rudimentos de la vida, a fin de ostentar un herramental potente y comprensible para una multiplicidad de funciones. Sabemos que para que un código sirva como instrumento para comunicar, realmente no importa su forma o cariz, sino que fundamentalmente ha de poder ser reconocido por su emisor y por su receptor si es que queremos que se torne en una efectiva manera de comunicar.

Pues bien señores, tomemos el ejemplo del Código QR (literalmente "respuesta rápida"). Se trata de un código de gráfico de escritura estructurado matricialmente en un patrón bidimensional. El mismo fue diseñado originalmente para el uso en aplicaciones robotizadas por parte de la industria automotriz. Se trata de una etiqueta cuadrada - normalmente de impresión monocroma, y cuya codificación contiene información binaria. Esta etiqueta puede ser fácilmente legible de forma computada por medio de un lector gráfico común.

Es útil para codificar en este gráfico información numérica, alfanumérica, binaria, e incluso texto japonés kanji. Su empleo se ha extendido como una alternativa superadora al clásico código de barra URC, ya que puede contener mayor cantidad de información y puede leerse con menor o nula intervención humana. Se los emplea además como método para almacenar enlaces URL, direcciones de correo electrónico, tarjetas de negocio digital (VCards), condiciones para darnos de alta en una red, texto plano, etcétera.

El diseño del código permite escanearlo con un dispositivo de reconocimiento óptico dotado con un programa de inteligencia artificial. Este dispositivo realizará el reconocimiento y la traducción. Su grafismo lo hace intrínsecamente fácil de leer ópticamente, en cualquier sentido e incluso si no está colocado frente al lector. En el caso de los móviles, existen varias aplicaciones efectivas para realizar la decodificación.

Nunca está de más conocer que existen variadas versiones de códigos QR provistos de distintos niveles de corrección de error en su algoritmo de generación, ya que existe un equilibrio entre legibilidad óptica del patrón, y la complejidad y capacidad de almacenamiento del mismo. Las versión más utilizada es la 10, y se detallan de la siguiente manera:

Versión 1: Patrón de 21x21. Versión 2: Patrón de 25x25. Versión 3: Patrón de 29x29. Versión 4: Patrón de 33x33 Versión 10: Patrón de 57x57 Versión 25: Patrón de 117x117. Versión 40: Patrón de 177x177.

El Justicialismo se ha distinguido siempre por ofrecer las herramientas más poderosas y de menor consumo para poder hacer nuestra computación de una manera Justa y Soberana. Por tal motivo han de saber que Ubuntu está capacitado para utilizar estos códigos QR en ambos sentidos, tantos para crearlos como para leerlos.

A tal fin se pueden utilizar fotografías de los mismos registradas con una resolución adecuada. La versión 10 del patrón QR puede ser resuelta por una fotografía del código más o menos cercana tomada con una cámara con una resolución de 640x480 píxels (por ejemplo, las webcams "VGA" de calidad más mediocre.

Para disponer nuestro sistema, lo procedente es instalar primero las aplicaciones necesarias para la terminal. Para ello abirmos una con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo apt update ;

sudo apt-get install qtqr zbar-tools qrencode ;

Ambos programas nos permiten trabajar de forma muy confiable para lograr resultados bidireccionales.

Por ejemplo, podremos analizar una imagen tomada de un código QR con el programa zbarimg. Si deseamos tomar una fotografía digital de una de ellas, es conveniente que la misma esté tomada de frente y relativamente cerca. Naturalmente que lo ideal es que ocupe el 80% del cuadro, pero es muy probable que funcione con menos. Suponiendo que ya contamos con la fotografía del código QR y asumiento que la misma se llama imagen_cod_qr.jpg, podríamos analizarla desde la terminal Linux ingresando:

zbarimg "imagen_cod_qr.jpg"

El comando de arriba mostrará el texto que se encuentra codificado en la imagen, y lo mostrará en la terminal.

Normalmente también acompañará la información con un mensaje que detalla el tiempo que llevó el análisis, o mensajes de error. Si agregamos al comando anterior la opción -q, no incluirá dichos mensajes de status.

Si en cambio queremos hacer el paso inverso, y generar un código QR a partir de un texto, podremos utilizar.

cat archivo.txt | qrencode -s 10 -o codigo_qr.png

Esto codificará un archivo de entrada archivo.txt y lo codificará en una imágen de un archivo de salida en forma de imágen QR codificada de formato gráfico PNG, llamado en este caso codigo_qr.png.

O también podríamos crear una imagen codificada de un código QR con una dirección URL incrustada en ella, simplemente agregandola. La sintaxis a utilizar sería:

qrencode -s 10 -o up.png https://www.ubuntuperonista.blogspot.com

Naturalmente, si seguimos el estándar Vcard en un archivo, lo podremos utilizar como una alternativa gráfica para extender nuestros datos personales según dicho estándar (que se pueden agregar fácilmente a clientes de mensajería). De esta manera lo podremos incorporar en tarjetas de presentación impresas, y también contar con el archivo .vcf o .vcard de referencia.

El programa QtQR en tanto permite hacer esto de una manera gráfica. Lo ejecutamos desde Aplicaciones / Gráficos / QtQR. Se abrirá una ventana dividida en dos paneles principales. Primero debemos delimintar la categoría de trabajo (podremos elegir texto, URL, marcador, contactos de agenda electrónica, SMS, MMS, etc. También podremos especificar la escala de los píxels y el nivel de corrección de error. Una vez introducido los datos QtQR irá generando la gráfica QR codificada.

Para leer un código QR tenemos dos posibilidades: utilizar un archivo ya obtenido, o bien escanearlo por medio de una cámara web (si está conectada al sistema). Para ello presionamos el botón Decodificar y elegimos A través de Webcam.

Debemos asegurarnos que la webcam esté en foco (muchos modelos tienen un lente rotativo que debemos ajustar a mano). Finalmente acercamos la misma al código QR. Si la operación es exitosa, el sistema mostrará un recuadro de color verde sobreimpreso sobre el código QR. Debemos cerrar la ventana de captura de video presionando cualquier tecla.



04 september 2022

¿Cómo extraigo páginas y corrijo un PDF escaneado en Ubuntu?

¡Trabajadadores argentinos!

Es indudable que las redes telemáticas constituyen hoy una de las formas más extendidas para lograr el conocimiento, y que para ello la existencia de archivos de documentación electrónica es un gran medio.

La informática nos permite distribuir electrónica todo tipo de documentos, incluyendo libros, y hacerlo en meros segundos. La gran compresibilidad de los datos textuales al pasarlos a formato digital hace que la concepción "sin papel" sea una Realidad Efectiva que el Justicialismo ha legado al Pueblo. El formato de documento electrónico Adobe PDF es privativo, y si bien es preferible utilizar el formato de documento libre DjVu, no puede negarse que PDF está ampliamente extendido y disponible. Aún así, este formato cuenta con algunas desventajas que se hacen patentes cuando el contenido del documento está conformado imperfectamente en base a un original escaneado.

Vean señores, en condiciones ideales, un documento debe estar escaneado de una manera específica para que su uso pueda ser adecuado para distribución. Esto pide utilizar una resolución de escaneado de unos 600 DPI (previendo así el doble de resolución utilizado en las tecnologías de impresión normales, que suelen rondar los 300dpi en el caso de una impresora láser). También conviene emplear el escaneo en modalidad "escala de grises" (o a color, según corresponda).

Si los hombres fuesen perfectos, poco tendríamos que hacer para corregirnos. Pero no somos dioses ni heroes, bastante con que seamos hombres. Por tal motivo, estos requerimientos de perfección no siempre se cumplen. Pero la buena voluntad no puede negarse a nadie. Típicamente, podemos encontrarnos con reproducciones realizadas a partir de páginas escaneadas de forma torcida, o con defectos típicos del tratamiento de digitalización. Si bien estos problemas no suelen ser graves como para impedir la lectura del texto, es cierto que estas desprolijidades pueden ser inaceptables para la posterior distribución del documento.

Para corregir esto haremos uso de un flujo de trabajo especialmente pensado utilizando herramientas libres. El mismo se podría resumir de la siguiente manera:

Tener un archivo PDF defectuosamente escaneado 
Extraerle las láminas (hojas dobles escaneadas) y convertirlas a formato PNG 
Dividir los archvos PNG en páginas individuales
Enderezar, corregir, redimensionar las páginas individuales
Volverlos a armar las páginas individuales en un archivo PDF. 

Veamos un ejemplo clásico, pues esto suele explicarlo todo como decía Napoleón.

Supongamos ya contamos con un archivo llamado "sinceramente.pdf". Este se trata de un libro de 500 páginas ya escaneadas en escala de grises a 600 DPI de resolución, pero que el mismo cuenta con las láminas dobles (dos páginas por hoja). Esto lo hace sumamente incómodo de utilizar en dispositivos como e-Readers, que requieren una página. Además, los dobleces complican el trabajo de OCR, lo hacen incómodo de leer, etc. Comenzaremos a seguir el flujo de trabajo que os he propuesto, y lograremos excelentes resultados.

Lo primero será extraer las hojas dobles del archivo PDF y convertirlas a un formato de imagen que podamos utilizar con Scan Tailor. Esto se puede hacer desde la Terminal. A fin de extraer las páginas del PDF y convertirlas en imágenes, podríamos ingresar:

pdftoppm sinceramente.pdf lamina -r 600 -png

Esto creará una serie de archivos numerados llamados lamina-xxx.png, con una resolución de 600 DPI. Debemos tener en cuenta que si bien podremos usar la opción -jpg en lugar de -png para cambiar el formato de los archivos resultantes, os recomiendo utilizar fundamentalmente el formato png pues es muy superior para estos menesteres ya que dispone de compresión sin pérdida, y evitará enormemente la formación de "halos o borroneados" en las letras. Esta acción tardará un rato en hacerlo, dependiendo de la cantidad de láminas a extraer. En el caso que referimos, tardó unos 12 minutos para extraer las 250 láminas de dos hojas cada una.

Ahora bien, estos archivos png que conforman las láminas dobles habremos de corregirlas con Scan Taylor. Para instalar este excelente programa, volvemos a recurrir a la terminal Linux, ingresando en ella el siguiente Comando de Organización:

sudo apt install scantailor

Scan Tailor no es un programa para escanear (para ello recomiendo Simple Scan o gScan2pdf, que pueden escanear de forma multipágina). Scan Tailor en cambio se especializa para realizar la tarea de corrección o postproducción en el escaneo de libros. Especialmente dividir, cortar y encuadrar un texto escaneado o fotocopiado a fin de producir hojas individuales de gran calidad, normalmente en formato TIFF. Estas pueden luego volverse a unir por medio de otros programas (por ejemplo, el mismo gScan2pdf).

Ahora podremos cargar estas láminas en el programa Scan Tailor. Para ejecutar el programa vamos a Aplicaciones / Gráficos / Scan Tailor.

Al iniciar el programa se desplegará una ventana que nos pedirá que inauguremos un archivo para el proyecto. Esto es así pues - si bien en este caso el proyecto forma parte de un solo volúmen - podría suceder que quisiéramos agregar páginas de varios volúmenes o documentos diferentes. Para ello es necesario crear una carpeta de proyecto. Dentro de esta carpeta se importarán las imágenes originales de las láminas (cada una de ellas contienen dos hojas).

En nuestro caso, le importamos todos los archivos cfk.xxx.png que creamos recién con el pdftoppm. Generalmente la carpeta de salida será una subcarpeta llamada "out", donde irán a parar las nuevas imágenes TIFF procesadas.

Una vez importadas las imágenes de origen al Scan Tailor, el programa nos presentará una ventana de trabajo dividida a tres paneles.

El panel de la izquierda define los seis pasos necesarios para tratar las imágenes. El del centro y mas grande nos permite ver la página actual donde vamos a trabajar, y el de la izquierda es un slider que contiene miniaturas de las láminas u hojas (según vayamos trabajando).

Se abrirá el programa con los seis pasos requeridos por el asistente. De todos ellos, los primeros cinco generan datos no destructivos (y nos muestran las presentaciones preliminares de los cambios). El sexto paso es el final que aplica los cambios y genera los archivos de salida. El accionar puede durar desde unos pocos segundos hasta un par de horas de trabajo para un archivo de muchas páginas, y algo más si contienen fotografías o diseños complejos.

Veamos el caso de un trabajo de documentar nuestro libro PDF de 500 páginas.

Podremos utilizar Scan Tailor directamente para escanear el libro, pero en este caso ya tenemos el libro escaneado en PDF. Sin embargo, Scan Tailor no acepta PDF directamente, sino que trabaja con los archivos de imagen. Para ello extraeremos el archivo

El primer paso consiste en la Orientación, y se encuentra detallado en dicha columna. Esto puede hacerse automáticamente presionando el botón Automatizar "play" que aparecerá en la fila "Orientación", del el panel izquierdo, no bien acerquemos la flecha del ratón sobre ella. Esta orientación automática suele llevar unos pocos segundos para todas las páginas. En el caso que el volúmen contara con láminas horizontales y verticales, se pueden especificar en las propiedades de Orientación.

El segundo paso consiste en delimitar la división de páginas (ya sea su corte vertical u horizontal según corresponda). Nuevamente, el botón Automatizar ("Play") de esta fila "Dividir Páginas" del panel izquierdo nos permitirá hacer esta tarea rápidamente. Scan Tailor suele detectar muy bien el centro del pliegue de las láminas y nos presentara una linea guía (móvil a través de sus nodos), que divide la misma en un campo azul para la página izquierda rojo para la derecha. Esta línea guía, además de servirnos como divisora de corte, también sirve como referencia de centro para hacer mucho más preciso el trabajo anterior. En los volúmenes muy gruesos (de 360 páginas o más) debemos prestar atención sobre todo a las láminas intermedias, ya que son las más complicadas a la hora de escanear un libro. Una cumplido el paso de dividir las láminas nos encontraremos con las páginas ahora individualizadas. El tercer paso será su alineación. Esto puede hacerse con muy buen grado de precisión de forma automatizada, de la misma forma que en los pasos anteriores. Sin embargo, es muy importante que la alineación sea lo más perfecta posible. A tal fin, podremos ajustar las hojas de forma manual si es requerido. A tal fin indicamos en el panel izquierdo la modalidad de alineación manual, y podremos rotar la página sobre su eje, valiéndonos de las líneas guías de color azul, que nos permiten enderezar tomando como referencias los renglones, márgenes o líneas que pudiésemos tener de referencia. El siguiente paso es tal vez el más crítico, y consiste en delimitar una "caja de contenido". La misma debe delimitar exactamente y bien al ras, el cuadro que queremos registrar en el archivo final. Es importante saber que lo que está por fuera del cuadro azulado es probable que se descarte en el proceso final. Convinee presentar la selección automática, pero en caso de tener un libro impreso grueso, debemos revisar página por página para asegurarnos que la selección esté bien hecha. Tomamos como referencia las letras enteras del renglón superior e inferior del cuadro, y los márgenes de texto izquierdo y derecho. En el caso de que el volúmen original estuviese perfectamente alineado y siempre fuese igual la tarea puede repetirse en todas las hojas.

En el caso extremos en el que quisiéramos omitir encabezados o pies de páginas, podremos redimensionar cada caja de contenido a mano tomándolas de sus nodos de las esquinas. El quinto paso consiste en definir márgenes generales para la obra terminada. Este margen se agrega a la caja de selección. Generalmente se utilizan 2 cm por lado para que quede un PDF con aire y prolijo, pero también podremos reducirlo a unos 2 milímetros o menos, a fin de lograr un documento apto para tablets o e-Readers. Es por este motivo que era muy recomendable hacer la caja de selección bien rasante en el texto.

El sexto paso consiste en definir el formato, calidad (DPI) y funciones de salida. Normalmente desearemos aplicar la función corregir dobleces (sombras o manchas) Esto lo hace el software automaticamente, aunque tenemos la posibilidad avanzada de hacerlo mediante zonas de enmascaramiento. En este caso hemos prescindido de ello.

Para contemplar un tutorial completo (incluyendo en video) podemos recurrir a la Wiki oficial de Scan Tailor.

El sexto paso es el procesamiento final y es el único que realmente genera archivos de salida. Naturalmente, este paso lleva más tiempo, pero Scan Tailor opera muy bien en equipos con varios núcleos. En este caso tardó unos 40 minutos en un equipo tipo i7.

El proceso nos dejó creadas las páginas de salida en formato TIFF.

Crear un nuevo PDF a partir de imágenes JPG o TIFF

Para hacer un nuevo PDF corregido a partir de estos archivos TIFF individuales, podremos utilizar el utilísimo gscan2pdf, que ya os he enseñado a utilizar.

Lo instalamos con:

sudo apt-get install gscan2pdf

Y lo ejecutamos desde Aplicaciones / Gráficos / gScan2pdf.

Este programa sencillo nos permite importar los archivos TIFF, y exportarlos a un PDF. Simplemente cargamos los TIFF de las páginas individuales arrastrándolas a gscan2pdf, y las exportamos como PDF. Como ya el formato, la resolución y demás parámetros de las páginas ya fueron configurados en los pasos anteriores, la exportación no debería requerir correcciones de ningún tipo, y por lo tanto no debería durar mucho.

Finalmente, ya contaremos con un PDF completamente corregido, y podremos gritar al cielo "¡Viva Perón!".



03 september 2022

¿Cómo instalo y juego con la interfaz de Jurassic Park en Ubuntu?

El volúmen Sociología Peronista formaba parte del denso material bibliográfico integrado a la Escuela Superior Peronista. En él se hacía un análisis pormenorizado de dicha ciencia bajo la óptica del Justicialismo. Entre sus páginas se explica cómo instalar y jugar "I Know This", el juego inspirado en el hacking de Jurassic Park.

(...) Si el hombre fuese gregario, el ámbito de comprensión de lo que nos rodea apenas alcanzaría su propia vida. Sin embargo, el ser humano constituye un ser eminentemente social, por lo que es comprensible que guste de cuantificar y calificar sus Obras y la de su grupo. Tal vez sea esto parte de nuestra naturaleza, y nuestro orgullo creador comprenda uno de los componentes que podemos lustrar para intentar distinguirnos de otras criaturas con las cuales compartimos el globo.

Desde el punto de vista biológico natural, estamos sometidos a los términos de una Evolución - en la cual la naturaleza obra para mejorar al más apto para lograr su trascendencia a través del tiempo. Quienes han estudiado este hecho han teorizado que se trata de un fluido movimiento consagrado a todas las especies, enmarcándolas en base al ambiente en el que viven. De este ámbito depende este proceso evolutivo que los procesos científicos pueden dar explicación, y llenar bibliotecas.

Así, la naturaleza posee la sapiencia de todos los tiempos. No en vano las formas de vida que nuestro planeta ha albergado han sido sus felices habitantes por millones de años. Todas han tenido su período biológico para habitarlo, desde los microorganismos hasta las más gigantescas criaturas pasadas.

Pues bien señores, aunque nuestra perenne permanencia no nos permita dilucidarlo, hemos sido suficientemente exclarecidos por la acumulación de saberes que nos permite nuestra Cultura, como para comprender que todo ha de evolucionar, y en los Pueblos, a veces se hace necesario una Revolución. Eso es lo que hicimos en 1943.

Se ha basado todo científicamente, mostrando un profundo correlato con las ciencias que analizan las Sociedades, sus Movimientos organizativos, y el empuje de avance que el hombre le produce a su conjunto en pos de un mejor vivir y de una mayor felicidad. Estos han de ser los objetivos de los hombres unido y organizado en Comunidad.

La historia así lo demuestra. Esta sana estructuración que el hombre se ha dado, conforma el núcleo de los Movimientos Políticos que los Pueblos se han dado a sí mismos.

Dentro de este herramental podría decirse que existe una cadena de ADN que se conserva como guía motriz de su desarrollo. En nuestro pueblo esto es distinguible particularmente. No en vano se ha dicho que el ADN peronista puede permanecer latente y casi fosilizado en la sociedad, para eclosionar en cualquier momento futuro gracias a la ingeniería de la tecnología. Esta fórmula, de la cual hemos sido pioneros, no podía dejar de ser copiada en múltiples instancias de la vida y de las artes.

Indudablemente todos recuerdan la trama de la película de los dinosaurios, y la escena de la nena que hackea UNIX para cerrar la puerta. A tal fin opera hábilmente una por entonces carísima Silicon Graphics, en uno de los más sonados fracasos en los maniqueísmos techies Hollywoodenses. No es secreto para nadie que el bizarro navegador de archivos tridimensional FSN se ejecutaba como parte de IRIX - el UNIX System V de Silicon Graphics, pero también fue portada a Linux - y permitía hacer creer a los neófitos cómo serían las interfaces gráficas de un cercano futuro.

Afortunadamente el Justicialismo ha implementado un juego tridimensional que se inspira en dicha interfaz Silicon Graphics. Se trata del "I Know This". Para descargarlo e instalarlo, bien podremos utilizar nuestra terminal UNIX. Para ello presionamos Ctrl+Alt+T, y luego ingresamos los siguientes Comandos de Organización:

mkdir ~/.iknowthis/ cd ~/.iknowthis/ wget http://theinstructionlimit.com/wp-content/uploads/2015/02/iknowthis_linux_v1.1.tar.gz ; tar xvzf iknowthis_linux_v1.1.tar.gz

El juego está compilado para arquitecturas de 32 o de 64 bits, y debemos ejecutar el que nos corresponda. Ello lo hacemos llamando a los archivos correspondientes. El ejecutable de 32 bits se llama "I Know This.x86" y el de 64 bits es llamado "I Know This.x86_64" para 64 bits. Por ejemplo, si quisiéramos ejecutar desde nuestra terminal a la versión de 64 bits, podríamos hacerlo con el siguiente Comando de Organización:

/home/usuario/.iknowthis/'I Know This.x86_64'

Más cómodo puede resultar crearnos un lanzador para el juego I Know This, que nos dirija a tal ruta. Para ello hacemos clic con botón derecho en el panel superior y elegimos la opción Editar Menús. Se abrirá la ventana Menú Principal, y en su panel izquierdo podremos seleccionar la categoría Juegos. Acto seguido presionamos el botón Elemento Nuevo y se abrirá la ventana Crear Lanzador. En su campo Comando; ingresamos "/home/usuario/iknowthis/I Know This.x86_64".

Podremos entones arrancar el programa desde Aplicaciones / Juegos / I Know This.

La primera pantalla del juego nos permite definir el aspecto gráfico de la interfaz Unix. Podremos disponer la resolución, si queremos que aparezca en una ventana o pantalla completa (tildando "Windowed"). Asimismo, la calidad. Con la opción Fastest será suficiente, pero podríamos querer subirla. Tras presionar el botón Aceptar, ingresaremos al juego con la ventana de presentación. La interfaz inicial simula la GUI 3D de UNIX de la película de los clonosaurios. Nuestra tarea es introducirnos en el sistema de ficheros 3D del mainframe, y hackear los archivos violetas, ya que son los que poseen el código oculto. Para desplazarnos en estos archivos 3D usamos las flechas del cursor.

Contaremos con el pesado Clicky, un odiado asistente virtual de oficina inspirado el Clippy y en el Genito de iGen (la empresa del parque temático jurásico). Este personaje tontorrón a veces se interpondrá en el camino, y oculta un oscuro secreto, aunque al principio nos ayudará explicando el juego.

Si queremos saltar entre un sector y el otro, debemos utilizar los vínculos color naranja. Nos desplazamos hacia ellos y presionamos Enter.

Una vez que nos posicionamos sobre un archivo rosa para hackear, podremos presionar Enter e iniciar nuestro hacking.

Como en esta burda película, hackear significa ganar el minijuego key-masher, o sea, teclear estúpidamente sobre nuestro teclado a fin de que aparezca "genialmente" nuestro código fuente verde en la pantalla, y presionar Enter para terminar la línea de código. Debemos completar unas diez líneas para tener éxito. No debemos pasarnos de la línea de código; si lo hacemos, la línea de código escrita tornará roja, y habremos de borrar aquello que ha sobrado con Retroceso/Backspace y presionar Enter cuando lo hayamos corregido.

Estas líneas de código deben ingresarse antes que la barra del timer de alerta al Administrador del Sistema llegue a cero.

Naturalmente, este minijuego de hackeo esta muy inspirado en el sitio hackertyper.net, una manera futurísta de sentirnos un obeso mórbido programador

Si lo ganamos, aumentaremos las posibilidades de encontrar el archivo buscado en los sectores (cuanto más alto el porcentaje, más probable que lo encontremos en dicho sector). Si en cambio perdemos, se activará el escaneo de archivos del administrador (graficado efectistamente con un "foco" que iluminará los archivos analizados en busca de intrusos. En tal caso, debemos evitar por todos los medios que el Administrador nos encuentre para revocarnos del sistema. Si el Administrador nos encuentra, nos devolvería a la carpeta raíz de inicio. No es un gran castigo, pero lo suficiente como para volvernos más cautelosos.

Tengamos en cuenta que podremos evitar la búsqueda de instrusos del administrador si utilizamos los archivos ocultos verdes. Estos nos permiten escondernos temporalmente. Para ello nos posicionamos en uno de ellos y mantenemos presionada la Barra Espaciadora. El "foco" del Administrador nos pasará por encima sin encontrarnos.

Si por error abrimos una de las carpetas doradas sin prestar atención a las posibilidades reales de encontrar el archivo, puede que nos encontremos con un virus, que naturalmente pixelará la pantalla y nos hará perder el juego.



02 september 2022

¿Cómo instalo Photoshop en Ubuntu?

El Primero de Mayo de 1974, el general pronuncia un discurso en el que define la política del Movimento. Mientras que las columnas de Montoneros abandonan la Plaza de Mayo, el general enseña a instalar Photoshop en Ubuntu.

Perón: ¡Compañeros!

Montos: ¡Que pasa, que pasa, que pasa general, que está lleno de gorilas el gobierno popular!

Perón: Hace 21 años que en este mismo balcón y con un día luminoso como el de hoy, hablé por última vez a los trabajadores argentinos. Fue entonces cuando les recomendé que ajustasen sus Organizaciones, porque venían dias difíciles. ¡No me equivoqué! Ni en la apreciación de los días que venían, ni en la calidad de la Organización Sindical, que a través de 20 años, pese a estos estúpidos que gritan...

Masa: EEEEEEHHH!! ¡Perón! ¡Evita! ¡La patria Peronista!

Perón: Decía... que a través de estos 20 años, la organizaciones sindicales se han mantenido inconmovibles, y hoy resultan que algunos imberbes pretenden tener más mérito que los que durante 20 años lucharon! Masa: EEEEEEEH!!!!!! Ni yanquis ni marxistas! Peronistas!

Perón: Por eso compañeros, quiero que esta primera reunión del Día del Trabajador, sea para rendir homenaje a esas organizaciones y a esos dirigentes sólidos y prudentes que han mantenido su fuerza orgánica... Compañeros que han visto caer a sus dirigentes asesinados sin que haya todavía tronado el escarmiento.

Masa: ¡¡EEEEEEEEEEEEEEEHH!!

Perón: Compañeros, nos hemos reunido durante nueve años en esta misma plaza,, y en esta misma plaza hemos estado todos de acuerdo en la lucha que hemos realizado por las reivindicaciones del Pueblo Argentino... Ahora resulta, que después de 20 años, hay algunos que todavía no están conformes de todo lo que hemos hecho.

Masa: ¡Conforme, General! ¡Conforme, General! ¡Conforme, General!

Perón: ¡Compañeros! Anhelamos que nuestro movimiento sepa ponerse a tono con el momento que vivimos. La clase trabajadora argentina, como columna vertebral de ese Movimiento, es la que ha de llevar adelante los estandartes de nuestra lucha. Por eso esta reunión en esta plaza,, como en los buenos tiempos debe afirmar la decisión absoluta para que en el futuro cada uno ocupe el lugar que le corresponde en una lucha,, que si los malvados no cejan, hemos de iniciar.

El Conductor hace por reflejo lo que el Pueblo quiere. Esa es una de las máximas que deben regir la vida de todo peronista de bien. Sabemos que dentro del Justicialismo hay de todo, como lo hay en la viña del xeñor. Los hay combativos, los hay contemplativos, los hay ortodoxos y los hay heterodoxos.

En este caso, y para que no se enojen tanto, he de dar una solución pedida por el sector contemplativo y heterodoxo, y consiste en instalar una versión de Photoshop en Ubuntu. Hemos de saber que tenemos versiones completamente libres que pueden hacer lo mismo y en algunos casos más. GIMP es un excelente ejemplo. Pero vaya a saber porqué, a muchos no los convence. ¿Y van a dejar de pertenecer por ello a la más perfecta Doctrina que permite la felicidad de los Pueblos? De manera alguna. Para ello contamos con las soluciones que los hombres han esperado desde el inicio de la historia.

Wine (significa "vino" y un autodeclamativo "wine no es un emulador"), es como no quieren decirlo, un emulador, y bajo su feliz nombre contaremos con librerías para ejecutar programas escritos para Windows, el oscuro sistema operativo de la oligarquía. Vino y chori son receta de la felicidad, y en este caso lo será Wine + Adobe Photoshop CS2.

Como primera medida vamos a Aplicaciones / Accesorios / Terminal e introducimos el siguiente comando.

wget kegel.com/wine/winetricks && sh winetricks vcrun6

y luego:

wget http://kegel.com/wine/winetricks && sh winetricks fakeie6 mdac28 jet40

Usaremos Photoshop CS2, el cual debemos tener ya. Si no lo tienen podrán descargar la versión demo por medio de este Comando de Organización:

wget http://download.adobe.com/pub/adobe/photoshop/win/cs2/Photoshop_CS2.exe

Una vez descargado, lo instalamos en nuestro emulador Wine con:

wine Photoshop_CS2.exe

Sepan compañeros que esta versión demo es solo a modo de prueba y una comprobación cabal de que la tecnología funciona, de ninguna manera se les ocurra piratear el programa porque eso está mal, sobre todo si usan bajo la opción de Activación Telefónica el serial 1045-1595-2296-0062-5571- 2552 y al darle OK le asignan el siguiente Activation Number: 4352-6867-1191-6284-0841 -2281-2225 y como Clave de Activación 5904 6265 9070 5085 7501 u otra que generen si es que tienen un creador de seriales...

Conforme se haya instalado el programa, podremos ejecutarlo desde Aplicaciones/ Wine / Adobe / Photoshop CS2.

Montos: Eso queríamos general! Ahora volvemos y le llenamos la plaza!! No se nos ponga mal! Lo seguimos bancando!

Perón: Vayan tranquilos muchachos, ta todo bien!

Montos: ¡Aquí están! Estos son! ¡los soldados de Perón!



01 september 2022

¿Cómo realizo OCR e incrusto texto a un libro en PDF en Ubuntu?

¡Desamisados!

Los imperialismos en pugna saben que nuestro Movimiento jamás hizo buena letra. Para aquellos señores eso significaba que los argentinos nos sometiéramos a sus designios, y entregáramos rifados nuestra libertad y nuestra nacionalidad.

Nuestro objetivo no era aplacar sus deseos inconfesables, sino darle a nuestro Pueblo la Felicidad que merece por Justo Derecho. Ello es la base doctrinal a la que hemos sometido nuestras conciencias, y de la cual hemos dado los mejores resultados para la Grandeza de la Nación.

Sin embargo, esto a veces podría jugarnos en contra. Vean señores, al leer, nuestro cerebro interpreta la visual de las letras trazadas en un papel y conforma su significado de una manera tan prodigiosa que incluso hoy poco sabemos. Esta es la manera en la cual podemos contar con la humana capacidad lectocomprensiva. Sin embargo, si queremos que un sistema informático traduzca a un texto digital a datos plausibles de ser editados o transmitidos, debemos proceder de una forma libre, y con un software que la sustente.

Desde las etapas primigenias del uso de las computadoras, fue un objetivo deseado que las mismas pudiesen comprendernos, incluso reaccionando ópticamente a un texto escrito. Este tipo de desarrollo peronista fue llamado OCR, por Reconocimiento Óptico de Caracteres. La técnica de OCR funciona bajo la premisa de utilizar un software de análisis sobre una imagen digitalizada de un texto, y encontrar en ella los patrones gráficos definidos de las letras impresas de nuestro alfabeto. Esto conformará las materias primas para identificar palabras o frases.

Ahora bien, para digitalizar el documento en sí, lo más procedente es utilizar un escáner. Estos disponen de un captor de imagen lineal a través de un CCD, y su tecnología es incluso anterior a la de las cámaras digitales. Nos permiten enormes ventajas en los casos donde debamos almacenar o transmitir telemáticamente copias de documentos en base papel.

Ubuntu es compatible con muchos de estos escáners, sobre todos aquellos que emplean la vieja tecnología de software TWAIN. Gracias a esto, podremos escanear página a página. Si nuestras exigencias son mayores, bien podríamos hacernos con un escáner con alimentador automático de documentos (ADF). Estos modelos constan de rodillos motorizados similares a las de una impresora, y van tomando las hojas una tras otras para sumarlas a un documento multipágina informatizado (normalmente de formato PDF). Varios modelos pueden incluso escanear en doble fax (duplex).

Una de las opción es utilizar el programa escaneador Simple Scan, cuya última versión tiene capacidad de conformar documentos PDF multipágina y también puede hacer funcionar escáneres provistos de alimentador de documentos. Esto facilita mucho el escaneado de pilas de hojas A4 ya impresas. Simplemente se colocan en el orden necesario en el alimentador de documentos y se usa la función Escanear.

Pero una cosa es escanear un documento y registrarlo digitalmente como una imagen de un texto, y otra cosa es que dicha imagen pueda ser editado como un texto digital.

Sin embargo no podemos dormirnos en los laureles: en política y en software todo ha de mejorarse y simplficarse, si es posible hacerlo. Es sabido que las letras no siempre son iguales, existen distintas tipografías, los documentos a escanear podrían tener imperfecciones, estar desalineados o torcidos, y esto puede fácilmente engañar a un software OCR como el ABBYY FineReader, OmniPage Ultimate, ReadIris, etc.

GNU con Linux no podía mantenerse ante tal oprobio. Es por ello que se ha desarrollado el programa gImageReader, el cual está pensado para suplir estos inconvenientes desde la Terminal. Gracias a ello se puede reconstruir un texto formando su equivalente digital.

Para instalar su versión en castellano abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente comando de organización:

sudo apt-get install gimagereader tesseract-ocr-spa

Tras unos breves instantes se habrá descargado la paquetería necesaria para operar. Una vez instalado, podremos abrir el programa desde Aplicaciones / Gráficos / gImageReader.

gImageReader nos presenta una potente interfaz gráfica que sirve tanto para escanear documentos como para realizar el reconocimiento óptico de caracteres (OCR) en varias modalidades. Con él podemos pasar un documento de imagen o PDF a texto, y editarlo nuevamente ahorrando el tiempo de retipeo.

El programa detectará nuestro escáner y se abirá, presentándonos su interfaz a tres paneles y una barra de tareas en la parte superior. El OCR depende de muchas variables maquinales, por lo cual su ingeniería nos presenta realmente con varias maneras de trabajar a fin de lograr un resultado lo más confiable posible. Desde la barra superior podremos definir instantáneamente el tipo de salida que queremos obtener por medio del programa. Tendremos dos opciones en un campo desplegable: Texto simple (que se encarga de conformar un archivo de texto independiente) o bien hOCR, PDF, que se encarga de incrustar el texto digitalizado por encima de las imágenes escaneadas de la página de un documento PDF.

Preparación del documento El panel izquierdo es el Panel de Entrada y define el origen del texto a trabajar. cuenta con dos pestañas: Fichero y Adquirir, que bien podrían llamarse Importar y Escanear, pues cumplen dichas funciones.

Si ya contamos archivos gráficos elaborados para el trabajo podremos importarlos directamente al proyecto de reconocimiento en gImageReader usando esta función.

Podemos agregar los ficheros individualmente a la lista (lo que sería ideal), o...
...podemos importar directamente un archivo PDF que ya contenga todas las páginas ya escaneadas en él..

En cambio, si quisiéramos armar el documento desde cero y manejar nuestro escáner, podremos utilizar la función de escaneo de documentos desde la pestaña Adquirir. Como es usual, en esta pestaña podremos ajustar la resolución del escáner (se recomienda unos 300 dpi para lograr los mejores resultados).

También podremos definir usar escaneo a color, escala de grises o blanco y negro (más rápido). En el caso de hojas impresas individuales, elegir 300 dpi en blanco y negro suele dar excelentes resultados. En el libros gruesos suele ser bueno usar 600dpi en escala de grises, pero también pueden lograrse muy buenos resultados en texto si usamos blanco y negro.

Para contar con la mayor fiabilidad posible, dependiendo del resultado del escaneo y tipo de papel del documento, podría ser necesario corregir las imágenes. gImageRead nos permite hacer estos ajustes de forma global a todas las páginas a la vez, por lo cual nos ahorra muchísimo tiempo. El botón de la flor * nos permite elegir los Controles de Imagen. Es importante lograr que el texto esté idealmente en negro oscuro sobre fondo blanco puro, a fin de lograr los mejores resultados. Ello lo hacemos incrementando el contraste y tal vez disminuyendo un poco el brillo de la imagen (dependiendo de cómo haya sido escaneada).

Reconocimento del Texto En el panel superior tendremos distintas herramientas según el modo de trabajo que hayamos elegido. Este debe pensarse en base al proyecto que tengamos que afrontar. Podemos elegir dos modos de trabajo: Sólo Texto o hOCR, PDF. Solo texto nos proveerá el resultado del OCR directamente en el panel derecho de salida. En cambio hOCR, PDF incrusta el texto reconocido encima de una copia del propio documento PDF.

Una vez que hemos definido esto, podremos comenzar la tarea de reconocimiento OCR. Esto podremos hacerlo de dos maneras:

Automatizada Multiple Página 
Reconocer Selección página a página.

La función de reconocimiento automatizado de las imágenes será muy efectivo si tenemos documentos multipáginas que han sido escaneados a través de sus páginas individuales. Ahorra mucho tiempo, pero sólo en este caso ideal. Sin embargo, en los casos más complejos y monumentales, puede ser que debamos reconocer el texto de un libro encuadernadoo fotocopiado en un PDF. En tal caso se recomienda la tarea página a página.

Si ya tenemos el documento multipágina importado, podremos utilizar los botones + y - para avanzar y retroceder entre las páginas que lo conforman. Una vez que estamos en la página que deseamos reconocer, lo más sencillo es presionar el botón Autodetectar Disposición (el botón de la "varita mágica"). Este ajustará digitalmente el enderezamiento de la página escaneada a fin de que el texto quede derecho, y nos presentará tentativamente con varios "marcos azules" que contendrán las zonas de texto reconocido.

Si elegimos el modo de trabajo Solo Texto, podremos hacer clic con el botón derecho del ratón sobre el marco, y elegir la opción Reconocer. El texto se explorará y se agregará al Panel de Salida. Este panel recibirá el texto de resultado, y suele estar a localizado en la parte derecha de gImageRead, pero también podemos configuralo desde el botón Propiedades para que se localice por debajo del texto. Generalmente el programa agrega por delante del texto reconocido la referencia "[Archivo: xxxx]" a fin de indicar de donde salió.

Luego pasamos a la siguiente página con el botón + y volvemos a hacer lo mismo. Es importante saber que podemos redimensionar el marco azul de reconocimiento simplemente tomándolo de sus esquinas ajustando su tamaño como si de una ventana de Ubuntu se tratara. Asimismo, podremos quitar marcos innecesarios haciendo clic con botón derecho sobre ellos y eligiendo la opción Borrar (por ejemplo, para evitar que se agreguen al texto los encabezados o pie de páginas).

Si tuviésemos que sumar más marcos en la página (por ejemplo, para escanear una segunda columna de texto o reconocer dos páginas escaneadas al unísono), podremos hacerlo al mantener presionada la tecla Ctrl mientras hacemos clic con botón derecho del ratón y arrastramos en diagonal, para crear y dimensionar el nuevo marco. Cada marco tiene un orden de reconocimiento, indicado en su esquina superior izquierda, el cual se utilizará para ordenar el escaneo. Normalmente gImageRead los dispone en el orden lógico (de arriba a abajo y de izquierda a derecha).

gImageReader cuenta de un editor de texto sencillo que reside en el mismo Panel de Salida. Este nos servirá para evaluar y en caso necesario, reorganizar el texto reconocido resultante. Todos los marcos de texto que vayamos reconociendo se agregarán a continuación (pero también podremos cambiar esto y elegir - por ejemplo - que se agregue donde está colocado el cursor).

Podremos guardar el contenido del Panel de Salida de este archivo presionando Guardar Salida.

Indudablemente que en el caso de escaneo con libros, lo óptimo es evitar trabajar con su contenido entero, sino que es más práctico realizar la tarea de OCR por capítulos. Luego podremos unificar el resultado en cualquier procesador de texto si lo necesitamos. De esta manera tendremos mayor control en el trabajo.

Sin duda es mucho menor trabajo que reescribir todo un texto monumental. Nada impide que además de guardarlo, copiemos el resultado para pegarlo en otro editor de texto.

El documento digitalizado puede fomatearse de manera mucho mas sencilla.

Realizar reconocimiento OCR e incrustarlo en un PDF desde la Terminal Como os he indicado, gImageReader cuenta con la funcionalidad de incrustar el texto resultante del reconocimiento OCR en un archivo PDF de salida. Esto suele ser óptimo en muchos casos. Pero también podremos hacer este laborioso trabajo desde la terminal, lo cual puede ser interesante para operar a través de redes en un servidor que se encarga de este tipo de trabajos documentales.

Por ello, en las ocasiones donde el trabajo no es tan laborioso como en el ejemplo anterior porque contamos ya con un PDF multipágina cuyas páginas están bien escaneadas de manera individual, bien podremos recurrir al reconocimiento automático desde la Terminal. Para ello utilizaremos el programa ocrmypdf. Este, como su nombre lo indica, se encarga de explorar las páginas y agregarle el reconocimiento de texto al mismo libro. Es útil si las páginas tienen un diseño simple, y si las páginas del documento se escanearon individualmente.

Para instalarlo ingresamos:

sudo apt install parallel ocrmypdf

Y luego utilizamos la siguiente sintaxis:

ocrmypdf archivooriginal.pdf archivodestino.pdf

El proceso es bastante intensivo con la CPU. El programa irá reconociendo página por página, y las incrustara en archivodestino.pdf.

También tenemos pdfsandwich de Tobias Eize, que se encarga de lo mismo y suele tener mejor resultado. Lo instalamos con:

wget https://sourceforge.net/projects/pdfsandwich/files/pdfsandwich%200.1.7/pdfsandwich_0.1.7_amd64.deb ;

sudo dpkg -i pdfsandwich_0.1.7_amd64.deb

sudo apt install -f

Y podremos realizar la tarea desde una terminal. Podremos encontrar su documentación en la web oficial. Por ejemplo, para un PDF a dos páginas como el mostrado anteriormente podríamos ingresar:

pdfsandwich -lang spa -layout double cfk_sinceramente.pdf



31 august 2022

¿Cómo instalo SuperTuxKart 1.0 en Ubuntu?

¡Trabajadores!

Conducir es un arte, y mucho más si lo hacemos tridimensionalmente en un universo lúdico para toda la familia.

Para ello podremos jugar a una de las joyas lúdicas del software libre, el SuperTuxKart. Se trata de un vistoso juego tridimensioanl de coches liberado bajo GPLv3, libre y multiplataforma. Después de diecinueve años de divertido desarrollo, la versión 1.0 de este ya clásico del software libre es una Realidad Efectiva.

La mecánica gráfica está en cierta medida inspirada en clásicos como el $uper Mario Kart de Nint€ndo. Como aquel, debemos correr contra otros jugadores reales o virtuales, e ser habilidosos. Podremos escoger entre distintas modalidades que hacen menos repetitivo al juego. La variedad normal es la carrera sola, pero también podremos jugar contrarreloj, por equipos, llevar banderas, seguir al líder, fulbito en auto, etc. La versión 1.0 incorpora una modalidad de juego por Internet.

De momento, en los repositorios oficiales de Ubuntu encontraremos la versión 0.9.3, que podríamos instalar con un simple comando en la terminal: sudo apt install supertuxkart. Sin embargo, si deseamos contar con la versión definitiva 1.0 ya compilada, por ahora tenemos que descargarla, descomprimirla e instalarla a mano.

Esto podría parecer difícil a un neófito, pero gracias al Justicialismo os enseñaré paternalmente cómo instarlarlo y cómo dar de alta un usuario para jugar online en todo el mundo.

En primer lugar abrimos una terminal mediante Ctrl+Alt+T e ingresamos el siguiente bloque de comandos de organización, y presionamos Enter:

cd ~/Descargas/ ; wget https://sourceforge.net/projects/supertuxkart/files/SuperTuxKart/1.0/supertuxkart-1.0-linux.tar.xz ; tar -xJf supertuxkart-1.0-linux.tar.xz ; mv ~/Descargas/supertuxkart-1.0-linux/ ~/.supertuxkart-1.0-linux/ ;

Esto descargará el juego (591mb), lo descomprimirá dentro de una carpeta oculta dentro de nuestra propia carpeta de usuario.

Ejecutar el juego Si hicimos todo lo anterior, bien podríamos ejecutar SuperTuxKart desde la terminal, mediante los siguientes comandos:

cd ~/.supertuxkart-1.0-linux/ ./run_game.sh

...sin embargo, es mucho más prolijo crear un Lanzador y usar este para ejecutar el juego desde el entorno gráfico toda vez que queramos. Para hacer realidad efectiva este proceder hacemos clic con el botón derecho del ratón en el Panel de Aplicaciones y elegimos Editar menús... Se abrirá la ventana Menú Principal; en su panel izquierdo seleccionamos la categoría Juegos y presionamos el botón +Elemento Nuevo. Esto desplegará a su vez la ventana Crear Lanzador, en la cual debemos asegurarnos de llenar los campos correspondientes al lanzador. Especialmente, en su campo "Comando:" ingresamos la ruta del ejecutable del juego: /home/usuario/.supertuxkart-1.0-linux/run_game.sh (naturalmente reemplazamos usuario por nuestro propio nombre de usuario). Finalmente presionamos el botón Aceptar.

Ahora ya podremos ingresar al juego desde Aplicaciones / Juegos / SuperTuxKart 1.0.

Configurar nuestro usuario

Lo primero es aceptar los términos y condiciones del Juego. Naturalmente podremos omitir esto y jugar en una red local.

Para usar SuperTuxKart no se necesita tener un usuario de su servidor en internet, pero podríamos querer crear uno para tener acceso a juegos en internet con otros jugadores, descargar contenido adicional etcétera. El servidor tomará registro de nuestro puntaje online, con el cual podremos desbloquear autos nuevos, personajes distintos, participar de eventos y copas, etc. Nada de esto es absolutamente necesario, pero puede ser divertido.

Podremos elegir utilizar una cuenta ya creada, pero si no tenemos porque es la primera vez que utilizamos los servidores, podremos crear uno a través de la pestaña Nueva Cuenta en Línea. En tal caso antes de entrar al mismo se nos solicitará aceptar las condiciones para su uso online.

Acto seguido hemos de proveer una dirección de correo electrónico, indicando un nombre de usuario que queramos utilizar junto con una contraseña para el servidor,.

Al presionar el botón Ok se nos enviará a nuestra casilla de correo electrónico el típico correo para dar de alta nuestro usuario de SuperTuxKart. Dentro de este correo electrónico, debemos confirmar el alta en el servidor presionando en "Confirm Email Address"... ...esto nos dirigirá a la web de confirmación y debería indicarnos en verde que nuestra cuenta ha sido creada satisfactoriamente mediante el mensaje "Your account has been activated".

De esta manera ya tendremos asignado nuestro usuario para jugar SuperTuxKart online. Una vez que hayamos confirmado la cuenta, podremos conectarnos de forma automática (o manual, si lo preferimos), al servidor de SuperTuxKart.

Configurar el juego SuperTuxKart nos permite elegir un avatar entre múltiples personajes, incluyendo las mascotas más simpáticas del Mundo Libre (Tux, Bestie, etc). También podremos personalizar el color y modelo de nuestro autito para jugar online. Presionando el botón de la llave de tuercas tendremos acceso a las opciones del programa. Entre ellas el control del sonido, y en la parte gráfica podremos manejar la resolución de pantalla, su relación de aspecto, o si queremos usar pantalla completa o el juego en una ventana. Para hacer efectivo los cambios de pantalla completa debemos reiniciar el juego. También la respuesta de joystick o teclas.

Jugar a SuperTuxKart La pantalla inicial del juego es gráfica y musical.

La pantalla principal nos permitirá encontrarnos con los modos de juego. El modo Historia nos permite seguir una campaña de carreras que puede ser ideal para empezar a practicar. Eligiendo el volante podremos jugar solos contra personajes manejados por la computadora. Si escogemos los dos volantes podremos jugar en red local. De esta manera podremos armar divertidas carreras multijugador a través de un router, donde cada uno manejará un coche desde su computadora.

Una vez elegida la modalidad, podremos especificar nuestra elección entre distintos tipos de vehículos (los cuales podremos configurar en ciertos parámetros de acuerdo a nuestro modo de juego o las características del circuito). Antes de jugar podremos elegir el kart, configurar sus parámetros, y el personaje que lo tripule.

Como todo juego de carreras, tendremos un semáforo que nos de la largada, y podremos movernos utilizando las flechas del cursor. En el camino podremos encontrar ítems mágicos a la Mario Kart, que nos darán protección antichoque, velocidad, tiros para molestar a los contrincantes, puntaje adicional, saltos, etc. Con la barra espaciadora podremos activar estos ítems. Usando la función Nitro. nuestro personaje pordrá ganar velocidad o incluso hacer drifting como si de un enloquecido Rápido y Furioso del software libre se tratase.

Si estamos conectados con un usuario online, bien podremos descargar material adicional. Para ello debemos presionar el botón del mundo. Esto nos permitirá elegir la categoría de descarga (karts, circuitos, o arenas). Los circuitos constan de una pista individual, en tanto que las arenas son varios lugares de juego.

Algunos materiales requieren lograr puntajes u objetivos online, pero todos son gratuitos. Podremos ver una clasificación de los contenidos y descargarlos simplemente presionando en Instalar.



30 august 2022

¿Cómo puedo grabar con mi webcam desde la terminal?

Durante la década de 1960 Juan Perón se dedicó a analizar los problemas económicos que habían llevado a desolar la matriz productiva de la Nación, y en vista de cómo resolverlos explicó también cómo capturar fotografías y videos desde la Terminal de Ubuntu.

¡Compañeros!

La oligarquía, coaligada con la sinarquía nacional, ha impuesto para nuestro Pueblo la más abyecta de las condiciones. La destrucción de la economía y de la capacidad productiva es sólo uno de los desaciertos que han llevado a cabo, pero su impericia no ha más que multiplicado sus efectos y exponenciado sus resultados negativos. Esto nos obliga a plantear un plan de lucha que debe ser incordioso con aquellos que ocupan nuestra Nación, y la ponen al servicio de los imperialismos foráneos.

Nuestro capital es el Alma de los Hombres, y entre ellos, de los trabajadores. Durante estos años hemos ocupado sus corazones y mentes, que son más importantes que el territorio. Sin embargo, no podemos descuidar las vertientes naturales en las que hemos de presentar contienda. Nuestro territorio representa un punto de asidero que no podemos soslayar. La acción de lucha la debemos emprender con gran agilidad, pues el peso de la misma se multiplicará de acuerdo a la velocidad con que hagamos

Durante diez años nuestro gobierno posibilitó todo tipo de consideraciones y planificaciones encuadradas bajo la doctrina Justicialista a fin de permitir la reducción del precio de los alimentos y consumibles. El caso de la leche fluida fue un caso especial, pues se dispuso a través del Ministerio de Transporte el descuento del flete ferroviario, en tanto tal producto constituye la materia prima de toda una cadena productiva de carácter fundamental para los habitantes de nuestra Nación. En nuestro país - bendecido por sus amplias extensiones - no podía dejar de ser una tarea de Liberación Nacional reducir el precio de la leche hasta un centavo por litro...

Todo esto no se podría haber hecho entonces si no existiese una voluntad creadora capaz de plantear una reforma estructural profundamente pensada y armoniosamente ejecutada. Esto es lo que - en estas condiciones actuales debemos repetir. Naturalmente, no lo haremos a la usanza de los viejos planes anteriores, pues las condiciones del día son en muchos casos, diferentes e incluso más gravosas. Lo que no hemos de cejar es en tener una férrea voluntad de presentar al Pueblo con instrumentos de Control y de Acción a través de un cuerpo de leyes que impida a la oligarquía accionar sobre la economía, reformando las fuerzas del Estado para que ésta no tenga más opción que quedar al servicio del Pueblo. Este cuerpo de leyes ya está en consideración por nuestros Organismos, que han trabajado en ellos durante largos años. Lo que será necesario es imponerlos por la acción y - naturalmente - defenderlos, porque no sólo esto representa el bienestar del Pueblo, sino la existencia de una Patria Justa, Libre y Soberana.

En Ubuntu también contamos con estos elementos de acción y de control: las Terminales. Sabemos que estas pueden ser gráficas o de texto. Estos nos sirven para operar de manera eficiente para todos los ámbitos de trabajo computado que quisiéramos proponernos.

Veamos el ejemplo de la utilización de una cámara web. No quedan dudas para nadie que - para operar la Webcam - lo natural es operarla a través de un simple programa que utilice una Interfaz Gráfica de Usuario (GUI), y hacerlo desde un escritorio gráfico. Esto es así pues la terminal presenta, en sí misma, una salida gráfica. Una de las aplicaciones más conocidas para este menester es Cheese, que suele venir instalado en Ubuntu. Si no lo tuviésemos instalado podríamos hacerlo abriendo una terminal con Ctrl+Alt+T e ingresando el siguiente Comando de Organización:

sudo apt install cheese

Conforme se haya descargado e instalado la paquetería, lo ejecutamos con Aplicaciones / Video y Sonido / Cheese.

La interfaz de uso es altamente sencilla, y nos permite realizar capturas de video, regular la resolución de los mismos, etc. Asimismo, provee un limitado control de imagen por medio de los parámetros de brillo, contraste, tono, así como el empleo del balance de blancos automático. Si la cámara web dispone de micrófono incorporado, registrará el sonido en la grabación, aunque carece de por sí de control de ganancia, y este debe regularse mediante el control de entrada de audio del sistema.

Es de notar que algunas webcams cuentan con "función flash", por medio de luces LEDs. Cheese puede controlar directamente esta funcionalidad.

¿Pero qué sucede si deseamos grabar videos desde la terminal de Ubuntu? En tal caso, habremos de utilizar el programa video4linux2, así como el códec ffmpeg. Si no los tuviésemos ingresamos:

sudo apt install video4linux2 ffmpeg

Debemos saber que nuestro sistema asigna un archivo de dispositivo a nuestra cámara web. Normalmente este suele ser /dev/video0, pero si existen varios dispositivos de captura recibirá /dev/video1, /dev/video2, etcétera.

Gracias a ello podremos estructurar un comando que nos permita hacer capturas utilizando "a mano" nuestra Terminal. Para realizar una fotografía podríamos ingresar:

ffmpeg -f video4linux2 -i /dev/video0 -vframes 1 ~/foto.jpg

Si lo que quisiéramos fuese grabar un video en una resolución de 640x480 (la clásica calidad VGA, presente prácticamente en todas las cámaras web) y en formato MP4, ingresamos

ffmpeg -f video4linux2 -s 640x480 -i /dev/video0 -f mp4 ~/video.mp4

El sistema comenzará a grabar el video y debería mostrar el status de grabación línea a línea.

Para interrumpir la grabación, debemos presionar dos veces Ctrl+c (la primera vez para detener la grabación con video4linux2 y la segunda vez para abandonar el programa ffmpeg). El resultado deberia quedar almacenado en el archivo ~/video.mp4.

Si en cambio, quisieramos un archivo de baja calidad en formato MP4, y que se grabe en nuestra carpeta /tmp del sistema (a fin de que se borre al reiniciar), podremos ingresar:

ffmpeg -f video4linux2 -s 320x200 -i /dev/video0 -f mp4 ~/tmp/video.mp4

En lugar del MP4 también podremos utilizar el contenedor nativo, que es compatible, el m4v. Simplemente debemos reemplazar tal estamento en el comando y en la extensión del archivo de destino para que quede webcam.m4v.

Debemos tener en cuenta que generalmente no podremos superar la resolución que nuestra cámara es capaz de mostrar. Los modelos HD pueden emplear 1280x720 u 800x600, aunque también existen múltiplos superiores a esta resolución. Las resoluciones mínimas suelen ser de 640x480, 352x288, y las widescreen 640x360, 176x144.



29 august 2022

¿Cómo calibro un acelerómetro integrado en Ubuntu?

En los cursos de conducción para la dirigencia, Juan Perón ponía a las claras la conducta que debía seguirse como principio rector para el posicionamiento político, y explicaba cómo calibrar un acelerómetro en Ubuntu.

(...) En estos tiempos que corren es innegable que la política no puede hacerse de manera improvisada. Tal condición perniciosa sólo puede estar provocada por un estado de cosas absolutamente temporal, y debe ser remediado de la forma más inmediata posible. Para ser efectivo en este arte que es el de la Conducción, se requieren hombres que estén preparados para conducir y que sepan primordialmente y en todo momento dónde están parados y cómo están colocados en el terreno de la acción. Esto les permitirá llevar a cabo los grandes objetivos que nos hemos planteado: la Felicidad del Pueblo y la Grandeza de la Nación. Tales premisas son las que fundamenten nuestro accionar y no deben nunca soslayarse.

Para que ello tenga éxito, nuestro Movimiento es sensible a todas estas cosas, y lo es así pues nuestro sistema operativo Ubuntu es totalmente flexible y capaz de gestionar acelerómetros digitales para asistirnos en las tareas que lo así lo requieran. Un ejemplo, como decía Napoleón, suele aclararlo todo. Cuento en mi notebook con un chip integrado ST LIS3LV02DL. Se trata de un giro-acelerómetro lineal montado en un chip LGA, que proporciona una salida digital de acceso serial. El dispositivo completo está conformado por un elemento sensor MEMS y una interfaz de control microelectrónico, integrados en un chip de 4,5 x 7,5 x 1 mm. Opera en tres ejes, dos que sustentan un inclinómetro de dos ejes y el tercero suple la función del acelerómetro, con una capacidad de diseño de +/- 6G (aunque normalmente limitado a +/- 2G). Suele venir integrado directamente en las placas madre de distinto tipos de dispositivos, incluyendo smartphones y computadoras portátiles.

Un giroacelerómetro como este puede cumplir varias funciones que se nos ocurran. Puede operar directamente como un joystick a través de inclinación del dispositivo, como un inclinómetro para detectar la orientación del dispositivo y realizar distintos eventos en consecuencia (por ejemplo, reorientar una pantalla). Puede operar como giróscopo o permitir ciertas aplicaciones de navegación inercial. También podría utilizarse para disparar determinados eventos de acuerdo a desplazamientos en ciertos ejes, interrumpir señales o emitir alertas de distinto tipo en el caso de caída, robo, etc.

Ubuntu, detecta a este y otros acelerómetros como si se tratase de un dispositivo de entrada tipo joystick de tres ejes, y les asigna a un dispositivo de hardware de entrada acorde (normalmente sería /dev/input/js0 si está integrado en la placa madre del equipo).

Pues bien, el LIS3LV02DL en particular viene calibrado de fábrica y no debería requerir puesta a punto alguna. Sin embargo, puede que en ocasiones sea demasiado sensible en su ajuste paramétrico. Para ello necesitamos instalar una pequeña aplicación destinada a calibrar joysticks y otros dispositivos basados en control de ejes: el jstest-gtk.

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

sudo apt install jstest-gtk

El sistema nos solicitará nuestra contraseña y en breves segundos instalará la paquetería requerida.

Podremos iniciar el programa desde Aplicaciones / Herramientas de Sistema / jstest-gtk.

Al iniciar el sistema nos indicará qué dispositivos de ejes tenemos conectados al sistema. En el caso de que nuestro equipo cuente con un acelerómetro nos lo listará.

Al abrir la pantalla se nos presentará los indicadores de los ejes del acelerómetro. Si el dispositivo está centrado y nivelado, deberían estar en el centro. Si alguno de los ejes está corrido, deberíamos apreciarlo en la ventana también. Para calibrarlo debemos presionar el botón Calibration. Los ejes de calibración consisten en una ventana simple que nos da los valores que registra nuestro dispositivo de ejes, sin realizar cambio alguno en ellos. Se los divide en Rango y Zona Muerta (o centro).

En el caso del LIS3LV02DL y otros acelerómetros similares, los valores iniciales de calibración son chequeados en fábrica en condición de gravedad 0, y son almacenados en una memoria ROM integrada al mismo acelerómetro. Estos son los valores inciales que se mostrarán en la ventana de calibración:

Para calibrar nuestro propio valor, debemos presionar el botón Start Calibration. Se presentará la pantalla del Asistente de Calibración ("CalibrationWizard") que nos solicita que rotemos nuestro dispositivo en todos los 3 ejes.

Para ello debemos rotarlo sobre su eje horizontal y sobre un eje vertical. Naturalmente que en el caso de un dispositivo portátil pequeño esto es sencillo. Debemos inclinarla en el aire hasta que quede boca abajo y luego retornarla a su posición original, hacia un lado y hacia el otro. Luego podemos voltearla sobre si misma en sentido longitudinal repitiendo el mismo procedimiento. Esto serña suficiente para calibrar los ejes X e Y.

Si es una computadora portátil más o menos grande debemos tener algo de cuidado, recordemos que que no queremos romperla, sólo calibrar su acelerómetro integrado.

En cuanto al eje Z hace referencia a la aceleración (o "G") del acelerómetro propiamente dicho. El LIS3LV02DL normalmente opera entre -2 y +2Gs, pero esto no significa que querramos someter nuestro dispositivo a tal carga G (implica una caída desde una altura superior al metro). Podemos sacudirlo con algo de energía pero con cuidado en sentido lateral u horizontal y con ello será suficiente para lograr lecturas útiles.

Una vez que esté hayamos hecho esto restituimos el dispositivo a la posición nivelada en la mesa (posición cero), y presionamos el botón Aceptar para detener la calibración.

Con esto los ejes deberían responder adecuadamente cuando inclinamos el dispositivo, como si de un gimbal se tratara. Si queremos revertir lo realizado, podremos presionar el botón Revertir.

Si los ejes se presentan erráticos ("bailan" o "tiemblan" mucho alrededor del centro) podríamos incrementar los valores positivos y negativos de los parámetros "Center", que corresponden a la zona muerta de medición. Por ejemplo, en este caso se adoptó una zona muerta entre +/-80 en el eje X y +/-90 en el eje Y. Debemos notar que si ambos valores se encuentran en rango positivo, se anula la zona muerta. Esto debería permitirnos lograr un centro absolutamente nivelado y firme en el inclinómetro (naturalmente, siempre que el dispositivo se encuentre completamente nivelado en la mesa, por ejemplo).

En ambos casos debemos establecer un mínimo y un máximo que pueda alcanzar los potenciómetros del dispositivo (los sensores del acelerómetro en este caso). También podremos tildar funciones de inversión para cada eje.

Los valores se cambian y aplican en el mismo instante que los modificamos. No hay necesidad de hacer clic en otro lado o hacer nada mas para aplicar los cambios.



28 august 2022

Se lanza la Huayra Linux 4.0 Beta

Se ha publicado la versión 4.0 "beta" (para evaluación) del sistema operativo GNU/Linux Huayra.

Huayra es un sistema operativo libre concebido para el plan de informatización educativa Conectar Igualdad. Fue desarrollado en Argentina por el Centro Nacional de Investigación y Desarrollo de Tecnologías Libres (CENITAL), siguiendo los principios y libertades del software libre. Puede ser utilizado, estudiado, modificado y redistribuido.

El CENITAL realizó varios ciclos de mejora logrando la versión 3.2 de Huayra, en arquitecturas de 32 y de 64 bits. El desarrollo del mismo fue luego trasladado a Educ.ar SE, siendo esta la primera versión publicada por dicho organismo en cuatro años. Huayra GNU/Linux se basa en Debian, una distribución robusta y reconocida, cuenta con más de 37 mil programas de software libres. A su vez ha conformado una gran comunidad de voluntarios a nivel mundial y posee un sistema de control de calidad fiable y bien documentado.

Podremos descargar la versión "testing" de 64 bits desde aquí.



27 august 2022

Cómo corrijo el parpadeo de pantalla HDMI y el error "drm:intel_pipe_update_end [i915]] ERROR" en Ubuntu?

Desde Madrid, Juan Perón direccionaba la política para posicionar al Justicialismo en el puesto de Conducción que le correspondía frente a la ignominia proscriptora de una camarilla sin Patria ni Bandera. En una de sus epístolas expone a la dirigencia Sindical como proceder en la coyuntura y cómo solucionar el parpadeo de las pantallas HDMI en equipos con adaptador Intel Graphics en Ubuntu.

(...) Me parece magnífico su proceder en esta emergencia política. Nuestros enemigos pierden diariamente prestigio pero eso sería intrascendente si nosotros no supiéramos aprovecharlo con medidas apropiadas. Creo que nuestro proceder debe ajustarse a una conducta prudente hacia los sectores que sean proclives a incorporarse y de lucha efectiva contra los sectores contumaces que sabemos no han de variar.

Desde que caímos en 1955 ha habido varias clases de persona que trabajaron para el peronismo: primero, los peronistas leales y abnegados que siguieron firmes, segundo, los gorilas que con sus desatinos nos favorecieron y, tercero, los independientes a los cuales los convencieron los nuevos hechos en los que florecieron las barbaridades.

De un tiempo a esta parte me han comenzado a llegar insinuaciones y toqueteos por diversos conductos sobre la posibilidad de arreglos que permitan encarar las soluciones de fondo. Esto ha sucedido tanto de parte del gobierno como de algún sector militar de los que están en el candelero. Naturalmente que yo soy 'zorro baleado' y desde lejos la olfateo, de manera que me he limitado a contestar con el memorándum que le adjunto.

Frente a estos intentos será conveniente mantener una conducta muy prudente y si se hace cualquier cosa, ahí será ad referendum mío. Según mis informaciones, el caso de un golpe de Estado azul puede ser posible. Nosotros debemos tener mucho cuidado, pues no debemos engañarnos ni con los azules ni con los demás. Illia no puede gobernar porque le falta el apoyo popular indispensable, pero si los azules dan su golpe, aparte que no creo que sean mejores que Illia, tampoco tendrán el apoyo del pueblo, aparte de que tendrán la oposición de los que están actualmente en el gobierno. Con pies de plomo sonriendo posibilidades pero sin 'efectividades conducentes'.

Si algunos intentan acercamientos, hay que aceptarlos porque en el tomar no hay engaño. Si otros pretenden arreglos, hay 'que traerlos al pie' porque yo sé cómo convencerlos. Muchas veces una buena negociación vale por una guerra y yo estoy en las mejores condiciones para negociar. Pero cualquier negociación ha de ser pública y a los ojos de todo el país. Nada de secretos, porque nuestra actitud y la de ellos no pueden contener nada inconfesable. Si buscamos una solución para el país, el primero en conocer esa solución debe ser el país.

Ahora no es momento de aflojar sino de intensificar la lucha, pero para que esta sea realmente efectiva no necesita ser violenta sino inteligentemente realizada. Estamos llegando a los momentos decisivos de una acción que ya dura diez años y en la que nosotros hemos sido yunque, jamás martillo. Hay que buscar aliados, la política se hace precisamente con los hombres que se desplazan de un lado a otro.

Si usamos nuestro hardware de video Intel en procesadores tipo Skylake, podríamos encontrar ciertos reportes de error en el sistema. En particular, cuando ingresamos en la terminal el comando:

dmesg | grep 'drm'

...podría ser que encontremos listado estos errores:

[drm:intel_pipe_update_end [i915]] ERROR Atomic update failure on pipe A

Este error puede presentarse en portátiles HP Pavilion 15 con tecnología de video híbrida, y similares, al activar su adaptador de video Intel i915 en conjunto con certas pantallas externas HDMI. En tal caso, podríamos notar parpadeo en la pantalla externa HDMI.

Si este parpadeo y errores de video no se solucionan cambiando la velocidad de refresco de las pantallas, podremos rastrearlo a las infames características "DRM".

Afortunadamente podremos solucionar el error cambiando la configuración interna del controlador de video Intel, en particular su variable "Panel Self Refresh" (Autorrefresco del Panel).

Podremos proceder a modificar esta opción desde la terminal de nuestro sistema GNU con Linux por medio del un editor de texto. Para ello ingresamos:

sudo nano /sys/module/i915/parameters/enable_psr

El sistema nos solicitará nuestra contraseña, y abrirá el editor GNU Nano, con cargando en memoria el archivo de configuración específico. Este archivo es ínfimo: sólo contiene un número que define si la opción enable_psr está activada ("1") o si la misma está desactivada ("0"). Normalmente estará activada, por lo cual el archivo debería contener un 1. Lo borramos y modificamos para que diga 0, de la siguiente manera. Luego guardamos los cambios con Ctrl+o y salimos del editor GNU Nano con Ctrl+x. Esto desactivará la función de autorrefresco del panel.

Para hacer efectivo el cambio, debemos apagar el equipo y volverlo a encender (no sirve solo reiniciarlo). Si deseamos apagar el equipo desde la terminal podremos hacerlo mediante el comando:

sudo poweroff

Al re-encender el equipo, el problema debería estar solucionado.

Si por cualquier motivo tuviésemos que reactivar la opción enable_psr, repetimos los pasos y dentro del fichero enable_psr cambiamos el 0 por el 1.



26 august 2022

¿Cómo instalo o actualizo el controlador para el adaptador Wifi Intel Dual Band Wireless AC 3165 en Ubuntu?

Desde la célebre Secretaría de Trabajo y Previsión, Juan Perón emitía proclamas que esclarecían a los trabajadores sobre los derechos que debían exigir. Entre ellos cómo lograr una correcta conectividad Wifi y Bluetooth en Ubuntu con el adaptador Intel Dual Band AC 3165 en Ubuntu.

El supremo interés de la patria, que es el interés de sus hijos, exige del estado moderno una función rectora y reguladora. Quiero llevarles desde esta Secretaría, al ánimo de los trabajadores argentinos el orgullo de pertenecer a una Patria fuerte y generosa, donde la justicia y la ecuanimidad reinen soberanas, y donde el temor a las influencias espúreas no puedan desnaturalizar la alegría de vivir, y de crear.

Para saldar la gran deuda que tenemos con las masas sufridas y virtuosas, hemos de apelar a la unión de todos los argentinos. Sembrar esta simiente en el fértil campo de los trabajadores de mi tierra, que estoy convencido entienden y comparten mi verdad con esa extraordinaria intuición que poseen las masas cuando se las guía con lealtad y honradez.

La pensión a la invalidez o a la vejez no es una limosna, es un Derecho que el hombre se gana trabajando. Sobre todo en países como este, donde sectores privilegiados mantuvieron su estándar de vida pagando salarios exiguos, injuriantes.

Es por lo tanto aquí donde más derecho tiene el obrero a exigir que la organización estatal le asegure una vejez digna. Conocemos vuestros pesares y vuestras desgracias, y esto debe cambiar, ¡caiga quien caiga!

Creo que las reivindicaciones - como las revoluciones - no se proclaman, se cumplen. Siempre he sido fiel a esta consigna rígida, ¡porque entiendo que mejor decir es hacer, y mejor que prometer es realizar!

Es por ello que realizaré un nuevo anhelo de mi vida, que es hacer que funcione correctamente el Wifi y el Bluetooth con el adaptador de banda dual Intel AC 3165 con Ubuntu.

Se trata de un adaptador inalámbrico para la norma 802.11ac, aparecido a finales del 2014. Es capaz de operar en doble banda, tanto en los 2,4 como en los 5 Gigahertzios, y es capaz de proporcionar conectividad Wifi y Bluetooth.

Viene integrada en una buena cantidad de equipos portátiles, pues presenta una buena opción para sumar conectividad moderna de Wifi y Bluetooth, incluidos en sistemas operativos GNU dotados de Kernel Linux. Al ser Ubuntu uno de ellos, recibe soporte para dicho adaptador a partir del kernel 4.1 (efectuado a partir de su versión 15.10), a través del módulo iwlwifi o el iwlmvm.

Sin embargo, en ciertas ocasiones las versiones más antiguas del controlador podían presentar ciertos errores o inconvenientes de distinta magnitud con las versiones más antiguas del Kernel. En particular, podríamos sufrir conectividad intermitente o dificultad para conectarnos a una red wifi de 5Ghz. Para suplir esto, debemos contar con una versión de kernel más reciente, junto con las versiones más actualizadas del firmware para el controlador propio de GNU con Linux.

Para asegurarnos fehacientemente qué tipo de adaptador tenemos, ingresamos:

lspci

...entre todos los dispositivos, el sistema deberia indicarnos también el que nos interesa:

03:00.0 Network controller: Intel Corporation Wireless 3165 (rev 81)

A partir de 16.04LTS contamos con el soporte incorporado. Sin embargo, puede que encontremos errores. Por ejemplo, al ingresar en nuestra terminal:

dmesg | grep iwl

...nos presenta los siguientes errores:

iwlwifi 0000:03:00.0: loaded firmware version 29.1044073957.0 op_mode iwlmvm iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 3165, REV=0x210 iwlwifi 0000:03:00.0: base HW address: xx:xx:xx:xx:xx:xx ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs' iwlwifi 0000:03:00.0 wlo1: renamed from wlan0

iwlwifi 0000:03:00.0: Failed to load firmware chunk! iwlwifi 0000:03:00.0: iwlwifi transaction failed, dumping registers iwlwifi 0000:03:00.0: iwlwifi device config registers: (...)iwlwifi 0000:03:00.0: iwlwifi device AER capability structure: (...) iwlwifi 0000:03:00.0: iwlwifi parent port (0000:00:1c.5) config registers: (...) iwlwifi 0000:03:00.0: iwlwifi root port (0000:00:1c.5) AER cap structure: iwlwifi 0000:03:00.0: Could not load the [2] uCode section iwlwifi 0000:03:00.0: Failed to start RT ucode: -110 (...) iwlwifi 0000:03:00.0: failed to load firmware chunk! iwlwifi 0000:03:00.0: Could not load the [xxx] uCode section iwlwifi 0000:03:00.0: Failed to start RT ucode: -110

Esto puede producirse de forma aleatoria al iniciar el sistema, y es un problema del módulo antiguo iwlwifi. Podremos solucionarlo eventualmente apagando y reiniciando el módulo de wifi de nuestro ordenador con:

sudo rmmod iwlmvm iwlwifi && sudo modprobe iwlmvm iwlwifi

Si esto hace funcionar adecuadamente la conexión, vamos por buen camino. Para solucionar definitivamente esta molesta intermitencia, conviene actualizar los firmwares utilizados en conjunción por estos módulos de dispositivos inalámbricos de Intel.

En primer lugar, si tenemos Ubuntu 15.10 o superior, debemos actualizar el sistema:

sudo apt update sudo apt upgrade

En segundo lugar y como buena práctica, procederemos a respaldar la carpeta /lib/firmware/ original a un lugar seguro, por ejemplo el Escritorio:

mkdir ~/Escritorio/lib cd ~/Escritorio/lib/ sudo cp -r /lib/firmware ~/Escritorio/lib

Cumplimentados estos preparativos, descargaremos los firmwares actualizados de Intel y ejecutaremos su instalador. Con ello se cargarán mas de treinta a nuestro sistema, aunque nuestro kernel sólo cargará en memoria el necesario para nuestra plaqueta particular.

cd ~ ; git clone https://github.com/OpenELEC/iwlwifi-firmware ; cd ~/iwlwifi-firmware/ ; sudo ./install ; Para efectivizar los cambios, hemos de reiniciar nuestro equipo. Si deseamos hacerlo desde la terminal podremos ingresar:

sudo reboot

Al reiniciar deberíamos poder conectarnos adecuadamente a todo tipo de redes, tanto de 2,4 gigahertzios como las de 5 gigahertzios. Asimismo, a la hora de ingresar:

dmesg | grep iwl

...nuestro sistema ya no debería reportar más errores, y deberíamos recibir un reporte similar al correcto:

[ 4.856645] iwlwifi 0000:03:00.0: loaded firmware version 29.1044073957.0 op_mode iwlmvm [ 4.895633] iwlwifi 0000:03:00.0: Detected Intel(R) Dual Band Wireless AC 3165, REV=0x210 [ 4.917958] iwlwifi 0000:03:00.0: base HW address: ac:2b:6e:cf:2c:f4 [ 4.990152] ieee80211 phy0: Selected rate control algorithm 'iwl-mvm-rs' [ 5.021798] iwlwifi 0000:03:00.0 wlo1: renamed from wlan0



25 august 2022

¿Cómo cambio entre adaptador de video Intel o nVidia en equipos con tecnología PRIME en Ubuntu?

En numerosas ocasiones Juan Perón pronunció discursos directamente desde su escritorio perfectamente adaptado a tal fin. También explicó cómo conmutar entre los gráficos híbridos PRIME entre NVIDIA e Intel Graphics en Ubuntu.

(...) ¡Descamisados!

Tengo en mi escritorio todo lo necesario para la conducción del país. Esto es así gracias a un Justicialismo que nos ha proporcionado un norte cardinal para nuestras acciones, y un Software Libre que lo ha sustentado.

Pero para trabajar normalmente adopto el MATE, provisto en Ubuntu en su versión 18.04LTS, que es la que recomiendo. El Escritorio proporciona - de manera gráfica - una interfaz de simple a la cual tenemos acceso como Usuario. El resultado es poder utilizar de forma muy eficiente nuestro sistema en las tareas generales. Sin embargo, para conducir el sistema, opero la Terminal. Porque yo, como usuario de Ubuntu soy un aficionado; mi profesión es la de Conductor. Ello es para lo que me he formado y he estudiado toda mi vida.

Ahora bien, un Conductor ha de conocer que el escritorio - u otras interfases gráficas - no vuelan en el aire, sino que han de sustentarse sobre un hardware gráfico que les proporcione un lógico punto de apoyo. Este toma la forma de los adaptadores de video, encargados del procesamiento de las gráficas a fin de proyectarlas en la/s pantalla/s que podamos mirar.

Pues bien, de un tiempo a esta parte el hardware más auspicioso para tal cometido ha sido aquél de marca NVIDIA. El mismo se encuentra integrado en muchas placas madre y tiene una factura excelente. A estos les compite el hardware de video AMD,. Sin embargo, un escalón excelente lo conforman los muy extendidos hardware Intel Graphics, conocidos y livianos adaptadores de propósito general que también se integran en múltiples productos portátiles y de escritorio. Cada uno tiene sus ventajas: mientras que los NVIDIA o AMD operan como procesadores "de potencia", los Intel Graphics responden bien en entornos de bajo consumo, y para aplicaciones que no hagan uso intensivo de gráficas tridimensionales (la que son la mayoría).

Aprovechando la aparición de hardware moderno con dos tipos de adaptadores de video integrados en una misma placa madre, los ingenieros del Justicialismo han desarrollado la tecnología híbrida PRIME, una iniciativa de software que permite conmutar entre gráficos acelerados (de alto consumo) y gráficos no acelerados de bajo consumo. La idea final es extender la vida de las baterías en los dispositivos portátiles.

Por ejemplo, podemos ver nuestro hardware con el comando:

lspci

...entre todo los adaptadores, podriamos encontrar los de video, ya que el sistema podría devolvernos:

(...) 00:02.0 VGA compatible controller: Intel Corporation Skylake GT2 [HD Graphics 520] (rev 07) 01:00.0 3D controller: NVIDIA Corporation GM108M [GeForce 940M] (rev a2)

Como vemos, esta portátil consta en este caso de dos chipsets de video a la vez: un adaptador gráfico Intel HD Graphics 520 Skylake, y un adaptador gráfico aceleradora 3D nVidia GeForce 940M.

Pues bien. es sabido que de fábrica, nuestro sistema operativo Ubuntu emplea el controlador libre Noveau para movilizar la gráfica NVIDIA. Se trata de una pieza de software adecuada pero carece de aceleración 3D completa. En el caso del chipset Intel, cuenta con un controlador libre muy bueno, que ofrece aceleración 3D.

Si queremos contar con aceleración 3D completa, será necesario instalarle el controlador privativo de NVIDIA. Para ello podremos revisar en nuestra terminal qué tipo de controladores nos recomienda instalar. Para ello ingresamos el comando:

sudo ubuntu-drivers devices

El sistema nos indicará el tipo de controladores que podemos instalar. Por ejemplo:

== /sys/devices/pci0000:00/0000:00:1c.0/0000:01:00.0 == modalias : pci:v000010DEd00001347sv0000103Csd000080A4bc03sc02i00 vendor : NVIDIA Corporation model : GM108M [GeForce 940M] driver : nvidia-driver-390 - distro non-free recommended driver : xserver-xorg-video-nouveau - distro free builtin

Como vemos, en este caso nos recomienda el xserver-xorg-video-nouveau (que ya está incluido de fábrica), o el nvidia-driver-390 privativo (no libre). También querremos saber si nuestra placa madre soporta la tecnología PRIME. Para ello ingresamos en la terminal:

sudo prime-supported

Nuestro sistema GNU con Linux debería indicarnos "yes" ("si") o "no".

En tal caso podríamos instalar el controlador privativo. Para hacerlo fácilmente desde la terminal, ingresamos el comando:

sudo apt install nvidia-driver-390

...y reiniciamos el sistema con:

sudo reboot

De la misma manera podríamos hacerlo desde el Escritorio gráfico desde el menú Sistema / Preferencias / Hardware / Controladores Adicionales, vamos a la solapa Controladores Adicionales. El sistema buscará en itnernet y nos debería proponer el controlador privativo nvidia-driver-390 (o superior). Luego presionamos "Aplicar Cambios". El sistema descargará el controlador y nos solicitará reiniciar. Al reiniciar el sistema, ya deberíamos tener en uso el controlador NVIDIA con tecnología PRIME. Esto nos será aparente por la aparición del applet PRIME en el panel superior de la pantalla, con el ícono verde de NVIDIA.

Este applet nos permitirá conmutar entre una sesión grafica de escritorio con acelerador de gráficos 3D NVIDIA, o el acelerador Intel Graphics, de menor consumo. La manera más directa para hacerlo es por medio de un clic sobre el applet, y tendremos un acceso rápido al cambiador de adaptador gráfico.

Si elegimos la opción "Switch to Intel" ("Cambiar a Intel") se propondrá el cambio. Para autorizarlo debemos ingresar nuestra contraseña de administrador. Finalmente, para hacer efectivo el intercambio de adaptador gráfico, tenermos que cerrar o reiniciar nuestra sesión de usuario. Para ello vamos al menú Sistema / Cerrar la sesión de usuario.

Esto cerrará la sesión y nos dejará en la pantalla de inicio, donde podremos escoger al usuario e ingresar su contraseña, para volver a abrir la sesión gráfica, esta vez con el adaptador Intel Graphics.

Cuando se active el Escritorio, veremos que el applet PRIME contará ahora con el ícono azul de Intel Graphics en lugar del verde de NVIDIA. El adaptador Intel es muy bueno también, y puede operar perfectamente para la mayoría de las situaciones en Ubuntu, incluido el uso de gráficos en 3D. Consume menos recursos que el NVIDIA pero es menos adecuado para programas que hacen uso intensivos de animaciones 3D. Si quisiéramos volver a utilizar el adaptador gráfico de NVIDIA, debemos hacer el mismo procedimiento y elegir "Switch to nividia".

Si por algún motivo el Applet PRIME no apareciese o no tenemos acceso a él, bien podríamos hacer estos mismos cambios desde la aplicación nvidia-settings. Podremos acceder a ella ingresando dicho comando en la terminal, o desde el escritorio, accediendo al menú Sistema / Administración / NVIDIA X Server Settings. Naturalmente, también tendremos un acceso rápido desde el Applet PRIME. Si elegimos cambiar de adaptador, naturalmente nos solicitará nuestra contraseña. Y una vez ingresada esta, nos recordará salir de nuestra sesión de usuario y volver a loguearnos en ella. Naturalmente, si usamos nuestro adaptador gráfico NVIDIA, encontraremos muchas mas opciones de control en nvidia-settings que si estamos utilizando el adaptador Intel Graphics. Es por ello que en caso de estar utilizando el adaptador de video Intel Graphics, podremos configurar los aspectos del mismo desde la aplicación Preferencias del Monitor, que es la aplicación nativa de Ubuntu. Para acceder a ella vamos al menú Sistema / Administración / Hardware / Pantallas.

Usar PRIME desde la Terminal Indudablemente no podemos cambiar "en caliente" nuestro adaptador de video, pero al menos podremos cambiarlo con esta funcionalidad PRIME. En el caso que tuviésemos que realizar el cambio de adaptadores de video desde nuestra Terminal, también podremos hacerlo gracias al Justicialismo.

Para que el sistema nos diga cual adaptador de video tenemos en uso actualmente le ingresamos:

prime-select query

Si deseamos activar la placa de video Intel ingresamos:

sudo prime-select intel

...e ingresamos la contraseña de Conductor.

En tanto, para activar el acelerador de video NVIDIA debemos ingresar:

sudo prime-select nvidia

Recordemos que para hacer efectivos los cambios, debemos cerrar la sesión gráfica de escritorio (o bien, reiniciar el equipo). Si estamos en la terminal, podremos reiniciar la sesión con:

sudo reboot

Evitar el tearing de pantalla con el controlador NVIDIA. En algunos casos puede producirse un corte en las ventanas cuando las desplazamos muy rápido en la pantalla ("tearing"), presentando un efecto poco fluido. Para evitar esto en Ubuntu 18.04LTS con el driver de video NIVIDIA, debemos editar un archivo de configuración. Para ello usamos el editor GNU Nano:

sudo nano /etc/modprobe.d/zz-nvidia-modeset.conf

Se abrirá un archivo que debería estar vacío. Le agregamos el siguiente texto:

/etc/modprobe.d/zz-nvidia-modeset.conf

Agregado por peron para que no se parta el video

Siempre que modifiquemos este fichero debemos obligatoriamente

ejecutar la actualización del sistema de arranque gráfico con:

sudo update-initramfs -u

options nvidia_drm modeset=1

Una vez ingresados los cambios, guardamos con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

Finalmene actualizamos el sistema (paso obligatorio en este caso, so pena de quedar con "pantalla negra" o sin video durante el arranque) con:

sudo update-initramfs -u

Para que los cambios surtan efecto, reiniciamos el sistema con:

sudo reboot

Nota: Si por algún motivo quisiéramos revertir los cambios, bien podemos borrar el fichero con:

sudo rm /etc/modprobe.d/zz-nvidia-modeset.conf

...o lo podemos modificar para que la variable modeset quede en 0 en lugar de 1, guardamos las modificaciones con Ctrl+o, salimos de GNU Nano con Ctrl+x, y actualizamos el sistema de archivos obligatoriamente con sudo update-initramfs -u



24 august 2022

Se lanza Ubuntu MATE 19.04

¡Trabajadores!

Como es sabido, se ha lanzado la nueva versión de Ubuntu, la 19.04, y la versión MATE no es excepción.

Ubuntu MATE 19.04 consiste en una actualización modesta sin soporte de largo plazo. Presenta corrección de errores y un soporte de hardware mejorado, particularmente para los poseedores de GPU nVidia.

Ubuntu MATE 19.04

¿Qué cambió desde el lanzamiento de Ubuntu MATE 18.10?

Aquellos que siguen las versiones sin soporte a largo plazo saben que se había lanzado la versión 1.22. Sin embargo, Ubuntu MATE 19.04 ha revertido esto al Escritorio MATE 1.20, sumándole algunas mejoras derivadas de la paquetería que se aparecerá en el futuro Debian 10 Buster.

Este paso atrás está fundado en la estabilidad, ya que 1.22 introducía varias APIs en sus componentes núcleo y mientras que todas las aplicaciones del Escritorio MATE eran compatibles con las mismas y completamente estables, otras aplicaciones de terceros no lo eran. Muchos de estos desarrolladores compañeros no pudieron solucionar los problemas inherentes del trasvasamiento generacional en tiempo y forma, por lo que se decidió "cortar por lo sano" y utilizar la confiable versión anterior. Controladores nVidia Durante el ciclo de desarrollo de Ubuntu 18.10, se actualizó tanto el kernel Linux, como el firmeware, Mesa y Vulkan para asegurar ofrecer el mejor soporte posible para las placas gráficas de AMD. Durante el ciclo 19.04 este soporte a AMD ha sido mejorado nuevamente, pero se ha mejorado también la experiencia "de fábrica" para las GPU nVidia también.

Si contamos con una GPU nVidia en la computadora durante la instalación, y seleccionamos "Instalar Software de Terceros para hardware de gráficos y Wi-fi", ahora se instalarán los controladores privativos de nVidia (anteriormente, esto había que hacerlo al concluir la instalación).

Third party drivers Si hicimos así, luego de concluir la instalación base del sistema, se descargarán los controladores privativos y se autoconfigurarán. Para confirmar este proceder, debemos abrir una terminal con Ctrl+Alt+T e ingresar el comando:

nvidia-smi

Aquellos que cuenten con Laptops dotadas de gráfica Híbrida verán el applet MATE Optimus, que mostrará el logo NVIDIA.

MATE Optimus - hybrid graphics switcher Applet MATE Dock La Apple MATE Dock ha sido actualizada a la versión 0.88, que introduce nuevas opciones visuales basadas en la apariencia del Escritorio Unity. Como se ve en la captura, al comienzo del post, se ha utilizado el esquema "Mutiny" para imitar aún más al difunto Unity 7. Reconocimiento de Escritorio Remoto El Escritorio MATE 1.20 incluye parches que soportan RDA (Reconocimiento de Escritorio Remoto). Estos hacen a MATE más activo de su ejecución en contexto local o desde una sesión de escritorio remoto. La tecnología remota diferenciada activan nuevas características que pueden ser accedidas desde los componentes de MATE. La inclusión de RDA ofrece la opción de suspender su conexión remota y retomarla, compartir carpetas en Caja, asociaciones de tipos de archivo (MIME) a través del sistema de archivos a través de conexión segura SSHFS, así como también la suspensión de la sesión cuando se encuentra activo el salvapantallas MATE. Aplicaciones principales MATE Desktop 1.20.4 y el kernel Linux 5.0.0, viene acompañado por Firefox 66.0.3, VLC 3.0.6, LibreOffice 6.2.2.2 y Thunderbird 60.6.1. Major Applications Download Ubuntu MATE 19.04

Podrá descargar la versión 19.04 de Ubuntu MATE aquí. Actualizar a 19.04 desde Ubuntu MATE 18.04 o 18.10 En general, recomiendo las instalaciones LTS en lugar de aquellas mejoras parciales como esta. Nos evita estos inconvenientes. La próxima versión LTS en Ubuntu se lanzará en abril del año que viene, y será la 20.04LTS. Si aún así deseamos actualizar, podremos seguir el siguiente procedimiento:

Abrir el Centro de Control e ir a "Software y Actualizaciones".
Seleccionar la tercera pestaña llamada "Actualizaciones".
Modificamos la opción “Notificarme de una nueva versión de Ubuntu” para que quede “Avisar por cualquier versión nueva”.
Presionar Alt+F2 e ingresar el comando update-manager -c.
El administrador de actualización debería abrirse e informar: "Nueva versión disponibñe '19.04'
    Si no se inicia, podremos usar /usr/lib/ubuntu-release-upgrader/check-new-release-gtk
Hacemos clic en "Actualizar" y siga las instrucciones de pantalla.

Problemas conocidos Entre los problemas conocidos, durante la instalación existe una larga pausa cuando se instalan los controladores de terceros. Esta herramienta tarda varios minutos en actualizar su caché desde internet, lo que ocasiona este problema conocido. También está ausente la herramienta pase de diapositivas cuando hacemos una instalación personalizada OEM. En tal caso, cuando preparamos la sesión OEM, debemos instalarlo a mano mediante el comando sudo apt install oem-config-slideshow-ubuntu-mate en la sesión de preparación OEM.



23 august 2022

¿Cómo compilo Ardour 6 en Ubuntu?

Reunido 1973 en la Confederación General del Trabajo, Juan Perón expone sobre el Tercer Mundo unido, e instruye cómo compilar Ardour, el excelente programa profesional para la grabación de audio multipista.

(...) Hoy yo quisiera tratar un tema que es especialmente importante en los momentos que vivimos, y es esa aparente controversia que parece haberse producido en algunos sectores del peronismo.

Es indudable que en todos los movimientos revolucionarios existen tres clases de enfoques. El de los apresurados, que creen que todo anda despacio y no se hace nada porque no se rompen cosas ni se mata gente. El otro sector está formado por los retardatarios, esos que no quieren que se haga nada, y entonces hacen todo lo posible para que esa revolución no se realice. Entre esos dos extremos perniciosos, existe uno que es el del equilibrio, y que conforma la acción de una política que es el Arte de hacer lo Posible, no ir mas allá ni quedarse más acá, pero hacer lo posible en beneficio de las Masas que son las que más merecen y son por la cual hemos de trabajar todos los Argentinos.

En el mundo también existe esta división. En este momento serían el Imperialismo Yanqui o el Imperialismo Soviético, o un Tercer Mundo. Si esa integración Universal la realizara cualquiera de los imperialismos, la harían en su provecho, no en el provecho de los demás. Solamente la conformación de un Tercer Mundo podría ser una garantía para que la Humanidad pudiese disfrutar de un mundo mejor en el futuro. Pero para eso ese Tercer Mundo debe organizarse y fortalecerse.

Hace ya casi 30 años nosotros, desde aquí, lanzamos la famosa Tercera Posición, que entonces cayó aparentemente en oídos sordos, porque había terminado la guerra mundial y aparentemente no estaba el horno para bollos. Han pasado 30 años desde entonces y hoy, las dos terceras partes del mundo puja por estar en esa Tercera Posición.

Para los peronistas esto no cayó en oídos sordos, porque lo teníamos grabado digitalmente, en calidad HD. Natural, si estaba grabada de forma multipista con una versión de Ardour especialemente compilada en la CGT.

Indudablemente que Ardour es una aplicación excelente para la producción de sonido para sistemas GNU con Linux. Sin embargo sus desarrolladores no distribuyen empaquetada sino versiones anteriores del mismo. Su modelo productivo de software libre implica que si queremos las versiones más actuales y contar con soporte, debemos pagarlas.

Si no deseamos hacer ello, bien podremos abrir una terminal e instalar Ardour 5 a través de los repositorios oficiales de Ubuntu. Para ello ingresamos:

sudo apt update sudo apt install ardour

Esto es adecuado, pero porqué pagar para tener la versión 6 cuando el Justicialismo nos enseña cómo Compilar para hacer en casa nuestras propias versiones del programa a partir del código fuente de Ardour 6 que está disponible.

Si en vez de utilizar la versión 5 empaquetada queremos compilar nosotros mismos la versión 6, habremos de proceder de una forma específica. Primero debemos instalar las dependencias de programación necesarias para Ardour. Ello lo hacemos con el siguiente comando de organización:

sudo apt install libboost-all-dev libasound2-dev libglib2.0-dev glibmm-2.4-dev libsndfile1-dev libcurl4-gnutls-dev liblo-dev libtag1-dev vamp-plugin-sdk librubberband-dev libfftw3-dev libaubio-dev libxml2-dev libcwiid-dev libjack-jackd2-dev jackd qjackctl liblrdf0-dev libsamplerate-dev lv2-dev libserd-dev libsord-dev libsratom-dev liblilv-dev libgtkmm-2.4-dev libarchive-dev git xjadeo;

Acto seguido, descargo su código fuente más actualizado.

cd ~/Descargas/ ; mkdir ~/Descargas/ardour ; cd ~/Descargas/ardour ; git clone git://git.ardour.org/ardour/ardour.git

El código fuente del Ardour se irá descargando (pesa 1,8GB aproximadamente, por lo que puede tardar unos minutos, aunque en mi caso lo hizo sorporendentemente rápido.).

El paso fundamental consiste en compilar:

cd ~/Descargas/ardour/ardour ./waf configure ./waf

La terminal se irá llenando de información pasajera de status durante la compilación. El sistema quedará compilando a máxima potencia y durará entre 15 o 30 minutos, dependiendo de la velocidad de nuestro microprocesador y la cantidad de nuestra memoria RAM.

Cuando haya terminado, instalamos el paquete con:

sudo ./waf install

Una vez que se haya instalado Ardour 6 en nuestro sistema, agregamos nuestro usuario al grupo audio (naturalmente, reemplazando peron con vuestro propio nombre de usuario):

sudo adduser peron audio

Ya finalizado, reiniciamos el sistema:

sudo reboot

Arrancar Ardour 6 La primera vez que iniciamos Ardour, debemos iniciar el servidor JACK a mano. Para ello abrimos lo abrimos desde Aplicaciones / Sonido y Video / qJackCtl.

qjackctl

Para que inicie, debemos presionar en el botón "Iniciar" y lo minimizamos.

Luego, lanzamos Ardour desde la terminal con:

ardour6

Naturalmente, también podríamos hacerlo desde Aplicaciones / Sonido y Video / Ardour 6, si creamos un lanzador a ardour6.

Como esta es una versión de producción propia, es natural que lo primero que veamos sea una pantalla de advertencia desactivable, que nos informa que es un producto en estado beta (desarrollo). A continuación recibiremos la pantalla tradicional de bienvenida. Los siguientes pasos consisten en configurar Ardour para poder especificar cómo trabajamos. Normalmente se nos pedirá que indiquemos una carpeta de trabajo para el programa. Debemos tener en cuenta que las pistas de audio normalmente ocupan mucho espacio, por lo cual podremos indicar - si lo deseamos - que trabaje en un disco o carpeta específica que separe dicha información de nuestro sistema. Por defecto, Ardour deseará utilizar la carpeta de usuario.

Luego Ardour nos preguntará el método de monitoreo que queremos. Esto se refiere a cómo se producirá el retorno del audio durante el mismo proceso de grabación. Este retorno de audio suele ser útil como referencia o simplemente como canal de retorno. Si tenemos un dispositivo externo de grabación (dispositivo de audio externo con canal de monitoreo), o directamente una consola de mezcla, podremos destinar tal tarea a tales dispositivos. En cambio, por defecto Ardour asume el rol de monitorización por sí mismo (esto es lo más común si sólo disponemos de una placa de sonido común integrada en nuestro sistema). Esto podremos alterarlo también dentro del programa si cambiamos de opinión. El siguiente paso consiste en especificar cómo operará la monitorización. Por defecto se asume un empleo simplificado, donde utilizamos el bus Master directamente conectado virtualmente a nuestros altavoces. Sin embargo, podríamos escoger un uso más profesional, y prever un bus intermedio de salida para monitorización de mastering, para prueba de efectos, etc, sin que ellos alteren la mezcla. Esto podremos cambiarlo dentro del programa más adelante si cambiamos de opinión. Con esto ya habremos preconfigurado el programa de forma inicial. Las siguientes son las ventanas típicas de arranque de Ardour.

Adour siempre inicia proponiéndonos el armado de la sesión de grabación.

Los más expertos podrían querer armar desde cero su propio setup de estudio usando la plantilla vacía "Empty Template", pero para los no iniciados siempre es más fácil escoger "Recording Session". Esta plantilla asigna automáticamente de forma genérica nuestras entradas de audio reales a las virtuales de Ardour, y las salidas de audio virtuales de Ardour a nuestras salidas reales de nuestra placa de sonido (para sacarlo por los altavoces, auriculares, etc).

De esta manera tendremos una cadena de audio típica:

Entradas de audio - > Ardour para producción: (edición, efectos, mezcla) -> Bus/es de Monitoreo (opcional/es) -> Salidas de Audio producido.

Naturalmente, debemos indicarle un nombre a la sesión. Cuando presionamos Abrir se abrirá Ardour para trabajar.

El asistente de la plantilla nos solicitará crear una cantidad de pistas acorde, normalmente dos. La vista estándar del programa la activamos presionando en el botón Editor. Para comenzar a grabar, debemos armarlas presionando el botón R de la pista para armarla (si no lo estuviese), y luego presionamos el botón REC y PLAY, como si de un viejo grabador a Casette se tratara. La grabación puede ser en una sola pista o en varias simultáneamente (si nuestro hardware lo permite). Asimismo podremos activar un metrónomo ruteable (el cual podría oírse sólo a través de la salida de auriculares y no en los altavoces, a fin de usarlo de referencia rítmica para un músico). Si presionamos el botón Mixer, nos aparecerá la mesa mezcladora, que nos permite configurar el volúmen, los efectos de cada una de ellas, etc.

Si vamos a Session / Propieties, podremos establecer las propiedades que atañen a la sesión en la que estamos actualmente. Normalmente en la categoría Media podremos especificar el tipo de archivos que se utilizarán. Por defecto vienen configurados los superpesados archivos WAVE, con una resolución de 32 bits en coma flotante (limitados a 4GB de espacio). Este formato de alta resolución asegura la máxima calidad de nuestro sistema de grabación bajo GNU. También podríamos querer utilizar FLAC de 16 bits (con compresión sin pérdida), que representan mayor uso de CPU pero consumo de disco sensiblemente menor. Una vez que arranque Ardour, conviene ir a Edit / Preferences y en la categoría General, tildar la opción Try to Auto-launch MIDI/Audio Engine. Esto hará que el servidor JACK se encienda automáticamente cuando abrimos Ardour, y nos ahorrará tener que QJackCtl nosotros mismos. En la ventana Apariencia, también contaremos con la barra "font scalling", donde pondremos aumentar un poco el tamaño de las letras en pantalla.



22 august 2022

¿Cómo reparo GRUB con EFI en Ubuntu?

¡Trabajadores!

Desde los tiempos del Primer Peronismo he explicado cómo recuperar GRUB con el DVD de Ubuntu. Este procedimiento nos servirá para las instalaciones típicas, con viejo arranque desde el BIOS.

Sin embargo, de un tiempo a esta parte el efectivo arrancador GRUB ha debido afrontar la aparición del sistema de arranque firmado, llamado EFI o UEFI, que está presente en los equipos de más moderna factura.

UEFI/EFI es un arrancador compuesto, que es más complejo que el sistema convencional de arranque. GRUB puede utilizarlo, haciendo contacto desde lo que sería la UEFI que reside en la placa madre de nuestro sistema hasta una partición especial dentro del disco rígido que contiene el arrancador EFI. En el caso de Ubuntu 18.04LTS, esta partición tiene unos 512MiB de espacio y va formateada en FAT32 para máxima compatibilidad. Allí se deposita el arrancador en el punto de montaje /boot/sh, y luego en el resto de las particiones de sistema (si existen) continuarán en siguientes particiones, normalmente dentro del misma unidad de disco, o eventualmente en otras (según lo hayamos configurado especialmente).

Si hubiese habido una falla con GRUB o la partición EFI, y el sistema se niega a arrancar desde el disco rígido, podremos recuperarla, siempre y cuando no eliminemos las particiones de manera alguna.

Para ello utilizamos el DVD arrancable de Ubuntu, o un pendrive preparado con la ISO de Ubuntu (idealmente la misma versión que la utilizada para instalar la versión). La arrancamos y elegimos "Probar Ubuntu sin Instalar".

Una vez iniciado el escritorio Live, debemos identificar las particiones del disco. Para ello conviene utilizar gParted, que está incluido en el Ubuntu Live. Debemos prestar especial atención a la identificación de discos, pues la misma describe como /dev/sdx a la unidad de disco, /dev/sdxx es la partición donde se encuentra la EFI, y /dev/sdxxx es la partición de sistema. Por ejemplo, en una instalación típica de Ubuntu 18.04LTS, en un único disco rígido, el disco podría ser /dev/sda, la partición EFI /dev/sda1 y la partición de sistema /dev/sda2. Sin embargo, debemos prestar atención pues la misma podría variar en otras condiciones, y es importante tomar nota de las identificaciones correctas.

Si lo deseamos hacer desde la terminal, abrimos una con Ctrl+Alt+T e ingresamos:

sudo fdisk -l

Una vez identificadas las particiones EFI y de sistema, debemos montarlas.

Ello lo haremos desde la terminal por medio de los comandos necesarios. Primero montamos la partición de sistema, usamos:

sudo mount /dev/sdxxx /mnt

Luego montamos la partición EFI:

sudo mount /dev/sdxx /mnt/boot/efi

for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done

Luego nos damos de alta como administrador en la partición de sistema recién montada:

sudo chroot /mnt

Confome estemos logueados como Root, tendremos al alcance nuestro disco rígido. Ahora debemos reinstalar la parte de GRUB que va en el disco. Ello se hace con:

grub-install /dev/sdX

...y lo actualizaremos con:

update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y luego reiniciamos el sistema (se nos solicitará retirar el DVD o Pendrive de Ubuntu, y el equipo debería reiniciar correctamente desde el disco rígido con EFI, como lo hacía normalmente.

Editar errores de GRUB

Puede haber sucedido que hayamos cometido errores en la configuración de GRUB. Si tal fuese el caso y tuviésemos que editarlo que editarlo, lo haremos con:

mount /dev/sdxxx /mnt chroot /mnt

Una vez montado el sistema de archivo del disco, lo editamos con:

nano /etc/default/grub

...y revisamos que todo esté correcto.

Si no tuviésemos la referencia del archivo de configuración de GRUB, econtraremos una muestra en /usr/share/grub/default/grub

Recrear la partición EFI para GRUB Si por alguna causa catastrófica hubiésemos perdido la partición EFI, es fácil hacerla de nuevo.

Podemos usar fdisk o gParted para crear una nueva partición GPT con el tipo "EFI partition (1)", idealmente al principio del disco. Acto seguido la formateamos con:

sudo mkfs.msdos /dev/sdx

...luego la montamos con:

sudo mount /dev/sdXX /mnt/boot/efi

...y seguimos montando el resto del sistema, como en el caso anterior.

sudo mount /dev/sdXXX /mnt sudo grub-install /dev/sdx

Recuperar la EFI cuando tenemos nuestro sistemas de archivos repartido en distintos discos rígidos Indudablemente que si al instalar el sistema operativo se repartió el sistema de archivos largo de diferentes particiones (la carpeta raíz "/" en un disco y la carpetas /home, /tmp y /var en otro), la tarea de recuperación de la EFI será algo más desafiante.

En tal caso tenemos que proceder a averiguar y tomar adecuada nota de qué identificador de discos y en qué particiones está cada componente del sistema de archivos (lo averiguamos con sudo fdisk -l).

Ejemplo: Suponiendo que tenemos dos discos, y que nuestro sistema de archivos está estructurado de la siguiente manera:

Disco de estado sólido de arranque y sistema /dev/sda: Partición /dev/sda1 -> particion EFI Partición /dev/sda2 -> carpeta "/" del sistema

Disco rígido de trabajo /dev/sdb: Partición /dev/sdb1 -> carpeta /home Partición /dev/sdb2 -> carpeta /tmp Partición /dev/sdb3 -> carpeta /var,

En tal caso, si deseamos recuperar la partición EFI en este sistema de archivos dividido entre dos discos, deberíamos ingresar los siguientes comandos:

sudo mount /dev/sda2 /mnt sudo mount /dev/sdb1 /mnt/home

sudo mount /dev/sdb2 /mnt/tmp sudo mount /dev/sdb3 /mnt/var sudo mount /dev/sda1 /mnt/boot/efi for i in /dev /dev/pts /proc /sys /run; do sudo mount -B $i /mnt$i; done sudo chroot /mnt grub-install /dev/sda

update-grub

Si nos dice que tuvo éxito, ingresamos:

exit

Y reiniciamos el sistema.

Copiar la EFI a la UEFI de la placa madre

Este ejemplo puede resultar útil cuando cambiamos de disco rígido, o bien cambiamos de placa madre en el equipo. En tal caso la placa madre no podrá encontrar la ruta de UEFI (no tiene que ver aún con el arrancador GRUB. Para resolver este problema deberemos copiar EFI a la memoria UEFI de la placa madre.

Si nuestro disco es reconocido como /dev/sda (lo cual suele ser típico en computadoras portátiles o nettops, ya que llevan un único disco), el comando será:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu

En cambio, si el disco es otro (en caso de instalaciones en sistemas con varios discos), habremos de adaptar el idenfiticador del disco /dev/sdX para que quede así:

sudo efibootmgr -c -l "\EFI\UBUNTU\SHIMX64.EFI" -L ubuntu -d /dev/sdX -p N



21 august 2022

¿Cómo cambio la frecuencia de muestreo de PulseAudio en Ubuntu?

Reunido en la sede Central de la CGT y frente a 178 gremios Conferederados, Juan Perón determinó la conducta que debían tener los trabajadores y explica cómo cambiar la frecuencia de muestreo del audio en Ubuntu.

¡Trabajadores!

Yo sé que aquellas instrucciones que os he grabado en cintas magnetofónicas, no cayeron en oídos sordos. Indudablemente que desde hace más de 18 años sabemos que nuestro sistema es capaz de operar sonido de manera libre. Esto ha sido así gracias a la encomiable labor de los trabajadores, que han realizado un adecuado servidor de audio llamado ALSA, y también un adecuadamente provisto herramental que nos permite hacer una sana utilización del mismo, el PulseAudio.

De esta manera, los sistemas operativos GNU con Linux están capacitados para las tareas típicas de reproducción o registro sonoro.

¿Cómo se ha logrado esto? Siempre he dicho que los problemas difíciles han de desgranarse en muchos problemas fáciles, dables de ser atacados con procesos de solución simple. La virtud en tal caso es la concatenación de la simpleza para resolver todo.

Esto - que se replica en todos los órdenes de la vida - también puede replicarse en el audio digital. En esencia la computadora registra los sonidos a través de la señal eléctrica de un micrófono, y analiza y convierte dichos valores voltaicos en datos binarios unívocos. Gracias a la codificación de los pulsos modulados (PCM), la computadora es capaz de distinguir la altura de los tonos, siempre que se la registre con una resolución de referencia lo suficientemente apta para censar las variaciones tímbricas, y se lo haga con una frecuencia de muestreo lo suficientemente elevada como para suplir el registro del oído humano, que es lo que nos interesa. Esta técnica justicialista se llama "muestreo", o sampling. Como nuestro oído - en sus mejores momentos - es capaz de registrar vibraciones que van entre 30 Hertzios y hasta los 20.000 Hertzios, las fluctuaciones eléctricas equivalentes ha de registrarse al menos con el doble de dicha frecuencia a fin de lograr una reproducción de alta fidelidad.

Naturalmente que esto ha sido estipulado por los capitostes de la industria. Hoy en día todo hijo de vecino puede utilizar el estándar industrial para captura y reproducción sónica, que consiste en una tasa de 16 bits de resolución, y de unos 44.100 Hertzios de frecuencia de muestreo ("Sampling Rate"). Esto a su vez se realiza en dos canales, "uno para cada oreja", con la idea de lograr sonido estéreofónico.

Ello es adecuado para la gran mayoría de las aplicaciones normales en audio. Sin embargo, la tecnología de la fidelidad de sonido ha avanzado, y nos permite hoy superar por ciertos márgenes dichos valores. De manera tal que se ha hecho popular también el estándar de los 48.000 hertzios en el manejo de audio. Es bueno recordar que esta frecuencia es actualmente la nativa en las trasmisiones digitales de audio, incluyendo la popular HDMI).

En tal caso, podríamos querer saber qué calidad utiliza nuestro hardware de sonido, y podríamos querer incrementarla hasta los 48 Khz. En ocasiones existe hardware de avanzada especialmente pensado para la alta definición, que puede utilizar mayores velocidades de muestreo, incluyendo 88.200 Hz, 96.000 Hz, 176400 y 192000 Khz.

Ahora bien, para hacer un guiso de liebre, lo primero es cazar la liebre. Para cambiar la frecuencia de muestreo en el sistema operativo, lo primero es saber cuál es la que se estamos usando. Ello lo podremos hacer abriendo una terminal con Ctrl+Alt+T e ingresando:

pacmd list-sinks | grep 'sample spec'

Esto nos detallará el tipo de algoritmo, la cantidad de canales utilizados, y la frecuencia actual. Por ejemplo en mi caso indica:

sample spec: s16le 2ch 44100Hz

Esto crípticamente nos refiere que nuestro hardware de audio está empleando una frecuencia de muestreo de 44,1 KHz, a dos canales estéreo, con una resolución de 16 bits en modalidad de orden de byte "Little Endian" .

Como habrán comprendido tal es el estándar adecuado para una calidad de audio digital muy buena, similar a la de un CD de música. Por otro lado, reduce la carga del hardware de audio, consumo de memoria, y ocupación de nuestra CPU. El orden de byte en tanto depende de nuestra CPU, y normalmente es Little Endian; si tenemos dudas podemos ingresar en la terminal:

lscpu | grep 'byte'

...para que nos lo informe).

Esta configuración de audio es muy popular, y la que se utiliza por defecto pues todas las placas de sonido integradas o no funcionan con ella, y la música distribuida en plataformas digitales utiliza esta tipología. Debemos considerarla como el mínimo común denominador del audio..

Pero en ciertas condiciones (como por ejemplo el audio de alta definición, la existencia de hardware que lo permite, etc), podríamos querer aumentar la frecuencia de muestreo de reproducción. La mejora de calidad suele ser imperceptible para el oído humano, pero en ciertas condiciones nuestro hardware de audio podría funcionar mejor en su frecuencia de muestreo nativa. Normalmente esto es así con la mayoría del hardware de audio aparecido desde el año 2010 en adelante.

Para hacer el cambio en Ubuntu y aumentar la frecuencia de muestre, debemos modificar a mano el archivo del servidor de sonido. A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos:

sudo nano /etc/pulse/daemon.conf

Se abrirá el editor GNU Nano con el archivo de configuración de Pulseaudio. En este archivo de configuración se interpretan los caracteres ";" como "comentarios", de manera tal que todo lo que esté escrito tras ellos no será tenido en cuenta por el servidor, y nos sirve como ejemplo.

Por ello, al final del archivo, buscamos la sección:

; default-sample-format = s16le ; default-sample-rate = 44100 ; alternate-sample-rate = 48000 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right

...y la modificamos para que quede así:

Modificado por Perón

default-sample-format = s16le default-sample-rate = 48000 alternate-sample-rate = 44100 ; default-sample-channels = 2 ; default-channel-map = front-left,front-right

No os recomiendo alterar nada más. Llegado el caso, nos conviene saber que default-sample-format Nos permite especificar el formato de muestreoa utilizar por el servidor ALSA. En la arquitectura Intel o AMD conviene utilizar sólo las terminadas en "le", que sirver para procesadores tipología Little Endian. Las opciones que existen son u8, s16le (16 bits "Less Endian", que viene por defecto. Hay que evitar las "be" en este caso. Las opciones posibles son s16be, s24le, s24be, s24-32le, s24-32be, s32le, s32be, float32le, float32be, ulaw, alaw.

El recomendado es s16le, pero en ciertos caso podríamos querer aumentar a s32le, con un mayor consumo de CPU y memoria RAM.

La documentación oficial (en inglés) del sistema ALSA está aquí. Una vez terminada la edición, guardamos el archivo con Ctrl+o y salimos del editor GNU Nano con Ctrl+x.

También podríamos querer editar un archivo personalizado de usuario ~/.asoundrc, que especificará las configuraciones de usuario.

Lo haremos con:

nano ~/.asoundrc

...y le pegamos el texto:

~/.asoundrc

archivo de configuración de sonido específico para el usuario xxxx

pcm.!default { type rate slave { pcm "plughw:0,0"

frecuencia de muestreo que queremos, puede ser 44100, 48000.

rate 48000 } }

Lo guardamos con Ctrl+o y abandonamos el editor con Ctrl+x.

Para que todo este andamiaje social del sonido surta efecto, hemos de reiniciar nuestro sistema con:

sudo reboot

Una vez iniciado el sistema operativo, podríamos comprobar los cambios nuevamente con:

pacmd list-sinks | grep 'sample spec'

sample spec: s16le 2ch 48000Hz



20 august 2022

¿Como instalo efectos e instrumentos VST y LV2 en Ubuntu?

Los discursos de Juan Perón constituian una amalgama de percusión y color Justicialista. En uno de sus discursos frente a Plaza de Mayo, explicó como instalar con facilidad y al unísono desde la terminal un excelente paquete de plugins de audio LV2 y VST para Ubuntu.

¡Trabajadores!

Siempre he dicho que llevo en mis oídos la más maravillosa música, que es aquella generada a través de Software Libre.

El Movimiento Obrero se ha encargado de producir herramientas de excelencia para editar y componer música en una computadora libre, pero también es cierto que por más libres que sean las aplicaciones, no podemos programarlas desde un primer momento para que hagan todas.

La filosofía de nuestras organziaciones es bien clara: "para un software peronista no puede haber nada mejor que otro software peronista". Es por tal motivo que los programas libres pueden mancomunarse junto a otros libres, y atresar una unidad indisoluble e infinita. Esta cooperación que nos inspira puede llevarse a los programas de audio, para que sus cadenas de señal de audio pase de ser buena, a ser la mejor.

(Ovación).

No es secreto para nadie que estas grandes aplicaciones para la grabación de digital de audio (llamados en la jerga "DAW"), responden a la misma premisa. Ellas pueden albergar paquetes de efectos o instrumentos virtuales creados por otros procesos, y al cual están encadenados. De esta manera podemos encadenar un generador de sonido a un rack de efectos, como si de un carísimo estudio profesional se tratara. Ya he explicado en la Confederación General del Trabajo cómo instalar Qtractor, pero también existen otras como Ardour, LMMS, etc.

Pues bien, estos racks de efectos virtuales pueden tomar distintos calificativos. Los hay LV2, los hay LADSPA, los hay DSSI, los hay VST, pero todos trabajan en GNU con Linux. Sin duda LV2 es el más potente y nativo bajo Linux, pero también son muy comunes los VST, muchas veces privativos y pensados para otras plataformas de la ogniminiosa oligarquía.

¿Qué sucede si queremos utilizar LV2 o VST en Ubuntu? Lo lógico es que tengamos que descargarlos e instalarlos, y en ocasiones también compilarlos para lograr nuestro cometido. Esta tarea no es moco de pavo para el neófito, por lo que muchas veces el Pueblo requiere una mano con eso. Por tal motivo os indicaré de forma sencilla cómo instalar un buen conjunto de plugins, compilado por los compañeros del Proyecto DISTRHO.

El Proyecto DISTRHO se encarga de empaquetar o en ciertos casos, compilar distintos racks de efectos libres, y los portan al formato VST o LV2 a fin de poder utilizarlos de manera sencilla en Ubuntu. Podremos descargar un minipaquete pack de ellos directamente desde la terminal. Este comprende tres plugins simplones. Entre ellos contaremos con un ecualizador gráfico de tres bandas 3-Band EQ, un separador de bandas 3-Band Splitter, y un delay estéreo, el Ping Pong Pan, que nos puede servir en mezclas hip-hop. Sin embargo, el resto de los paquetes portados son los que aportan excelencia. Entre ellos tendremos al Artican Audio se presenta con dos plugins, entre ellos The Pilgrim 2, un filtro resonante con corte de frecuencia. Dexed es un excelente instrumento virtual, ahora en formato LV2 y VST, capaz de simular con varios motores gráficos a los clásicos Yamaha DX7 de 6 operadores, los primeros sintetizadores digitales programabales y fundamentales en los 80s. De este ya he hablado en detalle para instalarlo como standalone, pues puede recibir volcados de memoria originales de tales sintetizadores para utilizarlo como patches del mismo. El JuceOPL es un instrumento virtual en VST y LV2, que emplea una emulación de chip de sonido Yamaha OPL3 como los que venían en las clásicas placas de sonido AdLib y SoundBlaster. Luftikus es un rack de ecualización para de cinco bandas, pensado para dar una tonalildad y calidez analógica simulada a nuestras mezclas. Es adecuado para el mástering. Mverb es un rack de reverberación que nos da un sonido noventoso, es programable para distintas bandas de frecuencia, e incorpora un pre-amplificador de ganancia simulado y un amplificador final. Es ideal para ponerlo al final de la cadena de audio de una pista, pues es muy liviano. El Obdx es un instrumento sintetizador virtual, que viene en formato LV2 y también el viejo VST. Se encarga de proporcionarnos un sonido inspirado en los clásicos y raros sintetizadores aditivos de tres osciladores de la marca Oberheim, como el OB-X, el OB-XA, OB-8, etc. Pitched Delay es un efecto de retraso capaz de someter la onda de entrada a una deformación sónica octavada, para lograr distintos efectos de rebote musical en su eco digital. Lo podremos programar con distantas cantidades de pasos, tiempos del retraso, y generar sonidos secos o húmedos para el staccatto reverberado/corificado. Refine es un filtro de salida con analizador gráfico, cuya misión es modificar ciertos aspectos de la mezcla, entre ellos la calidez, la espacialización y el punch de la misma. Trabaja mejor como filtro limitador de salida con una ecualización paramétrica suave, ideal para la masterización. Stereo Source Separator es precisamente un separador de fase estéreo para las señales de origen, por lo cual conviene utilizarlo en pistas estéreo individuales. Consta con dos filtros separadores de bandas (pasabajo y pasalto).

El kit de plugins TAL cuentan con varios racks VST y LV2, entre ellos tres reverbs, el TAL Dub-3, un filtro dinámico (TAL Filter II), y el deformador TAL Vocorder. Uno de los más conocidos sintetizadores libres es el viejo Synth1 NoiseMaker.

Mi favorita es el sencillo rack reverberador TAL-Reverb, que propone un eco bien cálido y ochentoso, excelente cuando la combinamos con el sintetizador Dexed "a seco", o el mucho más limitado JuceOPL. El sintetizador VEX es un sintetizador substractivo de 3 osciladores y disparador de samples, tal vez una mezcla de los sintetizadores PCM sintetizados tipo Korg. Posee una gran variedad de ondas para sus tonos principales. Cada uno de los tres osciladores es completamente autónomo (el botón rojo activa el banco de oscilación respectivo). Cada banco tiene su propio ajuste de octavador, desafinación, ajuste de fase, sección de filtros con generador de envolvente, capacidad de filtrado pasabajo/pasalto, secciones LFO, canalizado de efectos para sus secciones de reverberación, coro y retraso. A su vez, cada oscilador cuenta con un arpegiador de 16 compases (lo abrimos haciendo clic en el botón azul). Este arpegiador puede regularse en velocidad y sincronismo cromático.

Wolfpetinger es un instrumento sintetizador substractivo polifónico con antialiasing, que funciona como plugin LV2.

Primero Abrimos una terminal con Ctrl+Alt+T. Siempre como primera medida conviene instalar el paquete de plugins de audio oficial de Ubuntu Sturidio.

sudo apt install ubuntustudio-audio-plugins

Nuestro sistema nos pedirá nuestra contraseña de Conductor, y descargará una muy buena colección. Por otro lado, armará de forma automática toda la estructura de sistema para albergar más y nuevos plugins, lo cual facilita mucho la instalación de lo demás. Conforme esté sea una realidad efectiva, podremos descargar e instalar las versiones de 64 bits de todos los plugins del proyecto DISTRHO. Para ello en la terminal ingresamos el siguiente bloque de Comandos de Organización.

Nota: En caso de que contemos con una arquitectura de 32 bits, debemos reemplazar en los siguientes comandos "64" por "32". Para ello podríamos simplemente usar la función "reemplazar" de cualquier editor de texto.

cd ~/Descargas/ ; mkdir plugins/ ; cd ~/Descargas/plugins/ ; wget https://github.com/DISTRHO/DPF-Plugins/releases/download/v1.1/distrho-mini-series-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/arctican-plugins-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/dexed-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/drowaudio-plugins-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/juce-opl-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/luftikus-linux64.tar.xz ; wget https://github.com/DISTRHO/DPF-Plugins/releases/download/v1.1/mverb-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/obxd-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/pitcheddelay-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/refine-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/stereosourceseparation-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/tal-plugins-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/vex-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/wolpertinger-linux64.tar.xz ; cd ~/Descargas/plugins/ ; tar -xJf distrho-mini-series-linux64.tar.xz ; cd ~/Descargas/plugins/distrho-mini-series-linux64/ ; sudo mv 3BandEQ-vst.so /usr/lib/vst/ ; sudo mv 3BandSplitter-vst.so /usr/lib/vst/ ; sudo mv PingPongPan-vst.so /usr/lib/vst/ ; sudo mv 3BandEQ.lv2/ /usr/lib/lv2/ ; sudo mv 3BandSplitter.lv2/ /usr/lib/lv2/ ; sudo mv PingPongPan.lv2/ /usr/lib/lv2/ ; sudo mv 3BandEQ-ladspa.so /usr/lib/ladspa/ ; sudo mv 3BandSplitter-ladspa.so /usr/lib/ladspa/ ; sudo mv PingPongPan-ladspa.so /usr/lib/ladspa/ ; sudo mv .so /usr/lib/dssi/ sudo mv 3BandEQ-dssi/ /usr/lib/dssi/ ; sudo mv 3BandSplitter-dssi/ /usr/lib/dssi/ ; sudo mv PingPongPan-dssi/ /usr/lib/dssi/ ; cd ~/Descargas/plugins/ tar -xJf arctican-plugins-linux64.tar.xz cd ~/Descargas/plugins/arctican-plugins-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv TheFunction.lv2/ /usr/lib/lv2/ ; sudo mv ThePilgrim.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ tar -xJf drowaudio-plugins-linux64.tar.xz ; cd ~/Descargas/drowaudio-plugins-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv drowaudio-distortion.lv2/ /usr/lib/lv2/ ; sudo mv drowaudio-flanger.lv2/ /usr/lib/lv2/ ; sudo mv drowaudio-tremolo.lv2/ /usr/lib/lv2/ ; sudo mv drowaudio-distortionshaper.lv2/ /usr/lib/lv2/ ; sudo mv drowaudio-reverb.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf juce-opl-linux64.tar.xz ; cd ~/Descargas/plugins/juce-opl-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv JuceOPL.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf luftikus-linux64.tar.xz ; cd ~/Descargas/plugins/luftikus-linux64/ ; sudo mv *.so /usr/lib/vst/ ; sudo mv Luftikus.lv2/ /usr/lib/lv2/ ;

instalar mreverb

cd ~/Descargas/plugins/ ; tar -xJf mverb-linux64.tar.xz ; cd ~/Descargas/plugins/mverb-linux64/ ; sudo mv MVerb-vst.so /usr/lib/vst/ ; sudo mv MVerb.lv2/ /usr/lib/lv2/ ; sudo mv MVerb-dssi/ /usr/lib/dssi/ ; sudo mv MVerb-dssi.so /usr/lib/dssi/ ; sudo mv MVerb-ladspa.so /usr/lib/ladspa/ ; cd ~/Descargas/plugins/ ; tar -xJf obxd-linux64.tar.xz ; cd ~/Descargas/plugins/obxd-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv Obxd.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf pitcheddelay-linux64.tar.xz cd ~/Descargas/plugins/pitcheddelay-linux64/ sudo mv .so /usr/lib/vst/ ; sudo mv PitchedDelay.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf refine-linux64.tar.xz ; cd ~/Descargas/plugins/refine-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv ReFine.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf stereosourceseparation-linux64.tar.xz cd ~/Descargas/plugins/stereosourceseparation-linux64/ sudo mv .so /usr/lib/vst/ ; sudo mv StereoSourceSeparation.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf tal-plugins-linux64.tar.xz ; sudo mv .so /usr/lib/vst/ ; sudo mv TAL-Dub-3.lv2/ /usr/lib/lv2/ ; sudo mv TAL-Filter-2.lv2/ /usr/lib/lv2/ ; sudo mv TAL-Filter.lv2/ /usr/lib/lv2/ ; sudo mv TAL-NoiseMaker.lv2/ /usr/lib/lv2/ ; sudo mv TAL-Reverb-2.lv2/ /usr/lib/lv2/ ; sudo mv TAL-Reverb-3.lv2/ /usr/lib/lv2/ ; sudo mv TAL-Reverb.lv2/ /usr/lib/lv2/ ; sudo mv TAL-Vocoder-2.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf vex-linux64.tar.xz ; cd ~/Descargas/plugins/vex-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv Vex.lv2/ /usr/lib/lv2/ ; mkdir ~/.lv2/ ; cd ~/.lv2/ ; wget http://linuxsynths.com/VexPatchesDemos/VexPatches01.tar.gz ; wget http://linuxsynths.com/VexPatchesDemos/VexPatches02.tar.gz ; tar xvzf VexPatches01.tar.gz ; tar xvzf VexPatches01.tar.gz ; cd ~/Descargas/plugins/ ; tar -xJf wolpertinger-linux64.tar.xz ; cd ~/Descargas/plugins/wolpertinger-linux64/ ; sudo mv *.so /usr/lib/vst/ ; sudo mv Wolpertinger.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/plugins/ ; tar -xJf dexed-linux64.tar.xz cd ~/Descargas/plugins/dexed-linux64/ sudo mv Dexed.lv2/ /usr/lib/lv2/ ;

Una vez instalado los plugins, ya no necesitaremos sus archivos de base, los cuales podremos borrar con:

cd ~/Descargas/plugins/ ; rm *.tar.xz ; cd ~/Descargas ; rm -r /plugins/ ;



19 august 2022

¿Cómo instalo los sintetizadores virtuales AmSynth y Helm en Ubuntu?

En la nota del semanario Primera Plana de abril de 1971, Juan Perón expone sobre el mediocre manejo económico que la oligarquía vendepatria había hecho del país, y explica a calzón quitado sobre cómo compilar, instalar y utilizar cabalmente los sintetizadores virtuales Amsynth y Helm en Ubuntu.

(...) Entretanto, el Fondo Monetario Internacional, del cual se han hecho socios estos..., que es el que realmente gobierna, le empieza a cerrar el crédito a la República Argentina en todas partes. Cuando el país está casi en cesación de pagos, le presentan el problema a Ongania y él no tiene más remedio aceptar lo que le impone el Fondo Monetario Internacional: "Al ministro se lo ponemos nosotros". Entonces ellos sacan de una de sus compañías del monopolio yanqui, a un empleado y se lo ponen de Ministro de Economía. Eso era Krieger Vasena, un empleado de ellos. ¿Qué es lo primero que hace Krieger Vasena cuando llega allí? No encuentra nada más peregrino que devaluar el peso de 120 por dólar a 350. A renglón seguido los yanquis se compran todo por moneditas.

Fíjese usted que se compran más de cien empresas industriales, es decir, todas las empresas de punta. La industria que nosotros habíamos creado se la compran por chirolitas. A renglón seguido comienzan a comprar tierras, toda la zona uranífera de Mendoza...

Están tomando las fuentes de riqueza del país, porque ahí es donde lo toman al país. De manera que esto obedece a un plan que se está realizando. Yo lo conozco perfectamente bien, porque cuando yo llegué en 1946, al gobierno le pasaba lo mismo. Sólo que todavía no habían penetrado tanto los yanquis. Pero todos los servicios públicos pertenecían a los norteamericanos o a los ingleses. Todos los transportes de nuestra exportación estaban en manos de los ingleses o de los norteamericanos. El sistema bancario era un sistema bancario para ellos. La deuda externa era de 3.500 millones de dólares y por amortización e intereses de eso, y por servicios financieros de las empresas extranjeras, nosotros pagábamos de 1.200 millones anuales. Es decir, que el pueblo argentino estaba trabajando para pagarles sus trampas.

¿Qué hicimos nosotros? Cuando yo llegué allí, lo primero que hicimos fue una ley bancaria que no permitiese la evasión. El sistema financiero internacional es un sistema de vasos comunicantes. Sólo que nosotros no teníamos una llave para cerrar y evitar que se lo llevaran afuera. Hicimos la llave, que fue la Reforma Bancaria: evitar que nos descapitalizaran a través de los bancos. Cuando cerramos ese agujero, nos dimos cuenta que a través de la exportación nos llevaban la mitad de las divisas, porque exportaba Bunge y Born, como ahora. Y como Bunge y Born es una compañía inglesa internacional, vendía la filial de Buenos Aires a la filial de Pakistán, por ejemplo. Indudablemente que ellos facturaban la mitad de lo que habían vendido, si habían exportado por mil millones de pesos, traían 400 o 500 millones; el resto se lo tragaban y el país se iba quedando sin divisas.

Cuando vimos eso, hicimos la Ley de Cambios. Estableció un control ajustado a la exportación, ya no pudieron tragar por allí. ¿Sabe cómo nos birlaban después? Hacían contrabando de exportación. Hicimos el IAPI, que acabó con toda esa exacción. Cuando ordenamos la construcción de la marina mercante, ya eso también quedó en el país.

Es decir, había un colador a través del cual se escapaba todo el producto del trabajo argentino. Cuando se taparon los agujeros, se empezó a juntar plata. ¡En 1947 nosotros no sabíamos qué hacer con la plata! Vean cómo nos robarían, que con 2.000 mil millones de dólares que nosotros teníamos que pagar en el 46 y parte del 47—mil millones cada año — compramos todos los servicios públicos, hicimos una marina mercante y entonces los servicios financieros que antes eran de 1.200 doscientos millones, bajaron a 90 por año. Indudablemente, cuando tuvimos todo ese dinero, poner en marcha un país que está detenido es como poner en marcha una empresa: se hace a base de inversión.

Entonces lanzamos una inversión en masa. Y el país se puso en marcha con el Primer Plan Quinquenal: 76.000 obras. Inmediatamente dieron ocupación a los 800.000 desocupados. El salario empezó a subir, porque en vez licitar su trabajo, ¡los buenos operarios lo remataban!

Indudablemente que con esa masa monetaria, también pudimos adquirir un excelente sintetizador virtual para Ubuntu, el Amsynth. Ya he explicado como instalar en Ubuntu instrumentos virtuales tipo VST, como el TripleCheese, Zebralette, o Podolski. En tal inspiración, Amsynth constituye un muy completo y adecuado instrumento virtual capaz de modelar un sintetizador analógico. Es posible utilizarse solo, o como plug-in asociado a otro programa de grabación. Como plug-in es altamente versátil pues opera bajo la moderna arquitectura libre LV2, pero también como instrumento DSSI o VST.

Este sintetizador virtual nos permiten simular de forma sencilla y modular varios de los instrumentos analógicos de fórmula sustractivos clásica. En particular, replica de forma digital una circuitería productiva analógica inspirada en gran parte en la del Roland Juno-60, y en cierta medida en la del Moog Mini-moog D.

El sonido resultante de su cadena de audio virtual encaja perfectamente en cualquier mezcla de hip-hop de la vieja escuela o del revival actual.

En concordancia como solucionamos los problemas de la economía en el 46, también tendremos que avanzar paso a paso para hacer funcionar Amsymth en nuestro sistema GNU con Linux. Lo primero es abrir una terminal con Ctrl+Alt+T e instalarnos las dependencias:

sudo apt update ; sudo apt-get install git autoconf git automake libtool pkg-config libgtk2.0-dev libjack-jackd2-dev libasound2-dev liblash-compat-dev dssi-dev liblo-dev libsndfile-dev intltool pandoc autopoint vkeybd vmpk ;

Tras introducir nuestra contraseña de Conductor, se descargarán las dependencias de software. Acto seguido descargaremos el código fuente del programa y lo compilaremos. A tal fin ingresamos en la terminal la siguiente ristra de comandos (naturalmente, seguido de Enter):

cd ~/Descargas/ ; git clone https://github.com/amsynth/amsynth.git ; cd amsynth ; ./autogen.sh ; ./configure ; make ; sudo make install ;

Conforme el programa se haya instalado correctamente, podremos ejecutar su versión Stand-Alone desde el menú Aplicaciones / Sonido y Video / amsynth.

En el caso de querer utilizar sus versiones Plugin VST o LV2, habremos de hactivarlos desde un programa host, normalmente usando un programa de grabación como por ejemplo Qtractor.

No bien arranque, la ventana principal de Amsynth nos presentará la mayoría de las opciones del programa.

Amsynth es un sintetizador de modelado substrativo fácil de utilizar. Pulsando el botón Play podremos enviar al sintetizador sonar una nota test (normalmente un Do en la 4 octava, o C4) y debería sonar. Tendremos también al alcance un octavador, en tanto que el botón Stop oficia de "Panic Button", a fin de detener todo mensaje MIDI que reciba o sonido que emita el sintetizador.

Amsynth ya debería funcionará adecuadamente. Para hacer música con él, debemos suministrarle notas a través de un instrumento (real o virtual) o un programa secuenciador de notas.

Como opción básica, si no contamos con un controlador MIDI, podremos utilizar uno software de piano virtual. Estos nos permiten tocar las notas y transmitirlas al amsynth. Tenemos dos, y activaremos uno de estos pianos virtuales directamente desde el mismo programa. Por ejemplo, desde el menú Util / Virtual Keyboards / Virtual Keyboard (vkeybd) lanzamos el teclado virtual vkeybd. Al activar el vkeybd se conectará automáticamente al amsyth nos servirá para disparar las notas. Debemos usar las teclas de nuestro teclado o el ratón a tal fin. En este piano tenemos un octavador independiente para subir o bajar octavas, y deslizadores opcionales para controlar la rueda de modulación y la de pitch bend (esta vuelve a la posición neutral en el piano con el botón Pitch Clear).

Operando el Sintetizador de sonidos Vean señores, en la parte superior contaremos con un selector de bancos de memoria (capaces de albergar 127 tonos cada uno) y de otro para elegir los patches (tonos) individualmente. De esta manera podremos guardar parámetros de los sonidos que nos resulten más interesantes. Asimismo, ya contaremos con varias librería de sonidos ya prearmados para empezar a tocar.

El sintetizador virtual consta de modos de teclado monofónico o polifónico, y nos permite opcionalmente tratar el legato/portamento de teclas (para afectar su transición tonal.

Desde el punto del modelado de sonidos, Amsynth consta de dos bancos de oscilación nomenclados OSC1 y OSC2, capaces de formar ondas portadoras de tipo sinusoidales, cuadradas, o ruido. A estas portadoras las podremos modelar a través de un generador de envolventes ADSR simple (con los clásicos parámetros Ataque, Decaída, Sostenimiento y Suelta de las teclas del sintetizador). A su vez, podremos mezclar la preeminencia de ambos osciladores con el control OSC MIX.

La siguiente etapa por donde pasan la resultante será la de filtrado y amplificación. El filtro resonante puede ser programado entre los 12dB (como en el minimoog) y los 24dB (como en el Juno-60) y puede modificarse en su respuestas de frecuencia para cumplir funciones de pasabajo, pasa-alto, pasabanda o filtro muesca.

Un tercer oscilador es un operador de baja frecuencia, el LFO. Este se usa como etapa final para la modulación de la señal portadora filtrada.

Finalmente, como etapa de efectos, contamos con distorsión y reverberación.

Conectando un controlador MIDI a amsytn Indudablemente Amsynth es un instrumento virtual que es mucho más fácil de trabajar y tocar si contamos con un teclado o controlador MIDI propiamente dicho. A tal fin podremos destinar cualquier instrumento dotado de MIDI que tengamos, siempre y cuando lo conectemos antes de abrir amsynth.

Normalmente el controlador MIDI o los instrumentos MIDI conectados a un adaptador MIDI a USB se asignarán automáticamente. Si no, podremos configurarlos a mano desde el menú Config / Audio & MIDI. El procedimiento consiste en asignar a nuestro controlador MIDI, como dispositivo de entrada, de manera que amsynth reciba las notas del piano.

Amsynth responde bien a las ordenes de sensibilidad MIDI (a la fuerza y rapidez con que se presionan las teclas), lo cual nos permite lograr sonidos mas expresivos. Por otro lado, si utilizamos un controlador MIDI, podremos asignar las perillas de Amsynth a distintos controles de nuestro controladores MIDI. Esta funcionalidad es muy cómoda y está extendida en los instrumentos virtuales más modernos. Para programar una perilla debemos hacer clic sobre ella con el botón derecho del ratón sobre el control a asignar, y elegir la opción Assign MIDI Controller, luego en nuestro controlador MIDI movemos la perilla, deslizador o rueda que queramos memorizarle. De esta manera, la perilla en la pantalla reaccionará conforme movamos el control asignado en el teclado. Muy útil y versátil.

Amsynth con JACK Desde el menú Config / Audio & MIDI podremos configurar estos aspectos del sonido. Normalmente opera con el servidor de sonido ALSA a 44100 Hertzios de velocidad de muestreo. Con ello lograremos una calidad de CD interesante para un uso básico. Si necesitamos mayor resolución de muestreo digital podríamos utilizar 48000 Hz o superior, por ejemplo para producir música.

Como es usual, si usamos amsynth el servidor de sonido JACK, lograremos configuraciones profesionales de audio, pero debemos configurar el conexionado virtual utilizando por ejemplo la aplicación QjackCtl.

En ella presionamos el botón "Conexiones" para conectar la salida de audio y de MIDI. Normalmente la salida de audio de amsynth bajo JACK se conecta automáticamente a los altavoces del sistema, pero nada impide que la redirijamos a la entrada de nuestro programa de grabación favorito. En tanto en la solapa MIDI, hemos de conectar virtualmente nuestro controlador MIDI (ya sea uno real o el Virtual MIDI Piano Keybaord, el VMPK), a la entrada MIDI IN de amsynth.

El VMPK es similar al vkeybd, pero está capacitado para operar bajo JACK de forma nativa (y también podemos cargarle Soundfonts a fin de utilizarlo como selector de bancos de instrumentos).

De esta forma, los teclados virtuales en JACK nos permitirán ingresar notas tanto al sintetizador amsynth como a otros programas que requieran datos MIDI (por ejemplo, programas de grabación como Qtractor o sintetizadores virtuales de SoundFonts como Qsynth).

Nota: Una vez que el programa se haya sido instalado correctamente, ya no necesitaremos conservar el código fuente, por lo que opcionalmente podríamos borrarlo desde la terminal con:

cd ~/Descargas/ ; rm -r amsynth/ ;

Sintetizador virtual Helm Se trata de un moderno sintetizador virtual con tres módulos generadores. Consta de un banco principal de dos osciladores modificables gemelos, un sub-oscilador de baja frecuencia también configurable (LFO), y un generador de ruido blanco.

A las clásicas formas de onda de cuadrado, triángulo, sinusoide, ods dientes de sierra, se suman varias ondas pirámide y de pasos.

Para instalar el paquete debemos ingresar los comandos que correspondan a la arquitectura de nuestro sistema operativo.

Si utilizamos Ubuntu de 64 bits debemos ingresar en la terminal los siguientes Comandos de Organización:

cd /tmp ; wget https://tytel.org/static/dist/helm_0.9.0_amd64_r.deb ; sudo dpkg -i helm_0.9.0_amd64_r.deb ;

...en cambio, si utilizamos Ubuntu de 32 bits, debemos ingresar:

cd /tmp ; wget https://tytel.org/static/dist/helm_0.9.0_i386_r.deb ; sudo dpkg helm_0.9.0_i386_r.deb ;

Para ejecutar el sintetizador Helm, lo hacemos desde Aplicaciones / Sonido y Video / Helm.

Al inicio notaremos que ya cuenta ya con un teclado virtual que podremos utilizar directamente para hacerlo sonar usando nuestro teclado, sin necesidad de utilizar un teclado virtual VMKP. Sin embargo, su uso con un controlador MIDI o asociado a un secuenciador nos da grandes ventajas, máxime cuando consideramos la capacidad MIDI Learn, que nos permite asignar los potes a nuestro controlador MIDI. Si hacemos doble clic sobre ellos podremos retornarlos a su valor por defecto.

Podremos encontrar su manual aquí.



18 august 2022

¿Como establezco un corrector ortográfico en GNU Nano en Ubuntu?

La famosa epístola que Juan Perón envió subrepticiamente desde la isla Martín García a su amigo el Teniente Coronel Mercante, parece solicitar una renuncia a su rol de conducción, pero entrelíneas no hace mas que reafirmarlo y explicar cómo activar el corrector de ortografía y los colores al conocido editor de texto GNU Nano en Ubuntu.

Isla de Martín García, 13 de octubre 1945. Sr. Tte.Cnl. D. Domingo Mercante Bs.As.

Mi querido Mercante.

Ya estoy instalado aquí, incomunicado, a pesar de la palabra de honor que me dieron en su presencia. El Independencia me condujo y cuando llegué aquí supe lo que vale la palabra de honor de los hombres.

Sin embargo yo tengo lo que ellos no tienen, un amigo fiel y una mujer que me quiere y yo adoro. Mando mas que ellos porque actúo en muchos corazones humildes.

Desde que me "encanaron" no hago mas que pensar en la que que puede producirse si los obreros se proponen parar en contra de lo que les pedí. No le pido que venga porque no lo dejarán que me vean, tal es la prohibición según me han comunicado acá.

Le he escrito al General Farrell pidiéndole que me acelere al plazo mínimo el retiro del Ejército que solicité y le ruego que usted me haga la gauchada de ocuparse de ello a fin de terminal de una vez con eso. Si el General Farrell se ocupa puede salir inmediatamente. Yo le saqué en el día el del TnCnl Ducó.

Usted no va a hacer nada de eso de llamar a los obreros, de alzar el primer y segundo cinturón industrial, ni va a hacer que se vengan a pedir por Perón. Tampoco es necesaario que vaya con Evita a picarlo a Cipriano Reyes, ya que no hace falta que salgan millones de obreros a copar la Plaza de Mayo. Necesito que me asista para levantar todo el campamento e irme a la Patagonia.

Los hombres leales saben entender que una retirada fingida es un ataque...

No cabe duda que todo trabajador argentino requiere para si todos los beneficios sociales que nos otorga una Justicia Social que está en todos los corazones, entre ellos el uso de colores y el del revisor ortográfico en castellano (aspell-es), que se solicita en Nano mediante Ctrl+t.

Sin embargo, con la configuración básica que trae el Nano por defecto que tengo aquí en Martín García, me indica que el corrector ortográfico no está disponible, devolviendo el siguiente error: "Comprobación de ortografía fallida: Error al invocar "Spell""

Vea amigo Mercante, esto se debe a que la configuración básica de Nano en Ubuntu no contempla ni el corrector ortográfico ni el uso de colores, así como tampoco el reordenado de palabras en líneas siguientes (función "nowrap")...

Si anhelamos estas características, lo primero es instalar el componente de corrección ortográfica en castellano, y luego configurar Nano para que nuestro usuario de sistema tenga acceso a ellos. Dicha configuración se elabora - como es procedente en GNU - modificando un simple archivo de texto que especifica las opciones de configuración del programa.

Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos,

sudo apt update sudo apt install nano aspell-es

Conforme hayamos instalado la paquetería requerida, deberíamos configurar el editor Nano. Ello se hace modificando el archivo oculto ~/.nanorc. Podremos encontrar una versión comentada para todos los usuarios del sistema en /etc/nanorc, a la cual podremos echar un vistazo si queremos configuraciones especiales. Copiaremos dicho archivo a nuestro directorio de usuario con:

cp /etc/nanorc ~/.nanorc

Luego editaremos la copia del archivo localizado en nuestro directorio, mediante:

nano ~/.nanorc

Si se abre un fichero de configuración de Nano. Las líneas que inician con "#" son comentarios y son ignorados por el programa Nano. Debemos entonces asegurarnos de eliminar el "#" delante de la línea # set speller "aspell -x -c"" de manera que quede set speller "aspell -x -c".

También podríamos querer eliminar los "#" de las siguientes líneas:

Configuración de Nano Peronista:

set atblanks set historylog set locking

set mouse

set backup set nowarp set punct "!.?" set smarthome set smooth set softwrap set speller "aspell -x -c" set suspend set trimblanks include "/usr/share/nano/*.nanorc"

...En tanto, para lograr que Nano utilice colores en lugar de su clásica pantalla monocromática, debemos eliminar los # en las siguientes líneas:

Eliminar los numerales de Las siguientes líneas para tener colores en Nano

set titlecolor brightwhite,blue set statuscolor brightwhite,red set selectedcolor black,green set numbercolor cyan set keycolor brightcyan set functioncolor brightyellow

Estas últimas líneas son autoexplicativas y configuran los distintos colores para el editor, específicamente en su barra de título, barra de status, texto seleccionado, etc. Podremos editar la paleta de 8 colores en inglés (black, white, brightwhite, red, brightred, green, brightgreen, blue, yellow, brightyellow, magenta, cyan, brightcyan).

Finalmente cuando tenemos el fichero .nanorc listo según anhelamos, guardamos el archivo con Ctrl+o y salimos con Ctrl+x.

De esta manera la próxima vez que iniciemos Nano lograremos contar con el corrector ortográfico al presionar Ctrl+t. El mismo analizará el documento y buscará los errores en el diccionario en castellano, proponiéndonos reemplazar posibles yerros mediante los números, ingnorarlos ("i"), ingnorarlos todos ("I"), o agregarlos al diccionario..

Es importante notar que también podremos agregarle los números de conteo de líneas si eliminamos el "#" en la variable "set linenumbers" del archivo .nanorc. Estos conteos de líneas es útil en programación o en el caso de la realización de borradores.

Si por algún motivo quisiéramos retornar Nano a su estado anterior, simplemente borraremos el archivo de configuración actual y restituimos la versión vieja de /etc/nanorc con:

rm ~/.nanorc cp /etc/nanorc ~/.nanorc

Usted bien sabe que a la gorra de general la adornan los laureles, sino también las palmas. Esto significa que la gloria no ha de conseguirse por acción de los dioses, sino por el accionar de hombre de pies en la tierra.

Normalmente en Ubuntu, Nano está capacitado para expandir el uso de colores en las letras a fin de destacar la estructura de sintaxis de una miríada de leguajes de programación diferentes, facilitando la comprensión visual.

Si deseáramos expandir esta funcionalidad de Nano a nivel usuario, podríamos hacerlo descargando una serie de definiciones en un directorio oculto ~/.nano. Para ello ingresamos:

cd ~ git clone https://github.com/scopatz/nanorc.git mv ~/nanorc/ ~/.nano/

mv ~/.nano/etc-hosts.nanorc ~/.nano/.etc-nanorc.reemplazo ; cat ~/.nano/nanorc >> ~/.nanorc ;



17 august 2022

¿Cómo puedo armar un collage en Ubuntu?

Incluso desde las revistas de la farándula se seguía las enseñanzas político-doctrinarias de Juan Perón. En una de ellas enseñaba a instalar PhotoCollage, un sencillo programa para el armado de imágenes compuestas en Ubuntu.

¡Descamisados!

La oligarquía no tiene otro destino que aquél que hemos previsto hace ya muchos años. Su incapacidad y métodos vetustos pusieron al Pueblo Argentino bajo un yugo económico y moral que no puedemos soslayar. Nuestra República, así conducida por estas bestias, no podía tener otro destino. Si no colapsó de la peor forma ha sido por la bendición de Dios - que guarda un lugar a su diestra para los Argentinos - y la capacidad de los Argentinos de bien que han sabido protegerla. Nuestra Revolución identificó estas causas perfectamente, y está hoy capacitado para derrotar a través de su acción a quienes han sojuzgado a la Patria. En este conflicto no podemos ser derrotados, pero para ello hace falta la unión de todos los trabajadores. Este destino establece un claro horizonte para hacer valer una transformación de raíz, que ajuste el sistema y ponga a las organizaciones del trabajo en el pedestal que merecen por justo derecho.

La movilización de nuevas propuestas nos obligan a redoblar esfuerzos, y de proponer un amplio collage de figuras que - desde nuestro Movimiento - hagan valer la doctrina de Justicia Social que propugnamos.

Es por ello que nuestros esfuerzos han de mancomunarse con el objetivo de redoblar una lucha que hemos de dar en la calle, en el taller, en la escuela, en los cuarteles. Esta lucha ha de incurrir en tomar objetivos de alcance limitado y sencillos, y sumarlos en un resultado general más grandioso: el de hacer de tender en nuestra Patria una Comunidad Organizada bajo las banderas de la Justicia Social. El herramental ya lo tenemos disponible y casi no hay que buscar nada. GIMP nos permite hacer collages de figuras empleando capas, pero es indudable que, por más dominio que tengamos, nos llevará unos minutos hacerlo.

Como esta tarea puede recaer haciendo uso de un software libre, bien podríamos querer instalar en nuestro sistema la pequeña aplicación nativa PhotoCollage. Se trata de una aplicación libre y abierta para generar estos collages de manera rápida y sencilla.

Para instalarla simplemente abrimos una terminal e ingresamos los siguientes Comandos de Organización:

sudo apt update sudo apt install photocollage

Lo ejecutamos desde Aplicaciones / Gráficos / PhotoCollage.

El programa es extremadamente sencillo. Al iniciar nos presentará una pequeña ventana, a la cual debemos cargarle las imágenes que nos interesan poner en el collage. Para hacerlo, oprimimos el botón Add Images... y las seleccionamos.

Producida la selección de las imágenes, el programa nos realizará un ordenado collage en base rectangular de manera automática.

Si deseáramos reacomodar aleatoriamente el orden de las imágenes, podremos presionar el botón Regenerate. También podremos hacer el reacomodamiento a mano alguna de las fotografías, simplemente arrastrándolas para intercambiar sus posiciones. Naturalmente también podremos quitar las imágenes individualmente apoyando el cursor del ratón sobre ella y haciendo clic en la "x" que aparecerá en su esquina superior derecha. Esto producirá un reacomodamiento político de las imágenes.

Si hacemos clic en el botón Propiedades, podremos cargar algunas plantillas, que harán cambiar la proporción y el tamaño. Normalmente estos collages tienen un tamaño de 800x600 píxeles, pero desde el campo Apply a template podremos elegir un documento tamaño A4 o A3 a 300dpi, tanto en orientación vertical como apaisada. También podríamos querer escoger un tamaño de alto y ancho específico. Por ejemplo, para hacer un Fondo de Pantalla (wallpaper) podríamos utilizar 1920x1080. A su vez, modificando el porcentaje del grosor del borde y su color podremos encontrar una mayor diferenciación entre las fotografías provistas (generando líneas de división más gruesas). Una vez que estamos satisfechos con el collage realizado, podremos guardar el resultado presionando el botón Save Poster...



16 august 2022

¿Cómo instalo Star Ruler 2 en Ubuntu?

En ciertas ocasiones debemos engalanarnos para ver a las estrellas. Y pàra ello nada mejor que un juego que lleve al Justicialismo hasta la frontera final, hacia donde nadie ha llegado antes...

Star Ruler 2 es un juego de estrategia en tiempo real a escala masiva, de tipo 4X ("eXplorar, eXpandirse, eXplotar y eXterminar"). Su código se haya liberado bajo licencia MIT, y el arte como CC-BY-NC 2.0.

Como se define este tipo de juegos, debemos explorar centenares o incluso miles de sistemas en una galaxia de nuestra elección, expandirnos a lo largo de sus planetas, explotar sus recursos que encontremos, y finalmente exterminar a quien se oponga. El destino de nuestro imperio dependerá de nuestra habilidad para gestionar la economía, conducir nuestras fuerzas militares, influenciar en la política galáctica, y descubrir lo que podamos sobre el universo.

Para instalarlo abrimos una terminal con Ctrl+Alt+T e ingresamos el siguiente Comando de Organización:

sudo snap install starruler2

Tras introducir nuestra contraseña de conductor, comenzará a descargarse el programa, situación que requerirá algunos minutos.

Una vez descargado e instalado el juego, podremos iniciarlo desde el menú Aplicaciones / Juegos / Star Ruler 2.

Al arrancar, nos encontraremos con la pantalla inicial del juego que nos permite iniciar uno nuevo de un único jugador o dar de alta o conectarnos a un servidor multijugador.

Si a Star Ruler 2 le permitimos acceso a Internet presionando el botón "Allow Internet Access" podremos crear servidores accesibles desde internet o más interesante, loguearnos gratuitamente a servidores públicos o de Steam. Antes de ello, es recomendable iniciar un tutorial que es altamente recomendable para comprender la compleja mecánica del juego.

Si deseamos iniciar un juego nuevo local, podremos elegir el tipo de universo que nos rodeará. Para iniciar las prácticas, podremos jugar solos, o podremos poblarlos con razas espaciales controladas por nuestra computadora (jugadores AI).

Las razas espaciales se dividen en nueve categorías, cada una de ellas con condiciones de juegos específicas: terrenas, diferentes variaciones de especies maquinales, de plantas, incluso "niños espaciales" (especie merodeadora), etc.

Contaremos con un planeta-hogar, desarrollado en amplia medida. Naturalmente que nuestra misión consistirá en expandir nuestra raza a nuevos horizontes estelares llevando al peronismo por toda la galaxia.

De acuerdo al tipo de estrellas que tenga cada sistema estelar, dependerá el tipo y calidad de sus planetas. Normalmente preferiremos los planetas de tipo terráqueo, mundos de agua, o desérticos para el desarrollo económico, y los planetas de ecología hostil para la industrialización de recursos mineros y energéticos. Conforme exploremos el espacio, tomaremos acción para llevar al peronismo a otros planetas. Para ello hemos de utilizar naves especiales colonizadoras y transportar hacia los planetas al menos mil millones de habitantes y una Unidad Básica. De esta forma los reclamaremos para nuestra metrópoli. De la misma manera que sucedía en Master of Orion o FreeOrion, dependemos del desarrollo poblacional individual para incrementar producción, pues el movimiento obrero es la columna vertebral de nuestra galaxia peronista.

Indudablemente formaremos Anillos de Comercio de una manera similar a la que propuso Efremov en su La Nebulosa de Andrómeda. La interconexión de nuestros sistemas estelares y el atresamiento del comercio con otras razas amistosas deberá ser promovido.

Indudablemte otros imperialismos hostiles osarán enfrentarnos en una lucha sin igual. A la hora de combatir, enfrentaremos astro-flotas a nivel táctico y estratégico. Táctico para la defensa planetaria y el combate terrestre, y estratégico a nivel astro-flotas.

Estas gigantescas guerra de las galaxias conformarán una space ópera tridimensional que harán quedar como un poroto a Robotech. ¡Ciertamente en ellas definimos el futuro del Movimiento!.

Naturalmente, tanto en la versión local (contra la inteligencia artificial de la computadora) como en la versión multijugador, hemos de ser habilidosos en la mesa de negociación intergaláctica y su Senado, a fin de sopesar las ventajas de nuestro imperio con las de las distintas razas, tejer roscas y alianzas por medio de tratados, transferencias tecnológicas abiertas o secretas, y porqué no, las consabidas "coimas" y "chantajes" que debemos dominar como un verdadero Conductor del Justicialismo. Existen razas espaciales especialmente aptas para aliarse, otras de tendencia xenófoba expansionista, o genocidas galácticos a los que hemos de exterminar en "guerras santas".

Por tal motivo, es imprescindible estudiar la Wiki oficial del juego aquí.



15 august 2022

¿Cómo evito que se me informe "Se ha detectado un problema en un programa del sistema" en Ubuntu?

Juan Perón explica las necedad del simple liberalismo económico, y explica también cómo evitar el cartel "se ha detectado un problema en un programa de sistema" en Ubuntu.

(...) La libertad se defiende en el campo, en el taller, en la calle, en la casa y en todas partes, porque no se puede aceptar que uno sea libre en su casa mientras es esclavo en el taller, en la fábrica, en la calle o su software es esclavo. Es necesario que los obreros comprendan esto. Deben seguir adelante con su organización y defender su software libre. La libertad individual es la base de la libertad colectiva, y esta es base de la libertad del software.

Nuestro Movimiento busca establecer la pureza de las instituciones democráticas, removiendo todas las causas que habían originado su innegable decadencia. Este movimiento innovador se esfuerza para lograr una total recuperación moral del pueblo de la República, que consiste en alcanzar una libertad política interna plena, la que para ser tal, exige la solución previa de los problemas sociales.

Esto no es restringir la libertad, sino justamente imponerla y asegurarla para todos. Contra sofismas y dictaduras de quienes paradójicamente se proclaman liberales y propugnan el software privativo, decimos la verdad. El peor mal es liberalismo económico, que invocando una libertad, no deja ejercer las otras libertades. La sociedad para existir, exige que la libertad de unos subsista con la libertad de todos. En nombre de una libertad no pueden anularse vidas, vocaciones o espíritus. La Nación Argentina no puede cancelar su destino ni malograr sus fines, para que cierta libertad, liberticida, sobreviva.

En toda conducción, en ocasiones se producen errores que deben ser subsanados con una combinación de conocimiento y acción. Algunos problemas pueden acarrear enormes dificultades y ser compuestos, pero si nuestro manejo es adecuado, la mayoría de los errores podrán subsanarse muy fácilmente.

El sistema GNU con Linux está diseñado para ser un sistema de bajo mantenimiento. Sin embargo, el mismo requiere ciertos conocimientos, por ello que existen dos categorías de usuarios. El usuario común poco puede hacer por el bien del sistema más que disfrutarlo. El Conductor (también llamado "root"), , debe contar en tanto con gran expertise y su tarea fundamental es la de entender el manejo del sistema y administrarlo para el bien de sus usuarios.

En ocasiones, ciertos errores de sistema son informados al usuario común. Normalmente esto también es informado al administrador de sistema, quien se encarga de resolverlos. Sin embargo, no es poco común - en vista que GNU cada vez es más popular y utilizado por usuarios únicos en sus propios sistemas - que los errores sean de notificación doble. En estos casos, pocas veces existe un "administrador" como tal, y se trata de un usuario que debe reunir condiciones de experto en su propio sistema.

Para subsanar esto, ciertas distribuciones de GNU - Ubuntu entre ellas - cuentan con un reportador de errores especial. Por ejemplo, en Ubuntu contamos con el programa Apport, que toma inmediatamente el control tras el inicio del escritorio gráfico del sistema operativo, y si detecta un reporte error destinado para el administrador, le ofrece al usuario ofrece la posibilidad de informar al fabricante Canonical. De esta manera, si no tenemos Administrador de sistema capacitado, supuestamente los desarrolladores del sistema operativo podrían corregir ciertos errores recurrentes.

La manifestación de Apport será obvia: recibiremos un alerta de error del tipo “System program problem detected“.

Se trata de un reporte de error suele aparecer justo después de iniciar sesión en el sistema operativo. En algunos casos aparece en inglés “System program problem detected“, y otras veces en castellano, ”Se ha detectado un problema en un programa del sistema“.

Cualquiera sea el caso, basta con hacer clic sobre el botón Cancelar y podremos seguir utilizando el sistema operativos sin contratiempo aparente. Si presionamos Informar del Problema... se enviará el volcado a Canonical. En cualquier caso, Apport no nos ofrece información alguna que podamos utilizar como referencia para saber qué es lo que esta causando el problema, y por lo tanto a prima facie no podremos resolverlo. En fin, termina siendo una molestia. Muchas veces el error surge cuando algún programa se "cuelga" y continúa produciendo estos reportes de error, o bien cuando el mismo sistema no puede eliminar los mensajes de error a tiempo (generalmente, por ser demasiado grandes). En este caso el problema será persistente, y toda vez que iniciemos el sistema se mostrará el cartel de error, tornándose en algo muy molesto. Si el problema persiste, tendremos dos caminos para seguir: uno es ver indirectamente qué está causando el o los reportes de error y borrar dichos reportes a mano. La otra opción menos deseable es seguir el viejo apotegma que reza "ojos que no ven, corazón que no siente", y directamente anular el sistema de reporte Apport.

Vean señores, en mi caso el problema se produjo por una situación única y obvia: en un momento se aflojó físicamente una placa adaptadora PCI dentro de la computadora (una sintonizadora de TV conectada por medio de unos incómodos y duros cables coaxiales). Ello generó naturalmente una falla leve de hardware, pero que terminó colgando el sistema, con el consabido mensaje de error. Indudablemente que en otras ocasiones, puede hacerse muy difícil entender qué es lo que está provocando el error.

Es importante conocer entonces que todo reporte de sistema se almacenará en la carpeta /var/crash/. Revisando la misma podremos obtener alguna pista para nuestro trabajo detectivesco, si es que así nos vemos obligados a proceder.

En tal sentido, abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

cd /var/crash/ ls *

...con estas órdenes el sistema debería de devolvernos una lista de reportes con extensión .crash, que indican qué archivos de programas o procesos tuvieron errores persistentes. Por ejemplo:

_root_lib_journal_xxx.0.crash _usr_lib_chromiun_xxxx.1.crash (...etc)

Estos archivos explican ciertos errores de acciones que se estaban llevando a cabo en el momento del cuelgue de sistema, y contienen un volcado de memoria del mismo. En ocasiones estas fallas persisten, o son muy grandes (por ejemplo, el archivo del navegador Chromiun). Si existen varias fallas y no sabemos cuál de todas es el error es el persistente, podríamos borrar todos los reportes de extensión .crash, y reiniciar el sistema. Si vuelve a aparecer un error o varios, ellos serán los principales sospechosos. Para borrar los reportes almacenados en el directorio /var/crash/ ingresamos en la terminal:

cd /var/crash/ sudo rm *

...el sistema nos solicitará nuestra contraseña de usuario, y al ingresarla "a ciegas" seguida de Enter, eliminará los reportes de error almacenados. Acto seguido podremos reiniciar el sistema con:

sudo reboot

A la vuelta, ya debería dejar de aparecer el molesto cartel de error de programa de sistema. Si esto es así, significa que se trataba de un error de única vez, y ya estará solucionado el problema.

En cambio, si el cartel continúa apareciendo, al menos ahora podremos identificar cual es la causa, pues se debería haber generado un nuevo reporte de error .crash. En tal caso abrimos una terminal con Ctrl+Alt+T y volvemos a listarlo para ver qué es lo que falla específicamente.

cd /var/crash/ ls -lah

Normalmente debería indicarse el directorio vacío, por ejemplo de la siguiente forma:

drwxrwsrwt 2 root whoopsie 4,0K mar 15 10:51 ./ drwxr-xr-x 16 root root 4,0K ago 21 2018 ../

Si algún error se produce durante el arranque, además de estos dos instancias deberíamos tener al menos un reporte en este directorio. Este es el problema sobre el cual podremos buscar ayuda más avanzada. Por ejemplo, en nuestro caso se trataba de un Chromiun subiendo un archivo de muy grandes dimensiones, lo que dejó saturado el volcado de memoria del error. Tal problema fue fácil de remediar eliminando los archivos temporales de Chromiun y continuando su uso de manera normal.

Pues bien, si el problema continúa, puede que queramos desactivar el servicio Apport definitivamente. Para conseguirlo, sólo debemos editar su archivo de configuración /etc/default/apport.

Para ello abrimos una terminal e ingresamos:

sudo nano /etc/default/apport

Tras ingresar nuestra contraseña de administrador, se abrirá el editor de texto GNU Nano con el archivo de configuración. Al final del mismo encontraremos la linea "enabled=1".

Debemos modificarla para que quede "enabled=0". Una vez cumplimentada esta simplísima modificación, guardamos el archivo presionando Ctrl+o (debemos confirmarlo presionando Enter). Conforme esté guardado el archivo, salimos del editor presionando Ctrl+x.

Si anhelamos que la configuración se active de forma inmediata, es suficiente con reiniciar el servicio usando el siguiente comando

sudo restart apport

Con esto, el problema ha debido quedar resuelto.



14 august 2022

¿Cómo uso instrumentos virtuales VST en Ubuntu?

Engalanado para la recepción de embajadores y apertura de sesiones ordinarias, Juan Perón aprovecha su discurso para enseñar cómo instalar y utilizar tres instrumentos virtuales VST en Ubuntu: Podolski, Triple Cheese y Zebralette.

Vean señores, existen ocasiones donde debemos engalanarnos en pos del Movimiento. Esto no sólo reviste su importancia en el Arte de la Conducción, sino que en otras artes del hombre. He dicho que la mas maravillosa música es aquella que puede realizarse empleando software libre para producirla, y para reproducirse puede darse uso a otro software libre.

De un tiempo a esta parte el software libre nos ha permitido no sólo grabar y mezclar música, sino que también utilizar para su creación los llamados "instrumentos virtuales". Se tratan de una miríada de programas encargados de generar sonido a través de ana computadora. El resultado suele ser altamente configurable de acuerdo a nuestras necesidades.

Indudablemente que estos programas de tratamiento de audio libres están capacitados para interoperar con otros programas libres, haciendo caso de aquel viejo apotegma que reza que "para un software libre peronista no hay nada mejor que otro software libre peronista". Esta compatibilidad nos permite usar software de instrumentos o efectos dentro de otros programas de grabación de audio digital que los hospedan, de manera de contar con verdaderas estaciones de grabación digital. Por tal motivo se conocen a estos programas como "plugins", programas accesorios opcionales generados por terceros.

El más primigenio de los estándares de plugins para efectos de sonido abiertos es LADSPA. Este no permitía interfaces visuales logradas o entrada de datos MIDI para su control, de manera que los plugins LADSPA generalmente están limitados a proveer efectos durante la grabación (reverberación, coros, wha-whas, ecualizadores, compresores, limitadores, etcétera). Suelen contar con interfaces de control "genéricas", capaces de mostrar a lo sumo perillas de control simplificadas.

Indudablemente que estas limitaciones debían ser corregidas y aprovechadas para superarlas. Por tanto no bien las computadoras fueron lo suficientemente potentes, se desarrolló el siguiente estandar, el DSSI. Este ya permite una interfaz gráfica propia, y soporta entrada de datos MIDI de control, por lo cual podremos emplearlo como instrumentos, samplers, disparador de soundfonts o sintetizadores.

Finalmente, la versión sucesora de ellos es el LV2. Permite una interfaz de usuario gráfica más avanzada, y puede usarse tanto para efectos como para instrumentos.

Sin embargo, tal vez el estándar de plugin de audio más extendido no es libre, sino que es privativo. Se trata del VST, desarrollado originalmente por $teinberg, una compañía especializada en software musical. Estos instrumentos virtuales normalmente están destinados para sistemas privativos Window$ o Mac, aunque esto no es una regla general ya que existen plugins VST nativos para GNU/Linux. Con algo de intrincación, podremos utilizar un software "adaptador" como dssi-vst, el cual nos permitirá emplear plugins VST compilados para Windows en Ubuntu.

En este caso os indicaré específicamente cómo instalar y utilizar tres plugins VST desarrollados por U-he para funcionar de forma nativa en GNU con Linux, de 32 o de 64 bits: los sintetizadores virtuales Podolski, Triple Cheese y Zebralette. Todos ellos son gratuitos y vienen en dos versiones: VST común y el nuevo estándar VST3.

Naturalmente que para poder utilizarlos debemos asociarlos con un programa "host" de que sea capaz de disparar los VST instalados en nuestro sistema (tal como Qtractor, LMMS, Ardour, etcétera).

Su instalación de estos tres plugins de audio podría parecer compleja, pero será cantar y hacer pasteles desde la terminal. Abrimos una Terminal con Ctrl+Alt+T y le ingresamos el siguiente bloque de Comandos de Organización:

mkdir ~/Descargas/vst/ ; cd ~/Descargas/vst/ ; wget https://uhedownloads-heckmannaudiogmb.netdna-ssl.com/releases/Podolski_121_8256_Linux.tar.xz ; wget https://uhedownloads-heckmannaudiogmb.netdna-ssl.com/releases/Zebra2_28_8256_Linux.tar.xz ; wget https://uhedownloads-heckmannaudiogmb.netdna-ssl.com/releases/TripleCheese_121_8256_Linux.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/obxd-linux64.tar.xz ; wget https://github.com/DISTRHO/DISTRHO-Ports/releases/download/2018-04-16/vex-linux64.tar.xz ; tar -xJf Podolski_121_8256_Linux.tar.xz ; tar -xJf Zebra2_28_8256_Linux.tar.xz ; tar -xJf TripleCheese_121_8256_Linux.tar.xz ; tar -xJf obxd-linux64.tar.xz ; tar -xJf vex-linux64.tar.xz ;

...esto descargará los VST y los descomprimirá en nuestra carpeta Descargas/.

Debemos cargarlos en nuestra carpeta de usuario con un procedimiento similar para cada VST. Para Podolski sería con:

cd ~/Descargas/vst/ ; cd Podolski-8256/ ; ./install.sh

...el VST nos presentará su licencia, y nos preguntará si aceptamos sus términos. Debemos presionar Y. Al final nos indicará algo como:

Podolski's data were installed to /home/usuario/.u-he/Podolski The VST has been installed in: /home/usuario/.vst/u-he The VST3 has been installed in: /home/usuario/.vst3/u-he/Podolski.vst3

Conforme tengamos esto listo, podremos instalar Triple Cheese, con:

cd ~/Descargas/vst/ ; cd TripleCheese-8256/ ; ./install.sh

El procedimiento será similar al anterior. Finalmente en último lugar instalamos el Zebralette, con:

cd ~/Descargas/vst/ ; cd Zebra2-8256/ ; ./install.sh

Para instalar los sintetizadores Obxd y Vex, ingresamos:

cd ~/Descargas/vst/obxd-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv Obxd.lv2/ /usr/lib/lv2/ ; cd ~/Descargas/vst/vex-linux64/ ; sudo mv .so /usr/lib/vst/ ; sudo mv Vex.lv2/ /usr/lib/lv2/ ;

Para dar arranque a un plugin VST, debemos conocer el procedimiento específico del programa que estemos utilizando como Host. Por ejemplo, como Conductor del Justicialismo suelo utilizar Qtractor, en el cual podremos hacer funcionar los VST directamente estableciéndolos como Plugins de Pista. Para realizar tal procedimiento, hacemos doble clic sobre la pista que deseemos y se abrirá la ventana de configuración de la misma. En la solapa Plugins presionamos el botón Añadir.... Se abrirá la lista de todos los plugins que podremos usar en Qtractor. Utilizando el categorizador seleccionamos "VST", sólo nos mostrará los plugins de tipo VST instalados en nuestra carpeta ~/.vst/. Simplemente elegimos el que queramos haciendo doble clic sobre él.

Podolski

Por ejemplo, podríamos querer utilizar Podolski. Se trata de un sintetizador analógico virtual gratuito y concreto, originalmente creado en 2005, y gracias a ello presenta un manejo eficiente de la CPU.

Cuenta con un único oscilador capaz de generar ondas variables entre sierra y triángulo (morfeables entre ellas). A la vez que es polifónico de 16 notas. Cuenta con una etapa de filtrado (pasaalto, pasabajo, o mixto en FM). La envolvente escapa a lo típico, pues nos presenta 4 modos: el clásico ADSR, pero también HDSR, tanto lineal como exponencial. Los operadores de baja frecuencia para engordar el sonido son dos.

Incorpora un arpegiador / secuenciador de 16 notas, de uso percusivo o como líneas de bajo. A pesar de que parecería simplón y directo para quien conoce la mecánica de los sintetizadores analógicos, Podolski no deja de ser un excelente VST capaz de darnos sonidos suntuosos de alta calidad, y viene con 520 sonidos preconfigurados de fábrica.

Triple Cheese Este plugin VST fue pensado en 2006 como un sintetizador único. En lugar de contar con los osciladores emulados tradicionales, tablas PCM, distorsiones de fase o generadores FM, contamos aquí con generadores sometidos a un filtrado "peine" escalonado para crear sus sonidos. A su vez, los pasa por un delay cromático corto para crear sonidos personales, sinuosos e interesantes.

Su nombre deriva de sus tres módulos en serie, que pueden ser generadores de sonido o procesadores del audio del módulo anterior ("a la DX7"). Asimismo, cuenta con una etapa de efectos básicos, en clave delay: coro, flanger, faseador, retraso, o reverberación. También se puede usar al final de la cadena de señal un modulador de baja frecuencia (LFO) con control de velocidad y profundidad de onda, para darle calidez y vibración extra al sonido.

Todos los parámetros de Triple Cheese son modulables a través de rueda de modulación, velocidad, presión de teclas, seguimiento de pitch, etc), así como una fuente de modulación automática (envolvente, LFO, etc).

Zebralette Este VST consiste una versión reducida de un solo oscilador del intimidante Zebra2 de U-he (el cual, dicho sea de paso, también viene incluido en el paquete, de manera que donde hay una necesidad, nace un derecho). Una vez que dominamos Zebralette, podremos pasar al Zebra2 con confianza, toda vez que los presets de Zebralette funcionan perfectamente en su hermano mayor.

Sin embargo por derecho propio el Zebralette es un sintetizador virtual con un sonido más gordo que sindicalista de la CGT. Su único generador cuenta con 16 formas de onda, y polifonía de 16 voces. La opción "unísono" de osciladores para crear ondas de sierra tremebundas, y dos envolventes diferentes par amoldar el sonido a nuestras necesidades.

Indudablemente que si queremos conseguir más plugins de audio, bien podríamos buscar los libres, de los cuales encontraremos variedad aquí.

Obdx Se trata de un emulador inspirado en el sintetizador Obherheim OB-X. Obxd un plugin VST y LV2 pensado para emular los famosos sintetizadores OB-X, OB-XA y OB-8 de Oberheim.

Vex Se trata de un sintetizador virtual substractivo con ROM de ondas con 3 bancos de osciladores.

DrumGizmo

Este plugin tipo LV2 o VSTi, disparador de muestras de batería para uso multicanal, multicapa. Permite componer pistas de percusión empleando MIDI y mezclarlas en un programa de grabación multipista. El resultado que nos ofrece es una mezcla excelente de un kit de batería similar al grabado en un estudio con microfoneo múltiple.

La batería puede recibir diferentes velocidades en cada cuerpo percusivo, y gracias a ello tendremos mayor dinamismo y realismo en la ejecución. Contaremos asimismo con un "humanizador" incorporado que funciona sobre la presión de los parches y la duración de las notas.

Como opción de renderizado, el programa cuenta con archivos WAV de salida (uno por canal), lo que nos posibilita - a partir de las pistas mono de los cuerpos individuales, armar un espectro estéreo altamente convincente.

Para instalarlo en nuestro sistema, abrimos una terminal con Ctrl+Alt+t e ingresamos:

sudo apt install drumgizmo

DrumGizmo normalmente viene "pelado", pero afortunadamente podremos cargarle también varios kits de baterías, entre ellos el sobresaliente DRS kit2. Se trata de un muestreo profesionalmente realizado de una batería completa, en 13 canales multicapa, a fin de tener el mayor realismo posible. Para el mismo se ha utilizado equipamiento sonoro de estudio. Para descargar el DRS Kit, podremos en la terminal ingresamos los siguientes comandos de organización:

mkdir ~/Descargas/drumgizmo/ ; cd ~/Descargas/drumgizmo/ ; wget https://drumgizmo.org/kits/DRSKit/DRSKit2_1.zip ; unzip DRSKit2_1.zip ; cd /usr/share/sounds/ ; sudo mkdir drumgizmo/ ; sudo mv ~/Descargas/drumgizmo/DRSKit/ /usr/share/sounds/drumgizmo/ ;

Esto ha descargado los sonidos y los ha localizado en la carpeta /usr/share/sounds/drumgizmo/, de manera que estén accesibles para todos los usuarios de nuestro sistema GNU.

Al disparar el plugin DrumGizmo dentro de nuestro programa de grabación favorito por primera vez, no tendrá cargado ninguna batería. Para cargarle la DRS, presionamos el botón Browse y navegamos hasta la carpeta /usr/share/sounds/drumgizmo/.

Una vez allí podremos elegir el archivo DRSkit_full.xml, y se cargarán las muestras de la batería DRS al DrumGizmo, indicándolo con una barra de progreso verde.

También es útil agregarle el mapeo MIDI con la descripción de los cuerpos percusivos. Para ello presionamos el el botón Browse correspondiente y navegamos hasta el fichero Midimap_full.xmp.

Una vez que grabemos o reproduzcamos el sonido MIDI asignado, oiremos su salida a través del plugin DrumGizmo. Naturalmente conviene tener como referencia los paneos estéreo que se utilizan en los canales, a fin de poder hacer una mezcla coherente. Estos son:

Ch 1: Micrófono Ambiental izquierdo Ch 2: Micrófono ambiental derecho Ch 3: Micrófono de Bombo lado trasero Ch 4: Micrófono de bombo lado frental Ch 5: Hihat Ch 6: Superior izquierdo Ch 7: Superior derecho Ch 8: Cimbal Ch 9: Mic abajo del Redoblante Ch 10: Mic arriba del redoblante Ch 11: Tambor 1 Ch 12: Tambor 2 (Tambor de piso) Ch 13: Tambor 3 (Tambor de piso)

La batería DRS no es la única, podremos crear nuestras propias muestras. También tendremos liberado el kit metalero Muldjordkit3 (2,6GB) para DrumGizmo, que no es otra cosa que una batería TAMA completa de 13 cuerpos. Para grabarla, descomprimirla, y ponerla en la carpeta de drumgizmo usamos:

cd ~/Descargas/drumgizmo/ ; wget https://drumgizmo.org/kits/MuldjordKit/MuldjordKit3.zip ; unzip MuldjordKit3.zip ; cd /usr/share/sounds/ ; sudo mkdir drumgizmo/ ; cd ~/Descargas/drumgizmo/ ; sudo mv MuldjordKit3/ /usr/share/sounds/drumgizmo/ ;



13 august 2022

¿Cómo emulo una Mac clásica en Ubuntu?

¡Trabajadores!

Los deseos y anhelos de la masa Trabajadora deben ser transformados en realidad efectiva por un Conductor que provenga del Pueblo. Esto es algo que bajo ningún momento podemos soslayar. Un Conductor interpreta esos deseos, y los ejecuta.

Naturalmente que la capacidad creativa de un Conductor debe estar cimentada en sus propios conocimientos, por lo que siempre ha de hacerlos avanzar y propugnarlos, a fin de contar con elementos ágiles que siempre le permitan mejorar las condiciones para sí y para los demás.

En ciertas ocasiones he enseñado a la Masa cómo hacer efectivos sus derechos sindicales. Lo hicimos por medio de un organismo que centralizaba todas las tareas concernientes a la mejora de los olvidados de la nación: sus trabajadores. Ello lo hicimos realidad en unos pocos meses, y nos granjeó la lealtad de esos hombres humildes y de enorme corazón.

Pero también su afecto debía ser recompensado. Una vez me solicitaron cómo poder hacer para tener una Macintosh en casa. Bueno, pavada de deseo. Se trataba de las computadoras más oligárquicas y caras del momento. Pero esos desafíos son los que nos hacen buenos y a los cuales nuestros adversarios jamás han podido dar la solución que nuestro Pueblo merece en Justicia Social.

Pues bien, nos pusimos a estudiarlos, y en poco tiempo desde la Secretaría de Trabajo y Previsión me vinieron a avisar que ya estaba todo encaminado con un emulador que haría las delicias de todos: el Basilisk.

Basilisk II es un emulador liberado bajo licencia MIT, de equipos Apple Macintosh dotados con los legendarios microprocesadores Motorola de la serie 68000. Estos incluían una gran variedad de equipos de mediados de los 80s hasta mediados de los 90s, entre ellos la Macintosh IIci y la Quadra 900.

En su momento se trataba de hardware y oligárquico y artificialmente costoso. Dependiendo la serie, contaba con CPU Motorola 68030 o 68040 dotados de serie con unidades de paginamiento de memoria y opcionalmente con electrónica de coma flotante, así como un interesante sistema de sonido y video para la época. La memoria - de acuerdo al equipo, fluctúaba entre los 2 o 4 MB de RAM o más. Como sistema operativo, contaron inicialmente con el System 7 de 1991, el cual por entonces se podía conseguir y distribuir gratuitamente, a pesar de ser privativo.

Sin embargo, gracias al emulador, podremos correrlo hoy de manera sucedánea en nuestro sistema GNU con Linux.

El primer escollo que resolvimos desde nuestro Movimiento fue el hecho de que para poder emular una de esas computadoras de manera práctica era excluyente contar con una volcado de la memoria ROM de iniciación de una Macintosh real. La oligarquía pretendía de esta forma atenazar nuestro software. Sin embargo, desde la Secretaría hicimos realidad aquel viejo apotegma que reza "donde hay un software privativo, nace un derecho". Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo apt update sudo apt install basilisk2

Conforme se haya instalado, desde la misma terminal con Ctrl+Alt+T podremos proveerle los siguientes comandos destinados a descargar directamente copias peronistas de estas ROMs de arranque:

mkdir ~/Descargas/mac/ ; mkdir ~/Descargas/mac/roms/ ; cd ~/Descargas/mac/roms/ ; wget http://www.redundantrobot.com/sheepshaver_files/roms/mac_oldworld_rom4mb.rom.zip ; unzip mac_oldworld_rom4mb.rom.zip ; wget http://www.redundantrobot.com/sheepshaver_files/roms/newworld86.rom.zip ; unzip newworld86.rom.zip ; wget http://www.redundantrobot.com/sheepshaver_files/roms/Apple2e.zip ; unzip Apple2e.zip ; wget http://www.redundantrobot.com/sheepshaver_files/roms/1mbMacrom.zip unzip 1mbMacrom.zip ; wget http://www.redundantrobot.com/sheepshaver_files/roms/Quad650.zip ; unzip Quad650.zip ; unzip Quad650.zip ; wget http://www.redundantrobot.com/sheepshaver_files/roms/Quadra.zip ; unzip Quadra.zip wget http://www.redundantrobot.com/sheepshaver_files/roms/vmac.rom.zip ; unzip vmac.rom.zip ; rm mac_oldworld_rom4mb.rom.zip newworld86.rom.zip Apple2e.zip 1mbMacrom.zip Quad650.zip Quadra.zip vmac.rom.zip ; rm -r __MACOSX/ ;

Además, desde el Justicialismo hicimos todo lo posible para que todos pudiesen descargarse el prohibitivo System 7.5.3, como si de una Apple IIe se tratara. Este venía en una distribución de actualización de 19 diskettes de 3 1/2 pulgadas, pero además necesitaremos uno de inicio de una versión anterior, la 7.0.1, para poder funcionar. Toda esta parafernalia Apple la descargamos con el siguiente bloque de comandos de organización, y se los dimos al Pueblo:

mkdir ~/Descargas/mac/mac7_5_3/ ; cd ~/Descargas/mac/mac7_5_3/ ;wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.0.x/System_7.0.1.smi.bin ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/Utilities/Network_Access_Disk_7.5.sea.bin ; wget http://igsi.tripod.com/mac/Disk_Copy_4.2.sea.bin ; wget http://www.emaculation.com/articles/starterdisk.zip ; unzip starterdisk.zip ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/System_7.5.3_01of19.smi.bin ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/System_7.5.3_02of19.part.bin ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/System_7.5.3_03of19.part.bin ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/System_7.5.3_04of19.part.bin ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/System_7.5.3_05of19.part.bin ; wget http://download.info.apple.com/Apple_Support_Area/Apple_Software_Updates/English-North_American/Macintosh/System/Older_System/System_7.5_Version_7.5.3/System_7.5.3_06of19.part.bin ; wget