Como primer post en tantos años sin escribir un blog, voy a hablar un poco de mi reciente (muy reciente, entre el 2 y el 3 de febrero), migración a Linux.

Una decisión con muchas dudas, estaba muuuuuuuuy cómodo con Windows, PowerShell y WSL cubrían todas mis necesidades, todas las herramientas que uso están disponibles para el sistema, pero hacía tiempo que quería volver a Linux, el uso de comandos como ls me delataba.

Desde que dejé de usarlo como sistema de escritorio, solamente lo usé en servidores y, como no podía faltar, los siempre útiles live CD, que me han salvado en más de una ocasión al hacer service en PCs propias y ajenas.

No voy a entrar en la discusión de Linux o GNU/Linux. Pass.

Si estás leyendo esto, probablemente sepas sobre las distribuciones de Linux. El que no, le recomiendo leer el artículo en la Wikipeda.

Comienzos con Linux

Era un adolescente cuando mi viejo llegó y me habló de Linux. Seguramente trajo alguna revista sobre el tema, pero no les voy a hacer publicidad (?).

Estoy seguro que la primer distribución que probé fue Mandrake, la versión te la debo. Me llamó mucho la atención, claro, toda mi vida usé MS-DOS y Windows, otro sistema era muy novedoso. En el lapso de un par de años, probé muchas distros:

  • Mandrake
  • Conectiva
  • Mandriva, el resultado de la unión de las anteriores
  • Slackware, la que siempre tendrá un lugar especial en mis recuerdos
  • Caldera
  • Gentoo
  • Ututo, la, creo, primer distro argentina
  • Red Hat
  • Debian
  • SuSE, antes de ser Open
  • Ubuntu, cuando todavía enviaban los CDs gratis a cualquier parte del mundo

Distribución elegida

Después tantos años sin usar Linux como sistema principal y, al ser un tipo pragmático, me decidí por Kubuntu. Una distribución basada en Ubuntu, pero con KDE como entorno de escritorio por defecto.

El live CD (obviamente iniciado desde un pendrive), me detectó absolutamente todo, hasta el adaptador WiFi, algo que era muy problemático la última vez que usé Linux en el escritorio.

Instalación

Después de leer un poco sobre temas como Snap y Flatpak, arranque los preparativos para instalarla: commitear y pushear todo lo que usaba Git y hacer backups de lo que se me ocurra.

Desde el instalador de Kubuntu, lo más complicado que tuve que hacer fue particionar. Mi primer disco es el más grande y quería tenerlo como /home. Lo único en lo que tenía que tener cuidado era en elegir bien los puntos de montaje, los sistemas de archivos y dónde iba a instalar Grub.

/dev/sda1 terminó siendo /home con XFS, y /dev/sdb fue partido en tres: una partición para el booteo efi, / (raíz) con BTRFS y swap.

Como no podía ser de otra manera, al querer hacerlo todo en un fin de semana y apurado, tuve un tropiezo: Grub no quería instalarse. Intenté dos o tres veces, pensando que podía ser algo del momento, pero no había caso. Busqué un poco, pero nada concreto me aparecía.

Finalmente, leyendo un comentario me di cuenta de algo: no estaba arrancando el pendrive en UEFI, sino en BIOS 🤦. Arrancando correctamente, ya no tuve inconvenientes.

Puesta a punto

Sinceramente, lo primero que hice fue poner dos widgets en el escritorio: Uso de memoria y Uso de CPU. Chiches.

Todo lo que sigue lo estoy reconstruyendo de memoria, así que puede no ser el orden en el que hice todo realmente.

Cursores

Los cursores, por defecto, son negros, siguiendo el esquema Breeze de KDE Plasma. Los cambié por Breeze Light, que son blancos.

Snap, Flatpak

Snap y Flatpak son “paquetes universales”, para no entrar en detalles, ambos, de una u otra forma, contienen las dependencias de la aplicación principal.

Snap está envuelta en una especie de polémica. Desarrollado por Canonical, creadora de Ubuntu, fue hardcodeado para usar sus propios servidores, no es posible hacer un repositorio de Snap. También, obligan a instalar Chromium y Firefox usando este sistema.

Si bien me gusta el objetivo que persiguen estos sistemas, si voy a usar Linux quiero tener la opción de agregar los repositorios que quiera.

Con muchas guías a mano, esto fue lo que hice (esto no lo escribo de memoria):

  • Listar los paquetes instalados con Snap: $ snap list
  • Eliminar todos los paquetes (en algún lado recomendaban hacerlo uno por uno, y fue lo que hice): $ snap remove paquete
  • Parar el servicio: $ sudo systemctl stop snapd
  • Deshabilitar el servicio: $ sudo systemctl disable snapd
  • Mandar el servicio a null: $ sudo systemctl mask snapd
  • Eliminar snapd: $ sudo apt purge snapd -y
  • Detener cualquier cambio en el paquete: $ sudo apt-mark hold snapd
  • Lo siguiente fue muy interesante. Para evitar que Ubuntu (Kubuntu en mi caso), quiera usar Snap para instalar algo:
    $ sudo cat <<EOF | sudo tee /etc/apt/preferences.d/nosnap.pref
    Package: snapd
    Pin: release a=*
    Pin-Priority: -10
    EOF
  • Tuve que hacerlo específicamente para Firefox 🤷
    $ sudo cat <<EOF | sudo tee /etc/apt/preferences.d/firefox-no-snap
    Package: firefox*
    Pin: release o=Ubuntu*
    Pin-Priority: -1
  • Un update para actualizar las preferencias: $ sudo apt update

