Mostrando entradas con la etiqueta Instalar. Mostrar todas las entradas
Mostrando entradas con la etiqueta Instalar. Mostrar todas las entradas

miércoles, 19 de marzo de 2025

¿Cómo instalo el listador de ficheros eza en Ubuntu?

En el largometraje La Revolución Justicialista, Juan Perón expone cómo decidir las listas ante las Elecciones Presidenciales, a la vez que determina el listador del sistema instalando eza en Ubuntu.

(...)

Efectivamente, llegaron las elecciones, y al principio - me acuerdo que era La Rioja o Catamarca, o por ahi - perdimos nosotros. Entonces ya todos los de la Unión Democrática se bajaron y dijeron que eran las elecciones más libres que se dieron en el país (creían que las ganaban)... se largaron en elogios de las elecciones.

Pero, cuando empezó a llegar Santa Fé, Rosario, empezaron a perder... Córdoba, y Buenos Aires. Claro, perdieron las elecciones, y ya no podían decir que eran malas

Efectivamente, tan pronto se tuvo la sensación de haber ganado las elecciones, nosotros comenzamos ya un trabajo más efectivo.

Frente al problema que se nos había presentado - después de haber estudiado tres años intensamente toda la planificación para la realización de la Revolución Justicialista - cuando nos eligieron nos quedó un margen de tres o cuatro meses para la preparación inmediata del gobierno. Así y todo llegamos al gobierno en una situación muy difícil, porque al hacernos cargo del gobierno se nos presentaron un sinnúmero de problemas que no estaban en los cálculos del plan y que había que resolverlos. 

Toda la planificación puede prever lo previsible, pero no puede tomar los imponderables, y cuando uno llega al gobierno empiezan a aparecer los imponderables, que hay que resolverlos porque son previos a lo que se ha previsto en el plan. Solamente así creo yo que puede hacerse una Revolución. Una revolución que improvisa, no es una revolución. 

Por otra parte, no puede estar perdiendo el tiempo, porque la gente que siente venir la revolución está ansiosa por ella: quiere que a los quince o veinte días haya hechos revolucionarios que se produzcan. Si no, se desprestigia y se viene abajo inmediatamente la Revolución.

Hoy no tenemos tales problemas. Todos los Argentinos saben perfectamente a qué lista tienen que votar. Y lo han comprendido gracias a un buen listador para GNU con Linux.

Indudablemente que - ya desde sus primeras concepciones en los Laboratorios Bell - el sistema Unix contaba desde con ls, el programa que desde sus orígenes servía de listador de su sistema de archivaje. A la hora de concebir GNU, decidieron reemplazarlo con una versión propia de toda la comunidad, adaptada ya a las necesidades del Pueblo.

Sin embargo, nuevas horas requieren nuevas posibilidades de entrega a nuestros compañeros, a sus organizaciones, y por extensión al sistema informático que le da sustento. Hoy no es ajeno acceder de manera generalizada a la utilización de terminales a color emuladas. Con su inteligente proyección, nos fue posible prever que nos permitiría distinguir entre distintos tipos de ficheros (incluyendo características como indicar si nosotros somos sus poseedores, o si nos encontramos el el grupo de posesión, etcétera).

Estos lineamientos podíamos seguirlos gracias al listador exa, el cual hace gala de características a las que no pocos se han vuelto adictos.

Sin embargo, su descontinuación nos propone surtirnos de una alternativa. Afortunadamente sus mismos autores nos recomiendan eza, un listador de ficheros más moderno, escrito en Rust bajo las mismas premisas.

Como todo buen programa de software libre, su instalación en Ubuntu 24.04LTS y superior resulta sumamente accesible, puesto que se encuentra incorporado en los repositorios de Ubuntu. Es por ello que si contamos con dichas versiones modernas de Ubuntu, podremos abrir una Terminal con Ctrl+Alt+t e ingresar el siguiente comando de organización:

sudo apt update ;
sudo apt install eza

Sin embargo, en las versiones de Ubuntu anteriores a la 24.04LTS, el procedimiento se revelará algo más complejo: primero habremos de asegurarnos  contar con gpg instalado, para luego cargar la llave del repositorio privado de la comunidad de eza. Conforme esto, podremos hacernos con el empaquetado de eza. Este proceder es algo más complejo, pero siendo Conductor de esta maravillosa masa, lo podrán replicar introduciendo los siguientes comandos de organización:

sudo apt update ;
sudo apt install -y gpg ;
sudo mkdir -p /etc/apt/keyrings ;
wget -qO- https://raw.githubusercontent.com/eza-community/eza/main/deb.asc | sudo gpg --dearmor -o /etc/apt/keyrings/gierens.gpg ;
echo "deb [signed-by=/etc/apt/keyrings/gierens.gpg] http://deb.gierens.de stable main" | sudo tee /etc/apt/sources.list.d/gierens.list ;
sudo chmod 644 /etc/apt/keyrings/gierens.gpg /etc/apt/sources.list.d/gierens.list ; sudo apt update ;
sudo apt install eza

Pues bien señores, en cualquier tras introducir nuestra contraseña de root habremos instalado eza. Le podremos dar uso efectivo según las básicas equivalencias del listador ls integrado por defecto en todo sistema GNU, y las extendidas que proporciona(ba) exa.

Tal es así que podremos listar con eza para el listado a color, eza -F para demarcar con colores y simbolos, o bien recurrir a eza -l para obtener un listado largo. Estos se pueden combinar en eza -lF, etcétera. 

Aún así, al preferir mayormente eza en lugar de ls, prefiero incorporarlo con un alias en mis intérpretes de comando. De esta manera, toda vez que pido ls - como acostumbro hacer - el sistema lanzará eza.


