domingo, 29 de noviembre de 2015

Tropezando - Parte 22 - Cerrando aplicciones congeladas en Wine

Los que me conozcáis sabréis que me gusta jugar con el ordenador. No es que me pase el día enganchado, pero juego de vez en cuando. Uno de los grandes problemas de Linux (aunque cada vez menos) son los juegos; una de las grandes soluciones es Wine y/o PlayOnLinux; uno de sus grades problemas es la inestabilidad... y ahí llegamos al problema que trataremos en esta bonita entrada: cómo cerrar un programa de Windows que se ha quedado congelado a pantalla completa.

 

1. Cómo matar procesos

En GNU hay varias formas de matar procesos, y he estado probando con todas ellas y algunas más.
- Kill mata procesos basándose en su número de proceso (PID). El problema es que es un tostón abrir una nueva consola virtual, buscar el proceso con ps. anotar el número, lanzar la orden... y más si consideramos que los programas de Windows suelen dividirse en varios procesos distintos, y que ni siquiera sabremos en principio cómo se llaman los de un programa concreto.
Esto se puede resolver usando grep, un comando de GNU que nos permite filtrar resultados, y sabiendo que los procesos de Windows siempre terminan con ".exe" y los de Linux no, un simple ps -e | grep .exe nos mostrará todos los procesos de Windows con su número de proceso... pero no nos resuelve el problema.

- Killall funciona como kill pero no requiere el número de proceso, sino el nombre. Por alguna razón, me funciona cuando hago (por ejemplo) kill programa.exe, pero no cuando uso comodines para matar todos los ".exe".

Sabiendo esto, es lógico pensar que podría encadenar ps, grep y kill, pero nos saldría una odiosa orden chorizo (un comando largo, farragoso y difícil de recordar)... y además ya existe una orden que hace todo eso: pkill.

- Pkill funciona de forma parecida a Killall, pero al tomar grep como base sí acepta caracteres comodín. Ha resultado ser la forma más cómoda y elegante de resolver el problema: con una sola orden genérica, matará todos los procesos de Windows en un plis plas. Basta con ejecutar pkill .exe.

 

2. Cómo matar procesos... sin abrir una terminal

Pues con atajos de teclado.
Yo he usado ObKey, una estupenda utilidad gráfica que crea atajos para Openbox. Si tenéis Openbox pero no ObKey, se pueden crear atajos editando cierto archivo de configuración a mano. Si usáis otros entornos gráficos, buscad entre sus utilidades o su documentación, preguntadle a Google o a vuestro cuñado... en fin, buscáos las habichuelas, que no es tan difícil. =:P
Dado que para cerrar programas se suele usar la combinación [Alt]+[F4], para esto he usado la combinación [Alt]+[Mayús]+[F4]*.
* Nota: Mayús = Shift = flechita gorda apuntando hacia arriba; en todos los teclados que conozco esta tecla está justo encima de [Ctrl].

 

3. Resumen

Todo el tochaco anterior se queda en:
Creamos un atajo de teclado que ejecute la orden pkill .exe. Punto.
Y con esto se acabó volverse loco o, en el peor de los casos, apagar de botonazo cada vez que se cuelga un juego en Wine.

Para la próxima... ni idea, como viene siendo costumbre.
¿Alguien ha mencionado DosBox? Porque tengo Windows 3.11 corriendo en él tan ricamente. =:D

No hay comentarios:

Publicar un comentario