Compiz standalone

Desde que empiezas a usar GNU/Linux una de las cosas que más atraen el ojo son los efectos y funcionalidades que te puede brindar el gestor de ventanas y composición Compiz, pero si tienes una PC vieja lo primero que se te viene a la mente es que no podrás correr esos maravillosos efectos en tu cacharro. ¡Falso!

Un día leyendo en los foros de Arch Linux me di cuenta que existía algo llamado “Compiz Standalone” que al parecer te deja hacer tu propio entorno de escritorio desde cero y, lo mejor, con los alucinantes efectos de Compiz.

En este articulo les voy a enseñar como crear su propia sesión de Compiz Standalone en Ubuntu, la versión que utilizo para hacer las pruebas es Ubuntu 12.04, pero supongo que funcionará igual de bien en versiones posteriores.

Configuración

1.- Lo primero que debemos hacer es instalar los paquetes necesarios:

sudo apt-get install compizconfig-settings-manager compiz-Plug-ins-extra


Con esto estamos instalando el Administrador de Opciones de CompizConfig o “ccsm” que es una utilidad de configuración “avanzada” de Compiz y algunos Plug-ins.


2.- Crear el archivo de sesión para el Login Manager:

Como en Ubuntu utilizamos LightDM para iniciar sesión, necesitamos crear un archivo de índice para que LightDM lo lea e inicie las aplicaciones necesarias.

gksu gedit /usr/share/xsessions/compiz-session.desktop


Y dentro del archivo pegamos lo siguiente:

[Desktop Entry]
Encoding=UTF-8
Name=Compiz
Comment=Compiz Fusion Standalone
Exec=/usr/local/bin/compiz-session
Type=Application


Guardamos el archivo y lo cerramos.

Las secciones Name y Comment las puedes modificar a tu antojo, pero la opción Exec es mejor que la dejes así, ya que vamos a trabajar con varios archivos para iniciar la sesión de Compiz, pero si prefieres cambiarle los nombres no hay problema siempre y cuando hagas las modificaciones pertinentes a los demás archivos.


3.- Construir nuestra sesión:

Como vemos en el paso anterior el archivo de sesión llamará un script para iniciar la sesión. Ahora sigue crear ese script.

gksu gedit /usr/local/bin/compiz-session


Y dentro del archivo pegamos lo siguiente:

#!/bin/bash
if test -z "$DBUS_SESSION_BUS_ADDRESS"; then
eval `dbus-launch --sh-syntax --exit-with-session`
fi
compiz --replace ccp & wmpid=$!
sleep 1
if [ -f ~/.compiz-session ]; then
source ~/.compiz-session &
else
xterm &
fi
# Wait for WM
wait $wmpid


Guardamos el archivo, lo cerramos y lo hacemos ejecutable:

sudo chmod 755 /usr/local/bin/compiz-session


El anterior script es para que el gestor de escritorios inicie sesión e inicie las aplicaciones que especifiquemos al inicio junto con Compiz y D-Bus.


4.- Aplicaciones al inicio

En el paso anterior creábamos un script que iniciaba D-Bus junto con Compiz pero si iniciamos sesión como está en este momento lo único que veríamos seria el puntero del ratón, entonces nos falta crear el archivo que iniciará las aplicaciones que conformarán el entorno de escritorio como si estuviéramos en Openbox; el panel, dropbox, docks, etc.

Ejecutamos en la terminal:

gedit ~/.compiz-session


Dentro de este archivo pondremos las aplicaciones que queremos que se ejecuten al inicio de nuestra sesión de Compiz Standalone.

El mio quedó así:

Compiz standalone


Como ejemplo puedes poner lo siguiente en tu archivo:

#!/bin/bash
gnome-settings-daemon &
tint2 &
nm-applet &
bluetooth-applet &
xscreensaver -no-splash &
gnome-terminal &


gnome-settings-daemon cargará tus configuraciones en temas GTK+ y demás configuraciones de sistema.

tint2 es un minimalista y muy configurable panel, una alternativa ligera a los paneles de Gnome, aunque también puedes poner que se inicien el panel de XFCE por ejemplo, lo más probable es que tint2 no este instalado en tu sistema:

sudo apt-get install tint2



5.- Retoques finales y personalización:

Como gestor de ventanas decente deberíamos agregarle un menú de aplicaciones para que sea más cómodo abrir aplicaciones, esto lo podemos lograr con la aplicación myGtkMenu, para instalarlo en Ubuntu pueden seguir este tutorial que hice, no es mucho lo que hay que hacer pero eso haría que un paso opcional alargue mucho más el articulo.

- Instalar myGtkMenu en Ubuntu

Si tienes Ubuntu 64 bits, tendrás que recompilar la aplicación.

Ahora, para que el menú se cargue al darle clic derecho al escritorio debemos abrir la configuración de Compiz "ccsm" se abrirá la ventana de plugins, vamos a comandos y en la primera linea en comando ponemos “myGtkMenu archivo-de-menu”, donde archivo-de-menu sera la ruta donde estará el archivo de configuración de menú para myGtkMenu luego vamos a la pestaña “combinaciones de teclas” y escogemos una combinación, puede ser Shift+Alt+m. Habilitamos el Plug-in dejando activado “Comandos”.

Compiz standalone


Después vamos al Plug-in “Cambiador de escritorio” y en la pestaña “Cambiar de escritorio basado en el escritorio”, modificamos las ultimas dos opciones “Plug-in para iniciar la acción” y “Nombre de acción a iniciar” para que quede así:

Compiz standalone

Combinaciones de teclas (Hotkeys)