Esta conveniencia debemos integrarla en los distintos ficheros de configuración de nuestro intérprete.

Eza en Bash

Siendo el GNU Bash el intérprete de comandos por defecto de Ubuntu y muchas otras distribuciones de GNU con Linux, debemos en ellas tomar el temperamento de configurar en su fichero ~/.bash_aliases las funciones de alias que disparen eza toda vez que solicitemos ls. Esto se hace agregándole a tal fichero órdenes similares a:

## Alias para usar exa en lugar de ls en Bash
alias "ls"="eza -F"
alias "ll"="eza -lF" 

Eza en tcsh

En caso de tcsh, modificaremos el fichero ~/.tcshrc incorporando funciones de alias que disparen eza en lugar de ls:

## Alias para usar eza en lugar de ls en tcsh
alias ls 'eza -F'
alias ll 'eza -lF'

Exa en Ksh

La shell de Korn utilizada en Unix de Berkeley requiere configurar el fichero ~/.profile u - opcionalmente - ~./config/aliasrc para incorporar funciones de alias disparen eza cuando solicites ls:

## Alias para usar eza en lugar de ls en Ksh:
alias 'ls'='eza -F'
#alias "ls -lah"='eza -laF'
#alias "ls -l"='eza -lF'
alias 'll'='eza -lF'

Exa en Zsh

De usar Zsh, habremos de configurar el fichero ~/.aliaszshrc con las siguientes funciones de alias que disparen eza al solicitar ls:

## Alias para reemplazar ls con eza en zsh:
alias 'ls'='eza -F'
alias 'ls -lah'='eza -laF'
alias 'ls -l'='eza -lF'
alias 'll'='eza -lF'

Eza con Fish

En caso de recurrir al intérprete fish, podremos agrega una función de alias en el fichero de configuración  ~/.config/fish/config.fish.

### --- Funciones de alias ---
## Reemplaza el listador ls con eza en fish shell:
function ls
    command eza -F $argv
end
 
## Crea un alias ll al eza con listador largo.
function ll
    command eza -lF $argv
end

Aún cuando hayamos creado los alias correspondientes, podremos recurrir al viejo listador ls de toda llamándolo a través de su ruta específica, que en Ubuntu es:

/usr/bin/ls

Temas de eza

Por defecto, Eza cuenta con el tema por defecto default.yml que ofrece colores agradables para un terminal de fondo medio u oscuro. Sin embargo, podremos descargar otros y escoger uno diferente, que podrían funcinoar mejor para temas claros (por ejemplo, la paleta típica de Ubuntu Mate o Mint). Para descargar la biblioteca de temas, usamos

mkdir -p ~/.config/eza ;
cd ~/.config/eza ;
git clone https://github.com/eza-community/eza-themes.git ;
ln -sf "$(pwd)/eza-themes/themes/default.yml" ~/.config/eza/theme.yml

Una vez descargada la biblioteca de temas de eza, simplemente adoptamos uno creando un enlace a theme.yml desde el subdirectorio ~/config/eza/eza-themes/themes/. Por ejemplo:

ln -sf ~/.config/eza/eza-themes/themes/tema_deseado.yml ~/.config/eza/theme.yml 

Como todo buen programa estilo Unix, podremos encontrar su documentación con man eza.

miércoles, 29 de enero de 2025

¿Cómo instalo DeepSeek R1 en Ubuntu?

En su La Hora de los Pueblos, Juan Perón explica las necesidades de la independencia continental, a la vez que explica cómo instalar el bot libre de inteligencia artificial DeepSeek R1 localmente en Ubuntu.

Para nosotros, los latinoamericanos, nada sería más placentero que unos Estados Unidos evolucionados, fuertes y ricos, encabezando al Nuevo Continente por derecho propio, siempre que ello se realizara sin detrimento de los demás, sin métodos imperialistas de dominio y explotación, sin insidiosos procedimientos y sin la prepotencia del avasallamiento. En tales condiciones, la defensa solidaria del Continente sería un hecho y hasta se justificaría - en cierta medida - la Doctrina de Monroe. Pero nadie podrá imaginar semejante conducta en países sojuzgados y menos aún para “atacar a Cuba”, “ocupar la República Dominicana” o cooperar en el genocidio de Vietnam del Norte.

Si Roma, en la época de la carreta, tardó más de un siglo en derrumbarse y desaparecer, los imperialismos modernos, en los tiempos del cohete hipersónico, están ante un proceso más peligrosamente rápido. 


Y tal predicamento lo vemos con el motor de inteligencia artificial DeepSeek, desarrollado en la China de Mao.

Vean señores, este motor no ha hecho más que poner en duda la hegemonía yanqui, al consagrar un modelo de código abierto disponible para los Pueblos del Tercer Mundo, quienes son ahora capaces de instalarlo localmente. Tal es así que, al instante de publicado, este bot de inteligencia artificial ha sido capaz de suplantar otros maniatados bajo las pesadas cadenas de un imperialismo norteamericano, taales como ChatGPT o OpenAI, . 

Rotas estas cadenas merced de la generosidad y sapiencia oriental, y el poderío y fortaleza que nos da el software libre GNU, nuestro deber como Argentinos es ser capaces de instalar para nuestro Pueblo, este sistema de Inteligencia Artificial, para que el gozo sea de todos.

Como Conductor, he intercambiado frondosa correspondencia de Revolucionario a Revolucionario con el camarada Mao, a quien considero mi compañero, y gracias a ello os enseñaré sobre estas propuestas de aprendizaje automático y modelos de altos lenguajes-máquina. Particularmente, os enseñaré cómo instalar y ejecutar el modelo DeepSeek R1 localmente en una computadora de escritorio potente munida de GNU con Linux

