IceWM en Slackware


Autor : ACMhUnTeR
Fecha : 12/03/2004

INTRODUCCION

Tratare de explicar el procedimiento para la instalacion de un gestor de ventanas ligero muy bueno llamado IceWM , su manejo de propiedades, teclas cortas, como la modificacion de su barra de inicio. Tambien la manera como darle soporte para iconos de escritorio con idesk, como la instalacion de aterm un emulador de terminal para las X con soporte de transparecencia que le dara un toque de estilo a nuestro IceWM.

INSTALANDO XFREE

Para poder utilizar nuestro gestor de ventanas IceWM necesitaremos de un entorno grafico asi que instalaremos Xfree, como la compilacion de estos paquetes seria muy pero muy extensa tomaremos la opcion de instalar los binarios de nuestro Slackware, podemos instalarlo de nuestro cd (/mnt/cdrom/slackware/x/ y /mnt/cdrom/slackware/l/) o descargarlos del ftp oficial de Slackware o de alguno de sus mirrors.

ttf-bitstream-vera-x.x-tgz
utempter-x.x.x-tgz
xfree86-4.x.x-tgz
xfree86-devel-4.x.x-tgz
xfree86-docs-4.x.x-tgz
xfree86-docs-html-4.x.x-tgz
xfree86-fonts-100dpi-4.x.x-tgz
xfree86-fonts-cyrillic-4.x.x-tgz
xfree86-fonts-misc-4.x.x-tgz
xfree86-fonts-scale-4.x.x-tgz
xfree86-xnest-4.x.x-tgz
xfree86-xprt-4.x.x-tgz
xfree86-xvfb-4.x.x-tgz

Podemos copiarlos en un directorio lo cual nos ahorrara a un comando la instalacion de lo packages

[root@Mastersoul root]#installpkg *

INSTALANDO ICEWM

Instalaremos el IceWM desde nuestro poderoso arbol de pkgsrc detallado como instalarlo y usarlo en el documento Slackware + pkgsrc de nuestra seccion documentos. Al intentar instalar me di con la sorpresa que el gettext, una de sus dependencias marcaba error en el proceso de instalacion, lo cual no me dejaba compilar el icewm, entonces solucionaremos primero este error, para esto entraremos al directorio /usr/ppkgsrc/devel/gettext

[root@Mastersoul root]#cd /usr/pkgsrc/devel/gettext
[root@Mastersoul root]#mv patches tmp

Nota: En la carpeta patches se almacenan los parches que se aplicaran en el proceso de instalacion, al parecer los parches son aplicados para su funcionamiento en NetBSD lo cual produce un error en Slackware entonces para que no se apliquen los parches renombraremos la carpeta e instalamos el gettext.

[root@Mastersoul /usr/pkgsrc/devel/gettext]#bmake install install clean-depends

Una vez finalizada la instalacion de gettext, instalamos nuestro icewm ,usaremos el icewm-imlib para utilizar esta libreria grafica rapida y con muchas caracteristicas para el manejo de imagenes que las necesitaremos mas adelante para trabajar con nuestros iconos.

[root@Mastersoul root]#cd /usr/pkgsrc/wm/icewm-imlib && bmake install clean clean-depends

Una vez instalado copiaremos la carpeta de los archivos de configuracion entre otras cosas al home directory del usuario con el que usaremos el IceWM

[root@Mastersoul root]#cp -rf /usr/pkgsrc/share/icewm /home/usuario/.icewm
[root@Mastersoul root]#cd /home/usuario/.icewm
[root@Mastersoul root]#ls
icons/ # Carpeta donde se ubicaran los iconos xpm para el diseño de menus en el icewm
keys # Archivo para crear accesos directos a aplicaciones mediante teclado
ledclock/ # Carpeta con archivos xpm para el diseño del reloj digital
mailbox/ # Carpeta con archivos xpm para el icono de acceso a nuestro mail
menu # Archivo para el diseño del menu
preferences # Archivo de configuraciones generales
taskbar/ # Carpeta con archivos xpm para el cambio del boton inicio de menu
theme # Archivo que hace referencia el theme actual.
themes/ # Directorio de themes
toolbar # Archivo que hace referencia a los iconos del taskbar conocidos como iconos de lanzamiento rapido.
winoptions # Archivo de configuracion individual de las ventanas de programas

