PDA

View Full Version : [GUIA] Multiple wallpapers en Kubuntu Gusty (KDE v3.5.8)


javielillo
December 31st, 2007, 12:18 AM
Debido a que desde que se publicó este parche hasta ahora no ha habido un tutorial que apareciera en la red habia decidido hacerme mi propio tutorial, y porqué no, compartirlo si no salia uno mejor por la red aunque por culpa de unos errores raros de compilación no pude hacerlo funcionar hace meses hasta que hoy he podido ^_^' :

Gracias a algunos como el que hizo el patch y Dred en esta web (http://www.kde-apps.org/content/show.php/KDesktop+transparency+support?content=59864) he podido escribir un tutorial "paso a paso" (ya que el autor original no daba mucha información de cómo coj*** se realizaba el proceso y tampoco había muchos voluntarios con suficientes conocimientos o que daban muchas cosas como muy básicas:( ) para conseguir que KDE tenga distintos wallpapers parcheando kdesktop, tal y como han hecho con nautilus en GNOME, esta basado en Kubuntu Gusty KDE (v3.5.8) que donde he conseguido compilarlo despues de muchos intentos fallidos (incluso he subido el paquete deb para saltarse el paso, aunque hay un "pero" abajo de todo el tutorial, leetelo antes para que no te pille por sorpresa).

Algunas capturas de pantalla de mis wallpapers, abajo de todo puse enlaces de descarga directa de los .deb que conseguí de este proceso :D
http://img444.imageshack.us/img444/6063/screenshotkde358compizfqk3.th.jpg (http://img444.imageshack.us/my.php?image=screenshotkde358compizfqk3.jpg) http://img259.imageshack.us/img259/3323/screenshotkde359compizfqi2.th.jpg (http://img259.imageshack.us/my.php?image=screenshotkde359compizfqi2.jpg) http://img259.imageshack.us/img259/3993/screenshotkde360compizfhb0.th.jpg (http://img259.imageshack.us/my.php?image=screenshotkde360compizfhb0.jpg) http://img166.imageshack.us/img166/1860/screenshotkde361compizfac4.th.jpg (http://img166.imageshack.us/my.php?image=screenshotkde361compizfac4.jpg)

AVISO: SERÁ BAJO TU RESPONSABILIDAD SI DECIDES HACER CASO A ESTOS PASOS. QUE ME VAYA A MI NO TIENE QUE SIGNIFICAR QUE TE VAYA A TÍ.

Los pasos son estos (he intentado incluir cada uno de los pasos que he hecho, por muy insignificante que me parezca, he traducido directamente los pasos que escribí en esa web):
1º) Instalo todas las dependencias necesarias (build-essential, ...)
sudo aptitude install build-essential fakeroot debhelper debconf kdebase-dev kdelibs-dev

2º) Descargo el código fuente (en mi caso el código fuente estaban descargados y descomprimidos en mi carpeta home):
sudo apt-get build-dep kdebase
sudo apt-get source kdebase

