avatar

Andres Jaimes

Instalando Debian Trixie y Sway

By Andres Jaimes

- 17 minutes read - 3537 words

Llevo algún tiempo pensando en el sistema operativo que quiero para uso diario. He trabajado con sistemas que van desde Windows 3.1 a HPUX, pasando por OS9, OSX, Slackware y Ubuntu.

Cuando me inicié, disfrutaba de teclear comandos en DOS y de aplicaciones como alpine para leer el correo. Ese mundo simple donde aprendí y me desarrollé… y que ahora añoro.

Estoy cansado de las decenas de notificaciones que recibo diariamente y que solo me desconcentran de la tarea del momento. Cansado de los efectos de transparencia de OSX que no fueron pensados para mejorar la productividad. Cansado de ver como los sistemas cargan tantos programas inútiles que consumen la mayor parte de la memoria de mi ordenador haciéndome desear tener más… es justo lo que motiva ese círculo vicioso en el que vivimos, siempre deseando tener una computadora más nueva.

Y estoy muy contento de haberlo logrado. De hecho, este artículo lo escribo desde la terminal TTY1 usando Helix.

Eligiendo mi sistema

Un buen sistema para mí debe tener las siguientes características:

  • Debe ser simple, fácil de usar y de configurar;
  • No debe cargar un ambiente gráfico al momento del arranque, aunque quiero tener la opción de usar uno cuando lo necesite;
  • No debe tener notificaciones;
  • No debe tener anuncios - Windows, aún no entiendo en que momento llegamos a esto;
  • Debe utilizar instaladores simples, como apt, rpm, pkg, etc.;
  • Debe tener Wayland con Sway;
  • No quiero un ambiente de escritorio completo que incluya programas que no usaré;
  • No quiero un sistema autónomo que ejecute tareas que no le pida hacer.

El proceso de elección

Me gusta mucho FreeBSD. Y, honestamente, pienso que brilla más en algunos aspectos que Linux, por ejemplo: el sistema de ficheros, donde todo se encuentra en el lugar que le corresponde; la documentación del sistema es muy amplia y organizada; y el servicio de administración rc, el cual está basado en ficheros de texto simples, filtrabales, ordenables, modificables, ejecutables, etc. que da gusto trabajar con él.

Sin embargo, he leído en múltiples foros sobre problemas existentes con tarjetas gráficas Nvidia y el deseo de varios usuarios de continuar usando X11, que podría significar una adopción más lenta de Wayland y Sway - a pesar de que existen capítulos completos sobre estos temas en el manual oficial - pero no he querido arriesgarme a pasar varias tardes buscando soluciones a estos problemas (inexistentes para mí, por el momento).

Fedora y Ubuntu fueron opciones que consideré, pero no quiero lidiar con flatpak o snap. No digo que sean malos, solamente no quiero un sistema con ese tipo de administradores.

Por otro lado, Debian es simple y tiene una vibra similar a FreeBSD. Cuenta con buena documentación y un soporte para hardware más amplio. Aunque dudé por systemd, hasta que entendí que se ha convertido en el estándar en Linux y no podré librarme de él. Hace años pasé por decisión similar que me llevó a usar CentOS por algún tiempo. Pero ahora tengo una mentalidad abierta a aprenderlo.

Así, después de una larga investigación, decidí probar Debian con Sway. Y sigo encantado. En resumen, Debian me ofrece:

  • Una instalación mínima que puedo personalizar.
  • Un administrador de paquetes sencillo y muy utilizado: apt.
  • Amplia documentación y múltiples foros de usuarios.
  • Buen soporte de hardware.
  • Versiones estables con actualizaciones controladas.

Instalando el sistema

