Se trata de conocer el funcionamiento de ambas sesiones, sus diferencias existentes y porque disponemos de dos sesiones de entrada para el Gnome Clásico.
Veamos de una manera los mas sencilla posible y a través de un esquema de que ficheros consta, su configuración y parametrización.
Estos ficheros contendrán los componentes básicos y necesarios que se tendrán que ejecutar y que darán lugar al correspondiente shell. Para las dos sesiones de Gnome Clásico están compuestas principalmente por gnome-panel, que darán lugar a los paneles superior e inferior, gnome-settings-daemon que se encargara de la correcta visualización y look de Gnome, y por último de un gestor de ventanas o windows manager, y que precisamente es este último el que marca la principal diferencia y será decisivo a la hora, de si sera posible arrancar esa shell. De darse esta circunstancia el sistema optará por ejecutar Gnome Classic (No effects) también llamado Gnome Fallback. Esto solamente sucederá si quisiéramos iniciar las sesiones de Gnome (Gnome Shell) o Gnome Classic.
Los dos procesos iniciaran la sesión con el comando gnome-session con parámetros similares, pero destaca Gnome Classic respecto a Gnome Classic (No effects), es dos puntos:
- En la ejecución del script gnome-wm, encargado en averiguar los gestores de ventanas instalados en el sistema y al final decidir cual de ellos arrancar, por defecto compiz. Se corresponde con la siguiente rutina:
00 | if [ -z "$WINDOW_MANAGER" ] ; then |
01 | # Create a list of window manager we can handle, trying to only |
02 | use the |
03 | # compositing ones when it makes sense |
04 | KNOWN_WM="compiz metacity mutter sawfish" |
05 | for wm in $KNOWN_WM; do |
06 | if [ -x /usr/bin/"$wm" ]; then |
07 | WINDOW_MANAGER=/usr/bin/"$wm" |
08 | break |
09 | fi |
10 | done |
11 | fi |
12 | # Look for the default window manager on the system |
13 | if [ -z "$WINDOW_MANAGER" ] ; then |
14 | WINDOW_MANAGER=$(readlink /etc/alternatives/x-window-manage |
15 | 2>/dev/null) |
16 | fi |
17 | exec "$WINDOW_MANAGER" "$@" |
Donde la lista KNOWN_WM=”compiz metacity mutter sawfish”, marca el orden de preferencia del sistema. Tras averiguar que existe compiz en /usr/bin/compiz, procedera su ejecución con exec /usr/bin/compiz
- Que tras el intento del arranque de compiz, si nuestra tarjeta gráfica no dispone de aceleración, compiz fallará. Aquí entrará en funcionamiento el parámetro FallbackSession=gnome-fallback situada en el fichero gnome-classic.session y que permitirá lanzar la sesión Gnome Classic (No effects), que esta parametrizada para que arranque metacity como gestor de ventanas por defecto.
Tras ver su funcionamiento interno nos va a permitir por ejemplo, elegir nuestro gestor de ventanas que deseemos utilizar. Veamos como sería con Openbox.
Openbox, no viene instalado por defecto en Precise, procedemos por tanto:
00 | $ sudo apt-get install openbox openbox-xdgmenu obmenu obcon |
01 | openbox-theme |
Si deseamos utilizarlo con Gnome Classic, deberemos editar el script, /usr/bin/gnome-wm y modificar la lista KNOWN_WM=”compiz metacity mutter sawfish” por KNOWN_WM=”openbox compiz metacity mutter sawfish”
Para el caso de Gnome Classic (No effects) se nos complica un poco, ya que necesitamos un lanzador de aplicaciones o desktop launchers, que no es otra cosa un fichero con extensión .desktop situado en el directorio /usr/share/applications y que tiene como objetivo ejecutar el comando que este allí definido. Y que curiosamente openbox ya tiene uno definido, pero en un principio esta destinado para el arranque de su propia sesión.
En fin, podemos hacer uno fácilmente basado en algún otro gestor de ventanas que tengamos instalado ya, como es el caso de metacity y luego lo editaremos y sustituiremos metacity por openbox. Deberemos de poner un nombre distinto a openbox.desktop ya que este fichero ya existe, por ejemplo openboxX.desktop.
00 | $ cd /usr/share/applications |
01 | $ sudo cp metacity.desktop openboxX.desktop |
02 | $ sudo gedit openboxX.desktop |
Mas o menos podría quedar así:
00 | [Desktop Entry] |
01 | Type=Application |
02 | Name=Openbox |
03 | Exec=openbox |
04 | NoDisplay=true |
05 | # name of loadable control center module |
06 | X-GNOME-WMSettingsModule=openbox |
07 | # name we put on the WM spec check window |
08 | X-GNOME-WMName=Openbox |
09 | # back compat only |
10 | X-GnomeWMSettingsLibrary=openbox |
11 | X-GNOME-Autostart-Phase=WindowManager |
12 | X-GNOME-Provides=windowmanager |
13 | X-GNOME-Autostart-Notify=true |
14 | X-Ubuntu-Gettext-Domain=openbox |
Ya tan solo nos queda editar el fichero gnome-fallback.session situado en el directorio /usr/share/gnome-session/sessions, y cambiar la linea DefaultProvider-windowmanager=metacity por DefaultProvider-windowmanager=openboxX
Fuente: isopenisfree