3º) Entro en la subcarpeta llamada kdesktop, dentro de la carpeta kdebase-3.5.8y aplico el parche de la web (http://www.kde-apps.org/content/show.php/KDesktop+transparency+support?content=59864) (antes tuve que copiar el parche dentro de esa carpeta llamada kdesktop, exactamente en ~/kdebase-3.5.8/kdesktop/).
Parcheo el código fuente con el comando:
patch -p1 < kdesktop-transparency.patch
Nota: No se si es normal o no pero estuve obligado a crearme manualmente antes 2 archivos de texto vacios llamados kdesktopapp.h and kdesktopapp.cpp para poder continuar con el proceso...

4º) Abre el archivo Makefile.in en la carpeta kdesktop y edita las siguientes cosas:
1. encuentra la línea que empieza con:
"for file in minicli.cpp"
for file in minicli.cpp startupid.cpp kshadowengine.cpp kshadowsettings.cpp kdesktopshadowsettings.cpp kfileividesktop.cpp ; do \
e inserta kdesktopapp.cpp dentro de la lista de archivos .cpp (en mi caso ésta linea era la 1464).
for file in kdesktopapp.cpp minicli.cpp startupid.cpp kshadowengine.cpp kshadowsettings.cpp kdesktopshadowsettings.cpp kfileividesktop.cpp ; do \
2. Al final de la linea que empieza con:
"libkdeinit_kdesktop_la.all_cpp.cpp:"
libkdeinit_kdesktop_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/minicli.cpp kdesktopsettings.h $(srcdir)/startupid.cpp klaunchsettings.h $(srcdir)/kshadowengine.cpp $(srcdir)/kshadowsettings.cpp $(srcdir)/kdesktopshadowsettings.cpp $(srcdir)/kfileividesktop.cpp krootwm.moc minicli.moc startupid.moc lockeng.moc desktop.moc pixmapserver.moc kdiconview.moc kcustommenu.moc bgmanager.moc xautolock.moc
añadir "kdesktopapp.moc" (en mi caso era la línea 1460).
libkdeinit_kdesktop_la.all_cpp.cpp: $(srcdir)/Makefile.in $(srcdir)/minicli.cpp kdesktopsettings.h $(srcdir)/startupid.cpp klaunchsettings.h $(srcdir)/kshadowengine.cpp $(srcdir)/kshadowsettings.cpp $(srcdir)/kdesktopshadowsettings.cpp $(srcdir)/kfileividesktop.cpp krootwm.moc minicli.moc startupid.moc lockeng.moc desktop.moc pixmapserver.moc kdiconview.moc kcustommenu.moc bgmanager.moc xautolock.moc kdesktopapp.moc
3. Justo antes de la anterior linea añade estas nuevas lineas:
kdesktopapp.moc: $(srcdir)/kdesktopapp.h
$(MOC) $(srcdir)/kdesktopapp.h -o kdesktopapp.moc

5º) Despues de estos cambios, en la carpeta kdebase produciremos los paquetes .deb, Dred me puso el comando:
dpkg-buildpackage -rfakeroot -uc -b pero yo usé sin que me diera fallos dpkg-buildpackage -rsudo -uc -b (como hice muchas cosas mal hasta que me compiló bien dpkg-buildpackage me obligó a usar el comando "make distclean" antes del comando dpkg-buildpackage así que no me acuerdo si era obligatorio o si os lo pedirá también que lo ejecutéis antes :P )

6º) Al finalizar con éxito os crearán paquetes .deb en vuestra carpeta home. De los muchos que me habia creado instalé el nuevo paquete .deb llamado kdesktop_3.5.8-0ubuntu2_i386.deb (que es el que contiene las modificaciones):
sudo dpkg -i kdesktop_3.5.8-0ubuntu2_i386.deb
(en mi caso estaba obligado a instalar las versiones anteriores que las que tenia ya instaladas (tambien llamado "downgrade") de la version *ubuntu2.1_i386.deb a la *ubuntu2_i386.deb usando el comando "sudo dpkg -i *.deb", instalando TODOS los paquetes .deb que habian en la carpeta home. Si tienes otros paquetes .deb ajenos a los nuevos que has creado en la carpeta home vigila este comando que te los instalará o reinstalará si ya los tenias instalados, avisado estás :P )

7º) Vete a la carpeta ~/.kde/share/config/ y edita el archivo kdesktoprc para incluir el siguiente código:
[Background Common]
BackgroundOpacity=90 (0 = fully transparent / 100 = opaque)