INSTALANDO IDESK

Una vez instalado necesitaremos un manejador de iconos para nuestro escritorio, utilizaremos idesk.

[root@Mastersoul root]#cd /usr/pkgsrc/sysutils/idesk && bmake install clean clean-depends

INSTALANDO ATERM

Instalaremos aterm un emulador de terminal con propiedad de transparencia o podemos elegir el que gustemos el habitual xterm, multi-aterm, eterm, etc.

[root@Mastersoul root]#cd /usr/pkgsrc/x11/aterm && bmake install clean clean-depends

CONFIGURANDO XFREE

Para configurar el Xfree podemos utilizar el utilitario xf86config o si conocemos que modificar editamos el archivo /etc/X11/XF86Config, conociendo informacion basica como el tipo de mouse que tenemos, frecuencia de nuestro monitor , memoria de nuestra tarjeta de video, etc.

CONFIGURANDO ICEWM

CONFIGURANDO PREFERENCES

El archivo preferences tiene una gran cantidad de opciones que podemos darle a nuestro IceWM , modificare las que usare algunos que estan comentadas son tomadas por defecto.

#  Command to run on CPU status - Comando que se ejecutara al hacer click al monitor de CPU 
CPUStatusCommand="aterm -tr -fg white -bg black -ls +sb -name top -title 'Process Status' -e top"

#  Command to run on Net status - Comando que se ejecutara al hacer click al monitor de red
NetStatusCommand="aterm -tr -fg white -bg black -ls +sb -name netstat -title 'Network Status' -e netstat -c"

# Numero de escritorios que usare
WorkspaceNames=" 1 ", " 2 "

#  Desktop background image - Imagen de fondo de mi desktop, para esto necesitamos cargar el programa icewmbg
DesktopBackgroundImage="/home/usuario/.icewm/wallpaper/desktop.jpg"

CONFIGURANDO KEYS

Crearemos acceso rapidos por medio de teclado editando el archivo keys

# Abrimos un terminal
key "Alt+Ctrl+t"                aterm -tr -fg gray -bg black -ls +sb -name Aterm -title Aterm

# Abrimos navegador firefox
key "Alt+Ctrl+f"                firefox

# Abrimos bitchx es un terminal aterm
key "Alt+Ctrl+b"                aterm -tr -fg white -bg black -ls +sb -name BitchX -title BitchX -e BitchX

Nota: Podemos accesos a teclados multimedia ver el ejemplo en el archivo keys

CONFIGURANDO MENU

Añadiremos a la barra de inicio de nuestro IceWM algunos complementos, editando el archivo menu

# [prog]	[nombre] 	[nombre_icono] 		[comando]
#
# prog - Indica acceso directo a un programa , aparecera en la cabecera de la barra del menu principal.
#
# nombre - Nombre del acceso, el subguion indica que la letra que sigue sera de acceso rapido por teclado.
#
# nombre_icono - Como podemos ver en la carpeta icons tenemos imagenes en formato xpm con formato
# aterm_16x16.xpm de tal manera que se reconoce la palabra que antepone al subguien en este caso aterm.
#
# comando - El comando que se ejecutara al pulsar el acceso.

# Accesos de programas

prog  _Aterm  aterm  aterm -tr -ls -fg gray -name aterm -title aterm +sb
prog  Bitch_X  bitchx  aterm -tr -ls -fg gray -name aterm -title aterm +sb -e BitchX
prog  _Links  links  aterm -tr -ls -fg gray -name aterm -title aterm +sb -e links www.google.com.pe

# Mostrara una linea de division

separator

# Creara un submenu llamado Sistema con acceso teclado en la S que llamara a un archivo que especificara el
# contenido del submenu folder sistema

menufile _Sistema folder sistema

Ahora crearemos el archivo sistema con su contenido para el submenu el cual sera llamado automaticamente por el archivo menu cuando carguemos IceWM, las sentencias son las mismas que la usada en el archivo menu

