Imbatible! Cómo reiniciar Gnome-Shell desde una terminal con ctrl+alt+F2 (o tty2)

Buenas buenas! Yo aca ando, muy contentísimo de volver a escribir. :)

Hoy les traigo mi solución que con el paso del tiempo fui consolidando tratando de lidiar con los cuelgues de gnome-shell. Para resolverlos, vamos a pasar a modo consola y a ejecutar un comandito que nos va a permitir reiniciar el entorno en cuestión. Manos a la obra.

El problema, antecedentes e interines.

La cosa es que la verdad Gnome-Shell es de lo más estable. Eso hay que decirlo y repetirlo mil veces. Principalmente desde las últimas versiones 3.10 en adelante la performance, velocidad y estabilidad de gnome creció mucho. Esto, sin embargo, no quiere decir que todo sea color de rosas. Si usan máquinas virtuales podrían tener experiencias inconfortables con gnome y virtualbox, así como con algunas apps de java que sencillamente ponen a la shell bastante renegona. Por ejemplo, cuando tengo un proceso de virtual box corriendo (VBox*) y quiero cambiar el wallpaper gnome se me cuelga. Raro. Ya está reportado, pero si a alguien le pasa lo mismo estaría bueno que lo reporte también. En suma, quizás recuerden que tengo inestabilidad wallpaperistica así que la shell se me enojaba bastante seguido jajaj. La solución, bastante simple, radicaba en reiniciar la shell desde una consola externa.

Edit: Esto no se trata sólo de reiniciar la shell (como uno haría normalmente apretando “alt+f2, r”) sino que sirve para cuando gnome-shell no responde. Cuando la shell no responde nos impide hacer reaccionar el sistema, las ventanas no responden, menos los atajos de teclado, dejándonos en una situación en la que no se pueden  introducir comandos desde allí. Y ahí viene el sentido de este post. O sea, la idea es que en lugar de tener que reiniciar la computadora porque gnome-shell se colgó, que podamos revivirlo con el método que les cuento abajo. 

Imagino que en el mundillo linux algunos ya tendrán contacto con las sesiones paralelas que se alojan en los tty. Si no, les cuento en dos palabras más o menos de que viene la onda. En linux podemos tener varias sesiones corriendo a la vez, las cuales pueden ser de diferentes usuarios o del mismo, lo cual permite acceder a procesos que están corriendo simultáneamente en otras sesiones abiertas, dado que el usuario es idéntico. Para poder activar una sesión paralela hay que hacer una combinación de teclas de tipo ctrl+alt+f2 para pasar a la consola de sesión paralela tty2 (ctrl+alt+f1 para tty1 y así). Notando que el servidor X que es el que nos permite ver las cosas con interface gráfica puede correr sólo una vez, las sesiones paralelas son todas en modo consola exclusivamente.

El truquete es que desde una sesión paralela en modo consola nos podemos loguear con nuestro usuario y contraseña y así acceder a todos los procesos que corre nuestro “usuario original”. Esto, por supuesto, aplica a gnome-shell, generando la posibilidad de reiniciar la shell desde un entorno seguro y evitándonos el maldito reinicio (aka sudo reboot).

tty2-nologin

Cuando se nos cuelga la shell, lo que tenemos que hacer es ir a una consola para inciar una sesión paralela. Esto lo hacemos apretando ctrl+alt+f2. Nos va a pedir usuario y contraseña, las cuales introducimos y ya estamos listos para reiniciar la shell. Les propongo dos métodos.

tty2-login

El Método: simple comando que reinicia la shell

La forma más sencilla es pasar a tty2 (ctrl+alt+f2 y después loguearse) y ejecutar la siguiente línea:

killall -1 gnome-shell

Luego volvemos a nuestra sesión gráfica que es la tty7 presionando ctrl+alt+f7 y esperamos unos segundos. La shell se tendría que reiniciar. A esperar con paciencia.

restar-gnome-shell

Nota: Si andan en el tema se habrán cruzado con soluciones de todo tipo, como por ejemplo tirar un gnome-shell --replace o un gnome-shell --replace --display :0 o un sudo service gdm restart o sudo service lightdm restart . Ninguna funciona. ^_^

Bien, eso es todo :)

Debo decir que hay soluciones más elegantes. Pero por ahora los dejo con las ganas para otro post.

Espero les sirva,
Salú!!! :)

PD. Obviamente ctrl+alt+f2 es un ejemplo y funciona con cualquier tecla de las de arriba, F1, F2, F(numero), menos la F7 que está guardada para el entorno gráfico.

Advertisements
Imbatible! Cómo reiniciar Gnome-Shell desde una terminal con ctrl+alt+F2 (o tty2)