Debian

  1. Descargar la versión Network install del sitio de Debian y crear una memoria USB de arranque.
  2. Iniciar el ordenador con la memoria USB.
  3. Seleccionar Install (no confundir con Graphical install).
  4. En la pantalla Partition disks, seleccionar Guided - use entire disk.
  5. Un poco más adelante, pero aún en la sección Partition disks, elegir All files in one partition (recommended for new users).
  6. Aceptar los cambios y continuar con el proceso.
  7. En la pantalla Software selection, dejar marcadas únicamente las opciones que se muestran:
 1[ ] Debian desktop environment
 2[ ]    GNOME
 3[ ]    Xfce
 4[ ]    GNOME Flashback
 5[ ]    KDE Plasma
 6[ ]    Cinnamon
 7[ ]    MATE
 8[ ]    LXDE
 9[ ]    LXQt
10[ ] web server
11[x] SSH server
12[x] Standard system utilities
13[ ] Choose a Debian blend for installation
  1. Terminar el proceso y reiniciar el ordenador.

Programas base

Nota: Utilizar el usuario root para esta sección.

Instalemos los programas base:

1apt update
2apt install intel-microcode # porque mi procesador es intel
3apt install build-essential
4apt install hx btop tmux
5apt install sway waybar alacritty firefox-esr
6sway

Nota: El paquete sway instala el controlador de gráficos Nouveau, por lo que no es necesario instalar los controladores de nvidia.

Nota: De hecho, el proceso de instalación de nvidia falló y me dejó sin poder utilizar el ambiente gráfico. Me quedaré con Nouveau porque funciona muy bien. Referencia: Debian’s Nvidia page.

Con el siguiente comando podemos verificar que estemos usando el controlador de gráficos Nouveau:

 1$ lsmod | grep nouveau
 2nouveau              3055616  17
 3mxm_wmi                12288  1 nouveau
 4drm_gpuvm              45056  1 nouveau
 5drm_exec               12288  2 drm_gpuvm,nouveau
 6gpu_sched              65536  1 nouveau
 7drm_display_helper    274432  1 nouveau
 8drm_ttm_helper         16384  2 nouveau
 9ttm                   106496  2 drm_ttm_helper,nouveau
10drm_kms_helper        253952  3 drm_display_helper,drm_ttm_helper,nouveau
11i2c_algo_bit           16384  1 nouveau
12video                  81920  1 nouveau
13button                 24576  1 nouveau
14drm                   774144  17 gpu_sched,drm_kms_helper,drm_exec,drm_gpuvm,drm_display_helper,drm_ttm_helper,ttm,nouveau
15wmi                    28672  6 video,intel_wmi_thunderbolt,wmi_bmof,think_lmi,mxm_wmi,nouveau

Configuración de Sway

Nota: Utilizar el usuario normal para esta sección.

Sway puede mostrarse con una fuente tipográfica muy pequeña en monitores de alta resolución (HiDPI), pero podemos utilizar el siguiente procedimiento para incrementarla. Iniciemos por encontrar el nombre del monitor en uso:

 1$ swaymsg -t get_outputs
 2Output DP-2 'Samsung Electric Company U32J59x HCHNB01726' (focused)
 3  Current mode: 3840x2160 @ 59.997 Hz
 4  Power: on
 5  Position: 0,0
 6  Scale factor: 1.000000
 7  Scale filter: nearest
 8  Subpixel hinting: unknown
 9  Transform: normal