prog  _Firefox  firefox  firefox
prog  _Xchat  xchat  xchat

CONFIGURANDO NUESTRA BARRA DE HERRAMIENTAS

Añadiremos un icono de lanzamiento rapido en el llamado toolbar, para esto editamos el archivo toolbar, la configuracion es la misma utilizada para agregar programas en nuestro archivo menu.

prog  Aterm  aterm  aterm -tr -ls -fg gray -name aterm -title aterm +sb

CONFIGURANDO WINOPTIONS

Podemos personalizar propiedades individuales a las ventanas que manejaran nuestros programas como por ejemplo asignarle un icono en la barra cuando la ventana este minimizada, posicion donde aparecera la ventana, tamaño, bloquear propiedades, etc. Haremos un ejemplo cuando se ejecute la ventana de nombre BitchX ejecutando nuestro cliente de irc Bitchx, entonces procedemos a editar winoptions

BitchX.icon: bitchx.png
BitchX.geometry: 570x350+110+100 # Tamaño de ventana (570x350) y ubicacion (+110+100)

El resultado sera una ventana de las dimensiones especificadas , centrada en nuestro escritorio, la barra que se mostrara al minimizar contendra el icono especificado en este caso bitchx.png. Para saber mas acerca de las propiedades que podemos utilizar leerlo aqui

CONFIGURANDO IDESK

Crearemos el archivo /home/usuario/.ideskrc el cual contendra las opciones que tomaran por defecto nuestros iconos como son tipo de letra, tamaño, color, transaparencia, si estara bloqueado el mover el icono y como respondera a las distintas acciones del mouse como doble click, click derecho etc.

table Config
          FontName: tahoma
          FontSize: 12
          FontColor: #CCCCCC
          Locked: false
          Transparency: 0
          Shadow: true
          ShadowColor: #000000
          ShadowX: 1
          ShadowY: 2
          Bold: true
          ClickDelay: 300
          IconSnap: true
          SnapWidth: 55
          SnapHeight: 100
          SnapOrigin: BottomRight
          SnapShadow: true
          SnapShadowTrans: 200
          CaptionOnHover: false
end

table Actions
          Lock: control right doubleClk
          Reload: middle doubleClk
          Drag: left hold
          EndDrag: left singleClk
          Execute[0]: left doubleClk
          Execute[1]: right doubleClk
end

Nota: Las opciones la verdad son muy faciles de entender, si no entiendes para que sirve cada opcion puedes darle una visitada al enlace de la pagina de idesk ( http://idesk.timmfin.net/usage.html ), donde describen detalladamanete cada opcion.

Una vez creado nuestro archivo .ideskrc crearemos el directorio .idesktop el cual contendra los archivos de configuracion y si queremos los archivos de imagen de los iconos.

[root@Mastersoul root]#mkdir /home/usuario/.idesktop
[root@Mastersoul root]#cd /home/usuario/.idesktop

Crearemos un acceso para xchat con su respectiva imagen, los archivos de configuracion del acceso necesariamente tiene que tener la extension lnk

[root@Mastersoul /home/usuario/.idesktop]#vi xchat.lnk

table Icon
  Caption: xchat # Nombre del enlace
  Command: "xchat" # Comando a ejecutar
  Icon: xchat.png # Archivo de imagen para el icono puede ser png, jpg, xpm o svg
  SVG: true # Se especifica si usamos un archivo svg para el icono
  Width: 300 # Se utiliza si usamos un icono svg para especificar su ancho
  Height: 350 # Se utiliza si usamos un icono svg para especificar su altura
  X: 18 # Ubicacion coordenada X dependiendo de la dimension de tu pantalla
  Y: 30 # Ubicacion coordenada Y dependiendo de la dimension de tu pantalla
end

Nota: el archivo de imagen en el ejemplo debera estar en la misma carpeta .idesktop, pero podemos especificar cualquier ruta donde este nuestro archivo, otra observacion es que podemos hacer nuestros propios script que en muchas ocasiones sera lo mas practico, donde pondremos mas de una linea y ejecutarlos poniendo la ubicacion de los mismos en la seccion Command:

CONFIGURANDO EL INICIO

Crearemos un archivo llamado startup para controlar el arranque de icewmbg que manejara nuestro fondo del escritorio que le pondremos una imagen y tambien el idesk

[root@Mastersoul root]#vi /home/usuario/.icewm/startup
#!/bin/bash
icewmbg & # Iniciara icewmbg para el soporte de fondos de pantalla
sleep 2 & # Aplicara demora de 2 segundos antes de lanzar idesk
idesk & # Iniciara el soporte para iconos
[root@Mastersoul root]#chmod +x /home/usuario/.icewm/startup

Una vez creado el archivo startup crearemos el archivo que iniciara IceWM y tambien llamara a iniciarse al script startup

[root@Mastersoul root]#vi /home/usuario/.xinitrc
$HOME/.icewm/startup # Llama al script startup para iniciar su contenido
xset m 4 2 # Setea velocidad del mouse
exec icewm # Inicia IceWM

Una vez configurado nuestros archivos retocaremos algunos otros para el correcto funcionamiento de nuestro desktop.Comenzamos editando o creando el archivo /home/usuario/.bashrc de nuestro user usuario ;) y agregamos

