Firefox no se cerró correctamente al cerrar sesión


10

Acabo de instalar Ubuntu 14.04 beta2y de 25 intentos, ya sea cerrar sesión, apagar o reiniciar, mi sesión no se cerró Firefoxcorrectamente 23 veces al salir. El resultado es la página de recuperación de pestañas de Firefox que nunca sucede si me tomo el tiempo para cerrar Firefox manualmente de antemano.

Como funcionó 2/25 veces, parece un problema de tiempo en el que Ubuntu no permite que finalice el tiempo de proceso de Firefox (Ubuntu cierra la sesión en aproximadamente 1-2 segundos). ¿Nunca he recibido el mensaje "esperar a Firefox? / ¿Cerrar de todos modos?" cuadro de diálogo que observé en 12.04.

Entonces, si estoy en lo correcto, ¿cómo hago para que espere? Si no, ¿cuál es el problema y cómo resuelvo la salida incorrecta?

No tengo experiencia en la administración de archivos de configuración de perfil o sesión y muy poco con bash (lo entiendo pero soy pésimo para codificarlo). Entonces, si no puede responder pero tiene un buen artículo sobre cómo funcionan los perfiles / sesiones en Unix / Linux / Debian / Ubuntu (si es el mismo) y / o cómo hacer cambios en los eventos de inicio / cierre de sesión, Sé feliz con eso.

Editar: hice pruebas adicionales que indican que es cuestión de tiempo

  • wmctrl -c firefox; sleep 0.5; sudo shutdown now -r funciona bien 100%
  • wmctrl -c firefox; sleep 0.2; sudo shutdown now -r funciona bien 50%
  • wmctrl -c firefox; sudo shutdown now -r funciona bien 10%
  • sudo shutdown now -r& wmctrl -c firefox nunca parece funcionar ...

Entonces, como solución alternativa, ¿cómo puedo escribir wmctrl -c firefox; sleep 0.5en un archivo que se parece .profileo bash_logoutno al cierre de sesión?


El grano no es un hombre paciente. El proceso de Firefox puede haber tardado demasiado en terminar después de haber sido (muy bien) indicado la primera vez; Probablemente recibió otra señal (más radical) y fue asesinado aproximadamente . Esto dependería principalmente del trabajo de los desarrolladores, no específicamente de la configuración de su sistema.
John WH Smith

@JohnWHSmith Pero dije que toma 2 segundos como máximo para cerrar sesión. Acabo de intentarlo de nuevo y fue instantáneo (0.1s). Iniciar sesión me dio la bienvenida nuevamente con un avergonzado Firefox. Además, dado que es un error, ¿lo informo en Ubuntu o el kernel o qué pasa si, como usted dice, realmente no puedo hacer nada por mí mismo?
sinekonata

1
Creo que el informe de error debería ir en contra de Firefox. Firefox 28 parece no comportarse tan bien como solía hacerlo; a veces permanece ejecutándose después de que todas las ventanas están cerradas y bloquea múltiples núcleos de CPU.
dobey

@dobey Si lo que dices es cierto, debe ser extremadamente rápido: probé apagar inmediatamente (0.1s) después de presionar el botón Firefox (x) y no hay ningún error allí. Siento que lo que Ubuntu hace está cerca con un comando de proceso de matar. Solo quiero repetir que no tengo instalado ningún complemento, que todo está actualizado y que no sucedió en 12.04. Todo lo que quiero es una forma de llamar a la "acción de cerrar correctamente" en lugar de la de "cerrar abruptamente".
sinekonata

El hecho de que la ventana desapareció no significa que Firefox haya salido. O no significa necesariamente que salió limpiamente. Por lo que sabemos, Firefox podría fallar cuando salga de él, y no tiene nada que ver con el proceso de cierre de sesión / entrada. ¿Estaba utilizando la misma versión de Firefox 28 en 12.04?
dobey

Respuestas:


1

Aparentemente no hay un archivo dedicado para escribir como solía haber. Fue /etc/gdm/PostSessionbajo Gnome, pero no está disponible ya que aparentemente Unity. Y colocar un script debajo /etc/rc0.d/y /etc/rc6.d/no funcionará, ya que solo se ejecutan después de que Xserver se apaga.

Sin embargo, hay un evento llamado gnome-save-yourselfdespedido cuando se le ha pedido a gnome que cierre la sesión. Yo es lo que, geditpor ejemplo, llamará implícitamente. Y Seamus Phelan hizo un script de python para escuchar el evento y ejecutar su script cuando lo detectan.

Aquí está el enlace a la solución: Ejecución de scripts al cerrar la sesión del usuario (usuario no root)

Siga las instrucciones y luego todo lo que tiene que hacer es colocar su script que se vea así:

#! /bin/sh
#Requires wmctrl
wmctrl -c firefox;
gmusicbrowser -cmd "Quit";
exit 0;

donde la opción cierra -c suavemente Firefox como lo hace -cmd "Quit"para gMusicBroswer. Tanto Firefox como gMusicBrowser deben cerrarse correctamente, lo que no es así.

Una forma probablemente mejor sería comprobar el uso de SIGTERM, SIGKILLy kill timeouten Ubuntu y los programas, pero no sé lo suficiente sobre él.


Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.