Distribuciones

GNOME 46 y extensiones esenciales: guía para sysadmins Linux

Tengo dos estaciones de trabajo con GNOME: una en Fedora Workstation para el día a día y otra en Ubuntu LTS para probar configuraciones antes de llevarlas a servidores. Cada vez que sale una versión mayor reviso el release oficial y me pregunto qué cambia para un sysadmin, no para un usuario casual. GNOME 46 “Kathmandu”, publicado el 20 de marzo de 2024, no es la versión más vistosa de la serie 4x, pero trae dos cosas que me importan mucho: búsqueda global en el gestor de archivos y un inicio de sesión remoto vía RDP pensado para integrarse con GNOME de verdad.

Esta guía no es un paseo por las novedades cosméticas. Es una receta para que un sysadmin configure GNOME 46 de forma reproducible, valide la versión instalada, instale las extensiones que resuelven fricciones reales del flujo de trabajo y automatice la configuración vía dconf cuando tiene que llevar el mismo escritorio a varios puestos. Voy a usar comandos reales, paths reales y rutas de configuración que coinciden con lo que vas a encontrar en Fedora 40+, Ubuntu 24.04, RHEL 9.x y openSUSE Tumbleweed a octubre de 2026.

TL;DR — Lo que vas a tener al final

  • Tiempo de setup: 45-60 minutos para configurar GNOME 46 con extensiones estables y validación por dconf.
  • Requisitos: Distribución con GNOME 46+, acceso a gnome-extensions CLI, opcional dconf-editor para auditar la configuración.
  • Resultado: Escritorio reproducible vía dconf y una selección de extensiones verificadas que sobreviven a upgrades mayores de GNOME.
  • Troubleshooting: Comprobar versión con gnome-shell --version, reiniciar shell con Alt+F2 + r, listar extensiones activas con gnome-extensions list --enabled.

Por qué GNOME 46 sigue siendo relevante en 2026

GNOME 46 se liberó el 20 de marzo de 2024 y mantuvo soporte de paquetes durante ese ciclo. A octubre de 2026 varias distribuciones empresariales todavía lo incluyen como base: Fedora 40 Workstation, RHEL 9.4 y derivados, Ubuntu 24.04 LTS en su segunda oleada de point releases, y openSUSE Tumbleweed en snapshots del primer semestre de 2025. Si administras un parque heterogéneo o estás consolidando una imagen dorada, es probable que toques GNOME 46 antes que GNOME 47 u posterior.

Lo que trajo GNOME 46 que sigue impactando flujos sysadmin:

  • Búsqueda global en Files (Nautilus) con Ctrl+Shift+F. Salta directamente a resultados sin tener que navegar por el árbol de carpetas, indexa múltiples ubicaciones configurables y respeta filtros por tipo y fecha de modificación.
  • RDP headless remoto integrado en GNOME Remote Desktop. Antes tenías que montar una sesión X11 o VNC; ahora puedes conectar a un GNOME que no está siendo usado localmente y configurar la pantalla desde el cliente.
  • Online Accounts reescrito, con nuevo tipo WebDAV y soporte para OneDrive empresarial. Financiado por Sovereign Tech Fund, lo que importa porque el stack de cuentas online era el componente más abandonado del proyecto.
  • Settings consolidado en una sección “Sistema” con menos sub-pantallas. Reduce clicks cuando configuras 50 workstations vía GSettings.
  • Avatares fallback regenerados. Detalle menor, pero los nuevos avatares por defecto son los que se muestran en GDM y en listas de usuarios, así que vale la pena saber que cambiaron.

Qué NO esperar de GNOME 46

GNOME 46 no trae el nuevo panel de control rediseñado (llegó en 47), ni los cambios de libadwaita que rompieron temas oscuros (49). Tampoco tiene la integración de Toolpak (que aparece en GNOME OS moderno pero no en GNOME Shell estable). Si estás leyendo una guía que asegura que GNOME 46 trae estas cosas, desconfía: está mezclando versiones.

Verifica tu versión antes de tocar nada

