Skip to content

Commit

Permalink
Configuración razonablemente estable para Emacs en WSL 2
Browse files Browse the repository at this point in the history
Emacs tiene algunos problemas con esta configuración, pero funciona
razonablemente bien.

Problemas conocidos:

- El desempeño del programa cae con el tiempo. Esto se observa, por
  ejemplo, en la demora de Emacs para desplegar en pantalla los
  caracteres ingresados con el teclado.
- Emacs suele dejar de responder luego de una hibernación del
  computador.

El primer problema se puede solucionar parcialmente al reiniciar el
programa. Pero, a medida que pase el tiempo, el desempeño de Emacs
volverá a caer.

Si bien el profiler de Emacs no ha ayudado a aislar el código que está
dando problemas, es razonable suponer que estamos usando uno o más
paquetes con bugs. La desventaja de usar straight.el para administrar
paquetes es que no podemos seleccionar sus versiones estables de forma
automática. Esto se debe hacer de forma manual y no hemos hecho dicha
verificación.

Otra causa para la caída de desempeño podría encontrarse en la versión
de Emacs que está disponible en openSUSE-Tumbleweed. Esta es la única
distribución de Linux en WSL en la que hemos probado esta configuración.
Otros bugs que ya no son reproducibles con ella fueron solucionados
actualizando el programa.

El segundo problema se debe a un bug en el kernel más actual de WSL. Ver
la siguiente discusión para saber más sobre él:

carlfriedrich/wsl-kernel-build#1

Entorno:

- openSUSE-Tumbleweed corriendo en WSL versión 2 (Windows 10
  actualizado).
- Kernel: Linux DESKTOP-NULNQSE 5.15.153.1-microsoft-standard-WSL2 #1 SMP
  Fri Mar 29 23:14:13 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux.
- GNU Emacs 29.4 (build 2, x86_64-suse-linux-gnu, GTK+ Version 3.24.43,
  cairo version 1.18.0)
- Org mode 9.7-pre (release_9.6.25-1345-gb45b39)

Esta versión de Org mode es vulnerable a ataques: permite la ejecución
arbitraria tanto de código Lisp como de comandos shell. La versión 9.7.5
de Org no cuenta con estos problemas de seguridad.

Este commit incluye el lockfile de straight.el necesario para reproducir
el estado de cada uno de los paquetes instalados.

También incluye early-init.el, archivo auxiliar que nos permite
configurar Emacs para que solo utilice straight.el como administrador de
paquetes.
  • Loading branch information
neira-daniel committed Aug 17, 2024
1 parent 02d7e8e commit 4f8cc39
Show file tree
Hide file tree
Showing 4 changed files with 1,709 additions and 1,606 deletions.
1 change: 1 addition & 0 deletions emacs.d/early-init.el
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
(setq package-enable-at-startup nil)
Loading

0 comments on commit 4f8cc39

Please sign in to comment.