Tenía un dispositivo con Ubuntu 12.04 LTS que tiene la pantalla congelada. En general, simplemente salté a un tty disponible, es decir Ctrl, Alt- F1y ejecuté el comando /etc/init.d/lightdm restart
o service lightdm restart
. Sin embargo, esto mata todo lo que tengo abierto. ¿Cómo evito esto?
12
Respuestas:
DESCARGO DE RESPONSABILIDAD: Según el comentario de Brenden, esto podría estar desactualizado y ya no funcionaría con versiones más nuevas de Ubuntu. Además, esté preparado para que pueda perder sus ventanas abiertas.
Ahora lo obtuve para Unity (acabo de reemplazar mi shell GNOME con unity sin cerrar sesión o cerrar ventanas):
DISPLAY=:0
para que los programas sepan en qué puerto encontrar el X-Serverexport DISPLAY
unity --replace
ognome-shell --replace
(también puede reemplazar GNOME-Shell por la unidad o Unity por el GNOME-Shell)Esto solo funciona si no X-Server o GNOME están congelados, sino solo Unity o GNOME-Shell.
Cómo funciona: la comunicación entre los programas y el X-Server para mostrar su IU funciona a través de un socket de red. Esto normalmente está en "localhost: 0" corto ": 0". Al configurar la variable DISPLAY, los programas saben dónde encontrar el X-Server para comunicarse con él, por lo que los programas se muestran en el X-Server en tty7 incluso si el programa se ejecuta en tty1.
El contenido de las ventanas es administrado por el X-Server, mientras que la posición y los bordes de las ventanas son administrados por el administrador de ventanas integrado en la unidad o el GNOM-shell, por lo que hay una manera de reemplazarlos solo sin reiniciar las aplicaciones en el X- Servidor.
PD: Solo estoy describiendo lo que entiendo, así que edíteme y corríjame si me equivoco en algunos puntos.
EDITAR: Para GNOME-Shell, hay otra forma de reiniciarlo. Después de cambiar a tty simplemente escriba
pkill -HUP gnome-shell
, no sé si hay algo similar para Unity.fuente