8º) Hice un script para automatizarme el proceso de matar y reiniciar kdesktop con el argumento "--bg-transparency" que xonestonex escribió en la página web. Salvarlo en un archivo de texto (yo por ejemplo lo llamé kdesktop-transparency.sh) con permiso de ejecución y cópialo a la carpeta ~/.kde/Autostart/ para que se cargue al inicio de tu sesión de KDE, seguro que el código del podría ser mucho más eficiente y más corto pero hice unas pruebas y parece que funciona para mí, pruébalo antes de copiarlo a la carpeta esa de ~/.kde/Autostart/ para comprobar que funciona correctamente. A mi me tardaba unos segundos como me tarda también el Compiz en ejecutarse, no se vosotros.

#!/bin/sh
# Mata KDesktop y despues vuelve a ejecutarlo con el comando "kdesktop --bg-transparency".
# Debería ser cargado al arranque de KDE.
# Estate seguro que añadistes en .kde/share/config/kdesktoprc esta nueva sección:
# [Background Common]
# BackgroundOpacity=90 (0 = fully transparent / 100 = opaque)

local pid

pid=$(ps ax |grep "kdesktop " |grep -v grep|awk '{print $1;}')
echo -n "Matando Kdesktop (proceso $pid)... "
kill -9 $pid
echo "Matado."
kdesktop --bg-transparency 2> /dev/null
echo "Kdesktop ON con soporte de transparencia para el plugin Wallpaper de Compiz-Fusion)"

Éste script debe de ejecutarse ANTES de que Compiz se ejecute, si te apetece tener todo los comandos en un sólo script podrías poner los comandos para ejecutar compiz al final de este script o también usar Fusion-icon despues de ejecutar el script (Probé con éxito con ambas formas).

Si tu versión de Compiz-Fusion no tiene el plugin Wallpaper (como era mi caso que usaba la versión oficial de Ubuntu Gusty) visita el tutorial para instalar nuevos plugins:
http://forum.compiz-fusion.org/showthread.php?t=5303
De la lista que os ofrecen para bajar/compilar e instalar sólo necesitáis la descarga que se llama wallpaper.tar.gz (No pego el enlace de descarga porque podrían modificar el enlace sin que lo supiera y se me quedaría desfasado/obsoleto :P )

Aquí teneis los binarios que hice para Kubuntu Gusty como resultado de estos pasos (Como dije antes tuve que hacer un "downgrade" de los paquetes KDE de la versión *ubuntu2.1_i386.deb (creo que son los del repositorio "gusty-proposed") a la *ubuntu2_i386.deb por lo que debería probar más adelante cómo compilarlos exactamente con la última versión del código fuente, en mi carpeta home hay varios archivos comprimidos y uno de ellos parece que es el de la actualización a la *ubuntu2.1 que me falta):

http://massmirror.com/df3d3bf528463823e2a1466e8734a082.html

Escoge tu mirror favorito de descarga de los de la lista. Supongo que los compilados y los *ubuntu2_i386.deb del repositorio serán los mismos y si no son pues nada, cuando termine de subirse el paquete pondré también el link de descarga directa, un comprimido de 64MB de paquetes .deb, incluido el parcheado kdesktop :P
EDIT:
Todos los paquetes deb que conseguí del kdebase:
http://massmirror.com/05bc6f62c9e2f5006ff9730696922aba.html

NOTA: en el wallpaper plugin cada nuevo wallpaper que incluyais ha de tener el formato:
file:/la_ruta_de_tu_imagen:100
Por ejemplo una de las que tengo yo:
file:/home/javier/mis_cosas/imagenes/Bleach - Orihime Inoue.jpg:100


Feliz año nuevo! ;-) (y espero que lo que hice le sirva a más gente y/o lo mejoren para que sea más fácil para el usuario novato)

tHatdUde
October 15th, 2008, 03:47 PM
Saludos, después de mucho tiempo buscando cómo poner fondos de escritorio diferentes he dado con este hilo antiguo, aunque ahora uso Hardy con KDE 3.5.10 (y Compiz fusion 0.76).
Has probado este método con Hardy o sabes si existe otra manera más sencilla?