¿Cómo puedo restaurar las ventanas para un pid dado? Sería útil en algunas situaciones donde la ventana de un determinado programa desaparece (a veces me pasa a mí).
Por ejemplo, cada vez que me dirijo a cerrar hexchat, muestra un cuadro de diálogo para confirmación. Si hago clic en cancelar, la ventana desaparece de todos modos, pero el proceso continúa ejecutándose en segundo plano. (Puedo pgrep es id).
¿Es posible restaurar la ventana, dado que sé el pid?
Respuestas:
Desafortunadamente, no, generalmente no hay forma de hacer que una aplicación X Windows se vuelva a conectar al sistema de ventanas si pierde su conexión y se destruye su ventana. Y las ventanas generalmente solo desaparecerán si hay un error en el programa en sí mismo, en cuyo caso el proceso probablemente esté bloqueado sin saberlo, esperando la E / S que nunca ocurrirá porque no se da cuenta de que su ventana se ha ido. .
A menos que la aplicación sea de un diseño muy raro y le permita enviarle una señal o mensaje especial para volver a conectarse al servidor X, o reconstruir una nueva ventana, o a menos que todavía esté presente en la pantalla en algún lugar como un icono o icono acoplado y usted puede interactuar con él de esa manera, el proceso del programa simplemente debe ser eliminado y debe reiniciarlo.
El comportamiento de cerrar su última ventana sin salir del proceso es generalmente un error que puede informar sobre la aplicación.
(Nota: hay raras excepciones, como los navegadores web que mantienen un proceso en ejecución incluso una vez que se cierra su última ventana, pero en esos casos, volver a hacer clic en el icono del navegador o volver a ejecutarlo desde la línea de comandos simplemente le dice al usuario que ya se está ejecutando proceso para abrir una nueva ventana. Nuevamente, una aplicación tiene que estar especialmente escrita para manejar la falta de ventanas temporal si esto va a funcionar).
fuente
Como explicó Brandon Rhodes, si la ventana se destruye / oculta por su proceso padre, no hay forma de recuperarla / recrearla / mostrarla desde fuera del proceso o la aplicación misma.
Puede confirmar desde el administrador de ventanas, intente:
wmctrl -l -p
no aparece ninguna ventana relacionada con su PID.Entonces, es posible que
hexchat
todavía responda, intente:-e
Abrir URL o ejecutar comando en un HexChat existenteReferencias
man hexchat
man wmctrl
fuente
Si el proceso es simplemente en segundo plano, tal vez esta respuesta también encaje aquí:
Use
fg
para volver a poner el proceso en primer plano.Vea la respuesta completa para más instrucciones.
fuente
No conozco hexchat, pero posiblemente el programa utiliza un icono de bandeja que permite recuperar la ventana principal. Desafortunadamente, hay implementación de múltiples bandejas en Linux y no todas funcionan juntas.
Tuve un problema con el programa RadioTray que ya no apareció después de la actualización a Xubuntu 14.04. La solución fue reconfigurarlo (el archivo ~ / .local / share / radiotray / config.xml tenía la opción 'gui_engine' con los 3 valores posibles 'appindicator', 'systray' y 'chooser').
Si esto no ayuda, intente verificar las opciones / preferencias de su aplicación. Posiblemente encuentre una opción 'Minimizar a la bandeja'. Inhabilítelo e intente cerrar la ventana nuevamente.
fuente
Puede probar Ctrl + Alt + Supr, luego finalizar el proceso. Espero que esto ayude. Esto es lo que hago cuando un programa en Ubuntu se congela o actúa de manera extraña para mí.
fuente