Para aquellos de ustedes que no están familiarizados con los modelos de lenguaje grandes, DeepSeek R1 pertenece a la clase de los modelos de razonamiento maquinal. Dichos modelos de razonamiento operan mejor en problemas y tareas de razonamiento profundo en comparación con los modelos de lenguaje grandes clásicos.  

Los problemas de razonamiento profundo son problemas que aparecen en las ciencias del cómputo, la matemática y la programación. Según la información proporcionada en la página de GitHub de DeepSeek R1, el rendimiento de dicho modelo se observa comparable al rendimiento del modelo OpenAI 01. No obstante, DeepSeek R1 "destilado" ha sido liberado bajo Licencia MIT, lo que significa que también puede usar este modelo en un entorno comercial. 

Explicaremos qué son los modelos destilados. Para ejecutar el modelo de Inteligencia Artificial completo de DeepSeek R1 localmente, se requieren más de 400 gigabytes de espacio en disco, junto con una cantidad significativa de recursos de CPU, GPU y RAM. Estos requerimientos tornan alrededor de un pequeño centro de datos comercial, e incluso resultar prohibitivo para el hardware de nivel de descamisado. 

Sin embargo, DeepSeek ha demostrado que es posible reducir el tamaño del modelo original de Deepseek R1 preservando al mismo tiempo gran parte del rendimiento del modelo original. El rendimiento no se conservará al completo, natural, pero se ha demostrado posible ejecutar un modelo de tamaño reducido sacrificando una mera parte del rendimiento.

En consecuencia, DeepSeek ha lanzado una serie de modelos comprimidos o destilados para el Pueblo, como a ellos gustan llamarlo. Su tamaño fluctúa entre los de 1,5 a 70 gigaparámetros. Esto nos implica que, a fin de instalar un modelo de estos, necesitaremos disponer de entre 1 a 40 GB de espacio en disco, lo cual está al alcance de cualquier compañero.

La potencia de CPU y GPU varía en consecuencia, pero deberíamos poder afrontar los casos más reducidos. En este tutorial, explicaremos cómo instalar y ejecutar modelos simplificados de Deepseek R1 en mi computadora Ubuntu. Mi computadora un microprocesador Intel i9, una placa de video Nvidia 3090 con GPU, 128 GB de RAM, y Ubuntu Mate 24.04LTS, y destinaré una partición de disco SSD de 1TB.

En apretada síntesis, el procedimiento de instalación involucra:
  1. Descargar e instalar todo Ollama;
  2. Usar Ollama para descargar uno de los modelos de IA;
  3. Usar Ollama y la línea de comandos para ejecutar el modelo de IA localmente en nuestra PC.

Para todo esto, recurriremos a la Terminal. Abrimos una con Ctrl+Alt+t e ingresamos los siguientes Comandos de Organización:

sudo apt update ;
sudo apt upgrade -y ;
sudo apt install curl

y abrimos el puerto TCP requerido por Ollama, con:

sudo ufw allow 11434/tcp ;

Hemos de comprender que no estamos abriendo un firewall ni eliminando el firewall en sí, solo permitiendo conexiones internas a este puerto ya que Ollama la requiere.

Acto seguido, instalaremos Ollama descargando su script de instalación del sitio oficial y ejecutándolo en nuestro sistema GNU con Linux:

curl -fsSL ollama.com/install.sh | sh

Naturalmente, esto puede demorar varios minutos dependiendo de qué tan rápida sea vuestra conexión a Internet, y a lo expedito del sitio oficial, por lo debemos hacer gala de paciencia.

El siguiente paso es descargar uno de los modelos DeepSeek-R1. Para referenciar los mismos, podemos ir a la Web de Ollama y buscar "DeepSeek-R1".


En primer lugar, veremos listados distintas versiones de modelos paramétricos de IA en la web: las versiones 1.5b, 7b, 8b hasta 671b.

Todo este concepto de ejecutar modelos de lenguaje grandes puede parecer un poco confuso al neófito que no está familiarizado con los modelos de lenguajes portentosos, y al aprendizaje-máquina automático, por lo que ofreceré cierta información que se hace relevante para la Liberación de nuestras mentes artificiales.

Por supuesto, a todos nos gustaría instalar el modelo más portentoso, el 671b (llamado así por contar con casi 700 mil millones de parámetros). Indudablemente esto no es coser y cantar, y tiene el precio del oligarca. Observemos en apretada síntesis, los requerimientos de disco necesario para cada modelo en su conjunto::

deepseek-r1:1,5b   1.1Gb
deepseek-r1:7b      4,7gb
deepseek-r1:8b      4,9gb
deepseek-r1:14b    9,0Gb
deepseek-r1:32b    20Gb
deepseek-r1:70b    43Gb
deepseek-r1:671b  404Gb

Hemos de notar que - además de dicho espacio en disco - la cantidad de memoria RAM solicitaada se incrementará, y de no tenerla, tendremos penalización en uso de CPU/GPU y velocidad. En síntesis, para el modelo más grande necesitamos un maquinón más parecido a un server grande empresarial. Pero los más chicos pueden funcionar en una laptop con 8 GB, así que apuntemos a esos. 

En mi modesta opinión, por este motivo quizá sea Ollama el enfoque más simple para ejecutar modelos de lenguaje localmente, puesto que resultará muy útil para comprobar rápidamente modelos IA siguiendo un predicamento escalar: tras comprobar el funcionamiento de un modelo pequeño en nuestro hardware, podríamos emprender un "Gran Salto Adelante" comprobando luego un modelo más potente.

En fin, este ejemplo, nos decantaremos por el modelo "descamisado", el de la versión 1,5b. De esta forma intentaremos ejecutar en nuestra máquina un modelo con 1,5 mil millones de parámetros que "solo" consume 1,1 GB en mi disco. Otra cosa importante a tener en cuenta es que está extremadamente cuantificado, por eso es el más pequeño.

