DEV Community

elafaces
elafaces

Posted on

r2modman en Ubuntu: la guía que nadie escribió

Cómo pasar de errores crípticos de Electron y X11 a tener tus mods funcionando, sin morir en el intento.

Instalas r2modman en Ubuntu, abres la terminal con ilusión y te recibe esto:

$ sudo r2modman
FATAL: Running as root without --no-sandbox is not supported.

$ sudo r2modman --no-sandbox
ERROR: Could not open the default X display.
ERROR: xcb_connect() failed, error 1
Enter fullscreen mode Exit fullscreen mode

Bienvenido al club. Este artículo documenta exactamente cómo salir de este pozo, incluyendo el problema secundario con Steam instalado vía Snap.

📝 TL;DR — Resumen ejecutivo

  • No uses sudo con r2modman, nunca.
  • Si Steam está instalado vía Snap, r2modman no lo detecta.
  • Solución: reinstalar Steam con apt en lugar de Snap.
  • El ejecutable real de Steam queda en ~/.steam/debian-installation/steam.sh

El problema raíz: sudo + Electron = 💀

r2modman está construido sobre Electron. Las apps Electron necesitan acceder al servidor gráfico X11 (o Wayland), que pertenece a tu sesión de usuario. Cuando ejecutas con sudo, el proceso pasa a ser root, que no tiene acceso a ese display.

Aunque añadas --no-sandbox, el problema del display persiste porque X11 tiene autenticación por usuario mediante xauth. Root simplemente no tiene permiso para abrir ventanas en tu sesión.

¡Peligro! Nunca ejecutes r2modman con sudo. Además de no funcionar, si llegase a arrancar, guardaría todos los mods y configs en /root/ en lugar de tu carpeta de usuario, causando conflictos masivos con Steam.

Paso 1: Ejecutar r2modman sin sudo

La primera corrección es simplemente no usar privilegios de administrador:

# Correcto
$ r2modman --no-sandbox

# O si el sandbox está configurado correctamente
$ r2modman
Enter fullscreen mode Exit fullscreen mode

Si necesitas --no-sandbox siempre, añádelo como alias permanente en tu sistema:

$echo 'alias r2modman="r2modman --no-sandbox"' >> ~/.bashrc$ source ~/.bashrc
Enter fullscreen mode Exit fullscreen mode

El segundo problema: Steam instalado vía Snap

r2modman arranca, pero cuando intenta detectar Steam aparece el temido "Failed to set the Steam folder". El selector de ejecutables muestra un archivo steam en /snap/bin/ que pesa 21 MB y... no funciona.

El motivo: el Steam de Snap es un wrapper. El binario real vive dentro de un entorno sandbox aislado (/snap/steam/current/) al que r2modman no puede acceder de forma estándar. Si miras dentro, solo encontrarás recursos gráficos, no el ejecutable principal.

⚠️ Advertencia: Steam instalado vía Snap causa problemas con muchas herramientas de terceros en Linux, no solo con r2modman. Si juegas en Linux, lo mejor es usar la versión .deb oficial.

Paso 2: Reinstalar Steam sin Snap

Vamos a limpiar la versión de Snap e instalar la versión de los repositorios de Debian/Ubuntu:

# 1. Eliminar Steam de Snap
$ sudo snap remove steam

# 2. Habilitar la arquitectura de 32 bits (necesaria para Steam)
$ sudo dpkg --add-architecture i386

# 3. Instalar Steam desde los repositorios oficiales
$ sudo apt update
$ sudo apt install steam-installer

# 4. Lanzar Steam una vez para que se auto-instale
$ steam
Enter fullscreen mode Exit fullscreen mode

Tras la primera ejecución, Steam descargará sus archivos propios y quedará instalado en:
📁 ~/.steam/debian-installation/

Paso 3: Apuntar r2modman al ejecutable correcto

Si r2modman no detecta Steam automáticamente tras la reinstalación, ve a Settings → Locations → Change Steam folder y en el selector de archivos navega hasta la siguiente ruta:

📁 ~/.steam/debian-installation/steam.sh

💡 Tip ninja: Los archivos y carpetas ocultas (los que empiezan por .) pueden no mostrarse en el selector de archivos. Usa Ctrl + H para mostrarlos, o escribe la ruta manualmente en la barra de direcciones.

✅ Una vez seleccionado steam.sh, r2modman detectará la librería de Steam sin problemas y podrás empezar a instalar mods.


📋 Resumen de comandos (Copy-Paste friendly)

Si quieres hacer todo el proceso del tirón, aquí tienes la secuencia limpia:

# Quitar Steam snap
$ sudo snap remove steam

# Instalar Steam .deb
$sudo dpkg --add-architecture i386$ sudo apt update && sudo apt install steam-installer
$ steam

# Lanzar r2modman correctamente (sin sudo)
$ r2modman --no-sandbox

# Ejecutable de Steam para r2modman (si te lo pide)
# ~/.steam/debian-installation/steam.sh
Enter fullscreen mode Exit fullscreen mode

Top comments (0)