martes, 29 de junio de 2010

Compiz Fusion + Emerald en Debian Squeeze

6 comentarios
Después de instalar el controlador gráfico de mi portátil, quería meterle el compiz-fusion y el emerald, sólo para que se vea bonito el entorno...

Antes que nada, les pongo los repositorios que estoy usando en el Squeeze:
deb http://security.debian.org/ squeeze/updates main
deb-src http://security.debian.org/ squeeze/updates main

deb http://www.debian-multimedia.org squeeze main
deb-src http://www.debian-multimedia.org squeeze main

deb http://http.us.debian.org/debian squeeze main non-free contrib
deb-src http://http.us.debian.org/debian squeeze main non-free contrib

deb http://mirrors.kernel.org/debian/ squeeze main contrib non-free
deb-src http://mirrors.kernel.org/debian/ squeeze main contrib non-free
Bien ahora.... ¿Cómo instalé compiz?.... fácil, en una terminal como root:
# apt-get install compiz-gnome compizconfig-settings-manager fusion-icon
Un reboot y listo... ya tengo el compiz, ahora me falta el decorador de ventanas... emerald... que no se encuentra en los repositorios!.... así que me fui por las fuentes, antes de bajarme las fuentes, hay que ver que versión del compiz estamos usando, para eso en una terminal:
$ compiz --version
En mi caso es la 0.8.4 así que me descargué la versión de emerald contenida en en la siguiente dirección:
http://releases.compiz-fusion.org/
Me descarga un archivo llamado emerald-0.8.4.tar.gz el cual extraigo y me crea un directorio el cual contiene las fuentes... en una terminal ubicados en el directorio donde se encuentra el .tar.gz del emerald:
$ tar xzf emerald-0.8.4.tar.gz
$ cd emerald-0.8.4/
Bien ya tengo las fuentes, y ahora me preparo a configurarlas - deben tener instalado build-essential - desde una terminal lo siguiente:
$ ./configure --prefix=/usr/local/
Me arroja una lista de paquetes que no tengo instalados - no me acuerdo de cuales eran xD pero ahi les pone el nombre - por lo que me los instalo y repito el comando anterior... termina el proceso satisfactoriamente...