Compiz es un gestor de ventanas, con soporte para comandos, pero solo nos deja configurar once comandos, por eso recurrimos a otras aplicaciones como xbindkeys la cual nos permite configurar todas las combinaciones que queramos (personalmente no lo tengo funcionando porque no utilizo mucho el teclado), lo instalamos con:

sudo apt-get install xbindkeys


Puedes seguir este tutorial para configurar xbindkeys, igual es realmente fácil

- XbindKeys: Configurando tu teclado

Lo único que nos falta son los comandos para cerrar sesión, para esto yo uso el mismo menú de Compiz, pero también puedes usar aplicaciones como oblogout o la que tu quieras, total estas haciendo tu escritorio desde cero :D

Compiz standalone


En esta captura no estoy usando myGTKmenu, si bien es Compiz standalone, estoy utilizando compiz-boxmenu por que esta captura fue tomada corriendo mi Arch Linux.

Ahora editamos nuestro archivo sudoers, es importante que para abrir el archivo lo hagas de la siguiente forma para que no vayas a meter la pata con el sudo:

sudo EDITOR=nano visudo 


Donde dice nano puede ir leafpad, gedit o el editor que prefieras.

Y agregas esto a la última linea:

thedary arch-crawl =NOPASSWD: /sbin/shutdown -h now,/sbin/halt,/sbin/poweroff,/sbin/reboot


DEBES CAMBIAR Lo que está en rojo por tu usuario y lo que esta en verde por tu hostname, (El nombre que le pusiste a tu pc)

Ahora puedes poner los comandos correspondientes para "Cerrar sesión", "Apagar" y "Reiniciar" en tu archivo de menú.

Apagar: sudo shutdown now
Reiniciar: sudo reboot
Cerrar sesión: pkill compiz

Personalización

Si seguiste todos los pasos bien, debes tener tu sesión de compiz activa y lista para funcionar, lo que sigue es la personalización.

Resolución de pantalla, configuración del teclado y activar numlock al inicio

Para agregar una resolución "no soportada" a mi sesión de compiz y no molestar con el Xorg.conf que es algo sensible ¬¬' agregue xrandr a mi script de inicioy para la distribución del teclado usé el comando setxkbmap (Esta parte si depende de tu teclado y deberías saber a estas alturas cual es la distribución del tuyo), el ultimo comando es para activar el Numlock al inicio.

Debemos instalar numlockx, porque no viene con el sistema:

sudo apt-get install numlockx


Agregamos las lineas justo encima de nuestro script de inicio, nuestro .xinitrc quedaría así:

Algo asi estaria bien:

xrandr -s 1280x1024
xrandr --dpi 96 
setxkbmap es & 
numlockx & 
~/.compiz-inicio & 
exec compiz ccp &



Fondo de pantalla

No es necesario utilizar otras aplicaciones porque compiz trae el plugin Fondo de pantalla pero si aún así quieres usar otra puedes usar feh o nitrogen

Activamos el plugin Fondo de pantalla, luego damos en Nuevo y elegimos la imagen fácil:

Compiz standalone

Iconos en el escritorio

Personalmente no soy fan de los iconos en el escritorio, pero para gestionar iconos en el escritorio podemos usar, idesk, pcmanfm o nautilus, y otros, todos estos podemos instalarlos con yaourt, con pcmanfm ademas podemos configurar el wallpaper para el escritorio, y nos da la opción de conservar el menú de compiz-boxmenu en el escritorio, si usamos nautilus perderemos el menú de escritorio. El siguiente tutorial para Openbox es totalmente válido y aplicable para Compiz Standalone también.

[OpenBox] Agregar iconos en el escritorio por medio de PCmanFM/SpaceFM

No olvides agregar al script de inicio pcmanfm --desktop & o spaceman --desktop & dependiendo del que hayas escogido.


Panel y Dock

Docks conocemos muchos que podemos utilizar cairo-dock, avant-window-navigator, docky todos están en yaourt y el panel que quieras agregar es de tu preferencia xfce4-panel, lxpanel, mate-panel, gnome-panel... Como estamos siguiendo la filosofía KISS instalaremos un panel muy simple, lindo y configurable si señores es tint2

sudo apt-get install tint2


Compiz standalone
La configuración de este panel es pan comido solo ejecutamos tint2conf y el resto es a su imaginación


Lanzador de aplicaciones

Me gusta mucho, es simple y bonito se llama dmenu, pero también puedes instalar gmrun ,synapse o el que te plazca.

sudo apt-get install dmenu


lo ejecutamos con dmenu_run


Protector de pantalla (Screensaver)

Quieres un protector de pantalla, pues usemos xscreensaver

sudo apt-get install xscreensaver


Debes añadir esto a nuestro script de inicio para que se cargue cada vez que iniciemos sesión:

/usr/bin/xscreensaver -no-splash &


Para elegir y configurar el Screensaver ejecutamos xscreensaver-demo


Problemas comunes

No se ven los bordes en las ventanas (emerald, gtk-window-decorator,etc..)

- Si te pasa esto es porque no está activado el plugin decoración de ventanas, entra a ccsm y busca Decoración de ventanas y activalo.

Compiz standalone
No funciona la deformación del cubo: Si te pasa esto puede ser por utilizar feh o nitrogen u otro programa para el fondo de pantalla, no hay de otra y deberías activar el plugin "Fondo de pantalla", vamos ni que fuera tan malo 

Conky no funciona bien o se ve mal: Si conky no funciona bien cambien la linea “own_window_type xxxxx”, de la configuración de conky, por “own_window_type dock”.

 

Fuente: usemoslinux

¿Quién está en línea?

Hay 15590 invitados y ningún miembro en línea