10  Workspace: 1
11  Max render time: off
12  Adaptive sync: disabled
13  Allow tearing: no
14  Available modes:
15    3840x2160 @ 59.997 Hz
16    3840x2160 @ 30.000 Hz
17    3840x2160 @ 29.970 Hz
18    2560x1440 @ 59.951 Hz
19    1920x1080 @ 60.000 Hz
20    1920x1080 @ 59.940 Hz
21    1680x1050 @ 59.954 Hz
22    1600x900 @ 60.000 Hz
23    1280x1024 @ 75.025 Hz
24    1280x1024 @ 60.020 Hz
25    1440x900 @ 59.887 Hz
26    1280x800 @ 59.810 Hz
27    1152x864 @ 75.000 Hz
28    1280x720 @ 60.000 Hz
29    1280x720 @ 59.940 Hz
30    1024x768 @ 75.029 Hz
31    1024x768 @ 70.069 Hz
32    1024x768 @ 60.004 Hz
33    832x624 @ 74.551 Hz
34    800x600 @ 75.000 Hz
35    800x600 @ 72.188 Hz
36    800x600 @ 60.317 Hz
37    800x600 @ 56.250 Hz
38    640x480 @ 75.000 Hz
39    640x480 @ 72.809 Hz
40    640x480 @ 66.667 Hz
41    640x480 @ 60.000 Hz
42    640x480 @ 59.940 Hz
43    720x400 @ 70.082 Hz

De la salida anterior, utilizaremos DP-2 para probar diferentes valores de escalada:

1$ swaymsg output DP-2 scale 2
2$ swaymsg output DP-2 scale 2.5

Nota: La documentación de sway recomienda utilizar valores enteros, pues los valores con decimales pueden causar pérdida de nitidez en las aplicaciones, especialmente las compatibles con Xwayland.

Apliquemos los valores a ~/.config/sway/config para que el cambio sea permanente:

1# Crear el directorio de configuración sway
2mkdir -p ~/.config/sway
3# Copiar la configuración base, si ies que no contamos con una
4# cp /etc/sway/config ~/.config/sway
5# Abrir el fichero para modificarlo
6hx ~/.config/sway/config

Agregar la siguiente línea:

1output DP-2 scale 2

En ese mismo fichero, cambiemos el programa de terminal predeterminado a alacritty:

1set $term alacritty

Helix

Nota: Utilizar el usuario normal para esta sección.

Helix necesita de un paso adicional para habilitar el resaltado de la sintaxis. Los siguientes comandos deben de ejecutarse con nuestro usuario normal:

1hx --grammar fetch
2hx --grammar build

Nota: Visita la página de configuración de lenguajes de Helix para conocer más detalles.

Configurando una IP fija

Nota: Utilizar el usuario root para esta sección.

Un sistema Linux es comúnmente utilizado como servidor, por lo tanto, es recomendable usar una dirección IP fija para acceder a los servicios que provee. Para hacerlo, necesitamos editar el fichero /etc/network/interfaces de la siguiente manera:

1auto eno1
2iface eno1 inet static
3    address 192.168.1.10
4    netmask 255.255.255.0
5    gateway 192.168.1.1
6    dns-nameservers 8.8.8.8 8.8.4.4

Nota: He utilizado el comando ip address para obtener el nombre de mi interfaz de red, en este caso: eno1.

Ahora, editemos el fichero de configuración de DNS, /etc/resolv.conf:

1nameserver 8.8.8.8
2nameserver 8.8.4.4

Y, finalmente, reiniciamos el servicio de red para aplicar los cambios:

1systemctl restart networking

Nerd Fonts

El sitio web de Nerd Fonts ofrece una amplia variedad de fuentes tipográficas que se pueden utilitilizar en alacritty. Los siguientes comandos describen como instalar JetBrains Mono:

1# Instalamos unzip usando el usuario root
2apt install unzip
1# Con nuestro usuario normal
2$ mkdir -p ~/.local/share/fonts
3$ unzip JetBrainsMono.zip 
4$ rm JetBrainsMono.zip 
5$ mv * ~/.local/share/fonts # movemos los ficheros al directorio estándar
6$ fc-cache -f -v # regeneramos la memoria caché de fuentes disponibles
7$ fc-list | grep -i 'jetbrains' # confirmamos que la fuente ha sido identificada

Para terminar, actualizamos el fichero de configuración de alacritty ($HOME/.config/alacritty/alacritty.toml):

 1[font.normal]
 2family = 'JetBrainsMono NF'
 3style = 'Regular'
 4
 5[font.bold]
 6family = 'JetBrainsMono NF'
 7style = 'Bold'
 8
 9[font.italic]