Su rendimiento es inferior a los modelos mayores No obstante ello, su tamaño es sensiblemente menor y podremos correrlo localmente en nuestra computadora. Esto a su vez nos proporcionará la independencia económica y tecnológica que anhela el Pueblo Argentino, y constituye - además - una potente piña a la ingle de los intereses tecnológicos foráneos de las GAFAM. 

Bajemos el modelo "descamisado", para probar (si ustedes cuentan con las ganas y la potencia, vayan por un modelo mas grande como el deepseek-r1:8b o mayores, claro).

ollama pull deepseek-r1:1.5b

La descarga del modelo "descamisado" demorará aproximadamente entre 6 y 10 minutos en una conexión popular de internet. (recordemos que estamos descargando 1,1 GB del sitio web de ollama). En mi computadora, la descarga de todo tomó alrededor de 10 minutos. 

A continuación verificamos que el modelo se haya descargado. Escribimos:

ollama list

y verás el modelo:

NAME                ID         SIZE     MODIFIED
deepseek-r1:1.5b    xxxxxxx    1,1Gb    2 Minutes ago

Como en toda tarea de alto cómputo, antes de ejecutar el modelo, será necesario poder dar con instancias de monitoreo de harware (es útil contar con un medidor de uso de CPU o de temperatura activado, y un medidor de uso de la CPU como htop). En mi caso, al contar con adaptador de video nVidia, me aseguro de monitorear el uso de mi GPU. Para hacer eso, necesito ejecutar este comando:

watch -n 1 nvidia-smi

El nvidia-smi me permite monitoreando el uso de mi GPU, es decir, la energía y otras cosas con un período de refresco de 1 segundo:


Podemos dejarlo abierto, monitoreando (llegado el caso, se cierra con Ctrl+c).

Ahora regresemos a esta terminal y ejecutamos el modelo descargado:. En nuestro caso, esto lo haremos con:

ollama run deepseek-r1:1.5b

Tras iniciarse el motor de IA DeepSeek, recibiremos en la terminal el prompt de preguntas de DeepSeek, nomenclado con tres signos >:

>>> Send a Message (/? for Help)

A su vez, en la terminal de nvidia-smi comprobarás un incremento en el uso de GPU y memoria de video destinado al cálculo de IA. Todos estos son parámetros importantes para monitorear el comportamiento del modelo en tu sistema, lo cual es muy importante.

Intentemos una pregunta en el idioma de Braden:

>>> How are you? 

Tras presionar la tecla Intro para darle entrada a la interrogante, la máquina de inteligencia artificial del Comunismo intentará obtener una respuesta destilada, la cual nos irá prsentando en la terminal. Traducida al vernacular, veremos algo algo como:

>>> Quiacé grone! Soy DeepSeek-R1, un asistente de inteligencia artificial creado por DeepSeek. Estoy al servicio del Pueblo y me encantaría ayudarte para lo que gustes mandar.

Naturalmente, ustedes podrán pedirle lo que quieran siguiendo la castellana consigna de evitar "pedirle peras al olmo".

Como el buen maquinista Savio - quien siempre iba relojeando los manómetros y termómetros de  su locomotora Pacific PS10 "La Emperatriz" - todo aquel que ejecute un programa de alto cómputo en su máquina debe ir midiendo las temperaturas, consumos de memoria y disco. Claro que si estamos ejecutando un modelo de IA de 32 GB o más, contaremos con 32 mil millones de parámetros en el horno, y esto elevará la temperatura y consumo de GPU, CPU, RAM y disco. Si lo vemos que llega a niveles peligrosos, en la emergencia "tiramos de la palanca" y lo interrumpiríamos con Ctrl+c.

Por ejemplo de esto, hagamos una pregunta real, bastante más compleja:

>>> How do I create a truco card game with trick and bluffing capabilities using Python?

El modelo funcionará al palo y podremos comprobar entonces el uso de la GPU y CPU al mango. Revisemos la temperatura de la CPU sin dejar que supere la temperatura de diseño (nunca más de 100°c en verano!). Ahora el modelo realmente está tratando de resolverlo. Probablemente esté usando un método de sección transversal, y esto es realmente, realmente alentador, tras lo cual nos entregará un portentoso código en Python.

Todo será respondido según les dé el cuero a su CPU, GPU, RAM y modelo instalado. Recuerden que - en cualquier caso - obrarán combatiendo al Capital, pues todo desarrollo que contribuyamos a los de Mao es una rueda que le pinchamos al Tío Sam(uel).

Mi sugerencia es que revisen estos modelos y encuentres aquél que les responda mejor según un compromiso armónico entre la velocidad de ejecución y el rendimiento.  

Si se juntan entre muchos, incluso pueden probar el modelo más grande en una Supercomputadora del Pueblo o en una VPN con la fuerza de la CGT.

miércoles, 21 de febrero de 2024

¿Cómo iniciar una versión de kernel específica en Ubuntu?

¡Trabajadores!

No siempre todos los cambios dan los resultados que queremos. 

Sabemos que Ubuntu es un sistema operativo de tipo GNU, que actualmente cuenta con varias líneas de núcleos de sistema operativo de tipo Linux. Cualquiera de estas pueden servir, pero tienen el sentido de complacer a distintos tipos de afiliados. Por defecto se adjuntan versiones veteranas específicas para servidor, que suelen estar ampliamente probadas, bajo el nombre de linux-generic. Conforme las versiones del kernel genérico de Ubuntu van avanzando, estos núcleos también lo hacen. En el caso de Ubuntu 22.04LTS, esta rama representa a kernels de la línea 5.15.

