Autor : ACMhUnTeR
Fecha : 12/03/2004
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.
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 *
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
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
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
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.
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"
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
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
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
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
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:
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
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.