sábado, 26 de septiembre de 2020

¿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.

domingo, 13 de septiembre de 2020

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

La carta de Perón a Mao Tse Tung 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 git gcc

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.


Configurar la máquina

La 3b2 ya estará configurada con System V provisto de un usuario root sin clave. Podrá configurar nuevos usuarios, cambiar las contraseñas (que deberá recordar), y gestionar las configuraciones del Unix ejecutando el programa setup con:

/etc/setup

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.

 

lunes, 3 de agosto de 2020

¿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

sábado, 1 de agosto de 2020

¿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:

nmcli radio wifi off

En tanto, podremos encenderlo/s con:

nmcli 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).

jueves, 30 de julio de 2020

¿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.
 
En mi caso puedo hacerlo descargando un fichero simple personalizado, con:
 
cd ~ ;
cp ~/.emacs.el ~/.emacs.el.bak ;
wget https://texto-plano.xyz/~peron/pub/emacs.el ;
mv emacs.el ~/.emacs.el
 
Esta personalización es básica para edición de texto UTF-8, que es lo que suelo proveer. Pero en caso de configuraciones más específicas para programación general, la configuración puede ser bastante más compleja. Dar con una puede tornarse tedioso y requerir algo de tiempo, 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

martes, 28 de julio de 2020

¿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.

lunes, 20 de julio de 2020

¿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 GraphicsAMD 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