[Rapidito] Cómo solucionar “E: No se pudo abrir el fichero de bloqueo «/var/lib/dpkg/lock» – open (13: Permiso denegado)”

Editado1: agregada la advertencia de paquetería

Editado2: agregada la razón del problema

Hola de nuevo a todos y todas. En esfuerzos incomunables por hacer posts más cortos voy a tratar de ir al punto. Hoy me meto con un error de terminal que todos tuvimos y tendremos. Se bloquea el dpkg y no nos deja hacer updates o instalar paquetes desde la terminal de Ubuntu.

Es algo relativamente usual que cada tanto Ubuntu se empaque y cuando hacemos un update nos tire el mensaje en cuestión E: No se pudo abrir el fichero de bloqueo «/var/lib/dpkg/lock» - open (13: Permiso denegado). Este mensaje bloquea todo tipo de instalación y upgrade del sistema, hacíendolo realmente molesto. Las razones son cosa’e mandinga para mi, pero la solución se las comparto a continuación.

La solución. Pim pam pum (o en 2 patadas)

En corta, abran una terminal y peguen:

sudo rm -Rf var/lib/dpkg/lock ; sudo apt-get dist-upgrade -y

Un segundito… que páaaaare la música!: Si agregaron un nuevo PPA o instalaron un paquetón que no funciona bien, entonces la línea de arriba fuerza a que el paquete se instale. Si ese es el caso, saquen el “-y” del final y controlen que la instalación vaya correctamente. Agradezco a +Javi en guglplás por la señalación.

Listo!

La razón del error, como dije, me es completamente ajena es simple (gracias +Héctor!): se debe a que cancelamos manualmente el proceso apt-get update. Luego de la cancelación, dpkg se empaca y bloquea esa carpeta impidiendo el acceso al sistema de paquetes. Así que si quieren prevenir este error, nada de ctrl+c o de killall apt-get durante el proceso `sudo apt-get update`.

Esta solución que les presenté se deriva directmente del mensaje que nos devuelve apt-get. Cuando dice que «/var/lib/dpkg/lock» está bloqueado, entonces sabemos que el problema está ahí. Lejos de tratar de “desbloquearlo”, el camino fácil es borrarlo ya que dpkg debería regenarlo por cada paquete que instala y, en efecto, es lo que sucede. Una vez que forzamos la eliminación del directorio todo vuelve a la normalidad. Para terminar de curar el sistema, debemos reiniciar.

Wow, eso fue corto. Me siento raro. :P

Espero les sirva y hasta la próxima! :D

Salú!!

//

[Rapidito] Cómo solucionar “E: No se pudo abrir el fichero de bloqueo «/var/lib/dpkg/lock» – open (13: Permiso denegado)”

Gnome-Shell: cómo matar la terminal zombie

Hola a todos y todas,

Hoy voy con un post bien bien cortito.

Si utilizan Ubuntu-Gnome 13.10 y tienen instalado Gnome-Shell 3.8, seguramente habrán notado un bug realmente molestísimo en el que se cuelga la terminal (por suerte solucionado en las versiones más modernas de la shell). El síntoma del problema consiste en que de repente una terminal se empaca, se cuelga, y si bien se puede cerrar a nivel de sistema (matando el proces), por algún motivo seguimos viendo un pedazo de ventana de terminal por aquí y por allá, sin poder cerrarla. Hoy les cuento cómo cerrarla. :)

Captura de pantalla de 2013-12-23 17:25:27

Lo que no funciona

Lo primero que uno trata de hacer, por supuesto, es tratar de matar por completo el proceso de la terminal (ctrl+alt+t, y luego killall gnome-terminal), pero no funciona. Pucha, entonces reinicio gnome shell, a ver si se va!… apretamos alt+F2, escribimos la letra r, cuando la shell se reinicia… tadáaaan! la maldita bastarda todavía está ahí.

Solución

Hoy aprendí como cerrarla, jeje. Es muy fácil:

apretamos Alt+F2

y luego ingresamos:

nohup gnome-shell –replace &

Captura de pantalla de 2013-12-23 17:18:16

Listo!

Con esto se soluciona el asunto. Si si… es un poco medio pelo, porque cuando reiniciemos, si vuelve a pasar, hay que volver a introducir el comando (si apretan la “flecha para arriba”, salen los comandos que se ingresaron anteriormente y se ahorran de tipear de nuevo). En cuanto encuentre algo más permanente les cuento, pero por lo que parece, una vez ingresado el comando, la terminal no rompe más por lo que resta de la sesión (o mejor dicho, la shell no tiene más problemas con la terminal). :)

Salú! y hasta la próxima.

Lo aprendí de http://thismagpie.blogspot.it/2013/10/how-to-close-terminal-window-after.html

Gnome-Shell: cómo matar la terminal zombie