Antes de instalar cualquier extensión o escribir un override de dconf, confirma qué versión exacta de GNOME Shell tienes corriendo. Las extensiones declaran compatibilidad en su metadata.json y fallan silenciosamente cuando la versión no coincide — he perdido horas persiguiendo errores que en su origen eran un mismatch 46 vs 47.

# Versión de GNOME Shell (la que manda para extensiones)
gnome-shell --version
# Versión de la plataforma (librerías subyacentes, distinta)
gnome-shell --version | awk '{print $3}' | awk -F. '{print $1"."$2}'
# Sesión Wayland vs X11 — Wayland es default desde GNOME 40
echo $XDG_SESSION_TYPE
# Distribución y versión
cat /etc/os-release | grep -E '^(NAME|VERSION)='

Si gnome-shell --version reporta algo distinto a 46.x, esta guía aplica pero los UUIDs de extensiones pueden diferir. Para ajustar: salta a GNOME 47 cuando llegues, pero la mecánica sigue siendo la misma.

Detecta conflictos de sesión

Si administras puestos que arrancan tanto en Wayland como en X11, algunas extensiones solo funcionan en uno. Antes de declararlas estables, valida:

# Desde Wayland
gnome-extensions list --enabled
# Logout y login en X11, repite:
gnome-extensions list --enabled

Si la misma extensión está habilitada en Wayland pero desaparece en X11 (o al revés), es problema de la extensión, no de tu configuración.

Instala el stack CLI para gestionar extensiones

El binario gnome-extensions viene en el paquete gnome-shell-extensions en Fedora y RHEL, y en gnome-shell-extensions o gnome-shell en Ubuntu y Debian. La documentación oficial de RHEL 10 lista exactamente estos sub-comandos: list, install, enable, disable, info, uninstall.

# Fedora / RHEL
sudo dnf install -y gnome-shell-extensions gnome-extensions-app dconf-editor
# Ubuntu / Debian (incluye gnome-shell-extension-prefs y gnome-extensions CLI)
sudo apt update
sudo apt install -y gnome-shell-extensions gnome-shell-extension-prefs dconf-editor
# openSUSE Tumbleweed
sudo zypper install -y gnome-shell-extensions dconf-editor

Tras la instalación, abre Extension Manager (la app gráfica) o usa la CLI. Si gnome-extensions no existe en $PATH, probablemente el paquete se instaló pero no se recargó el bash completion: reinicia sesión o ejecuta hash -r.

Verifica que la CLI responde

gnome-extensions --version
gnome-extensions list

El listado inicial debe estar vacío si es un GNOME limpio. Si ya hay algo listado, esas extensiones fueron preinstaladas por tu distribución.

Extensiones que sí valen para sysadmins (verificadas en GNOME 46)

No todas las extensiones sobreviven a un upgrade mayor de GNOME. Las que listo aquí son las que he visto mantener compatibilidad durante los saltos 42 → 43 → 44 → 45 → 46, y que resuelven fricciones reales de mi flujo como sysadmin: gestión de ventanas, terminal rápida, atajos de teclado extendidos y monitor de sistema.

Dash to Dock

El dock que GNOME debería traer por defecto. UUID estable: [email protected]. Versiones compatibles con GNOME 46 existen; instalar desde extensions.gnome.org o desde el repo de tu distro:

# Fedora — disponible como paquete rpm
sudo dnf install -y gnome-shell-extension-dash-to-dock
gnome-extensions enable [email protected]

Lo que más uso: intellihide (esconde el dock cuando una ventana lo cubre), isolate workspaces (un dock por workspace, evita confusión cuando tienes 4 escritorios), y atajo Super para mostrar/ocultar.

Blur My Shell

Aplica desenfoque gaussiano al top bar, al dash y al overview. El UUID es blur-my-shell@aunetx. Útil cuando tienes un wallpaper con contraste alto y los textos sobre el panel se vuelven ilegibles.

# Descargar zip desde extensions.gnome.org o clonar el repo estable
cd /tmp
wget https://extensions.gnome.org/download-extension/[email protected]
gnome-extensions install --force [email protected]
gnome-extensions enable blur-my-shell@aunetx

