domingo, 24 de marzo de 2013

LMDE: Comprobar que Compiz se esté ejecutando

Compiz sigue siendo insuperable como herramienta gráfica. Tanto para los efectos como suministradora de utilidades de escritorio. Algunos afirman que estos sirve más para chulear  y tirarnos el moco ante nuestros familiares, amistades o amigos que para otra cosa. Otros, que los efectos y plugins son útiles nada más en momentos puntuales, y que la mayoría los utilizamos únicamente para realizar impactantes y demostrativos vídeo sobre Linux.
Aunque esto fuese cierto. Ya tan solo por ese motivo valdría la pena tener Compiz.
Pero para mi manera de ver, tales afirmaciones  están muy lejos de la realidad. Por que aunque se utilice  (que nunca es así) un solo plugin, esto ya justifica la continuidad y totalidad de Compiz. Aún me queda por ver, que alguien tire a la basura de su estuche de colores aquellos  que menos usa o que nunca utiliza. Aquí en Linux si parece ser que esto se hace alegremente.

Compiz de base se instala y se activa con pocos plugins en uso. Y la diferencia entre estar usándolo o no, son realmente impactantes. Así que activando unos cuantos más, la situación pasa a ser asombrosa. Yo soy uno de esos bichos raros que utilizo muchos de los plugin de Compiz. Y eso que mi equipo es muy modesto y tan viejo como Matusalén. No soy capaz de plantearme mi escritorio sin él, y es lo primero que siempre trato de activa y configurar. Trabajar sin Compiz en mi sistema se me hace cuesta arriba, aburrido y sobretodo pesado para los que hacemos varias cosas al mismo tiempo. Compiz a mí me supone productividad  a raudales. Y siempre hay algún plugin que puede hacer que realices ciertas cosas de un mejor modo...y mejor aún siempre hay cosas por descubrir en este maravilloso gestor de ventanas.
Compiz es grande muy grande, y muy muy bueno, pero que muy bueno. Y es una lástima que los distros más punteros lo estén dejando de lado, cogiendo de él las cuatro cosas que más les interesa y listo...¡tiramos todo el resto de colores a la basura!.
Todo lo anterior es igualmente aplicable al decorador de ventanas Emerald. Otro que no tiene igual, pero ahí está, más abandonado que una flor en el desierto...

Bueno, después de haceros partícipes de mis ¿quejas? toca explicar qué quiere decir el título del artículo. Lo primero explicar, que lo siguiente que se mostrará es aplicable sin el uso de Fusion Icon. Aunque tampoco sucederá nada si se hace usando éste. Yo es algo (Fusion Icon) que no utilizo ya que no me gusta el efecto que causa al iniciar la sesión y arrancar Compiz justo después. La carga de éste parece ser muy brusca causando unos parpadeos algo molesto y poco estéticos. La carga de compiz sin Fusion Icon, por lo tanto desde las Aplicaciones al Inicio, siempre me ha gusta y funcionado mejor.

La cuestión es que aunque tengamos Compiz funcionando a la perfección, siempre hay algún momento que éste que no carga. Ya se sabe...las ventanas sin decoración inamovibles, problemas con el teclado etc. Esto me ha sucedido siempre y la verdad no tengo ni la menor idea de porqué alguna veces no carga. Esto sucede de forma completamente advitraría y no es algo que suceda muy a menudo, pero cuando sucede nunca deja de sorprenderme.
A falta de encontrar un motivo, yo lo que solía hacer para remediar esto, es tener preparado el Panel un lanzador para recargarlo con la orden compiz o compiz --replace. Así que cuando iniciaba mi sesión y constataba que Compiz no se había iniciado (por otra parte algo muy evidente cuando sucede), tan solo tenia que clicar en dicho icono para activarlo. Cosa tal, que siempre me ha funcionado a la perfección y llevo usando desde hace mucho tiempo.
Hacer esto no es algo que me suponga un gran trabajo. El hacer un clic de mouse para tener Compiz otra vez al 100% de vez en cuando no da (ni mucho menos) para hacer un drama de dicha situación.
Pero bueno ayer me sucedió lo mismo y pensé...¿no se podría hacer un Script que comprobara si Compiz se encuentra activo y si no lo está pues...activarlo?...
Pues sí, dicho y hecho. He creado un pequeño Script que alojaremos en nuestra carpeta de usuario y que realizará pasados unos segundos después del arranque de nuestra sesión una consulta sobre si se está ejecutando Compiz. Es decir, si su proceso se encuentra activo.