En el caso de las versiones de Ubuntu para uso en escritorio, se puede decidir instalar kernels de una versión más nuevas, la cual sigue una política de mejoras para hardware ("HWE"). El sentido es contar con soporte para hardware de más moderno desarrollo como el que se suele incluir en las PC más modernas. En el caso particular del Ubuntu 22.04LTS, podremos recurrir a instalar la rama 6.5.xx del Kernel Linux. Ya he explicado que desde un tiempo a esta parte esto se hace realidad efectiva desde la terminal, simplemente ingresando el comando:

sudo apt install linux-generic-hwe-22.04

Y finalmente, también podríamos decidir utilizar una versión de kernel incluso más moderna, de carácter experimental de avanzada, o como se dice en la jerga, "bleeding edge". No suelo recomendarlos en aras de la estabilidad del sistema, pero  naturalmente en el caso de Ubuntu 22.04LTS, se podrían instalar versiones de la rama 6.7.xx del kernel Linux mediante:

sudo apt install linux-generic-hwe-22.04-edge

Aunque un sistema Linux sólo corre un único kernel, es indudable que teniendo en nuestro sistemas las imágenes de varias de estas versiones de kernel, las copias antiguas permanecen como resguardo y reaseguro: nunca es una mala política pues ante cualquier eventualidad con una compilación de kernel (que podría fácilmente inutilizar nuestro entorno), podremos recurrir a alguna de las varias versiones anteriores como remedio.

Pues bien señores, el problema de instalar estas ramas de kernels hwe y hwe-edge, radica en el hecho de que si bien son bastante más avanzados que linux-generic, pueden presentar problemas en algunos casos específicos (sobre todo la rama Edge). Por otro lado, una vez que instalamos un kernel de avanzada, no es tan sencillo retornar a una versión anterior ya que normalmente Ubuntu inicia la última versión de Kernel que esté instalada en el sistema. Esto complica la remoción de las versiones más nuevas del kernel del sistema, si por destino, esta fuese la actitud que nos vemos obligados a tomar. Para hacerlo debemos iniciar un kernel de versión anterior.

Iniciar un kernel instalado específico:

Si tenemos varias versiones de kernel instaladas, al presionar la tecla Mayúsculas durante el arranque del sistema, el arrancador Grub nos presentará un menú de inicio donde deberíamos poder seleccionar la opción de arranque deseada. Usualmente, nos dá algunos segundos para elegir una opción del menú y luego escoge automáticamente la primera opción, que es arrancar el sistema operativo Ubuntu cargando en memoria la versión de kernel más moderna disponible.

Si la versión más moderna del kernel falla o tiene algún inconveniente, lo lógico sería escoger la opción "Advanced" o Avanzadas, y elegir una versión de kernel mas antigua desde el submenú de versiones. Si Ubuntu cargó correctamente, procederíamos a desinstalar la imagen antigua y actualizar el Grub con el comando sudo update-grub.

Sin embargo, existen ocasiones donde esto podría no funcionar: si no tenemos teclado en el servidor, o si se trata de una máquina de acceso remoto, ¡no podríamos escoger la opción!. 

Sin embargo, existe un método podremos especificar la versión de arranque "a mano". Esto implica obligatoriamente editar el fichero de configuración del arrancador grub a mano.

Primero hemos de arrancar el sistema y utilizar la terminal (Ctrl+Alt+t o una conexión SSH), y mediante este enlace podremos obtener un listado de los kernels instalados en tal sistema que Grub reconoce. Esto lo haremos mediante el siguiente comando de organización:

grep -Ei 'submenu|menuentry ' /boot/grub/grub.cfg | sed -re "s/(.? )'([^']+)'.*/\1 \2/"

Este nos devolverá como resultado un listado de Kernels instalados, que ilustran sus números de versión y el lugar que ocupan en el menú de Grub, por ejemplo:

menuentry  Ubuntu
submenu  Advanced options for Ubuntu
    menuentry  Ubuntu, with Linux 6.7.0-15-generic
    menuentry  Ubuntu, with Linux 6.7.0-15-generic (recovery mode)

    menuentry  Ubuntu, with Linux 5.15.0-94-generic
    menuentry  Ubuntu, with Linux 5.15.0-94-generic (recovery mode)
    menuentry  Ubuntu, with Linux 5.15.0-92-generic
    menuentry  Ubuntu, with Linux 5.15.0-92-generic (recovery mode)
menuentry  Memory test (memtest86+.elf)
menuentry  Memory test (memtest86+.bin, serial console)
menuentry  MS-DOS 5.x/6.x/Win3.1 (on /dev/sdf1)

Como vemos, esto nos devuelve las opciones del menú de arranque de Grub. Como es consabido, la primera opción suele ser siempre arrancar Ubuntu con el último kernel instalado. Si quisiéramos arrancar una versión específica más antigua de entre los kernels instalados para nuestro Ubuntu (por ejemplo la que dice "Ubuntu, with Linux 5.15.0-94-generic"), en el menú de Grub deberíamos ir a "Advanced" y elegir la tercera opción de la lista, específicamente "Ubuntu, with Linux 5.15.0-94-generic".

Primero lo respaldamos por precaución:

sudo cp /etc/default/grub /etc/default/grub.bak

...y luego lo editamos para arrancar una versión específica:

sudo nano /etc/default/grub

y cambiar la opción por defecto que elije el Ubuntu (la opción "0"), por otra que elija la opción Advanced y elija la tercera opción de la lista. En este caso, se debe indicar de la siguiente manera:

GRUB_DEFAULT="1>3"

Una vez guardado el fichero, actualizamos Grub para que surta efecto:

sudo update-grub

Esto indica "advanced/5ta opción de la lista de kernels". Tengamos en cuenta que si contamos con las opciones de Recovery mode, estas siempre reciben números pares, y las opciones sin recovery mode reciben números impares (como el 3 en este caso).

