Evitar parpadeos al activar Compiz
Muy posiblemente, sobre todo aquellos que usáis tarjetas gráficas más recientes, tengáis problemas a la hora de activar Compiz y al mismo tiempo reproducir vídeos en Totem (o vuestro reproductor de vídeo preferido) experimentando saltos en la reproducción, retrasos o los clásicos parpadeos.
Hasta ahora la solución más práctica pasaba por instalar fusion-icon y colocarlo en el panel superior para desactivar compiz temporalmente a la hora de reproducir algún vídeo, hacer una videoconferencia por Skype o usar Google Earth. Bien, vamos a ver 2 soluciones a este problema, la primera relacionada con los reproductores y la segunda con todas aquellas aplicaciones que por causas varias no nos permitan seleccionar la entrada de vídeo.
Evitar parpadeos en Reproductores
La mayor parte de los reproductores en opciones permiten cambiar la entrada de vídeo de manera que no interferirán las X, vamos a ver los ejemplos más comunes:
Totem
No vamos a encontrar la opción en Editar>Preferencias, así que pulsamos Alt+F2 y escribimos gstreamer-properties

En la pestaña vídeo, cambiamos el complementos a X System Window (X11/XShm/Xv), luego cerramos y reiniciamos Totem.
VLC
VLC es un potentísimo reproductor de vídeo multiplataforma que recomiendo encarecidamente, en su caso el proceso es mucho más sencillo. En herramientas>preferencias, o simplemente pulsando ctrl+P, vamos a la sección de Vídeo y en Salida de vídeo selecciones Salida de Vídeo Extensión XVideo.

Le damos a salvar y listos, podremos reproducir vídeo sin pausas ni molestias
Mplayer/SMplayer
Vamos a ver el último caso de los reproductores más usados en Linux, en este caso MPlayer o SMplayer, la segunda es una modificación que aporta algunas ventajas al primero (más conocido) y que a mí me gusta más. El caso de SMPlayer es más peculiar ya que detecta la mejor configuración y muchas veces aparece xv por defecto, veréis en Opciones>Preferencias en la pestaña vídeo, una gran cantidad de drivers de salida, probáis a reproducir algo, si os va sin parpadeos estupendo, si no podéis ir probando hasta que halléis una que os resulte. Estas son algunas de las ventajas de SMPlayer contra MPlayer y contra VLC, aunque de este último hay que decir que no necesita códecs ninguno, se lo come casi todo, y más ahora que van a lanzar la versión 1.0 estable.