El pequeño Script es el siguiente:

#!/bin/bash
ps -e | grep -w "compiz"
if [ $? = "0" ]
then
echo "Compiz se está ejecutando"
else

exec compiz &
fi
exit


Podéis descargaros el Script aquí: compizOn

El Script trabaja del siguiente modo: Busca en los procesos activos del sistema (en modo usuario) si se esta ejecutando Compiz. Es decir, busca el proceso llamado compiz. En el caso de no encontrarse, éste será iniciado evitando de este modo tenerlo que hacer de forma manual.

Como podéis ver donde se encuentra el comando exec compiz & esta la orden que ejecuta Compiz. Aquí solamente utilizo la orden compiz pero puede ser que tú necesites utilizar compiz --replace si es esa la orden que estás utilizando para iniciarlo. Así que en este caso tendrás que editar el Script y añadir --replace. Aun así prueba a utilizarlo sin la orden --replace a ver que tal.
Introduce el Script en tu carpeta personal.

Ahora toca probar si funciona. Para ello creamos una entrada nueva en Sistema ----> Preferencias ---> Aplicaciones al Inicio:


En casilla Comando tenemos que poner la siguiente orden:
  • bash -c "sleep 7; /home/Tu_Usuario/compizOn"
sleep 7 se refiere 7 segundos. Tiempo que le damos a la carga de todo el entorno antes de realizar la comprobación. No aconsejo poner menos de 4. Aunque esto es algo que podemos ir ajustando nosotros mismo.
Luego (muy importante para realizar la comprobación) tenemos que desactivar la casilla de al inicio que utilizábamos a tal efecto para Compiz o Fusion Icon.


Cerramos sesión y volvemos a entrar.
Durante la carga de nuestra sesión y pasado el tiempo estipulado en la orden sleep 7Compiz debería cargar con normalidad.

Nota: En caso de que no se inicie, comprueba los pasos realizados o de cambiar en el Script el comando compiz por compiz --replace o viceversa.
La razón de esto, es que hay que tener en cuenta que la orden compiz --replace no actúa nada bien si en el editor de configuración Mateconf-editor tenemos puesto en la clave /desktop/mate/session/required_components/windowmanager el valor compiz ya que no se puede reemplazar a sí mismo.


En este caso lo mejor es utilizar  en el Script solamente la orden compiz. En el caso usar el valor marco o metacity (como tenéis la mayoría) si debería funcionar perfectamente compiz --replace.

Ya podemos volver activar en Sistema ----> Preferencias ---> Aplicaciones al Inicio
la casilla del inicio de Compiz que habíamos desactivado, dejando las dos activadas. La que teníamos y la recién creada.


Si lo prefieres puedes hacer las dos en una. Es decir, editas la entrada que ya tenías para el inicio de Compiz y añades esta otra:
  • bash -c  "compiz & sleep 7; /home/Tu_Usuario/compizOn"
Lo marcado en verde es donde tiene que ir el comando que utilizabas con anterioridad.Que tambien podría ser de este otro modo.
  • bash -c  "compiz --replace & sleep 7; /home/Tu_Usuario/compizOn"
El funcionamiento es el mismo pero en una sola línea y en una sola entrada en Aplicaciones  al Inicio: Primero mirará de arrancar Compiz, luego pasado el tiempo estipulado mirará de ver si realmente esta ejecutándose. En caso contrario lo intentará arrancar nuevamente.

Muy importante:
Si todo lo anterior fallara. Aveces Compiz inicia pero no su decorador, lo que podemos hacer entonces es iniciarlo dos veces con un intervalo breve de tiempo entre carga y carga. En este caso nos olvidamos por completo del Script anterior y ponemos los siguiente en la entrada que tengamos de Compiz de Aplicaciones al Inicio:
  • bash -c  "compiz --replace & sleep 7; compiz --replace & exit"
En el caso de utilizar Emerald:
  •  bash -c  "compiz --replace & sleep 7; emerald --replace & exit"
    Ojo no poner aquí un tiempo muy corto ya que puede dar problemas al iniciar la sesión.

    Bueno, espero que os resulte como me ha resultado a mí. Son cuatro líneas de nada pero como digo pueden dar buen resultado...o eso espero.

    No hay comentarios:

    Publicar un comentario