A continuación compilo las fuentes con el siguiente comando:
$ make clean
$ make
Y no termina, me arroja unos errores que tienen que ver con el GTK... aquí los errores:
main.o: In function `hide_tooltip':
/home/akino/Downloads/prueba/emerald-0.8.4/src/main.c:3760: undefined reference to `GTK_WIDGET_VISIBLE'
../libengine/.libs/libemeraldengine.so: undefined reference to `GTK_OBJECT_TYPE_NAME'
collect2: ld returned 1 exit status
make[2]: *** [emerald] Error 1
make[2]: se sale del directorio `/home/akino/Downloads/prueba/emerald-0.8.4/src'
make[1]: *** [all-recursive] Error 1
make[1]: se sale del directorio `/home/akino/Downloads/prueba/emerald-0.8.4'
make: *** [all] Error 2
Y ahora pongo las soluciones las encontré en la web de bugs de gentoo y las pongo aquí de todas maneras para que sepan que modificar...

Primero abrimos el archivo main.c ubicado en el directorio src, así:
$ nano src/main.c
nos vamos hasta la linea 3760 que dice así:
if (GTK_WIDGET_VISIBLE(tip_window))
y la modificamos para que quede de la siguiente forma:
if (gtk_widget_get_visible(tip_window))
Guardamos los cambios con Ctrl+O y cerramos el archivo con Ctrl+X.... ahora abrimos el siguiente archivo:
$ nano libengine/themer.c
y nos vamos a la linea 464 que dice así:
if(!strcmp(GTK_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
la modificamos para que quede de la siguiente forma:
if(!strcmp(G_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
en el mismo archivo nos vamos a la linea 650 que dice:
if(!strcmp(GTK_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
la modificamos para que quede así:
if(!strcmp(G_OBJECT_TYPE_NAME(item->widget),"GtkSpinButton")) {
ahora sí, guardamos y cerramos el archivo... y volvemos a compilar:
$ make clean
$ make
y listo ahora sí, debe compilar todo bien, pasamos a instalar las fuentes, como root:
# make install
y ahora intento abrir emerald-theme-manager desde la terminal, como user normal:
$ emerald-theme-manager
y me arroja el siguiente error:

error while loading shared libraries: libemeraldengine.so.0: cannot open shared object file: No such file or directory

para solucionarlo, en una terminal como root:
# ldconfig
y reiniciamos el equipo, y ahora ya debemos tener todo bien....

Ya sólo les queda agregar el fusion icon al inicio y ya... eso no creo que sea complicado así que no lo explico...

Eso es todo, ojalá le sirva a alguien... Saludos!!!

PD: Se vale comentar!!! jajaja
Read full story

lunes, 28 de junio de 2010

ACER Aspire 4540-5531 y Debian

2 comentarios
Que tal a todos.... me acabo de comprar una laptop, y fue justo la del título de esta entrada, les comento que le intenté meter Debian Lenny (Stable) a esta portátil, y que creen... al finalizar la instalación no tenía Wireless, Ethernet, Sonido y Graficos...

Se me hizo fácil bajar el kernel 2.6.34 y compilarlo... finalizando el proceso, y reiniciando el equipo, ya tengo wifi, sonido, micro.... pero me quedé sin webcam, seguía sin los gráficos (estab con el vesa de 800x600)....

la tarjeta gráfica que trae es una ATI Radeon HD4200 y según lspci:

01:05.0 VGA compatible controller: ATI Technologies Inc M880G [Mobility Radeon HD 4200]
me fui a la web de ATI y me descargué el controlador Catalyst y lo instalé en modo gráfico, reinicié y veo que la resolución se arregló, pero se notaba una gran lentitud en las ventanas, y decidí crear el paquete para el debian lenny, el controlador ofrece la opción --buildpkg para crear paquetes para ciertas distros, y así empecé a tratar de crear el paquete, fue muy largo el cuento y no logré nada xD.... luego me volví a instalar el controlador en modo gráfio y decidí mirar el log de la instalación y :o sorpresa, no se pudo compilar el modulo para el kernel....

Lo que hice fue pasarme a la rama testing, actualmente squeeze con kernel 2.6.32-5-686, y desde la instalación ya me detectaba el ethernet y el wireless, terminó la instalación del sistema, reinicia el equipo y pfff la resolución de la pantalla estaba bien!... pero con ciertos fallos, se notaban unas como lineas que parpadeaban muy rapido en ciertas zonas, y decidí instalarme el controlador Catalyst de la ATI, pero primer actualicé todo el sistema... y procedí a instalar build-essential y los headers, luego a instalar el controlador en modo gráfico, miro el log y todo ok!!!!!!.... a continuacion en una terminal pongo:
# aticonfig --initial
configura el xorg y reinicio el equipo, y veo que el pequeño defecto se soluciona...

Y esa ha sido mi travesía con este equipo y Debian... espero a alguien le sirva estas notas...

Saludos!
Read full story

miércoles, 16 de junio de 2010

Conectar con un servidor MySQL de otro servidor

0 comentarios
Que tal a todos.. una ves más haciendola de fantasma por este olvidado blog... :P

Bueno en esta ocación, sólo vengo con un pequeño dato, pero que me salvó la vida o casi xD.

Creo que el título del post está algo mal pero ya ni modos... no quiero pensar ahorita...

La Historia
Erase una ves un jovén que quería hacer la replicación de bases de datos en MySQL 5.0 en Debian Lenny... el jóven leyó sobre la replicación, trató de asimilar todo lo que pudo, busco tutoriales de configuraciones, y siguió leyendo...

Una ves bien documentado, se decidió a hacer la arquitectura Master/Slave... y siguió el tutorial al pie de la letra, realizando todos los cambios pertinentes claro está. Primero configuró el server que la haría de Master y todo le fue bien. Pasó a configurar el Slave y todo bien... hasta ejecutar la orden SHOW SLAVE STATUS..... donde veía con asombro un mensaje que rezaba CONNECTING TO MASTER SERVER... y de allí no pasaba nada más....

Y pensó... mmmm joder algo hice mal.... mejor intento con la arquitectura Master/Master.... y así lo hizo, siguió el tutorial, terminó de configurar ambos servers.... y la historia se repitió....

Asustado de que no conectaban se decidió a investigar..... pasaban los minutos y no encontraba nada... hasta que en un refundido rincón de la red, le llamó la atención un comentario que decía más o menos así: "Debes de tener el archivo my.cnf con la linea bind-adress = 127.0.0.1 para que mysql escuche en local".
La Solución

Después de leer ese comentario lo que se me ocurrió fue simplemente comentar esa linea.... y listó! mis servers conectaron uno con otro.... replicandose!

así que para hacerlo.... en una terminal como root:
#nano /etc/mysql/my.cnf
Ahora nos ubicamos en la linea que dice:
bind-adress = 127.0.0.1
Y le agregamos un # de forma que queda así:
# bind-adress = 127.0.0.1
guardamos los cambios con Ctrl+O y cerramos el archivo con Ctrl+X y reiniciamos el daemon del mysql:
# /etc/init.d/mysql restart
Y eso es todo... ahora puedo acceder a ese servidor de bases de datos desde otra pc en mi LAN o desde internet si quiero!...

jajajaja me heché todo un verbo para tan pequeña cosa.... pero es que ando aburrido ¬¬ ya no sabía que hacer... bueno saludos a todos y que estén bien XD.... algo más, esto era sólo para que pudiera conectarse, teniendo todo ya configurado, cuentas de usuario de mysql, ip's y todo lo que implique...

Acepto comments!!!!! :P
Read full story

lunes, 15 de marzo de 2010

Reconfigurando mi DWM

6 comentarios
Hace tiempo que vego utilizando DWM como mi Gestor de Ventanas predeterminado... pero nunca me había dado el tiempo para poder "adornarlo" y ponerle cosillas para que se viera un poco más "bonito".

Pero decidí hacerlo y aquí pongo lo que conseguí...

Requerimientos: Xlib header.

Paso 1. Conseguir las fuentes.

Me fui a la página del proyecto y me descargué la versión actual de dwm (dwm-5.7.2) y también del dmenu (dmenu-4.0)...

Web Official de DWM

Paso 2. Extraer las fuentes.

Descomprimir los ficheros .tar.gz, me dirijo desde la terminal a la ruta donde descargué los ficheros y hago lo siguiente:
$ tar xzf dwm-5.7.2.tar.gz
$ tar xzf dmenu-4.0.tar.gz
Paso 3. Configuración.

Primero accedemos al directorio que se creó al descomprimir el dwm-5.7.2.tar.gz:
$ cd dwm-5.7.2/
A continuación abro el archivo config.def.h con un editor de texto:
$nano config.def.h
Aquí lo único que modifico es la configuración de colores para la barrita de que aparece en la parte superior y los bordes de las ventanas, les pongo los colores a un lado por si quieren hacer sus propias combinaciones:
/* appearance */
static const char font[] = "-*-*-medium-*-*-*-14-*-*-*-*-*-*-*";
static const char normbordercolor[] = "#ff0000"; //rojo
static const char normbgcolor[] = "#000000"; //negro
static const char normfgcolor[] = "#ffffff"; //blanco
static const char selbordercolor[] = "#ff0000"; //rojo
static const char selbgcolor[] = "#ff0000"; //rojo
static const char selfgcolor[] = "#ffffff"; //blanco
Guardamos cambios y cerramos (en nano es Ctrl+o para guardar y Ctrl+x para cerrar).

A mí en lo particular no me gusta ponerle nombres a las areas de trabajo o "tags" como le quieran llamar... así que esto no lo pondré =P.

Paso 4. Instalación.

Bien ahora desde el directorio dwm-5.7.2 hacemos lo siguiente como root:
# make clean install
Por defecto dwm se instala en /usr/local y ya debe de estarlo después del paso anterior... Ahora salgo del directorio dwm-5.7.2 y me dirijo al directorio dmenu-4.0:
# cd ..
# cd dmenu-4.0/
Bien ahora instalamos el dmenu, de la misma forma que dwm:
# make clean install
Listo instalado!....

Paso 5. Preparación para arrancar DWM.

Yo uso GDM para iniciar el entorno gráfico... pero no se preocupen que pondré ambas formas...

Arrancar con GDM.

Primero vamos a crear un archivo .desktop para que el GDM nos lo reconozca como un tipo de sesión... como root:
# nano /usr/share/xsessions/dwm.desktop
Y le agregamos la siguiente información:
[Desktop Entry]
Encoding=UTF-8
Name=dwm
Comment=This session starts dwm a very minimalist Window Manager
Exec=/home/usuario/.dwminit
Type=Application
Guardan y cierran... ojo con la ruta del directorio personal. Ahora nos vamos a nuestro directorio personal como usuario normal:
$ cd ~
Si se fijan en la información que agregamos al dwm.desktop en la parte Exec hacemos referencia a un fichero llamado .dwminit pues bien aquí es donde pondremos unas cosillas interesantes, y es donde radica lo vistoso de la configuración... como usuarios normales creamos el archivo así:
#nano .dwminit
y agregamos la siguiente iformación:
Esetroot -c /home/usuario/wallpaper.png
conky

wifi(){
STADO="X`/sbin/iwgetid`"
if test "$STADO" != "X" ; then
ESSID="`/sbin/iwgetid |awk -F ":" '{print $2}'|sed -e 's/"//g'`"
LINK="`awk '/wlan0:/ {print $3}' /proc/net/wireless |sed -e 's/\.//g'`"
echo "$ESSID Link: $LINK/70"
else
echo "Sin conexion"
fi
}

volumen(){
ESTADO="`amixer get PCM |awk '/Front\ Left:/ {print $7}'`"
if test "$ESTADO" != "[on]" ; then
echo " Mudo"
else
echo " `amixer get PCM |awk '/Front\ Left:/ {print $5}' | sed -e 's/\[//g'|sed -e 's/%\]//g'`%"
fi
}

cancion(){
if test "X`pgrep mocp`" != "X"; then
TITULO="`mocp -i|awk '/SongTitle/ {print $2}'`"
ARTISTA="`mocp -i|awk '/Artist/ {print $2}'`"
TRANSCURRIDO="`mocp -i|awk '/CurrentTime/ {print $2}'`"
TOTAL="`mocp -i|awk '/TotalTime/ {print $2}'`"
echo "$TITULO ($ARTISTA) $TRANSCURRIDO/$TOTAL"
else
if test "X`pgrep xmms2`" != "X"; then
ARTISTA="`xmms2 info|awk '/artist/ {print $4}'`"
TITULO="`xmms2 info|awk '/title/ {print $4}'`"
echo "$TITULO ($ARTISTA)"
else
echo "No Musica"
fi
fi
}

while true
do
xsetroot -name "[ Vol: `volumen` ] [ `cancion` ] [ `wifi` ] `date +"[ %a %d %b %Y ] [ %H:%M:%S ]"`"
sleep 1
done | /usr/local/bin/dwm
Bien ahora guardamos y cerramos el fichero y le damos permisos de ejecución:
$ chmod a+x .dwminit
Lean la sección que está al final y dice NOTA

Arrancar con startx

Tenemos que editar el fichero .xinitrc ubicado en el directorio personal... primero nos vamos al directorio personal...
$ cd ~
Ahora con un editor de texto abrimos el fichero...
$ nano .xinitrc

Simplemente agregamos la siguiente información:
Esetroot -c /home/akino/Imagenes/Debian_bloody.png
conky

wifi(){
STADO="X`/sbin/iwgetid`"
if test "$STADO" != "X" ; then
ESSID="`/sbin/iwgetid |awk -F ":" '{print $2}'|sed -e 's/"//g'`"
LINK="`awk '/wlan0:/ {print $3}' /proc/net/wireless |sed -e 's/\.//g'`"
echo "$ESSID Link: $LINK/70"
else
echo "Sin conexion"
fi
}

volumen(){
ESTADO="`amixer get PCM |awk '/Front\ Left:/ {print $7}'`"
if test "$ESTADO" != "[on]" ; then
echo " Mudo"
else
echo " `amixer get PCM |awk '/Front\ Left:/ {print $5}' | sed -e 's/\[//g'|sed -e 's/%\]//g'`%"
fi
}

cancion(){
if test "X`pgrep mocp`" != "X"; then
TITULO="`mocp -i|awk '/SongTitle/ {print $2}'`"
ARTISTA="`mocp -i|awk '/Artist/ {print $2}'`"
TRANSCURRIDO="`mocp -i|awk '/CurrentTime/ {print $2}'`"
TOTAL="`mocp -i|awk '/TotalTime/ {print $2}'`"
echo "$TITULO ($ARTISTA) $TRANSCURRIDO/$TOTAL"
else
if test "X`pgrep xmms2`" != "X"; then
ARTISTA="`xmms2 info|awk '/artist/ {print $4}'`"
TITULO="`xmms2 info|awk '/title/ {print $4}'`"
echo "$TITULO ($ARTISTA)"
else
echo "No Musica"
fi
fi
}

while true
do
xsetroot -name "[ Vol: `volumen` ] [ `cancion` ] [ `wifi` ] `date +"[ %a %d %b %Y ] [ %H:%M:%S ]"`"
sleep 1
done | /usr/local/bin/dwm
Guardamos y cerramos el fichero... ahora sólo queda leer la siguiente sección.

NOTA

Bien... Tengo que pararme a explicar esto un poco... empecemos desde arriba:
Esetroot -c /home/usuario/wallpaper.png
conky
Bien.. Esetroot es para poder poner el fondo de pantalla y para poder usarlo tenemos que instalar Eterm... y el conky es para monitorear el estado de nuestro sistema y hay que instalar conky... si no quieren usar las estas aplicaciones simplementen eliminen esas lineas...

Sigamos con la función wifi():
wifi(){
STADO="X`/sbin/iwgetid`"
if test "$STADO" != "X" ; then
ESSID="`/sbin/iwgetid |awk -F ":" '{print $2}'|sed -e 's/"//g'`"
LINK="`awk '/wlan0:/ {print $3}' /proc/net/wireless |sed -e 's/\.//g'`"
echo "$ESSID Link: $LINK/70"
else
echo "Sin conexion"
fi
}
Yo me conecto por medio de una tarjeta inalambrica que es la wlan0 en mi caso... con esa función obtengo el nombre el Essid al que estoy conectado y la potencia de la señal... si no la quieren usar simplemente eliminen toda la función..

Sigamos con la función volumen()...
volumen(){
ESTADO="`amixer get PCM |awk '/Front\ Left:/ {print $7}'`"
if test "$ESTADO" != "[on]" ; then
echo " Mudo"
else
echo " `amixer get PCM |awk '/Front\ Left:/ {print $5}' | sed -e 's/\[//g'|sed -e 's/%\]//g'`%"
fi
}
Aquí obtengo el volumen actual del PCM... si está en modo mute nos arroja Mudo.. si no quieren usar esta opción eliminen la función..

Ahora la función cancion()...
cancion(){
if test "X`pgrep mocp`" != "X"; then
TITULO="`mocp -i|awk '/SongTitle/ {print $2}'`"
ARTISTA="`mocp -i|awk '/Artist/ {print $2}'`"
TRANSCURRIDO="`mocp -i|awk '/CurrentTime/ {print $2}'`"
TOTAL="`mocp -i|awk '/TotalTime/ {print $2}'`"
echo "$TITULO ($ARTISTA) $TRANSCURRIDO/$TOTAL"
else
if test "X`pgrep xmms2`" != "X"; then
ARTISTA="`xmms2 info|awk '/artist/ {print $4}'`"
TITULO="`xmms2 info|awk '/title/ {print $4}'`"
echo "$TITULO ($ARTISTA)"
else
echo "No Musica"
fi
fi
}
Bien, yo uso dos reproductores... el xmms2 y el mocp (nombre real moc)... bien con el moc no hubo problemas... porque si puedo obtener el tiempo de duracion y tiempo transcurrido de las canciones así como el título y el artista... pero con el xmms2 no fue así, sólo pude obtener el titulo y el artista... cuando no estamos reproduciendo nada nos dice No Musica... cuando cualquiera de los dos reproductores se activa cambia el mensaje por los datos que antes les mencioné... bueno otro problema más con el xmms2... cuando lo cierro se queda corriendo un tipo demonio llamado xmms2d y por lo tanto no cambia el estado a No Musica... tengo que matar manualmente el proceso para que el estado cambie... con el moc todo bien... si no quieren usar estas funciones ya saben.. borrenlas.

La sección final:
while true
do
xsetroot -name "[ Vol: `volumen` ] [ `cancion` ] [ `wifi` ] `date +"[ %a %d %b %Y ] [ %H:%M:%S ]"`"
sleep 1
done | /usr/local/bin/dwm
Bien con este bucle estamos revisando constantemente las funciones... para ser exactos cada segundo (sleep 1).. y ejecuta al dwm... bien, si anteriormente eliminaron alguna funcion también tienen que eliminar las llamadas a dichas funciones en la línea xsetroot, xsetroot sirve en este caso para colocar texto en la barra del dwm, en la parte derecha superior... el modo básico del xsetroot donde sólo mostramos fecha y hora sería de la siguiente forma:
xsetroot -name "`date +"[ %a %d %b %Y ] [ %H:%M:%S ]"`"
Creo que eso es todo.

Bien espero que disfruten de este gestor de ventanas tanto como yo... aquí les dejo una captura pantalla de como quedó al final mi dwm...



Read full story
 

Pyr0S-9889 © 2008 Business Ads Ready is Designed by Ipiet Supported by Tadpole's Notez