Ubuntu 18.x o superior: solución si no te funciona la combinación Alt+Imp Pant+RESIUB
Ya sabes que aunque Ubuntu es sólido como una roca, no siempre es infalible. En ocasiones, puede que alguna aplicación o fallo pueda colgar el sistema y que no te permita lanzar la consola para realizar ninguna operación o reiniciar el equipo, etc. En esos casos extremos donde no tienes otra salida, en vez de apagar el equipo dejando pulsado el botón de encendido/apagado o con el botón reset, tienes otra opción.
Esa opción pasa por pulsar una combinación de teclas como son Alt+Impr Pant+ R E S I U B. Eso hace que el sistema responda y se reinicie para salir de ese estado congelado. Recuerda que debes mantener pulsadas las teclas Alt+Impr Pant y luego puedes ir pulsando una a una las siguientes teclas sin que tengas que mantenerlas todas a la vez (evidentemente): R, E, S, I, U, y B. El problema es que puede que en alguna versión de Ubuntu no funciona…
Esa función lo que hace es activar una SysReq (System Request) o petición al sistema para que el kernel atienda a esa petición y, en este caso, reinicie el sistema congelado. Las teclas sirven para:
- R: devuelve el control al teclado o unRaw.
- E: termina todos los procesos o tErm.
- S: sincroniza los discos o Sync.
- I: mata los proceso que queden vivos o fullkIll.
- U: monta todos los sistemas de archivos como sólo lectura o Umount.
- B: reinicia el ordenador o reBoot.
Si en tu versión del sistema está desactivada por defecto, se puede solucionar fácilmente. Para activarlo y que el sistema atienda las secuencias que siguen a Alt+Imp Pant para realizar diferentes funciones (puesto que hay más que estas que he mostrado), tienes que hacer lo siguiente:
echo "kernel.sysrq = 1" >> /etc/sysctl.d/99-sysctl.conf
Otra opción es usar el siguiente comando que tendría el mismo efecto:
sysctl -w kernel.sysrq=1
Recuerda que para los anteriores comandos necesitas privilegios, por eso hazlo preferiblemente con sudo o, en su defecto, como root.
Y a partir de ahora, la combinación de teclas debería funcionar… Recuerda que si lo cambias en el fichero /proc/sys/kernel/sysrq, funcionará, pero no sobrevivirá cuando reinicias el sistema, por lo que tendrás que volver a cambiarlo. Es decir, no es permanente.
Más sobre las magic SysRq
Lo que acabas de hacer con el comando del aparato anterior es cambiar la configuración del kernel para ponerle el valor 1 que activa todas las funciones de SysRq. Pero debes conocer que hay otros valores posibles, por si te interesa usarlos:
- 0: deshabilita SysRq por completo.
- 1: habilita todas las funciones de SysRq.
- >1: máscara de bit para permitir ciertas funciones:
- 2: habilita el control de la consola a nivel de logging.
- 4: habilita el control de teclado (SAK, unraw)
- 8: habilita los volcados de depuración de procesos, etc.
- 16: habilita el comando de sincronización.
- 32: habilita el remontado en modo solo lectura.
- 64: habilita la señalización de procesos (term, kill, oom-kill)
- 128: permite reboot/poweroff.
- 176: permite solo sincronización, reinicio y remontar en modo solo lectura.
- 256: permite nicing de todas las tareas RT
Dicho eso, también existen otras teclas mágicas a parte de R, E, S, I, U, B, que puedes usar para hacer ciertas peticiones al sistema operativo. Se pueden usar en secuencia como RESIUB, pero también aisladas, como Alt+ImpPant+S, Alt+ImpPant+B, etc. Y para que conozcas más posibilidades, aquí tienes una lista:
- B: reinicia el equipo de forma insegura. Es decir, sin sincronizar los buffers de disco, ni desmontar las particiones montadas. Eso puede causar que se pierdan datos o que se corrompan algunos que estuviesen siendo escritos en ese momento. Es como apretar el botón físico de reset o dejar pulsado en botón ON/OFF de otros equipos portátiles o AIO.
- C: fuerza un crash, volcando al disco la memoria principal del sistema.
- D: montará los locks del sistema.
- E: envía una señal SIGTERM a todos los procesos salvo a init/systemd/upstart,… Es decir, mata todos los procesos en marcha menos ese.
- F: invoca un OOM Kill, para resolver algunos casos cuando falta memoria en el sistema.
- G: entra en modo debug de consola, usando framebuffer.
- H: monstrará ayuda sobre el uso de SysRq.
- J: fuerza una congelación de los filesystems o sistemas de ficheros mediante el uso de FIFREEZE.
- K: mata todos los procesos de la consola que estés usando. Eso también incluye la gráfica.
- L: muestra un stack backtrace de todas las CPUs activas en el sistema. Si hay alguna inactiva o deshabilitada manualmente, no mostrará nada sobre ellas.
- M: muestra información de tu memoria.
- N: reset para los valores por defecto de niceness para todos los procesos que hayan pasado a prioridad alta y RealTime. Eso aliviará problemas de contención de recursos.
- O: apagará completamente el equipo. Es decir, no lo deja en modo latente como un halt.
- P: muestra los registros y flags.
- Q: presenta todos los timers y clock sources activos.
- R: cambia el modo de teclado de RAW a XLATE.
- S: sincronizará los buffers del disco o discos, es decir, las memorias que almacenan operaciones de accesos por hacer. Para que no se corrompan los datos si retiras dicha unidad o si reinicias repentinamente.
- T: muestra una lista de tareas.
- U: cambia el modo de montaje de las particiones a solo lectura o read-only.
- V: fuerza el reset de la consola framebuffer.
- W: te muestra un listado de tareas bloqueadas.
- Barra espaciadora: mostrará las teclas mágicas SysRq disponibles en tu equipo.
Recuerda que no todas estas funcionarán en todos los modos…