Ya hemos visto tres casos abarcando los tres reproductores más usados en Linux, aunque hay otros, si utilizas alguno de ellos, busca siempre la salida Xv, es la que no interferirá con las X de Compiz y podŕas ver vídeos sin problemas.
Evitar parpadeos en otras aplicaciones
En otros casos, como juegos, Google Earth, Skype, no es posible cambiar la salida de vídeo y tendremos el mismo problema que ya comentábamos, la solución esta vez si que pasa por desactivar Compiz, pero ahora bien, podemos hacerlo con el socorrido icono de fusion-icon, o hacer que automáticamente se desactive Compiz al utilizar esa aplicación en concreto y no tener que preocuparnos de nada, vamos a ver cómo, aunque cabe mencionar que sólo funciona en Gnome:
Creamos un archivo vacío de nombre game en /usr/bin/ usando el comando ‘touch’ y lo hacemos ejecutable ejecutable:
sudo touch /usr/bin/game && sudo chmod +x /usr/bin/game
Abrimos el archivo con gedit o con vuestro editor favorito:
sudo gedit /usr/bin/game
y pegamos:
#!/bin/bash
COMP=”false”;
if ps -A | grep compiz > /dev/null ; then
echo “Warning: Compiz Detected!!!”
metacity –replace > /dev/null &
COMP=”true”
fi
echo “Starting”
$1
echo “Finish”
if $COMP ; then
echo “Warning: Starting Compiz!!!”
compiz –replace > /dev/null &
fi
exit
Guardamos y salimos
Ahora agregamos game antes de de la aplicación/juego,por ejemplo:
game cube
o por ejemplo: game google earth
Si al finalizar la aplicación conflictiva nos redirige al GDM (esto ocurre porque se reinicia el X Server), debemos borrar exit del final.
Eso es todo, estas son para mí las dos maneras más prácticas de evitar parpadeos y molestias innecesarias con Compiz activado, para algunos programas, como Skype existen triquiñuelas un poco más avanzadas, ya que si tienes que tener Skype todo el rato abierto para recibir llamadas el efecto es el mismo a tener Compiz desactivado, pero las comentaremos en otro post próximamente.
Fuentes | rm -rf | Ubuntu Inside
2378 suscriptores. ¡
20 may 2009 a las 1:10
El script está bien echo, pero tiene algunos problemas. En primer lugar el proceso “compiz” es un wrapper que se cierra tras activar “compiz.real” En segundo lugar podes usar pgrep para saber si está abierto, lo que te evita usar una tubería. Además WordPress te remplazo
metacity --replacepor metacity –replace (nótese el guion doble cambiado por uno sólo). Además usar bash para el script es inútil, puedes usar sh que es más rápido para cargar. No deberías usar warnings salvo que sea una advertencia, pero eso es simplemente una información, dado que el objetivo de la aplicación es cambiar compiz por metacity. Usar $1 en vez de $@ hace que no se pasen los parámetros salvo que se usen comillas. Puede que el programa qeu se trata de ejecutar sea un simpe wrapper, como pasa con google earth, así que habría que darle la opción al usuario de no volver a ejecutar compiz tras la terminación del programa. Además compiz no acepta el parámetro--replace, basta co usar compiz. Con todas estas correcciones quedaría como esto:#!/bin/sh
COMP=false
if pgrep compiz.real>/dev/null
then echo -n "Compiz Fusion is running. Replacing with metacity..."
metacity --replace& >/dev/null
[ $? = 0 ] && echo " done" || echo " failed"
COMP=true
fi
echo "Starting $@"
$@
if [ $COMP = true" ]; then
trapped(){
trap TERM #Untraps signal 13 (Ctrl-C)
read -p "Please press ENTER to run compiz, or Ctrl-C again to exit this script"
compiz
}
trap trapped TERM #Runs "trapped" on TERM signal.
echo "$@ has terminated. If it hasn't, please hit Ctrl-C now."
sleep 1.5
echo "Running compiz..."
compiz& >/dev/null
fi
Eso es todo. Este post me fue muy útil, por esta idea que no se me había ocurrido y para practicar mi shell scripting :D
20 may 2009 a las 1:12
Este WP siempre destruyendo código…
#!/bin/sh
COMP=false
if pgrep compiz.real>/dev/null
then echo -n "Compiz Fusion is running. Replacing with metacity..."
metacity --replace& >/dev/null
[ $? = 0 ] && echo " done" || echo " failed"
COMP=true
fi
echo "Starting $@"
$@
if [ $COMP = true" ]; thentrapped(){
trap TERM #Untraps signal 13 (Ctrl-C)
read -p "Please press ENTER to run compiz, or Ctrl-C again to exit this script"
compiz
}
trap trapped TERM #Runs "trapped" on TERM signal.
echo "$@ has terminated. If it hasn't, please hit Ctrl-C now."
sleep 1.5
echo "Running compiz..."
compiz& >/dev/null
fi
8 sep 2009 a las 19:35
Hola probe todas opciones y funcionaron muy bien pero me queda un detalle muy importante y es que sigo teniendo problemas para reproducir videos con java(youtube) cuando activo el compiz =:(, si alguien sabe como solucionar esto se los agradeceria mucho .
tengo instalado ubuntu 9.04 – 64b y mi placa de video es una ati hd 3200 en una acer 5536
gracias
16 oct 2009 a las 21:50
Hola desde Puebla, MéxicoMuy buena solución es fácil y sencillo de entender a mi me funcionó de maravilla y como no uso videoconferencia ni nada de eso… solo los videos, gracias por compartir. (y) ;) mi equipo: AMD Phenom X3, ATI HD 3200 2GB RAM PC800 Debian Lenny gnome por supuesto.