10family = 'JetBrainsMono NF'
11style = 'Italic'
12
13[font.bold_italic]
14family = 'JetBrainsMono NF'
15style = 'Bold Italic'

Otros programas

Los siguientes son programas que utilizo con frecuencia:

1apt install clangd # para desarrollo en C++
2apt install cmake git tree gnupg curl
3apt install hugo nodejs npm
4apt install oathtool
5systemctl reboot # importante para oathtool

Otro de mis favoritos es cmus. En este momento estoy usando mi propia copia esperando a que el repositorio oficial publique la última versión. Para compilarlo:

1$ ./configure --prefix="/home/andres/.local"
2$ make
3$ make install

Nota: Más adelante se describe como configurar el audio.

Y finalmente, otros programas que me son muy útiles cuando trabajo con proyectos grandes:

1apt install lf fzf fd-find ripgrep bat

fzf cuenta con integración con bash configurable desde .bashrc:

1eval "$(fzf --bash)"

Referencias

Tamaño de la fuente tipográfica de la terminal TTY

Cuando nos conectamos a una terminal TTY en un monitor de alta resolución (HiDPI) es común ver que el texto se muestra con una fuente tipográfica muy pequeña, que lo hace difícil de leer. Para configurar el tamaño y el tipo de la fuente podemos utilizar los siguientes comandos:

1# Usando el usuario root
2$ dpkg-reconfigure console-setup
3$ systemctl reboot # reiniciar

Nota: A pesar de la recomendación de múltiples sitios de utilizar la fuente Terminus, he elegido la fuente DejaVU 24x43. Terminus es ilegible en mi monitor.

Colores de la terminal TTY

El programa setvtrgb se utiliza para cambiar los colores de la terminal TTY. La terminal cuenta con 16 colores y para personalizarlos debemos de crear un fichero con 16 líneas, cada una representando un color, por ejemplo:

 1$ cat 'themes/Iceberg\ Dark.hex'
 2#161821
 3#e27878
 4#b4be82
 5#e2a478
 6#84a0c6
 7#a093c7
 8#89b8c2
 9#c6c8d1
10#6b7089
11#e98989
12#c0ca8e
13#e9b189
14#91acd1
15#ada0d3
16#95c4ce
17#d2d4de

Después, para utilizarlos:

1setvtrgb 'themes/Iceberg\ Dark.hex'
2clear # para visualizar los cambios en toda la pantalla

Nota: Para utilizar Helix en la terminal TTY, recomiendo utilizar el tema base16_terminal.

Reiniciando y apagando el ordenador

He utilizado por mucho tiempo el comando shutdown, pero esta es la forma recomendada con systemd:

1systemctl poweroff # apagar
2systemctl reboot   # reiniciar

Audio

Pipewire es la opción recomendada para audio en Debian 13 Trixie y para instalarlo se sugiere el paquete pipewire-audio. Ver Debian’s PipeWire para información adicional.

Primero verifiquemos que el sistema identifica la tarjeta de audio:

1$ cat /proc/asound/cards
2 0 [PCH            ]: HDA-Intel - HDA Intel PCH
3                      HDAudio-Lenovo-DualCodecs
4 1 [NVidia         ]: HDA-Intel - HDA NVidia
5                      HDA NVidia at 0xe0080000 irq 57

Instalemos pipewire-audio:

1# Con el usuario root
2$ apt install pipewire-audio
3$ systemctl reboot # importante

Nota: Antes de instalar pipewire-audio, parecía que los paquetes ya estaban instalados, sin embargo, no funcionaba. He tenido que instalar y reiniciar como se muestra en el bloque de código anterior.

