Awesome
Índice
1. Introducción
2. Awesome 2
2.1. Instalación
2.2. Configuración básica. awesomerc
2.3. A nuestro gusto: Fondo de pantalla, terminales, implementación del menú de aplicaciones
2.4. Widgets
2.4.1. Reloj
3. Awesome 3
3.1. Instalación
3.2. Configuración, rc.lua
3.3. Configuración, archivo de tema
4. Awesome y el arranque del sistema
4.1. Iniciar awesome sin gestor de identificación
4.2. Arranque con GDM
5. Páginas web de interés y lanzamientos
1. Introducción
Awesome es un gestor de ventanas con capacidad de utilizar tanto el modo tradicional (floating) como una distribución automática de las ventanas por la pantalla, como si de un mosaico se tratase.
En Debian tenemos dos versiones de awesome, muy diferentes entre sí; Awesome 2 (nombre clave Morning Trouble) y Awesome 3 (nombre clave Fake Plastic Trees). Ambas son ligeras y rápidas. El .deb, para una arquitectura i386, es de 126kB en el primer caso, y de 172 KB en el segundo.
La gran novedad de Awesome 3 es el uso del lenguaje de programación Lua en su configuración. Según la página web de awesome,
It's extremely fast, small, dynamic and heavily extensible using the Lua programming language.
We provide an easily usable and very-well documented API to configure and define the behaviour of your window manager.
Algunas de sus características,
- Extensible, gracias al uso de Lua.
- Se hace uso de librerías XCB asíncronas, en sustitución de las Xlib, síncronas, lo que se traduce en una mayor rapidez.
- Soporte para múltiples monitores (XRandR, Xinerama o Zaphod)
Además, podemos encontrar una gran cantidad de documentación en la página web del proyecto y en su wiki.
No es recomendable para usuarios que gusten de GUI's, dado que toda la configuración se realizará con ficheros de texto.
2. Awesome 2
2.1. Instalación
Pretendemos instalar awesome en la rama estable de Debian, Etch. Aquí nos encontramos ante un pequeño problema. No existe el paquete para Etch. Podemos solucionarlo de varias maneras. Por ejemplo, podríamos bajarnos el .tar.gz de la web, compilarlo e instalarlo. Aquí tenemos una guía para Ubuntu, que bien podría extrapolarse a Debian.
Además, en el archivo que nos bajemos encontramos instrucciones sobre la instalación. Sólo hay que seguirlas.
El método que vamos a emplear aquí es el uso de los Backports de Etch. Si buscamos en la web oficial de Debian encontramos awesome-2.3 (rc1-1), en dichos repositorios. Así, sólo tenemos que añadirlos a nuestro sources.list
# nano /etc/apt/sources.list
añadimos
# backports
deb http://www.backports.org/debian etch-backports main contribdescargamos las claves,
wget -O - http://backports.org/debian/archive.key | apt-key add -
listo, instalamos awesome
aptitude -t etch-backports install awesome
2.2. Configuración básica. awesomerc
El fichero de configuración de awesome es .awesomerc. Debería estar en ~/, pero la instalación de awesome no lo hace por nosotros. Al iniciar awesome, éste intenta leer ~/.awesomerc. Si no existe se ajusta a la configuración por defecto.
Lo que haremos será copiar el fichero que viene de ejemplo en el paquete a nuestro home,
# cd /usr/share/doc/awesome
# ls
Descubrimos el fichero awesomerc.gz, tenemos que descomprimirlo.
# gzip -d awesomerc.gz
y ya sólo hacemos
# cp awesomerc /home/usuario/.awesomerc
Bueno, ya tenemos archivo de configuración para manejarlo a nuestro antojo. Vamos a investigarlo un poco.
# nano .awesomerc
screen 0
{
# configuración de la pantalla actual
styles
{
# estilo de la pantalla actual, aquí podremos cambiar los colores y el tipo de letra
}
tags
{
# espacios de trabajo, aquí podemos ponerle nombre a cada escritorio, decidir cómo se comportarán las ventanas en cada uno (por ejemplo, podríamos asignar al escritorio 1 el modo tiling, y al 2 el modo flotante)
}
layouts
{
# configuración de los tipos de mosaicos disponibles, es decir, de qué manera se cubrirá la pantalla con las ventanas
}
statusbar mystatusbar
{
# configuración de la barra de estado de la pantalla actual
}
}
rules
{
# descripción de reglas, aquí podemos determinar, para cada aplicación, si se abrirá en modo flotante o no, en qué escritorio aparecerá al invocarla... Por ejemplo,
rule { name = "MPlayer" float = true tags="1"}
indica que mplayer utilizará el modo flotante y se abrirá en el escritorio 1
}
mouse
{
#Configuración del ratón
}
keys
{
# teclas rápidas, o <em>hotkeys</em>
}De todas formas, a parte de ser bastante intuitivo, se pueden consultar el man para tener más información acerca del archivo de configuración.
$ man awesome
Como estamos ansiosos por ver qué aspecto tiene awesome, reiniciamos y
$ startxSi todo ha ido bien, nos encontraremos ante la configuración por defecto de awesome. Es decir, no hay fondo de pantalla. Sólo una barra arriba con los nueve escritorios, un icono para cambiar la disposición de las ventanas (por ejemplo de modo "tiling" a modo flotante, esto ya lo hemos explicado), y el logo de awesome, que nos muestra la página del manual.
Pero por ahora lo único que nos interesa es saber que la combinación de teclas "Mod4"+Return nos abre un terminal. Y es todo lo que necesitamos para poner a punto nuestro awesome : ) ("Mod4" suele ser la tecla de windows). Podemos abrir varios terminales para comprobar en qué consiste un "tiling window manager"
Para ejecutar aplicaciones/scripts antes que awesome, debemos editar el archivo:
~/.xinitrc
Así, podriamos añadir lo siguiente:
#Script de inicialización de los widgets
~/.awesome/widget_init.sh
#Ejecución de Awesome
exec awesome2.3. A nuestro gusto: Fondo de pantalla, terminales, implementación del menú de aplicaciones
Podemos pensar en poner un fondo de pantalla. Como siempre, hay múltiples opciones. Optamos por la instalación de feh
# aptitude install feh
añadimos a ~/.xinitrc la línea
feh --bg-scale (aquí la ruta al fondo que queramos)Otro aspecto importante a considerar es la elección de un terminal. Nos decantamos por urxvt, aunque hay muchas posibilidades (aterm, mrxvt, rxvt...)
# aptitude install rxvt-unicode
awesome no sabe que queremos usar ese terminal en concreto. Para indicárselo nos vamos de nuevo a .awesomerc y sustituímos el terminal que viene por defecto (xterm) por urxvt. Es decir, donde antes teníamos
modkey = {"Mod4"}
key = "Return"
command = "spawn"
arg = "exec xterm"ahora será
modkey = {"Mod4"}
key = "Return"
command = "spawn"
arg = "exec urxvt"y así en todas las ocasiones en las que se haga referencia al terminal.
Para comprobar que hemos editado bien el fichero podemos hacer
$ awesome -k
Si todo ha ido bien, el sistema nos lo indica y podremos reiniciar para ver cómo ha quedado. Si no, te indica cuál es el error y toca volver a editar.
Supongamos que todo ha funcionado. Así,
$ startx
y nos encontraremos con un gestor de ventanas con fondo de pantalla y los colores a nuestro gusto. Pero quizás queremos terminales transparentes, u otro tipo de características. Necesitamos .Xdefaults. Si no existe lo creamos, y añadimos ahí lo que necesitemos
# nano /home/usuario/.Xdefaults
Por ejemplo, para tener el terminal transparente y otras pequeñas funcionalidades,
Xft.antialias: true
!urxvt - setting
URxvt*background: #000000
URxvt*foreground: #ffffff
URxvt*scrollBar: false
URxvt*font: xft:Bitstream Vera Sans mono:size=9
URxvt*inheritPixmap: true
URxvt*termName: rxvtAwesome-2.3 nos ofrece la posibilidad de implementar un menú de aplicaciones. Como algunos notarán, hay muchas posibilidades para implementarlo, los desarrolladores nos proponen varios modos. A continuación trataremos el más sencillo.
Hará falta crear el siguiente archivo:
~/.awesome/menu
O con cualquier otro nombre que nos interese, siempre y cuando sepamos tenerlo en cuenta en los siguientes pasos. Un modo de crear dicho archivo puede ser:
cd ~/
mkdir .awesome
cd .awesome
touch menu
Una vez creado, debemos añadirle el nombre del binario de las aplicaciones que nos interesen. Por ejemplo:
xterm
iceweasel
gimp
ardourLo podemos hacer usando nuestro editor favorito. Por ejemplo:
nano ~/.awesome/menu
(Ctrl+O para guardar, y Ctrl+X para salir)
Por último, hará falta asociar dicho menú a una tecla rápida (hotkey) de nuestro entorno. Para ello, tendremos que añadir la siguiente configuración en la sección keys { ... } del archivo creado anteriormente ~/.awesomerc:
key {
modkey = {"Mod4"}
key = "p"
command = "spawn"
arg = "exec `cat ~/.awesome/menu | awesome-menu 'Ejecutar:'`"
}Cabe decir que dicho menú es muy, muy simple. Podemos hacerlo más complejo, dinámico y agradable utilizando otras propuestas de la página oficial.
2.4. Widgets.
Dado que hay infinidad de widgets posibles, puesto que hay infinidad de ideas para ello ;), tan solo se explicará el más básico de todos: el reloj. De todas formas, en la página oficial se puede encontrar más información al respecto.
2.4.1. Reloj
Lo primero que hay que hacer es añadir un espacio para el reloj en la barra de estado que tenemos en ~/.awesomerc:
screen 0
{
statusbar mystatusbar {
...
#Al final del apartado
...
#Añadimos
textbox clock {
text_align = "right"
align = "right"
width = "100"
}
#Creando de este modo un recuadro de 100 píxeles al lado izquierdo de la barra de estado
}
}A continuación, hará falta ir rellenando dicho recuadro de forma automática y desde el principio del arranque de Awesome (por el simple hecho de no hacerlo manualmente) utilizando el siguiente script:
#!/bin/sh
#
while true
do
if [ -S ~/.awesome_ctl.0 ]; then
(while true
do
# See 'man date' to see the possible replacements for the % fields.
# uncomment the following line for use with awesome 2.3
echo "0 widget_tell mystatusbar clock text " " `date +\"%a, %b %d %I:%M %p\"`"
#echo "0 widget_tell clock" " `date +\"%a, %b %d %I:%M %p\"`"
echo "" # an empty line flushes data inside awesome
sleep 1
done) | awesome-client
else
sleep 1
fi
doneQue por ejemplo podemos guardar en:
~/.awesome/widget_clock.sh
Posteriormente, tendremos que añadir la ejecución de dicho script en el archivo de inicialización de los widgets que se ha comentado anteriormente:
~/.awesome/widget_init.sh
Que será ejecutado automáticamente al inicio de la sesión tal y como se ha explicado, también, anteriormente.
Y así, sin más, tendremos un reloj que podremos configurar del modo que creamos conveniente con el buen uso de ~/.awesomerc.
3. Awesome 3
3.1. Instalación
A día de hoy, awesome 3 sólo se encuentra en la rama experimental, así que si no tenemos activados esos repositorios en el sources.list nos tocará hacerlo
# nano /etc/apt/sources.list
deb http://ftp.de.debian.org/debian/ experimental mainInstalamos ahora awesome 3 y sus dependencias,
aptitude -t experimental install awesome
El otro camino sería, al igual que se comentó para awesome 2, bajarnos el .tar.gz de la web, compilarlo e instalarlo. Algunas guías para eso pueden encontrarse aquí
3.2. Configuración, rc.lua
Antes de entrar en faena, puede resultar útil aclarar algunos conceptos relativos a awesome y los "tiling wm"
Tag, comparable a un "escritorio virtual". Es posible asignar a cada uno su propia distribución de las ventanas en la pantalla, y también podemos ejecutar un proceso en varios a la vez.
Layout, podemos describirlo como la forma en que las ventanas ocupan el espacio disponible. Disponibles en awesome 3 tenemos
- tiled, donde el espacio disponible se divide en las áreas master y stacking. En la primera se situará el proceso que demande nuestra atención más inmediata, y podemos dividirla en filas y/o columnas
- max, cada proceso y/o ventana ocupará el máximo espacio disponible en la pantalla
- magnifier, todas las ventanas del área stacking aparecen "detrás" del área master
- floating, el sistema se comporta como un gestor de ventanas "no tiling"
Statusbar, podemos situarla arriba, abajo, a la izquierda o a la derecha de la pantalla
Screen, cada monitor conectado al ordenador. Se numeran empezando por 1
Client, las ventanas
Widgets, los hay de varios tipos, desde simples cuadros de texto hasta iconos interactivos
Vamos a iniciar por primera vez awesome 3. Para leer sobre posibles alternativas, podemos remitirnos a 4. Awesome y el arranque del sistema
$ startx
Ahora deberíamos encontrar la configuración por defecto de awesome, con 9 tags y el panel en la parte superior de la pantalla. Aparte, si no tenemos instalada ninguna aplicación para establecer el fondo de pantalla, veremos un mensaje tal que así
awsetbg: I can't find an app to set the wallpaper with. You can install one in
many many ways but I will give you some simple advice: install Eterm and
you're set. Eterm provides Esetroot and thats a great wallpaper setter. I
recommend you install the package provided by your distro.Instalaremos feh, una aplicación de la que ya hablamos en 2.3. A nuestro gusto: Fondo de pantalla, terminales, implementación del menú de aplicaciones
Abrimos un terminal ("Mod4+Enter"), que será xterm puesto que aún no hemos configurado el rc.lua. En principio, "Mod4" es la tecla de Windows.
Con "mod4+Shift+q" salimos de awesome y estaremos de vuelta en la tty1. Entramos de nuevo y ahora sí, nos encontraremos con el fondo de pantalla por defecto de awesome 3
Si le echamos un vistazo a la tty1 podremos leer que el sistema nos advierte de que no ha encontrado ~/.config/awesome/rc.lua ni ~/.cache/awesome. De momento vamos a crear los directorios que awesome nos pide.
$ mkdir /home/arctica/.cache
$ mkdir /home/arctica/.config
$ mkdir /home/arctica/.config/awesome
El fichero de configuración se encuentra en
/etc/xdg/awesome/rc.lua
Así, lo copiamos para tener una base sobre la que trabajar
# cp /etc/xdg/awesome/rc.lua /home/arctica/.config/awesome/rc.lua
/home/arctica/.cache/awesome se creará en el próximo reinicio.
Intentaremos explicar los aspectos más relevantes de rc.lua, aunque el fichero es bastante autoexplicativo. Las líneas que comienzan por -- son comentarios, y awesome no las tiene en cuenta al leer el rc.lua
# cd /home/arctica/.config/awesome
# nano rc.lua
-- Include awesome library, with lots of useful function!
require("awful")
require("tabulous")
require("beautiful")Lua es un lenguaje de programación, así que tendrá características tales como inclusión de librerías y definición de variables. Awful es la librería Lua estándar de awesome, y Beautiful es una librería para temas. Otras dignas de mención son Wicked, una librería dinámica para widgets, Eminent para tagging y Naughty, para notificaciones popup
-- {{{ Variable definitions
-- This is a file path to a theme file which will defines colors.
theme_path = "/usr/share/awesome/themes/default"En este fragmento de código le asignamos a la variable theme_path la ruta al fichero que contiene el estilo que tendrá nuestro awesome. Es decir, cosas como los colores y el fondo de pantalla. Podemos cambiar dicha ruta a donde queramos, pero por supuesto debemos crear el fichero. Podríamos tomar el default como referencia.
theme_path = "/home/arctica/.config/awesome/arctica.theme"Le indicamos a awesome el terminal que queremos usar, por ejemplo,
terminal = "urxvt"Ahora al lanzar el terminal con "Mod4+Enter" aparecerá el urxvt.
-- Default modkey.
modkey = "Mod4"En este punto podemos cambiar la "tecla maestra". Podríamos poner cualquier otra, o asignar "Mod4"a otra tecla. En principio la dejaremos así.
-- Table of layouts to cover with awful.layout.inc, order matters.
layouts =
{
"tile",
"tileleft",
"tilebottom",
"tiletop",
"fairh",
"fairv",
"magnifier",
"max",
"spiral",
"dwindle",
"floating"
}Quizá no necesitamos todos los tipos de disposición de ventanas que nos ofrece awesome. Aquí podemos configurar las que estarán disponibles.
floatapps =
{
-- by class
["MPlayer"] = true,
["pinentry"] = true,
["gimp"] = true,
-- by instance
["mocp"] = true
}Definimos las aplicaciones que, de modo predeterminado, se lanzaran en modo "floating", aunque la disposición del tag donde se inicien sea tiling o algún otro
-- Applications to be moved to a pre-defined tag by class or instance.
-- Use the screen and tags indices.
apptags =
{
["Navigator"] = { screen = 1, tag = 2 },
-- ["mocp"] = { screen = 2, tag = 4 },
}Como en el caso de su antecesor awesome 2, podemos indicar que cada aplicación de abra en una pantalla y tag determinados. En principio y a menos que la definamos en el sitio correspondiente, las variables "Firefox" o "Iceweasel" no funcionan. Sí reconoce en cambio "Navigator"
-- {{{ Tags
-- Define tags table.
tags_names = { "laTEX", "urxvt", "mpd", "vbox", "pdf", "code", "seven", "www", "im" }
tags_layout = { "tile", "tile", "tile", "floating", "tile", "tile", "tile", "max", "t$
tags = {}
for s = 1, screen.count() do
-- Each screen has its own tag table.
tags[s] = {}
-- Create 9 tags per screen.
for tagnumber = 1, 9 do
--tags[s][tagnumber] = tag({ name = tagnumber, layout = layouts[1] })
tags[s][tagnumber] = tag({ name = tags_names[tagnumber], layout = tags_layout[tag$
-- Add tags to screen one by one
tags[s][tagnumber].screen = s
end
-- I'm sure you want to see at least one tag.
tags[s][1].selected = true
end
-- }}}Esta parte es bastante importante, y puede ser implementada de muchas formas. En este caso, creamos 9 tags por pantalla, y le asignamos a cada uno su propio nombre y la disposición por defecto de ventanas. También podríamos hacer que apareciesen menos tags, o que en cada pantalla la disposición fuese de forma diferente.
-- {{{ Statusbar
-- Create a taglist widget
mytaglist = widget({ type = "taglist", name = "mytaglist" })
mytaglist:mouse_add(mouse({}, 1, function (object, tag) awful.tag.viewonly(tag) end))
mytaglist:mouse_add(mouse({ modkey }, 1, function (object, tag) awful.client.movetotag(ta$
mytaglist:mouse_add(mouse({}, 3, function (object, tag) tag.selected = not tag.selected e$
mytaglist:mouse_add(mouse({ modkey }, 3, function (object, tag) awful.client.toggletag(ta$
mytaglist:mouse_add(mouse({ }, 4, awful.tag.viewnext))
mytaglist:mouse_add(mouse({ }, 5, awful.tag.viewprev))
mytaglist.label = awful.widget.taglist.label.all
-- Create a tasklist widget
mytasklist = widget({ type = "tasklist", name = "mytasklist" })
mytasklist:mouse_add(mouse({ }, 1, function (object, c) client.focus = c; c:raise() end))
mytasklist:mouse_add(mouse({ }, 4, function () awful.client.focusbyidx(1) end))
mytasklist:mouse_add(mouse({ }, 5, function () awful.client.focusbyidx(-1) end))
mytasklist.label = awful.widget.tasklist.label.currenttags
-- Create a textbox widget
mytextbox = widget({ type = "textbox", name = "mytextbox", align = "right" })
-- Set the default text in textbox
mytextbox.text = "<b><small> awesome " .. AWESOME_VERSION .. " </small></b>"
mypromptbox = widget({ type = "textbox", name = "mypromptbox", align = "left" })
-- Create an iconbox widget which will contains an icon indicating which layout we're usi$
-- We need one layoutbox per screen.
mylayoutbox = {}
for s = 1, screen.count() do
mylayoutbox[s] = widget({ type = "textbox", name = "mylayoutbox", align = "right" })
mylayoutbox[s]:mouse_add(mouse({ }, 1, function () awful.layout.inc(layouts, 1) end))
mylayoutbox[s]:mouse_add(mouse({ }, 3, function () awful.layout.inc(layouts, -1) end))
mylayoutbox[s]:mouse_add(mouse({ }, 4, function () awful.layout.inc(layouts, 1) end))
mylayoutbox[s]:mouse_add(mouse({ }, 5, function () awful.layout.inc(layouts, -1) end))
mylayoutbox[s].text = "<bg image=\"/usr/share/awesome/icons/layouts/tilew.png\" resiz$
end
-- Create a statusbar for each screen and add it
mystatusbar = {}
for s = 1, screen.count() do
mystatusbar[s] = statusbar({ position = "top", name = "mystatusbar" .. s,
fg = beautiful.fg_normal, bg = beautiful.bg_normal })
-- Add widgets to the statusbar - order matters
mystatusbar[s]:widgets ({
mytaglist,
mytasklist,
myiconbox,
mypromptbox,
mytextbox,
mylayoutbox[s],
s == 1 and mysystray or nil
})
mystatusbar[s].screen = s
end
-- }}}
Creamos ahora físicamente la barra de estado, añadimos una para cada pantalla. Aquí podremos cambiar cosas como el icono que indica el layout de cada tag, o la presencia o no de systray.
En las secciones
Mouse bindings
Key bindings
Standard Program
podremos configurar el comportamiento de awesome ante cualquier combinación de teclas. Especial atención merece este apartado
-- Prompt
keybinding({ modkey }, "F1", function ()
awful.prompt.run({ prompt = "Run: " }, mypromptbox, awfu$
os.getenv("HOME") .. "/.cache/awesome_history") end):add()
Con la combinación "Mod4+F1", se ejecuta en la barra de tareas un prompt que espera órdenes. Podríamos utilizarlo como un método rudimentario para ejecutar aplicaciones al invocarlas desde dicho prompt
3.3. Configuración, archivo de tema
Editaremos ahora el archivo de tema,
# cd /usr/share/awesome/themes
# cp default /home/arctica/.config/awesome/arctica.theme
Ahora lo editamos según nuestras preferencias,
# cd /home/arctica/.config/awesome
# nano arctica.theme
---------------------------
-- Default awesome theme --
---------------------------
font = sans 8
bg_normal = #222222
bg_focus = #535d6c
bg_urgent = #ff0000
fg_normal = #aaaaaa
fg_focus = #ffffff
fg_urgent = #ffffff
border_width = 1
border_normal = #000000
border_focus = #535d6c
border_marked = #91231c
# There are another variables sets
# overriding the default one when
# defined, the sets are:
# [taglist|tasklist]_[bg|fg]_[focus|urgent]
# titlebar_[bg|fg]_[normal|focus]
# Example:
#taglist_bg_focus = #ff0000
# Display the taglist squares
taglist_squares = true
# You can add as many variables as
# you wish and access them by using
# beautiful.variable in your rc.lua
#bg_widget = #cc0000
# Display close button inside titlebar
titlebar_close_button = true
# Define the image to load
@ (if titlebar_close_button_[normal|focus] these values are ignored)
#titlebar_close_button_img_normal = /titlebar/closea.png
#titlebar_close_button_img_focus = /titlebar/closera.png
# Or create your own close button
#titlebar_close_button_normal = <span>...</span>
#titlebar_close_button_focus = <span>...</span>
# You can use your own command to set your wallpaper
wallpaper_cmd = awsetbg /usr/share/awesome/themes/default-background.png
4. Awesome y el arranque del sistema
Éste es un aspecto importante en Awesome, dado que los widgets como el reloj deben que iniciarse automáticamente al hacerlo nuestro gestor de ventanas. Para abordar este aspecto hemos de tener en cuenta si usamos gestor de identificación (gdm, kdm, xdm, slim) o no.
4.1. Iniciar awesome sin gestor de identificación
Si no se está usando ningún gestor de identificación, es decir, nos identificamos en el sistema a través de la shell, hemos de tener en cuenta el siguiente esquema de inicio de las X:

Creado con el editor de diagramas libre DIA
Editamos ~/.xinitrc. Si no existe, lo creamos, o podemos copiarlo de /etc/X11/xinit
# cp /etc/X11/xinit/xinitrc /home/usuario/.xinitrc
(prefiero tenerlo oculto)
# nano ~/.xinitrc
añadimos exec awesome
4.2. Arranque con GDM
En este caso, el esquema de arranque es diferente, véase la siguiente figura:

Creado con el editor de diagramas libre DIA
Como se puede observar en el esquema, podemos utilitzar dos archivos para la inicialización de scripts:
/etc/gdm/PostLogin/Default
/etc/gdm/PreSession/DefaultA priori, no hay mucha diferencia. Pero si nos paramos a pensarlo algo mejor, nos daremos cuenta que en el primero de ellos no disponemos de dos variables fundamentales: $GDMSESSION y/o $DESKTOP_SESSION. En cambio con el segundo, sí. Dichas variables contienen el nombre del gestor de ventanas que se haya arrancado con GDM.
¿Para qué pueden servirnos dichas variables? Para poder utilizar dos gestores de ventanas en la misma máquina. ¿Por qué? Por qué si usamos Gnome, a pesar de tener Awesome instalado, los scripts de inicialización comentados antes se ejecutan igualmente y por lo tanto la inicialización de los scripts para Awesome no tienen por qué ser los mismos que nos pueden interesar en Gnome.
De este modo, para inicializar los widgets o scripts que nos interesen en Awesome es recomendable hacerlo usando el segundo archivo:
/etc/gdm/PreSession/Default
Añadiéndole las siguientes líneas al final del archivo:
if [ "$GDMSESSION" == "awesome" ]
then
~/.awesome/widget_init.sh
fiEs importante tener en cuenta que ahora no hace falta usar:
exec awesome
Porque GDM es quien gestiona ese proceso.
5. Páginas web de interés y lanzamientos
Hasta la fecha, la lista de liberaciones de awesome, con sus nombres clave correspondientes, es
19 sep 2007: awesome 1.0
20 sep 2007: awesome 1.1
26 sep 2007: awesome 1.2
5 oct 2007: awesome 1.3
16 nov 2007: awesome 2.0-rc1: Bumping Toaster
29 nov 2007: awesome 2.0-rc2: Softened Lights
11 dec 2007: awesome 2.0: Fruit Fly
9 jan 2008: awesome 2.1-rc1: Dracula Cowboy
12 jan 2008: awesome 2.1-rc2: Blow out
21 jan 2008: awesome 2.1: Morning Bell
14 feb 2008: awesome 2.2-rc1: Digital Love
25 feb 2008: awesome 2.2-rc2: Broken Man
4 mar 2008: awesome 2.2-rc3: There There
13 mar 2008: awesome 2.2-rc4: Wooden Horse
23 mar 2008: awesome 2.2: Morning Lemon
7 apr 2008: awesome 2.3-rc1: Deep Inside
17 apr 2008: awesome 2.3-rc2: Better Than
21 apr 2008: awesome 2.3-rc3: Dirty Boots
6 may 2008: awesome 2.3: Morning View
2 jun 2008: awesome 2.3.1: Morning Glory
24 jun 2008: awesome 2.3.2: Morning Yearning
26 jul 2008: awesome 2.3.3: Pure Morning
24 aug 2008: awesome 2.3.4: Morning Trouble
1 aug 2008: awesome 3.0-rc1: Time To Pretend
8 aug 2008: awesome 3.0-rc2: Wake Up Call
15 aug 2008: awesome 3.0-rc3: Into The Groove
22 aug 2008: awesome 3.0-rc4: Scared Of Girls
29 aug 2008: awesome 3.0-rc5: Marshals Are Dead
5 sep 2008: awesome 3.0-rc6: Elect The Dead
18 sep 2008: awesome 3.0: Fake Plastic Trees
- 2065 lecturas
- Responder