Terminado el tema de Snap, instalé Flatpak: $ sudo apt install flatpak

Firefox y Chrome

Yo uso Chrome, totalmente sincronizado con mi cuenta. Firefox lo tengo porque, si bien a esta altura los motores HTML ya funcionan casi igual, siempre es bueno tener una alternativa.

Tuve que agregar los repositorios de Firefox y Chrome:

$ sudo add-apt-repository ppa:mozillateam/ppa
$ wget -q -O - https://dl.google.com/linux/linux_signing_key.pub | sudo apt-key add -
$ sudo sh -c 'echo "deb [arch=amd64] http://dl.google.com/linux/chrome/deb/ stable main" >> /etc/apt/sources.list.d/google-chrome.list'

Luego actualizar los repositorios con $ sudo apt update y finalmente instalar:

$ sudo apt install firefox
$ sudo apt install google-chrome-stable

LAMP

Nada, simplemente instalé Apache, MySQL, PHP y phpMyAdmin. Luego de unos intentos por hacer algo novedoso con la instalación, dejé todo como estaba. Me di cuenta que, en este momento, solo tengo un sitio que use base de datos y PHP. El resto, o son estáticos o usan Nodejs. Todos esos fueron a mi home.

Otro software

Instalé Telegram; KeePassXC, mi querido gestor de contraseñas local; Mailspring como cliente de correo, estaba acostumbrado a la app Mail de Windows y quería algo lindo; FileZilla, que no es tan lindo y organizado como WinSCP, pero ya le cambié un poco la interfaz para que al menos se parezca, de paso importé los sitios que tenía.

Usaba Paint.NET y me costó encontrar algo parecido, lamentablemente no es algo que esté disponible. Probé LazPaint, Drawing, KolourPaint, Pinta, Gimp. Este último lo tengo instalado por si necesito algo más avanzado. Finalmente, me quedé con Pinta, pero la verdad que no lo usé ni una vez. Para redimensionar y guardar en otro formato, estoy usando exclusivamente Gwenview, el visor de imágenes por defecto de KDE.

A VS Code lo bajé directamente de la web oficial y lo instalé, al hacerlo agregó el repositorio automáticamente.

Reemplazar Notepad++ fue un caso. Probé Kate, Kwrite, Geany… no, no y no. A Kate lo usé varios días, intentando dejarlo como Notepad++, con las macros que tanto uso inclusive. Como el soporte de macros de Kate es solamente para teclas presionadas, se me dificultaba llegara a buen puerto. Terminé haciendo un par de scripts para suplir lo que necesitaba. No terminó siendo suficiente y, gracias a Wine configuré Notepad++, y en dos minutos configuré las macros.

Hablando de Wine, agregué Steam. Si bien no soy gamer, me gusta mucho Star Wars: The Old Republic. Ya había copiado los archivos de mi instalación de Windows y, después de unos intentos, logré hacer que reconozca los archivos y baje solamente lo que necesitaba. Para correrlo tuve que activar la opción Enable Steam Play for all other titles.

Consejo: para que Steam los reconozca y empiece a verificarlos, hay que copiar los archivos a su ubicación con el programa cerrado. Luego se abre, se inicia sesión y se instala el juego. Todo esto porque no sabía que Steam ya tiene una opción de backup.

Hablando de Star Wars, tenía el juego Star Wars: Knights of the Old Republic, que si bien lo tenía instalado en Windows, nunca pude jugarlo bien. Se cerraba en algún punto. Por comentarios de un amigo, puse Lutris para administrar los juegos con Wine. Instalé KOTOR y, por primera vez, pude jugarlo sin cierres. Ni siquiera anda lento ni a los saltos. Perfección.

El último programa que agregué mientras escribía esto, fue AdvancedRestClient. Al igual que VS Code, simplemente bajé el paquete de su web.

KDE Plasma

Algunas cositas que configuré:

  • Spectacle: la herramienta de screenshots, al presionar Impr Pant abre su ventana y guarda la captura en Pictures, dentro del home. Cambié la ubicación a la que quería, pero también el atajo: si presionaba Shift + Impr Pant, tomaba la captura pero no abría el programa. Intercambié los atajos y chau.
  • Al apretar Alt + Tab para cambiar de ventanas, me aparecía un listado de ventanas a la izquierda de la pantalla. Lo cambié para parecerse más a Windows, con una cuadrícula en medio de la pantalla.
  • En el escritorio, al agregar archivos se acomodan de izquierda a derecha, y lo configuré para que se ordenen de arriba hacia abajo.