💾 Archived View for neodruida.online › log › 2024_03_11_log4.gmi captured on 2024-05-10 at 10:23:21. Gemini links have been rewritten to link to archived content
⬅️ Previous capture (2024-03-21)
-=-=-=-=-=-=-
,'";-------------------;"`. ;[]; ................. ;[]; ; ; ................. ; ; ; ; ................. ; ; ; ; ................. ; ; ; ; ................. ; ; ; ; ................. ; ; ; ; ................. ; ; ; `. ,' ; ; """"""""""""""""" ; ; ,-------------.---. ; ; ; ;""; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ; ;//||; ; ; ; ;||; ;\\||; ;__; ; ;\/; `. _; _ ; _; ; " """"""""""" """"" """
Esta semana de marzo de 2024, las estadisticas de Statscounter indican que es la primera vez que Linux supera el 4% de usuarios en plataformas de escritorio. Aumento respecto a las habituales cifras que solían rondar el 1% en años pasados que se debe a multiples factores, entre ellos que Microsoft ya no está tan interesado en Windows (ya que en la actualidad su modelo de negocio se orienta a otros servicios, como Microsoft 365 y Azure), que Linux ha experimentado un avance tremendo en la india, cosa natural si tenemos en cuenta causas económicas y sociales durante su proceso de digitalización), y, de forma decisiva, el apoyo que ha recibido de Valve, validando definitivamente al SO como plataforma para jugar a videojuegos.
Gráfico de StatCounter de adopción de OS en escritorio
Linux siempre estuvo de fondo en mi vida de un modo u otro. De niño, mi padre compró una edición comercial de Suse Linux 6.3, que tenía instalada paralelamente a Windows 98 en su ordenador de trabajo de casa. Yo tenía por aquella época un precioso 386 con el que podía jugar a juegos de MsDos y Windows 3.11, pero no a títulos más recientes como Age of Empires o Safecracker, de modo que cuando me dejaba, jugaba en aquella computadora. Y me enseñó que podía acceder también a un sistema distinto, aunque extrañamente atractivo. Recuerdo esas ventanas de color metálico verde y un fondo de pantalla aguamarina, y un juego de estrategia por turnos que se ejecutaba en una ventana de escritorio y que venía con el sistema, en el que tenías que expandir un imperio galactico conquistando planetas, similar al VGA Planets de antaño, o al oGame posterior.
Suse Linux 6.3 y su atractiva caja, que aun sigue en una estantería en casa de mis padres
Mi siguiente recuerdo consta de mi adolescencia temprana, más o menos en torno a 2001-2005, cuando comencé a quedar con tres chavales algo mayores que yo. De algún modo, los tres estaban obsesionados con las computadores y la cultura hacker, y los cuatro eran ávidos usuarios de linux. "¿Sabías que Debian es un sistema creado por hackers?" es una frase que recuerdo con cariño y nostalgia por una época mucho más inocente, cuando la palabra hacker cargaba a su espalda un mito más peliculero (y para que negarlo, interesante) que la realidad. Recuerdo subir a casa de Ángel "N4kk3r" junto con Frias "$nip3r" y Brañas "Leviathan" y ver en el ordenador de Ángel, sepultado en ceniza de los cigarrillos de los que era ávido consumidor, el cursor parpadeando en una terminal y sin aparente entorno de ventanas. Yo sabía utilizar MsDos, pero aquello era diferente. Para empezar... era verde. Muy verde (Sin duda Matrix tuvo algo que ver). Recuerdo que me enseñó que para descargar nuevos programas, bastaba con escribir "sudo apt-get install" seguido del programa que querías, lo cual me pareció un auténtico truco de mágia, y recuerdo jugar en aquel ordenador a Quake II y Unreal Tournament.
Ahora que lo pienso, quizá por ser uno de los pocos juegos con un soporte decente para Linux, se convirtió en uno de nuestros preferidos por aquella época.
Mi siguiente contacto con Linux, que yo recuerde, sucedió unos años después. Era ya en torno a 2011 y yo tenía que ir todos los días a la escuela de artes con mi portatil para hacer mis cosas en la clase de diseño. Y, por alguna razón que no recuerdo, me dió la vena e instalé Ubuntu en aquel portatil en una instalación dual con Windows 7. Aprendí muy rápido los comandos básicos de la terminal, y a trabajar con Gimp e Inkscape. Estaba muy contento con mi máquina, e incluso me cree una pegatina de vinilo personalizada para el portatil con el logo de XFCE, pero he de reconocer que sólo podía utilizar su sistema linux de forma recreativa, ya que cada vez que requería algo serio, tenía que volver a Windows para trabajar en la suite de Adobe, o a lo sumo, alguna otra alternativa que tampoco existía en Linux.
Y así, desde 2011 hasta la actualidad, he usado Linux de un modo u otro en múltiples máquinas, reinstalandolo en alguna partición cada uno o dos años, probando distribuciones distintas, Ubuntu, Elementary, Debian, Manjaro... Pero dependiendo siempre de el SO de Microsoft, ya que múltiples aplicaciones imprescindibles para los artistas digitales simplemente no tenían un equivalente a su altura o daban múltiples problemas si se trataba de ejecutarlas en wine.
En torno a 2016 intenté la transición definitiva. Formatee los discos duros de mi torre y me dispuse a instalar y utilizar sólamente Arch. Hoy día sé lo que sucedió. Mi placa base y mi GPU nVidia presentaban una incompatibilidad con los drivers de aquel entonces que me procuraron una de mis peores experiencias con la informática de toda mi vida. Durante una semana entera, intenté por todos los medios posibles de instalar y hacer funcionar Arch, hasta que finalmente tuve un ataque de ansiedad, me rendí, volví a instalar windows y dejé una partición con Ubuntu Studio, que, milagrosamente, funcionó. Aunque mantuve mis particiones secundarias con linux, y nunca dejé de cacharrear con raspberrys o haciendo mis pinitos en servidores VPS, toda esta situación me dejó tan agotado que no volví a intentar abandonar Windows hasta la actualidad de 2024.
Os cuento todo esto para poner en perspectiva que, como artista y profesional de las artes gráficas, como persona cuyo uso principal no es la programación sino algo que históricamente no estaba bien soportado en Linux, llevo décadas sufriendo la disonancia de querer utilizarlo como mi sistema operativo principal, y verme siempre obligado a dejarlo en segundo plano, hasta que me volviese a acordar de ello.
Pero, es 2024. El tiempo pasa. Cambiamos. Nuestros ordenadores cambian. Todo cambia. Y por fin, por fin, todo encaja.
GNU/Linux es fácil para dos tipos de personas. Aquellos que sólo usan el ordenador para navegar por internet y algo de ofimática, y aquellos con ámplios conocimientos y experiencia. Para el primero, el ordenador se vuelve una máquina estable que funciona siempre a la primera. Para el segundo, la computadora es un mundo de posibilidades y está dispuesto a solucionar cualquier problema que surja.
Entre estos dos extremos, se encuentra el inmenso término medio de usuarios que usan su computadora para muchas otras cosas no relacionadas con la programación. Edición de imagen, de video, sonido, diseño gráfico, maquetación, arte 3D, animación... Y por supuesto, en la vertiente del ocio, para jugar a videojuegos. Estos usuarios, la mayoría en esta plataforma, nos encontramos con que transicionar a Linux presenta una serie de dificultades y frustraciones para las que nadie nos prepara correctamente.
La mayoría de la gente que quiere dar este paso, bien por curiosidad, bien porque las virtudes de linux le atraen, o bien porque Microsoft/Apple han colmado el vaso de lo que estáis dispuestos a tolerar, comienza instalando el sistema operativo y enfrentandose a todo a la vez, y este es un error importante del que sólo me he dado cuenta en tiempos recientes. La razón por la que esta vez sí he tenido éxito usando Linux en mi PC principal es porque, desde la última vez que lo intenté, aprendí a usar Blender, 3D Coat y Krita como herramientas desde Windows. Estos programas, potentisimos en sus respectivas areas, no sólo tienen soporte en GNU/Linux, sino que además están mejor optimizados, siendo la versión de windows la versión inferior. El hecho de manejar el flujo de trabajo de estas aplicaciones antes de instalar una distribución de Linux hace que su familiaridad suavice tremendamente el escalón inicial y evitan el tener que volver a Windows cuando necesitas hacer algo rápidamente.
No sólo esto es una obviedad, sino que es un consejo que se da en casi todas las guías para novatos. Sin embargo, creo que no se incide lo suficiente en la parte de que escoger una distribución depende de necesidades y preferencias y no de encontrar "la mejor distro". Esencialmente, puedes dividir las distribuciones de uso principal en tres tipos: Super estables, de vanguardia, y multiproposito.
Las primeras son las distribuciones como Debian, cuyo objetivo es ser sólidas como rocas y mantenerse funcionando durante años con los mínimos cambios posibles. Esto las convierte en distribuciones muy estables pero que no están actualizadas con los últimos paquetes (ya que sólo aquellos que han sido ampliamente testeados para que funcionen a la perfección en el sistema entran en sus repositorios). Las que yo he llamado "de vanguardia" son distribuciones como Arch o NixOs que funcionan poniendo a disposición las últimas versiones de los paquetes en el momento en el que se desarrollan. Suelen ser distribuciones para usuarios avanzados en las que todas las mañanas puedes descargar nuevas actualizaciones, pero tienen fama de ser inestables y requerir mantenimiento por parte del usuario.
Y por último, las que yo he llamado Multiproposito son distribuciones racionales que tratan de crear la mejor experiencia posible para el usuario basandose cada una en sus propias guias. Una buena distro multiproposito bien mantenida por sus desarrolladores intenta ofrecer un buen balance entre las ultimas versiones de software, un escritorio moderno e intuitivo, y estabilidad. En esta categoría cabría mencionar Linux Mint, Elementary, Manjaro, PopOs, Ubuntu...
Existen cientos, sino miles de distribuciones distintas, y en ocasiones nos enamoramos con el concepto de utilizar una u otra, pero si no tienes demasiada experiencia o no conoces demasiado lo que hay ahí fuera, la lista que te he dado es un buen punto donde empezar. Como soy parcial, recomiendo Linux Mint, porque estoy convencido de que en el 99% de los casos, es una buena elección.
La mayoría de las distribuciones de Linux hacen gala de un instalador relativamente sencillo. Sin embargo, en el momento en el que quieres hacer una instalación dual, tienes que implicarte un poco más en el proceso, crear particiones sin machacar la de Windows y enfrentarte a algunas opciones poco intuitivas (dependiendo siempre de lo que estés instalando, claro). Suponiendo que lo hagas bien, es posible que te surjan pequeñas molestias, como tener un disco ocupado por Windows, como no poder leer desde Windows las particiones que hayas creado en Linux, como tener que mantener pulsada una tecla en el encendido para acceder al gestor de arranque y poder ahí escoger Linux...
No es que esté fuera del alcance de un neofito, en absoluto, pero complica las cosas y genera pequeñas incomodidades que a la larga acaban cansando. De modo que, esta decisión de mantener una instalación de Windows como reserva por miedo a no tener disponible el PC, en realidad es un lastre. No diré que recomiendo en todos los casos hacer lo que hice yo, formatear todo e instalar únicamente Linux. Sin embargo, animo a ello por las razones anteriormente citadas, y porque si no logras apañarte con Linux, siempre puedes volver a instalar otro SO más tarde como si no hubiese pasado nada.
Bien, acabas de instalar GNU/Linux con tu nueva y flamante distribución. Ahora, ¿Dónde está cada cosa?
Dependiendo de cómo hayas decidido instalarlo, la opción más recomendable es tener una partición o disco para tu carpeta /home y una diferente para tu carpeta /root.
/Home -> Esta carpeta/partición/disco es donde almacenas todos tus archivos personales, documentos, imagenes, descargas, etc... Tecnicamente esta es la única carpeta de tu sistema (con sus subcarpetas, claro), donde el usuario debería manipular ficheros, dejando que sean otras herramientas las que manipulen los archivos de sistema de /Root.
/Root -> Carpeta raiz del sistema. Esta carpeta almacena todo el sistema de archivos de tu SO. | |__/bin ->Contiene binarios ejecutables de sistema, como los programas a los que llamas al ejecutar un comando. | |__/sbin ->Como /bin, pero usados habitualmente para mantenimiento de sistema. | |__/etc ->Contiene los archivos de configuración para todos los programas. | |__/dev ->Contiene archivos de "device". Los discos duros o un USB por ejemplo estarían representados por un archivo aquí. | |__/proc ->Contiene archivos que representan procesos en ejecución. | |__/var ->Contiene archivos que esperan "variar" de tamaño, como logs de sistema, archivos de mails, etc... | |__/tmp ->Archivos temporales creados por el sistema o el usuario, que son borrados tras cada reset. | |__/usr ->Aquí suelen guardarse las aplicaciones instaladas por el usuario y sus bibliotecas. | |__/boot ->Ficheros necesarios para el arranque de sistema | |__/lib ->Bibliotecas de sistema | |__/opt ->Aplicaciones opcionales de tipo addon | |__/mnt ->Directorio donde temporalmente se "montan" los sistemas de ficheros. | |__/media ->Directorio donde temporalmente se "montan" los disquetes, DVDs, BluRays, etc... | |__/srv ->"Service data", directorio utilizado para almacenar los archivos "servidos" por aplicaciones de servidor (si montas un servidor en tu sistema).
Explicación pormenorizada, sencilla y con imagenes de cada carpeta de sistema.
Te dirán que un usuario normal no tiene por qué enfrentarse a toda esta complejidad a la hora de utilizar Linux, que todo es maravilloso, fácil y sencillo olvidándote de que las carpetas del sistema existen y quedándote sólo en /home, pero tras bastante reflexionar sobre ello, encuentro que este es un enfoque didáctico equivocado, y voy a explicar mis razones.
Los apologetas de Linux siempre han batallado contra la fama de ser un SO para expertos, poco accesible para usuarios normales, y se ha sobrecompensado en ese sentido a la hora de comunicar cómo utilizar linux y evitar frustraciones. Es cierto que el usuario normal no va a manipular nada o casi nada estos archivos, pero si se mantiene el capó cerrado, lo que se crea es una zona oscura en la que da miedo entrar. El sistema no tiene por qué darnos miedo, no es tan complicado. En el árbol descrito encima de estas líneas, podemos entender de forma simple y clara dónde está cada cosa, y de este modo, cuando necesitemos copiar un archivo dentro de /bin/local , o instalar una tipografía, sabremos exactamente lo que estamos haciendo.
(Información útil extra: En la carpeta /home se colocan además multitud de carpetas ocultas que puedes hacer visibles en tu navegador y que suelen contener archivos que sólo utiliza tu usuario, como por ejemplo la biblioteca de Steam)
No hay nadie que sea recien llegado de Windows por primera vez y no encuentre enormemente confusa la manera en la que se instala y desinstala software en un SO Linux. El simil que le es más cercano son las aplicaciones de móvil, ya que la mayoría de distribuciones de linux hacen uso de un "gestor" que hace de "tienda" de modo similar a la appstore de apple o google play o la store de microsoft. En esta tienda se pueden encontrar aplicaciones de uso común haciendo búsquedas, e instalarlas de un modo sencillo simplemente pulsando un botón, sin embargo aquí comienzan las complicaciones.
Los paquetes de sistema son paquetes gestionados por el package manager de tu distribución. Por ejemplo, en Debian y herederos, es el ya mítico Apt. En Arch es Pacman, en Suse es Zipper...
Los pormenores de estos gestores de paquetes están muy alejados de ser interesantes para un usuario normal, sin embargo todos tienen una sintaxis sencilla que te permite instalar en segundos aplicaciones desde repositorios online.
Un ejemplo fácil. Supongamos que queremos instalar Blender en Linux Mint. Pues abririamos la consola y tecleariamos:
sudo apt install blender
Este comando indica que desde "super usuario" (es decir, con permiso para instalar cosar en las carpetas de sistema) ordenamos a apt instalar el paquete "blender". Él solito se encargará de buscar en los repositorios, mostrar información de todo lo que se va a instalar y pedirte permiso para proceder.
Es muy habitual que si buscas software online, la mayoría de los programas indiquen copiar y pegar una línea similar en la terminal para instalarlo, sin necesidad de descargarse nada de la propia web.
Respecto a otro tipo de paquetes:
Snap es un paquete "container" desarrollado por Canonical, la empresa desarrolladora de Ubuntu. Dentro almacenan todo un sistema de archivos de sistema con todas las bibliotecas necesarias para ejecutar la aplicación, que además se "monta" como si fuese casi su sistema aparte. Es muy lento e ineficiente y ocupa una cantidad de espacio inecesaria, por lo que no es nada popular fuera de Ubuntu.
Flatpack es también un paquete container, pero administra sus dependencias de forma distinta. Cuando te descargas uno, comprueba qué dependencias tienes ya instaladas para no descargar paquetes redundantes. Tiene por objetivo facilitar la distribución de software entre multiples distribuciones sin riesgos a que en unas funcione y en otras no, pero de nuevo, es más lento que los paquetes de sistema, ocupa más espacio y además provoca cierta "desconexión" con el resto de aplicaciones de sistema que puede resultar indeseable (por ejemplo, Blender puede hacer una llamada a un editor externo para modificar una textura, abre esta aplicación, tu modificas la textura ahí, guardas, y de inmediato aparece en Blender. El problema es que en estos paquetes container, las aplicaciones pueden no "hablarse" entre ellas, con lo que este proceso no funcionaría). Las ventajas de Flatpack son más para los desarrolladores que para los usuarios, siendo preferible utilizar paquetes de sistema, aunque no siempre es posible o la versión más actualizada está sólo disponible en Flatpack.
Los paquetes Appimage son el tercer tipo de container. Es el tipo que más comunmente llamamos "portable" en windows, conteniendo todas las dependencias y la propia aplicación en un sólo archivo, lo que significa que no se instalan tradicionalmente. Simplemente se ejecutan si tienen los permisos adecuados.
Información extendida sobre estos tipos de paquete container.
Y por último...
Son también muchas las aplicaciones que no tienen un binario ejecutable a disposición, y te dicen que si quieres el programa, que te bajes el código fuente y lo compiles tu mismo. Este es un proceso que suele ser un tanto farragoso, pero la mayoría de programas suelen incluir en github o el lugar donde lo hayas descargado una guía sobre cómo compilarlo, que en la mayoría de los casos consta de una lista de bibliotecas y otras dependencias que debes tener previamente (buscarlas una por una, con la versión correcta, y si no las tienes ya en tu sistema instalarlas) y unos cuantos comandos que debes introducir paso a paso en la terminal (navegar desde la terminal hasta el directorio correcto, ejecutar cmake...). Compilar tus aplicaciones y que funcionen es extrañamente satisfactorio y te sientes como Mr. Robot, a pesar de que no es tan complicado, pero la mayoría de gente lo evita si puede.
¿Te has bajado un script o un binario y no sabes cómo se ejecuta? Es un encontronazo típico de nuevos usuarios y un ejemplo de algo que no suele explicarse en este tipo de guías.
En linux, cada archivo tiene un propietario, que es el usuario que ha creado el archivo, y una serie de permisos. El superusuario tiene siempre todos los permisos y puede modificar cualquier archivo del sistema, mientras que un usuario normal suele tener restringidos dichos permisos.
Un archivo dispone de una tabla de propiedades con los siguientes permisos:
Por defecto, los archivos no suelen tener activo el permiso de ejecución. Desde un gestor de ficheros gráfico como Thunar, dar este permiso suele ser tan sencillo como hacer clic derecho en el archivo desplegando un menú, buscar la opción de propiedades, y en propiedades activar la casilla de "permitir ejecutarse". La manera más clásica y "pro" de administrar estos permisos es desde terminal con el comando chmod y una serie de parámetros, bien en notación simbólica u octal.
(Perdón por el vacile. el "modo simbólico" consiste en una serie de letras que corresponden con los diferentes usuarios y permisos. Así por ejemplo "chmod -x fichero.xxx" significa "dale al fichero.xxx permiso para que sea ejecutable". El modo octal asigna a cada tipo de usuario y permiso un valor con una cifra, que se suma a la anterior para concretar qué permisos se le dan a quien, así el mismo ejemplo anterior se podría escribir "chmod 700 fichero.xxx"
Una vez un archivo está marcado con el permiso de ejecutable, bastará hacer doble clic sobre él para lanzarlo, o navegar en la terminal hasta la carpeta y escribir ./NombreDelArchivo.xxx
Explicación completa y tablas del comando chmod
Ya he explicado cómo el proceso de instalar aplicaciones dista mucho de la experiencia de windows de descargar un instalador y que este se ocupe de colocar todos los archivos en una carpeta para la aplicación, pero hay muchos
más ejemplos de cosas que no funcionan de la misma manera. ¿Cómo hago x cosa que estoy acostumbrado a hacer en windows? Muchas veces tienes que preguntarte si lo que quieres hacer tiene sentido en linux. Desde intentar
encontrar binarios para descargar que se ejecuten y ya, a llenar tu escritorio de iconos. Mi recomendación es que no te aferres a las maneras de otros sistemas operativos, y estés abierto a probar flujos de trabajo nuevos. Descubrirás que en muchas ocasiones, tiene más sentido en conjunto.
Y llegamos a la temida terminal. Esa ventana llena de letras que mucha gente te dice que no es necesario utilizar, para no asustar a primerizos. Bien, como me sobra algo de tiempo voy a enseñarte a utilizarla.
En primer lugar, debes saber que siempre que escribas ./ le estarás indicando a los comandos que escribas en la terminal que te refieres al directorio en el que estás en ese momento. Si escribes ~/ te estarás refiriendo a la raiz de tu carpeta $HOME, no confundir con /ROOT .
Y ... bueno, ¡ya está! ¿A que no ha sido tan difícil? El resto es un poco saber qué programa quieres usar para que haga lo que quieras. De este modo, si quieres descomprimir un archivo.tar , acudirás a la aplicación Tar que ya vendrá en tu sistema con el comando "tar archivo.tar".
Recuerda que si tienes dudas de cómo se usa un comando y qué opciones te permite definir, siempre puedes consultar una guía específica para ese comando introduciendo "man "comando"",
Información extra: A menudo resulta que hemos creado un directorio con espacios en el nombre. Para acceder a dicho directorio desde la terminal podemos utilizar cd directorio\ con\ espacios , o bien cd "directorio con espacios". (En los anteriores ejemplos me puse a usar comillas a lo loco para los ejemplos, pero las comillas no formaban parte de dichos comandos. Las comillas en este caso sí sirven para indicarle que ese es el directorio literal, con espacios incluidos.)
Información extra 2: ¡Con los cursores arriba y abajo, navegas entre tu historial de anteriores comandos!
Aquí te dejo unos pocos más comandos de utilidad.
En ocasiones no conseguirás hacer que algo funcione. Buscarás respuestas online y no darás con el modo de solucionar tu problema. No pasa nada. Respira hondo. Mas de una vez, la solución es sencilla. Es sencillamente que nadie ha pensado en escribir una guía al respecto.
En tales casos....
No hay nada que más agrade a un linuxero que ayudar a otro linuxero. Si hay algo que te está costando, pregunta. Álguien te leerá y querrá ayudarte. En redes sociales, en foros o en servidores de discord. Y con el tiempo, tu también tendrás oportunidad de ayudar a álguien.