Hide Top Bar

Auto-esconde la barra superior. UUID [email protected]. Funciona muy bien combinada con Dash to Dock: cuando ambas están ocultas, tu área de pantalla usable crece ~30 píxeles vertical.

Burn My Windows

Efectos de animación al abrir/cerrar ventanas (llamas, partículas, glide). UUID [email protected]. Lo menciono porque varios sysadmins lo piden para distinguir visualmente entre escritorios; útil cuando cada workspace corresponde a un cliente distinto.

GSConnect

Integra tu teléfono Android con GNOME vía KDE Connect. UUID [email protected]. Para sysadmins que suenan a ser el soporte técnico de su familia: compartes archivos, SMS y notificaciones sin instalar nada en el teléfono. Funciona en GNOME 46 con ajustes menores; en versiones más nuevas la integración es nativa.

Activa extensiones vía dconf para configuraciones multi-host

Cuando tienes que replicar el mismo escritorio en 30 workstations, instalar cada extensión manualmente no escala. La clave está en que GNOME lee org.gnome.shell.enabled-extensions de dconf en el momento del login. Si lo fuerzas a nivel de sistema, todos los nuevos usuarios arrancan con la misma lista.

Per-user: el método interactivo

Aplica primero en tu propio usuario para verificar que la combinación de extensiones es estable antes de empujarla a otros:

# Listar extensiones disponibles (UUIDs exactos)
gnome-extensions list
# Habilitar por UUID
gnome-extensions enable [email protected]
gnome-extensions enable blur-my-shell@aunetx
# Confirmar que el cambio quedó en dconf
gsettings get org.gnome.shell enabled-extensions

System-wide: la vía oficial GNOME

Para que todos los usuarios nuevos (o un usuario concreto) hereden la lista, escribe un override en /etc/dconf/profile/user + un archivo en /etc/dconf/db/local.d/. Patrón validado en RHEL 10, debería funcionar idéntico en Fedora Workstation y derivados:

# 1. Crear el profile si no existe
sudo install -d /etc/dconf/profile
sudo tee /etc/dconf/profile/user <<'EOF'
user-db:user
system-db:local
EOF
# 2. Definir las extensiones en el system-db local
sudo install -d /etc/dconf/db/local.d
sudo tee /etc/dconf/db/local.d/01-extensions <<'EOF'
[org/gnome/shell]
# Lista de extensiones a habilitar en todo login nuevo
enabled-extensions=['[email protected]', 'blur-my-shell@aunetx', '[email protected]']
EOF
# 3. Recompilar la base dconf para que los cambios tomen efecto
sudo dconf update
# 4. Verificar
sudo -u tu-usuario dbus-launch gsettings get org.gnome.shell enabled-extensions

El último comando debe devolver la misma lista que escribiste en 01-extensions. Si devuelve @as [], el profile dconf no está cargando el system-db — revisa que /etc/dconf/profile/user existe y que dconf update corrió sin errores.

Pitfall: el orden de carga importa

Si tienes dos archivos en /etc/dconf/db/local.d/ que modifican org.gnome.shell.enabled-extensions, el último lexicográficamente gana. Por eso uso prefijo numérico: 01-extensions, 02-keybindings, etc. Si no numeras, el orden es por nombre de archivo y la auditoría se vuelve infernal.

Configura extensiones vía dconf (sin Extension Manager)

Cada extensión publica sus claves en algún schema de dconf. Si quieres automatizar la configuración, lee primero qué claves expone:

# Listar todas las claves del namespace schema-orbitada
gsettings list-recursively org.gnome.shell.extensions.dash-to-dock
# Leer un valor concreto
gsettings get org.gnome.shell.extensions.dash-to-dock dock-fixed
# Escribir
gsettings set org.gnome.shell.extensions.dash-to-dock dock-fixed true
gsettings set org.gnome.shell.extensions.dash-to-dock autohide true
gsettings set org.gnome.shell.extensions.dash-to-dock intellihide true
gsettings set org.gnome.shell.extensions.dash-to-dock isolate-workspaces true