set meta-flag on # conservar bit 8 en entrada de teclado
set output-meta off # conservar bit 8 en salida por terminal
set convert-meta off # no convertir secuencias de escape
export PS1='[\u@\h:\w]#' # setea la forma del prompt de tu terminal, ejemplo -  [usuario@Mastersoul: /usr]#

Para darle color a los directorios, archivos, etc. en nuestro terminal que usaremos en este caso aterm y solucionar algunas compatibilidades editamos el archivo /home/usuario/.Xdefaults y agregamos

Aterm*termName: xterm-color

Editamos nuestro archivo /etc/DIR_COLORS para agregar a nuestro terminal aterm entre los beneficiados de los colores personalizados agregamos:

TERM xterm-color # Agregamos esta linea debido a la especificacion que dimos al archivo .Xdefaults

Para el cambio de colores fijarnos en el comentario del mismo archivo con esto comprenderemos la codificacion de colores que usa

# 00=none 01=bold 04=underscore 05=blink 07=reverse 08=concealed
# Text color codes:
# 30=black 31=red 32=green 33=yellow 34=blue 35=magenta 36=cyan 37=white
# Background color codes:
# 40=black 41=red 42=green 43=yellow 44=blue 45=magenta 46=cyan 47=white

Y por ultimo un cambio mas a la carpeta del /root si deseamos que funcione correctamente al aplicar el comando su en nuestro emulador de terminal aterm, los archivos .Xdefaults deben tener el mismo contenido que el ya explicado, el .bashrc y el .bash_login tendran el mismo contenido ( tomemos de referencia el contenido explicado en el documento Slackware + pkgsrc ) exepto por una linea

alias ls='ls -Fh --color' # Esta linea solo estara en .bashrc
export PATH=/sbin:/usr/sbin:/bin:/usr/bin
export PATH="${PATH}":/usr/pkg/sbin:/usr/pkg/bin
export PATH="${PATH}":/usr/local/sbin:/usr/local/bin:/usr/X11R6/bin
export MANPATH=/usr/man:/usr/share/man:/usr/pkg/man
export MANPATH="${MANPATH}":/usr/local/man:/usr/X11R6/man
export CVS_RSH=ssh

Listo ahora si todo correcto para por fin darle al famoso startx para levantar nuestro IceWM

FINALES

Como siempre no olviden leer los man de aterm para saber todos los paramtros que podemos pasarle al iniciarlo, bash para ver la manipulacion del prompt, y me olvidaba un pequeño truco para corregir un problemilla con BitchX si lo instalaran y lo usan con Aterm, para solucionar el problema de la funcion del backspace, agregar en el /home/acardenas/.bitchxrc la linea bind ^? BACKSPACE, les dejo aqui una imagen de como me quedo mi escritorio.


Hosted by www.Geocities.ws

1