Podemos utilizar wpctl para ajustar el volumen. Esta herramienta es parte del paquete wireplumber, que es instalado junto con pipewire-audio.

 1# Subir el volumen 5%
 2$ wpctl set-volume @DEFAULT_SINK@ 5%+
 3# Bajar el volumen 5%
 4$ wpctl set-volume @DEFAULT_SINK@ 5%-
 5# Poner el volumen a 0.75, 0.90, 1.0, etc.
 6$ wpctl set-volume @DEFAULT_SINK@ 0.75
 7# Obtener el valor actual
 8$ wpctl get-volume @DEFAULT_SINK@
 9# Silenciar o activar el volumen
10$ wpctl set-mute @DEFAULT_SINK@ toggle

Nota: Podemos usar alsamixer para controlar el volumen, aunque no lo he probado - apt install alsa-utils.

Nota: Si estamos en la terminal TTY, podemos desactivar el pitido del altavoz de forma temporal con setterm -blength 0.

Nota: Para desactivarlo de forma permanente, debemos editar /etc/inputrc y remover la marca de comentario de set bell-style none.

Impresión

Nota: CUPS es el sistema de impresión predeterminado de Debian, pero la bilbioteca de Berkeley, LPR, también se encuentra disponible. Debian Printing.

Nota: Para información adicional sobre el sistema de impresión, visita Debian’s SystemPrinting.

El proceso de instalación solo require de cups:

1# install cups
2$ apt install cups
3# Verifica que el servicio funcione utilizando un usuario normal
4$ lpstat -r
5scheduler is running

Visitemos la página http://localhost:631 en el navegador para agregar una nueva impresora.

Nota: Si la página de administración solicita usuario y contraseña, utilizar las credenciales de root.

Pinchemos en Printers para iniciar. Es posible que nuestra impresora sea automáticamente detectada y añadida al sistema. Sino, pinchemos en Administration y contestemos a las preguntas que muestra. He agregado una impresora de tipo ipp, la cual no necesita controladores adicionales; después he seleccionado HP LaserJet Pro M404-M405 (driverless). Para el URL de conexión, he usado ipp://192.168.1.162. Continuemos hasta concluir el proceso.

Para concluir, debemos marcar la impresora como predeterminada. Pinchemos en Printers nuevamente, y seleccionemos la nueva impresora. Ahora, en la menú desplegable, llamado Administration, seleccionamos la opción Set as Server Default.

Si todo ha ido bien, podremos utilizar el siguiente comando desde la terminal:

1echo "¡Hola Mundo!" | lp

Podemos utilizar el siguiente comando para obtener la lista de impresoras disponibles y verificar la predeterminada:

1lpstat -p -d

Configuración del teclado

Para configurar un teclado en español, tenemos que realizar los siguientes pasos:

  1. Configurar el teclado para funcionar con la terminal. Este paso se puede omitir si hemos elegido el teclado correcto durante el proceso de instalación del sistema. Yo no lo hice, así que debo de ejecutar los siguiente comandos:
1# con el usuario root
2dpkg-reconfigure keyboard-configuration
3# reiniciar para que el sistema tome los cambios
4systemctl reboot
  1. Configurar el teclado para funcionar con sway. El paso anterior nos permite utilizar un teclado en español en la terminal (TTY), pero el teclado aún necesita ser configurado en sway. Para cambiarlo, debemos actualizar el fichero de configuración de sway (.config/sway/config) de la siguiente manera:
1input "type:keyboard" {
2  xkb_layout: es
3}

Debemos reiniciar sway para aplicar los cambios.

Referencias

Teclas de función para teclados Apple

Los teclados Apple permiten acceder a funciones especiales con las teclas de función F1, F2, etc., que permiten controlar cosas como el brillo de la pantalla o el volumen de los altavoces. En mi caso, no necesito de esta funcionalidad extra y prefiero desactivarla. Para hacerlo:

1# Usando el usuario root
2echo 0 > /sys/module/hid_apple/parameters/fnmode
3update-initramfs -u -k all # para hacer el cambio permanente

fnmode permite configurar distintos valores, donde:

  • 0, deshabilita la tecla fn: es lo mismo presionar F8 o fn+F8;
  • 1, reduce la prioridad de las teclas de función: presionar F8 activa la función especial, mientras que fn+F8 funcionará como F8;
  • 2, da prioridad a las techas de función: presionar F8 activa F8, mientras que fn+F8 activa la función especial.

Referencias

Correo electrónico

Nota: El procedimiento descrito requiere de obtener una contraseña de aplicación generada por Google. Leer cómo generarla.

Este punto es especialmente interesante porque mucha gente está bien con los servicios en línea ofrecidos por empresas como Google o Microsoft. Yo prefiero un buzón de correo local que me permita correr procesos adicionales en caso de quererlo. Esto conlleva algunas responsabilidades adicionales, como hacerme cargo de mis propios respaldos.

He elegido fetchmail, postfix y alpine para esta tarea. Fetchmail será el programa a cargo de descargar los correos de Google y pasarlos vía postfix a mi buzón local. Postfix también tendrá la tarea de enviar correos. Por último, alpine será el programa que usaré para leer mi correo electrónico. ¿Por qué estas herramientas? Porque he trabajado anteriormente con ellas y, desde mi punto de vista, son muy sencillas de configurar y usar.

El proceso inicia con la instalación de los paquetes necesarios.

1apt install fetchmail postfix ca-certificates libsasl2-modules alpine

Nota: Libsas2-modules es una biblioteca necesaria para ejecutar los procesos de inicio de sesión con los proveedores de correo electrónico.

Postfix

Nota: Utilizar root para configurar postfix.

Postfix, durante el proceso de instalación, preguntará el tipo de configuración de servidor de correo que queremos utilizar. He seleccionado Internet with smarthost, que significa que el ordenador recibirá y enviará correo a través de servicios adicionales, en este caso fetchmail y Google.

Para la configuración del nombre de dominio del sistema he utilizado nombre-del-ordenador.mi-dominio.com y smtp.gmail.com para la configuración del servidor de envío. El proceso crea un fichero de configuración en /etc/postfix/main.cf e inicia el servicio automáticamente. Utilizamos los siguiente comandos para verificar que funciona como esperamos:

1# Verificamos que el servicio esté funcionando
2$ postfix status
3postfix/postfix-script: the Postfix mail system is running: PID: 21349
4# Verificamos que el servicio está utilizando el puerto 25
5$ lsof -i :25
6COMMAND   PID USER FD   TYPE DEVICE SIZE/OFF NODE NAME
7master  21349 root 13u  IPv4  23045      0t0  TCP *:smtp (LISTEN)
8master  21349 root 14u  IPv6  23046      0t0  TCP *:smtp (LISTEN)

El siguiente comando también puede ayudarnos a verificar:

1# imprime la configuración actual
2postconf -d

En caso de necesitar actualizar la configuración, podemos releerla con:

1postfix reload

Fetchmail

Nota: Utilizar nuestro usuario normal para configurar fetchmail.

Fetchmail se encargará de leer el correo electrónico desde Google y entregarlo al servicio de postfix local. Para realizarlo, necesitará el fichero de configuración $HOME/.fetchmailrc con el siguiente contenido:

 1# Reemplazar "local_user" con el nombre de usuario local
 2set logfile "/home/local_user/.local/var/fetchmail.log"
 3poll imap.gmail.com proto IMAP
 4# Utilizar la contraseña de aplicación generada por Google;
 5# no es la contraseña del correo electrónico
 6user "gmail-user@gmail.com"
 7pass "gmail-app-password"
 8# Reemplazar "local_user" con el nombre de usuario local
 9is "local_user"
10# Utilizar conexión segura al descargar los correos
11ssl
12# Mantener una copia del correo en el servidor
13keep
14# Carpeta de Google de donde se descargará el correo
15folder "INBOX"
16# Número de correos a descargar
17fetchlimit 10
18# Descargar correos nuevos cada N segundos.
19# Mantener esta línea comentada para desactivar el servicio recurrente de verificación.
20# set daemon 300

Es importante cambiar los niveles de seguridad del fichero de configuración para que funcione y crear el fichero para la bitácora:

1chmod 600 $HOME/.fetchmailrc
2mkdir -p $HOME/.local/var
3touch $HOME/.local/var/fetchmail.log

Importante: Antes de continuar, es necesario que postfix esté funcionando, de lo contrario, fetchmail perderá los correos que descargue.

Y ahora, el momento de probarlo. Utilizaremos fetchmail de manera manual, pidiendo descargar solo un correo:

1$ fetchmail -v --fetchlimit 1
2...
3fetchmail: IMAP< A0008 OK Success
4...

Si todo ha salido bien, tendremos un mensaje de éxito entre las líneas que el programa imprime. En caso contrario, debemos de revisar la salida para entender que ha ido mal.

El correo debe ser visible desde alpine:

1alpine
2# adicionalmente, podemos revisar que exista el siguiente fichero:
3ls -l /var/mail/local_user

Finalmente, podemos quitar la marca de comentario de $HOME/.fetchmailrc y ejecutar fetchmail sin parámetros para descargar los correos de modo recurrente.

Configuración del envío de correo

El último paso es configurar postfix para enviar correo a través del servidor de Google. Para hacerlo, debemos de configurar postfix para utilizar gmail. Los siguientes comandos agregarán los parámetros a /etc/postfix/main.cf.

Nota: Ejecutar los siguientes comandos con el usuario root

1$ postconf -e 'relayhost = [smtp.gmail.com]:587'
2$ postconf -e 'smtp_use_tls = yes'
3$ postconf -e 'smtp_tls_security_level = encrypt'
4$ postconf -e 'smtp_tls_CAfile = /etc/ssl/certs/ca-certificates.crt'
5$ postconf -e 'smtp_sasl_auth_enable = yes'
6$ postconf -e 'smtp_sasl_security_options = noanonymous'
7$ postconf -e 'smtp_sasl_tls_security_options = noanonymous'
8$ postconf -e 'smtp_sasl_password_maps = hash:/etc/postfix/sasl_passwd'

Ahora debemos de crear un fichero con los datos de acceso a Google. Los datos a utilizar son los mismos que utilizamos para el fichero de $HOME/.fetchmailrc.

 1# Crear `/etc/postfix/sasl_passwd` con el siguiente contenido:
 2# [smtp.gmail.com]:587 usuario@gmail.com:gmail_app_password
 3$ hx /etc/postfix/sasl_passwd
 4# Restringir la seguridad
 5$ chmod 600 /etc/postfix/sasl_passwd
 6# Cifrar la contraseña
 7$ postmap /etc/postfix/sasl_passwd
 8# Restringir la seguridad
 9$ chmod 600 /etc/postfix/sasl_passwd /etc/postfix/sasl_passwd.db
10# Activar los cambios
11$ postfix reload
12/usr/sbin/postconf: warning: /etc/postfix/main.cf: support for parameter "smtp_use_tls" will be removed; instead, specify "smtp_tls_security_level"
13postfix/postfix-script: refreshing the Postfix mail system

Nota: Continuar con el usuario normal a partir de este punto.

Ahora, antes de enviar un correo, debemos de configurar alpine para que la dirección de envío coincida con la que usamos en Google. Para ello, desde alpine, iremos a Setup > Configuration y modificaremos los campos Personal Name y User Domain. Una vez actualizados, es momento de probar enviar un correo.

Conclusión

Estoy actualizando continuamente esta publicación, agregando nuevas cosas según vaya requiriendo.

Se feliz, no te apegues a lo innecesario y no dejes que nadie te quite la paz mental.