Para escribir en system-db (todos los usuarios), usa el archivo locks o crea un override en el mismo lugar que las extensiones habilitadas. El flujo completo:

# Auditoría: qué esquema existe
gsettings list-schemas | grep -i 'dash-to-dock'
# Override system-wide
sudo tee /etc/dconf/db/local.d/02-dash-to-dock <<'EOF'
[org/gnome/shell/extensions/dash-to-dock]
dock-fixed=true
autohide=true
intellihide=true
isolate-workspaces=true
show-show-apps-button=false
show-favorites=false
EOF
sudo dconf update

Aprovecha las novedades de GNOME 46 que sí valen

De lo que GNOME 46 trajo, tres cosas se justifican activar en un puesto sysadmin y rara vez se mencionan en drivers de novedades.

Búsqueda global en Files

La combinación Ctrl+Shift+F abre búsqueda que indexa todas las ubicaciones configuradas. Para sysadmins que viven en logs, esto es oro: navegas a un directorio de logs en /var/log, lo agregas como ubicación de búsqueda, y luego Ctrl+Shift+F te permite buscar por palabra clave sin tener que abrir terminal.

# Configurar /var/log como ubicación de búsqueda requiere permisos
# Las ubicaciones del usuario se guardan en:
gsettings get org.gnome.Nautilus.Preferences search-locations

RDP headless remote

GNOME Remote Desktop en 46 soporta conexión RDP a una sesión que NO está siendo usada localmente. La configuración vive en:

gsettings get org.gnome.desktop.remote-desktop.rdp
gsettings get org.gnome.desktop.remote-desktop.rdp enable
# Habilitar:
gsettings set org.gnome.desktop.remote-desktop.rdp enable true

Tras habilitar, configura firewall y credenciales con gnome-remote-desktop o desde Settings → Remote Desktop. La sesión RDP es independiente de la sesión física, así que puedes conectarte a un workstation que está en la pantalla de login.

Online Accounts: WebDAV genérico

Antes de GNOME 46, las cuentas online eran solo Google, Microsoft y un puñado de proveedores. Ahora hay un tipo WebDAV genérico que sirve para Nextcloud, Radicale, ownCloud y cualquier servidor compatible. La configuración sigue siendo vía Settings → Online Accounts, pero ahora no dependes de un proveedor específico.

Troubleshooting: cuando GNOME Shell se congela o las extensiones rompen

GNOME Shell no es un proceso trivial de reiniciar — vive en tu sesión gráfica, así que hacer killall gnome-shell desde la misma sesión mata tu sesión. La forma soportada es la combinación Alt+F2, escribir r y presionar Enter, que reinicia el shell sin cerrar sesión. En Wayland funciona también desde el shell mismo.

# Si Alt+F2 + r no responde (Wayland a veces se atasca)
# Desde otra TTY (Ctrl+Alt+F2):
DISPLAY=:0 gnome-shell --replace &
# Esto intenta levantar un shell nuevo sin tumbar la sesión
# Identificar procesos zombies de extensiones
journalctl --user -b -u gnome-shell.service --since '5 minutes ago' | grep -i 'extension.*error'
# Deshabilitar todas las extensiones de un usuario en emergencia
gsettings set org.gnome.shell enabled-extensions '[]'

Si tras un upgrade una extensión deja de cargar, el log suele decirlo claro. El UUID incorrecto es la causa más común: copiar-pegar un @ mal escrito es fatal. Verifica con gnome-extensions list y compara con la lista de enabled-extensions.

Cuando una extensión no carga tras upgrade mayor

El patrón típico: actualizas de GNOME 45 a 46, una extensión que tenías habilitada desaparece. Diagnóstico:

# Ver extensiones instaladas pero deshabilitadas
gnome-extensions list --disabled
# Buscar errores de carga
journalctl --user -b | grep -i 'extension.*fail|extension.*broken'
# Forzar recarga (a veces basta)
gnome-extensions disable UUID && gnome-extensions enable UUID