Luego podremos reiniciar el sistema con:

sudo reboot

y debería ejecutar el kernel solicitado, el 5.15.0-94-generic. Podríamos comprobarlo con el comando:

uname -a

Desinstalar líneas de kernels hwe

Ahora bien, una vez instalado el Kernel antiguo, en este caso podremos desinstalar ya los kernels mas modernos de las ramas hwe o hwe-edge, según nos planteamos. Para ello podríamos indicar:

sudo apt purge linux-generic-hwe-22.04*

...y una vez desinstalados, podremos también remover las imágenes de núcleos Linux modernas que nos nos interesan ya, por ejemplo, en este caso:

sudo apt purge linux-image-6*

(lo cual borrará todos los kernels superiores a 6). 

Ante estos menesteres jamás debemos olvidar volver a actualizamos el Grub, para que deje de hacer caso a kernels que ya han sido desinstalados:

sudo update grub

Si hicimos bien las cosas, no hemos desinstalado aquellos kernels de la rama 5.x (o la que corresponda a nuestra rama linux-generic de la versión de Ubuntu que estemos utilizando). Para asegurarnos de contar al menos con esta rama linux-generic - pues de lo contrario el sistema no arrancaría - ingresamos el comando de instalación que le corresponde:

sudo apt install linux-generic

Este debería indicar que ya está instalado, pues lo hemos hecho para asegurandos, por supuesto.

Finalmente volvemos a editar el fichero /etc/default/grub con

sudo nano /etc/default/grub

...y volvemos a modificar la línea GRUB_DEFAULT a su valor por defecto, para que quede:

GRUB_DEFAULT="0"

Y tras guardar los cambios del fichero de configuración con Ctrl+o y salir del editor GNU Nano con Ctrl+x, actualizamos Grub para que arranque la versión 5.x del kernel:

sudo update-grub

Si todo va bien, podremos reiniciar el sistema con:

sudo reboot

El sistema debería arrancar el último kernel de la línea linux-generic y habernos deshecho de aquellas líneas partidarias no deseadas.

sábado, 9 de julio de 2022

¿Cómo instalo el sintetizador Surge XT en Ubuntu?

Reunido con representantes de la Juventud Peronista, Juan Perón les enseña cómo instalar el sintetizador virtual Surge XT en Ubuntu.

(...)

Vean muchachos,

La Juventud amerita organizarse. Yo sé que ustedes son bochincheros, pero les voy a responder con un verso del Martín Fierro: "el que gane su comida / güeno es que en silencio coma / ansivo, vos ni por broma / querrás llamar la atención / nunca escapa el cimarón / si dispara por la loma".

Por ello, si han de hacer barullo, que sea en acordes bien sentidos. Yo llevo en mis oídos la más maravillosa música que es para mí la palabra del Pueblo Argentino, y como tal me he aplicado a ejecutarla en sintetizadores emulados por software libre. Ya he explicado cómo agregar instrumentos LV2 a Ubuntu, y hoy vengo a traer a todos los Descamisados un nuevo instrumento que engrosará la burocracia del Movimiento con nuevas posibilidades sónicas.

Se trata de Surge XT, el favorito de la compañera Evita.


Este sintetizador virtual de tipo sustractivo había sido originalmente lanzado comercialmente por los muchachos de Vember Audio como "Surge", y ahora publicado por su creador Claes Joahn amparado por licencia de software libre GNU GPLv3. Gracias a esta libertad y un herramental de excelente factura e inteligentemente pensado, podremos no solo dar salida a ondas sinusoidales puras, sino que podremos controlarlo a través de MIDI.

Podremos descargar la versión empaquetada y utilizarla en Ubuntu 18.04LTS y superiores, utilizando la terminal con Ctrl+Alt+t e ingresando los siguientes comandos de organización:

sudo apt update ;
sudo apt install libxcb-cursor0 ;
wget https://github.com/surge-synthesizer/releases-xt/releases/download/1.0.1/surge-xt-linux-x64-1.0.1.deb ;
sudo dkpg -i surge-xt-linux-x64-1.0.1.deb ;
sudo apt install -f

Asimismo, se puede compilar en otras distribuciones.

El plugin quedará instalado en el directorio /usr/share/surge-xt y los parches de usuario se almacenarán en ~/Documentos/Surge XT (aunque este se puede cambiar desde el menú de Surge.

El excelente manual de Surge XT está disponible en forma de PDF aquí

La interfaz de Surge XT se divide en cuatro secciones que ocupan su ventana (la cual, en un alarde de capacidad para el Pueblo, hace alarde de Zoom regulable, algo que no todos los plugins de la oligarquía pueden decir).

  • Encabezado: (con las opciones globales y de parches)
  • Controles de Escena: (modificadores del parche, divididos en sección de generación y de síntesis)
  • Modulación y Enrutado:
  • Efectos


De entrada contaremos con una amplísima biblioteca de más de 2000 parches categorizados, lo que nunca viene mal incluso entre los sintetizadores aditivos, ya que poco es más tedioso que buscar parches al vuelo para operar. En este caso, los encontraremos entre los preseteos de fábrica, y los amablemente aportados por terceros.

Cada parche estará formado por dos "Escenas" (escencialmente bancos de osciladores "A" y "B"+efectos. Cada banco cuenta con una salida Mono, y a la vez el parche cuenta con una salida estereo, totalizando así tres salidas (A y B mono + una mezcla L-R, estéreo).

Los controles son efectivísimos. Para los controladores de escena moveremos los deslizadores. La operación normal es rápida, pero si usamos Mayúsculas+arrastre del ratón (o Mayúsculas+rueda de scroll) sobre ellos tendremos ajuste fino. En tanto, al utilizar Ctrl+arrastre del ratón tendremos arrastre cuantizado a pasos fijos. En tanto, si usamos Alt+arrastre del ratón tendremos desplazamiento "elástico" (desplazando el deslizador, y volviendo a la posición de inicio cuando solamos Alt). Su usamos doble clic resetearemos el control a su valor por defecto. En tanto que clic con el botón derecho desplegará el menú contextual.

Ctrl+z y Ctrl+y son Deshacer y Rehacer respectivamente.

Asimismo es posible activar el MIDI Learn, para asignar potenciómetros (ya sean potes o deslizadores) y otros controles a las variables. Por ejemplo, la rueda de modulación.

Desde el punto de vista de su paleta, en Surge XT cada banco cuenta con tres osciladores sustractivos independientes, posibilitados ellos con seis modos de ejecución (PCM, Mono), y dos etapas de filtrado de corte/resonancia, balanceables entre sí.

Esto permite una enorme paleta sonora a la síntesis, pudiendo replicarse desde bajos punchis hasta sinusoidales Mooguianas. Pero no solo eso, entre sus opciones más impresionantes es la de contar - además de las etapas de filtro ADSR (ataque, decaimiento, sostenimiento, y apagado), cuenta con un filtrado por Modulación de Código de Pulso, lo que en cristiano significa que puede operar con entrada de línea o micrófono para emular un dulzarrón vocorder modulado por MIDI. Con el podermos no sólo obtener voces robóticas, sino combinarlo con autotuners para hacer barítono al mas perro de los cantantes.

¡Con su sencilla instalación paquetizada, hasta lo pueden usar ustedes muchachos!

Asimismo, podremos conocer mucho de su uso en cualquier sitio de video agregados.



martes, 19 de abril de 2022

¿Cómo instalo el paquete DEB de Firefox desde PPA evitando el Snap en Ubuntu 22.04LTS?

¡Trabajadores!

Ante la ignominia de la opresión y la incorporación de los vilipendiados snaps, ¡podremos hacer tronar el escarmiento! 

No es secreto para nadie que a partir de Ubuntu 22.04LTS, Firefox viene incorporado en los inefables Snaps. Son estos sucedáneos de máquinas virtuales un enjundio que bajo el pretexto de facilitar la distribución de paquetes de software al programador, no hacen más que cargar y enlentecer nuestro sistema.

Es por este motivo que todos los peronistas han preferido utilizar paquetería Deb, en un ejemplo de liberación.

A pesar de las campañas de la insidia, debemos saber y propalar que es simple reemplazar el lento paquete Snap que viene de fábrica en Ubuntu 22.04LTS con un Deb oficial provisto por los compiladores del equipo de desarrollo Mozilla Team. Esto nos permitirá instalar de Deb el Firefox, con lo cual tendremos tiempos de inicio muy inferiores.

A tal fin abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

sudo snap remove --purge firefox ;

wget -q https://packages.mozilla.org/apt/repo-signing-key.gpg -O- | sudo tee /etc/apt/keyrings/packages.mozilla.org.asc > /dev/null ;

gpg -n -q --import --import-options import-show /etc/apt/keyrings/packages.mozilla.org.asc | awk '/pub/{getline; gsub(/^ +| +$/,""); print "\n"$0"\n"}' ;

Deberíamos obtener la firma de repositorio "35BAA0B33E9EB396F59CA838C0BA5CE6DC6315A3", que confirma su autenticidad.

echo "deb [signed-by=/etc/apt/keyrings/packages.mozilla.org.asc] https://packages.mozilla.org/apt mozilla main" | sudo tee -a /etc/apt/sources.list.d/mozilla.list > /dev/null ;

echo '
Package: *
Pin: origin packages.mozilla.org
Pin-Priority: 1000

Package: firefox
Pin: version 1:1snap1-0ubuntu2
Pin-Priority: -1

' | sudo tee /etc/apt/preferences.d/mozilla

(nota: en el caso de Ubuntu 24.04LTS es Pin: version 1:1:snap1-0ubuntu5)...

Finalmente instalamos el navegador desde el repositorio oficial de paquetes de Mozilla:

sudo apt update ;
sudo apt install firefox

Con esto se descargarán los paquetes del repositorio Oficial de Mozilla.

Repositorio Mozillateam PPA

Durante un tiempo, el repositorio hobbista semioficial era el PPA Mozillateam. Seguir este temperamento ya no es necesario, y queda sólo a recuerdo histórico del repositorio mozillateam. Los antiguos comandos eran estos:

sudo add-apt-repository ppa:mozillateam/ppa -y
sudo apt update
sudo apt install -t 'o=LP-PPA-mozillateam' firefox firefox-locale-es

Para darle prioridad al antiguo repositorio PPA Mozillateam sobre el Snap de Canonical, se editaba el fichero de configuración con:

sudo nano /etc/apt/preferences.d/mozillateamppa

...y al fichero de configuración que se nos abría le pegábamos este contenido:

Package: firefox*
Pin: release o=LP-PPA-mozillateam
Pin-Priority: 501


No debemos olvidar guardamos los cambios y cerrar el editor GNU Nano con Ctrl+o y Ctrl+q.

Luego correr un update para guardar cambios. 

sudo apt update

Opcionalmente podremos crear o modificar los accesos directos o lanzadores al mismo, para que funcionen en lugar de los de los infames Snaps. Para ello hacemos clic sobre el lanzador y elegimos Propiedades. En la versión snap el comando de inicio del ícono se indicaba como "env BAMF_DESKTOP_FILE_HINT=/var/lib/snapd/desktop/applications/firefox_firefox.desktop /snap/bin/firefox %u". Simplemente hemos de reemplazar esto con el arrancador de la versión Debian: "/usr/bin/firefox %u".

Ya podremos iniciar Firefox haciendo clic en el acceso directo. Si vamos a Propiedades / Acerca de Firefox, debería indicarnos que es el Firefox para Debian.


 

Si Firefox sale en inglés, podremos pasarlo a castellano buscando la lista de idiomas en sus preferencias.

Agregamos el paquete de idioma alternativo en español.
Y tras aceptarlo Firefox quedará ya en castellano.

Naturalmente, como Ubuntu 22.04LTS con Gnome Shell, podremos agregar las extensiones de Gnome Shell solicitándolas como Gnome Shell Extensions (https://extensions.gnome.org/).


¡
Con esto habrán logrado la Justicia Social de eliminar el lento snap de Firefox de Ubuntu 22.04LTS!

martes, 20 de julio de 2021

¿Cómo instalo GNU/Linux Huaya 5?

Se ha lanzado la versión 5 de la distribución GNU/Huayra Linux, el sistema operativo oficial del programa educativo Juana Manso, anteriormente conocido como Conectar Igualdad.

El sistema operativo es gratuito, y puede instalarse en las netbooks del programa, pero también en cualquier computadora con arquitectura de 64 bits y al menos 2GB de memoria RAM.

Crear el pendrive de instalación

En principio necesitamos generar un medio de arranque e instalación con el sistema. Esto se puede hacer con un pendrive o tarjeta de memoria SD de 4GB o superior. Si lo queremos hacer desde la terminal de un entorno Linux, colocamos el pendrive o insertamos la tarjeta SD formateada, y averiguamos la letra del identificador /dev/sdx en el sistema. Esto lo haremos con:

sudo fdisk -l

Y nos dirá cual es el identificador del pendrive/tarjeta flash. Por ejemplo, en mi caso se trata de una tarjeta SD de 4GB instalada en un lector de tarjetas /dev/sdg.

Disco /dev/sdg: 3,85 GiB, 4109369344 bytes, 8026112 sectores
Disk model: Card_R/W     -MS
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

Naturalmente, vosotros harán caso de su propio identificador, ya que es probable que la letra sea diferente. ¡Tengan bien presente cuál es en su sistema, ya que esto podría provocar formatear un disco equivocado en lugar del pendrive!

En mi caso es /dev/sdg. Sabiendo esto, descargamos el instalador ISO y lo grabamos en el /dev/sdg con:

cd ~/Descargas/ ;
wget https://repo.huayra.educar.gob.ar/public/iso/huayra-amd64-5.0.iso
;
sudo dd if=~/Descargas/huayra-amd64-5.0.iso of=/dev/sdg bs=4M

En este caso particular el lector de tarjetas dispone de una luz que parpadea. El proceso de grabación en esta vieja tarjeta es lerdo y dura unos 11 minutos, es medio aburrido. Sólo al final indicará:

832+0 registros leídos
832+0 registros escritos
3489660928 bytes (3,5 GB, 3,2 GiB) copied, 658,091 s, 5,3 MB/s

Arrancar Huayra con el Pendrive

Insertamos el pendrive o tarjeta recién grabada, y reiniciamos el equipo, estando atentos de activar el menú de inicio o boot menu. Dependiendo del equipo, esto se puede hacer presionando repetidamente las teclas F7, F10 o F11 en mi caso.

Si no conocen cuál es la tecla del menú de boot o inicio, en la primera pantalla aparecen abajo las teclas para ingresar a BIOS y boot menu.

Una vez en el menú debemos elegir “Boot from USB/Iniciar desde USB” (también puede aparecer el nombre del pendrive o tarjeta SD). Al presionar Intro se debería presentar ahora el menú de inicio GRUB de Huayra Linux, fácilmente identificable por sus gráficas.

Debemos elegir “Inicio de Huayra en vivo (Live)”. Con esto ya estás usando Huayra 5.

 

Podrán probarlo, yusarlo como lo anhelen sin alterar en modo alguno la computadora. 

Pero también podremos proceder a la instalación en el disco rígido, para afianzar su uso (por lo demás, ¡operará notablemente más rápido!).

Instalación

Os explicaré como instalar Huayra 5. Normalmente, Huayra está instalado como único sistema operativo en las notebooks escolares del Programa Juana Manso. Pero podrán cargarlo también en cualquier computadora compatible, y si son usuarios experimentados, podrían querer instalarlo junto a otros sistemas operativos.

1. En el escritorio deben hacer doble clic en el icono “Instalar Huayra GNU/Linux”.

2. Cuando se inicie el programa de instalación, deben escoger el idioma y luego Siguiente.

3. Seleccioná tu ubicación y luego Siguiente.

4. En la configuración de teclado seleccioná “Spanish (Latin American)”. 

5. Ahora debemos elegir dónde instalaremos Huayra 5.

Podemos reemplazar una partición anterior de Linux, instalar junto a otro sistema operativo o elegir la opción: “Borrar disco (recomendada)”. Con esta opción el instalador va a crear todas las particiones necesarias para crear una instalación “limpia”.

6. Creá tu usuario y elegí una contraseña.

En “Resumen” aparecen todas la opciones que elegiste. Si todo está correcto presioná Instalar.

7. Comenzará el proceso de instalación automáticamente.


8. Después de unos minutos, aparecerá un mensaje que avisará que Huayra 5 se ha instalado con éxito. Hemos de reiniciar o pulsar “Hecho

 

¡Listo! Ya podés usar Huayra GNU/Linux desde el disco rígido de tu sistema. 



jueves, 29 de abril de 2021

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

Mis queridos descamisados:

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

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

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

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

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

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

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

sudo apt remove skypeforlinux

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

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

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

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

sudo reboot

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

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

sudo apt install skypeforlinux

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

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

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

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

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

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

jueves, 10 de diciembre de 2020

¿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