Si la extensión no tiene versión compatible con la nueva GNOME, tu única opción es esperar a que la desarrollen o desinstalarla. La política correcta es: antes de hacer upgrade mayor, revisa extensions.gnome.org para cada UUID que tengas habilitado.

Audita la configuración con dconf-editor

dconf-editor es la versión gráfica de gsettings. Útil cuando quieres buscar una clave sin recordar el schema exacto, o para auditar lo que hay configurado en un puesto antes de hacer rollback.

# Instalar
sudo dnf install -y dconf-editor   # Fedora / RHEL
sudo apt install -y dconf-editor   # Ubuntu / Debian
# Lanzar
dconf-editor

Para auditar un sistema remoto (típico cuando validas workstations antes de promoverlas a producción), exporta todo el árbol org.gnome.shell a un archivo:

# Exportar configuración actual
gsettings list-recursively org.gnome.shell > /tmp/gnome-shell-config.txt
gsettings list-recursively org.gnome.desktop.interface >> /tmp/gnome-shell-config.txt
# Comparar con un golden image
diff /tmp/golden-image.txt /tmp/gnome-shell-config.txt | head -50

Las diferencias suelen revelar extensiones habilitadas/deshabilitadas en puestos que no deberían tenerlas — exactamente lo que quieres detectar en una auditoría.

Preguntas frecuentes

¿Cómo verifico que GNOME 46 está corriendo y no otra?

Ejecuta gnome-shell --version desde un terminal dentro de la sesión gráfica. Debe reportar 46.x. Confirma también echo $XDG_SESSION_TYPE para saber si estás en Wayland (default) o X11, porque algunas extensiones solo funcionan en uno de los dos.

¿Por qué una extensión no aparece en gnome-extensions list tras instalarla?

El ZIP no se desempaquetó en ~/.local/share/gnome-shell/extensions/<UUID>/ o el metadata.json dentro está corrupto. Verifica con ls ~/.local/share/gnome-shell/extensions/ y abre el metadata.json de la extensión sospechosa para confirmar que uuid coincide con el directorio.

¿Cómo revertir todos los cambios de dconf de una extensión?

Ejecuta gsettings reset-recursively org.gnome.shell.extensions.<schema>. Para dejarlo como recién instalado, también desinstala la extensión con gnome-extensions uninstall <UUID> y purga su directorio en ~/.local/share/gnome-shell/extensions/.

¿Es seguro hacer killall gnome-shell para reiniciar?

En X11 funciona y reinicia la sesión gráfica sin cerrar la sesión de usuario. En Wayland tumbas tu sesión completa porque Wayland no sobrevive sin el compositor. Usa Alt+F2 + r en su lugar, o desde otra TTY ejecuta DISPLAY=:0 gnome-shell --replace &.

¿Cuándo debería saltar a GNOME 47 en vez de seguir en 46?

Cuando tu distribución deje de dar soporte de seguridad para 46 (Fedora lo retira a los 13 meses desde release, RHEL 9.x lo mantiene durante el ciclo LTS). Si necesitas una extensión concreta que ya no funciona en 46, salta antes y ajusta la imagen dorada a la nueva versión.

Lee también

Alfonso Moreno | Sysadmin Senior

Soy Alfonso, sysadmin senior con RHCE y más de 10 años administrando sistemas Linux para empresas y proyectos personales. Me especializo en infraestructura, redes, virtualización, monitoring, automation y self-hosting. Sobre SoyLinux.com SoyLinux.com es un blog técnico en español sobre Linux, software libre y self-hosting. Lo mantengo en mi tiempo libre. Áreas de expertise - Linux server administration: RHEL, CentOS, Rocky, Alma, Fedora, Debian, Ubuntu - Network services: Postfix, BIND, Samba, NFS, Squid - Virtualización y containers: KVM, Proxmox, Docker, Podman - Monitoring: Prometheus, Grafana, Zabbix - Automation: Ansible, Bash scripting - Self-hosting: Vaultwarden, Nextcloud, Jellyfin, Immich, Homelab Contacto - Email: [email protected]

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *