Gnome: ¿se puede poner un fondo a cada area de trabajo?

Es lo que me gustaría saber, ¿es posible que cada uno de los escritorios de Gnome tenga un fondo diferente que me ayude a distinguirlos?

Y para que mi madre ve mi escritorio sepa que tiene que cambiarseal de al lado, que la tía llega y me cierra todas las ventanas. :-(


EDITO: SÍ se puede: Wallpapoz

El problema es que no puedo compilarlo y parece que no existe RPM. Esto es lo que me dice al intentarlo:

[root@x1-6-00-0d-61-ae-ba-f2 .sources]# cd wallpapoz-0.2/
[root@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]# make
g++ `pkg-config libxml++-2.6 --cflags` -c daemon_wallpapoz.cpp
Package libxml++-2.6 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml++-2.6.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml++-2.6' found
daemon_wallpapoz.cpp:19:31: libxml++/libxml++.h: No such file or directory
daemon_wallpapoz.cpp: In function `int main()':
daemon_wallpapoz.cpp:127: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:127: error: `DomParser' undeclared (first use this function)
daemon_wallpapoz.cpp:127: error: (Each undeclared identifier is reported only once for each function it appears in.)
daemon_wallpapoz.cpp:127: error: expected `;' before "parser"
daemon_wallpapoz.cpp:128: error: `parser' undeclared (first use this function)
daemon_wallpapoz.cpp:129: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:129: error: `Node' undeclared (first use this function)
daemon_wallpapoz.cpp:129: error: `pNode' undeclared (first use this function)
daemon_wallpapoz.cpp:130: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:130: error: `NodeList' undeclared (first use this function)daemon_wallpapoz.cpp:130: error: expected `;' before "list"
daemon_wallpapoz.cpp:131: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:131: error: `Element' undeclared (first use this function)
daemon_wallpapoz.cpp:131: error: `el' undeclared (first use this function)
daemon_wallpapoz.cpp:132: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:132: error: `TextNode' undeclared (first use this function)daemon_wallpapoz.cpp:132: error: `t' undeclared (first use this function)
daemon_wallpapoz.cpp:140: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:140: error: expected primary-expression before "const"
daemon_wallpapoz.cpp:140: error: expected `;' before "const"
daemon_wallpapoz.cpp:142: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:142: error: `Attribute' undeclared (first use this function)
daemon_wallpapoz.cpp:142: error: `attribute' undeclared (first use this function)
daemon_wallpapoz.cpp:142: error: `element' undeclared (first use this function)
daemon_wallpapoz.cpp:154: error: `list' undeclared (first use this function)
daemon_wallpapoz.cpp:156: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:156: error: missing template arguments before "iter"
daemon_wallpapoz.cpp:156: error: expected `;' before "iter"
daemon_wallpapoz.cpp:156: error: `iter' undeclared (first use this function)
daemon_wallpapoz.cpp:162: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:162: error: expected `;' before "workspacelist"
daemon_wallpapoz.cpp:165: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:165: error: missing template arguments before "workspaceiter"
daemon_wallpapoz.cpp:165: error: expected `;' before "workspaceiter"
daemon_wallpapoz.cpp:165: error: `workspaceiter' undeclared (first use this function)
daemon_wallpapoz.cpp:165: error: `workspacelist' undeclared (first use this function)
daemon_wallpapoz.cpp:169: error: `xmlpp' has not been declared
daemon_wallpapoz.cpp:169: error: expected primary-expression before "const"
daemon_wallpapoz.cpp:169: error: expected `;' before "const"
daemon_wallpapoz.cpp:172: error: `fileelement' undeclared (first use this function)
make: *** [daemon_wallpapoz.o] Error 1
[root@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]# urpmi libxml++-2.6
ningún paquete llamado libxml++-2.6
[root@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]# urpmi libxml
ya está todo instalado
[root@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]#


Parece que no encuentra un paquete llamado libxml++-2.6, pero al introducir:

# urpmi libxml

me dice que ya está todo instalado. Y no sé si es porque realmente me falta un paquete, o es que no tengo configurada la ruta para que acceda a la librería esa.

Echadme una mano, por favor, que estoy hasta los huevos de darme cabezazos cada vez que me toca compilar.

EDITO: Ahora estoy intentando compilar el paquete que me pedía más arriba, y JODER también me da error

[root@x1-6-00-0d-61-ae-ba-f2 libxml++-2.10.0]# ./configure
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking for g++... g++
checking for C++ compiler default output file name... a.out
checking whether the C++ compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking for style of include used by make... GNU
checking dependency style of g++... gcc3
checking how to run the C++ preprocessor... g++ -E
checking for a BSD-compatible install... /usr/bin/install -c
checking build system type... i686-pc-linux-gnu
checking host system type... i686-pc-linux-gnu
checking for gcc... gcc
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking dependency style of gcc... gcc3
checking for a sed that does not truncate output... /bin/sed
checking for egrep... grep -E
checking for ld used by gcc... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking for /usr/bin/ld option to reload object files... -r
checking for BSD-compatible nm... /usr/bin/nm -B
checking whether ln -s works... yes
checking how to recognise dependent libraries... pass_all
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking how to run the C++ preprocessor... g++ -E
checking for g77... no
checking for f77... no
checking for xlf... no
checking for frt... no
checking for pgf77... no
checking for fort77... no
checking for fl32... no
checking for af77... no
checking for f90... no
checking for xlf90... no
checking for pgf90... no
checking for epcf90... no
checking for f95... no
checking for fort... no
checking for xlf95... no
checking for ifc... no
checking for efc... no
checking for pgf95... no
checking for lf95... no
checking for gfortran... no
checking whether we are using the GNU Fortran 77 compiler... no
checking whether accepts -g... no
checking the maximum length of command line arguments... 32768
checking command to parse /usr/bin/nm -B output from gcc object... ok
checking for objdir... .libs
checking for ar... ar
checking for ranlib... ranlib
checking for strip... strip
checking if gcc static flag works... yes
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC
checking if gcc PIC flag -fPIC works... yes
checking if gcc supports -c -o file.o... yes
checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes
checking whether -lc should be explicitly linked in... no
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
configure: creating libtool
appending configuration tag "CXX" to libtool
checking for ld used by g++... /usr/bin/ld
checking if the linker (/usr/bin/ld) is GNU ld... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking for g++ option to produce PIC... -fPIC
checking if g++ PIC flag -fPIC works... yes
checking if g++ supports -c -o file.o... yes
checking whether the g++ linker (/usr/bin/ld) supports shared libraries... yes
checking dynamic linker characteristics... GNU/Linux ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... yes
appending configuration tag "F77" to libtool
checking for some Win32 platform... no
checking string usability... yes
checking string presence... yes
checking for string... yes
checking list usability... yes
checking list presence... yes
checking for list... yes
checking map usability... yes
checking map presence... yes
checking for map... yes
checking for pkg-config... /usr/bin/pkg-config
checking for libxml-2.0 >= 2.6.1 glibmm-2.4 >= 2.4.0... Package libxml-2.0 was n ot found in the pkg-config search path.
Perhaps you should add the directory containing `libxml-2.0.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml-2.0' found

configure: error: Library requirements (libxml-2.0 >= 2.6.1 glibmm-2.4 >= 2.4.0) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your li braries are in a nonstandard prefix so pkg-config can find them.
[root@x1-6-00-0d-61-ae-ba-f2 libxml++-2.10.0]#


Me estoy calentando por momentos, me siento totalmente impotente.



Y con la otra dependencia que tenía que resolver, lo mismo.

Package gtkmm-2.4 was not found in the pkg-config search path.
Perhaps you should add the directory containing `gtkmm-2.4.pc'
to the PKG_CONFIG_PATH environment variable
No package 'gtkmm-2.4' found

configure: error: Library requirements (gtkmm-2.4 >= 2.4.0 libglade-2.0 >= 2.3.6) not met; consider adjusting the PKG_CONFIG_PATH environment variable if your libraries are in a nonstandard prefix so pkg-config can find them.
[david@x1-6-00-0d-61-ae-ba-f2 libglademm-2.4.2]$ su
[root@x1-6-00-0d-61-ae-ba-f2 libglademm-2.4.2]# urpmi gtkmm-2.4
ningún paquete llamado gtkmm-2.4
[root@x1-6-00-0d-61-ae-ba-f2 libglademm-2.4.2]# urpmi gtkmm
instalando libgtkmm1.2-1.2.10-12mdk.i586.rpm desde /var/cache/urpmi/rpms
Preparando... #############################################
1/1: libgtkmm1.2 #############################################
[root@x1-6-00-0d-61-ae-ba-f2 libglademm-2.4.2]#


Si no me equivoco me ha puesto la versión 1.2 y necesito la 2.4... esto es una pesadilla.


Bueno, el colmo.

He instalado las dos dependencias que me hacían falta de aquí, concretamente eran libxml++-2.6.1-2mdk... y libglademm2.4-2.4.1-..

Las he instalado con el gestor de RPM, y he intentado volver a compilar el programa una vez resueltas las dependencias:

[david@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]$ make
g++ `pkg-config libxml++-2.6 --cflags` -c daemon_wallpapoz.cpp
Package libxml++-2.6 was not found in the pkg-config search path.
Perhaps you should add the directory containing `libxml++-2.6.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libxml++-2.6' found


¡Hostia puta! si acabo de instalarlo, ¿cómo es posible que no lo acepte?

No sé si reir o llorar.
Hay más versiones del paquete libxml, como libxml++2.6_2-devel ;-), usa la opción --fuzzy, cuando hagas la búsqueda no completes el nombre (solo libxm p.ej.), o usa bash completion (búsqueda avanzada).

El otro paquete que creo que te falta es libgtkmm2.4_1-devel

Que raro que Gnome no traiga opción para poner un fondo distinto en cada escritorio, es algo que hace años que tiene KDE :?
Bueno Churly, con lo que me has dicho ha instalado las dos dependencias sin decir ni ay. Mil gracias.

Ahora lo que ocurre es esto:

[david@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]$ make
g++ `pkg-config libxml++-2.6 --libs` daemon_wallpapoz.o Process.o -o bin/daemon_wallpapoz
/usr/bin/ld: cannot open output file bin/daemon_wallpapoz: No such file or directory
collect2: ld returned 1 exit status
make: *** [daemon_wallpapoz] Error 1
[david@x1-6-00-0d-61-ae-ba-f2 wallpapoz-0.2]


Y esto si que no tengo ni PAJOLERA IDEA de por qué lo ha hecho.
humm, eso suena muy mal, diría que te has cargado algo instalando bibliotecas o similar. ¿Qué has instalado últimamente?

Acabo de compilar el programa ese aquí e instalando esas dos librerías (junto con sus dependencias) compila a la primera.
Churly escribió:humm, eso suena muy mal, diría que te has cargado algo instalando bibliotecas o similar. ¿Qué has instalado últimamente?


Absolutamente nada, he instalado el sistema esta mañana y sólo he instalado algunos programas mediante URPMI.

Ves, ahora me has acojonado... ¿qué hago?
¿Todos los programas los instalaste desde los repos oficiales? ¿Es el primero que compilas desde fuentes?

Ahora mismo no se me ocurre que es, pero buscando en google parece que el compilador "no compila"...

¿Qué versión de gcc usas?
gcc --version
gcc (GCC) 3.4.3 (Mandrakelinux 10.2 3.4.3-7mdk)


He usado repositorios oficiales y de contribución.

Dime sólo una cosa, Si apago el PC podré volver a encenderlo... ¿verdad? [carcajad]

De verdad que yo no he hecho nada para cargármelo, lo único que he intentado compilar son las mismas dependencias, la libxml y la otra (antes de instalarlas por urpmi siguiendo tu consejo).
No me juego el cuello, pero diría que si XD

Usas el GCC que viene por defecto así que no deberías tener problemas, es bastante raro.

Se me acaba de ocurrir una cosa, ese programa tiene pinta de estar en versión bastante alfa, prueba a limpiar los ficheros objeto con "make clean" y reintentar. Es posible que el makefile esté mal hecho. A una mala cárgatelo todo y vuelve a descomprimir.
Churly escribió:No me juego el cuello, pero diría que si XD

Usas el GCC que viene por defecto así que no deberías tener problemas, es bastante raro.

Se me acaba de ocurrir una cosa, ese programa tiene pinta de estar en versión bastante alfa, prueba a limpiar los ficheros objeto con "make clean" y reintentar. Es posible que el makefile esté mal hecho. A una mala cárgatelo todo y vuelve a descomprimir.


Ok ceno y lo hago, hoy me has enseñado un par de trucos la mar de interesantes Churly, si te tuviera cerca te daba un abrazo, y eso que de momento no he conseguido compilar! [+risas]
Aquí tienes el programa compìlado, solo tienes que ejecutar install.sh.

Para estas situaciones es mucho más cómodo usar la aplicación gráfica, ya que ves todos los paquetes a la vez, haciendo la decisión más certera.

Para compilarlo yo solo he tenido que instalar libglademm2.4_1-devel y libxml++2.6_2-devel con todas sus dependencias. Todos los paquetes están en los repositorios oficiales de Mandriva.

P.D. No me permite enviar el adjunto por 300 miserables bytes, aqui está.
Bueno, he hecho lo que me decía Churly, y luego lo que me decía el señor oscuro, y ha aparecido un ejecutable en /bin, conque como no sé dónde lo he hecho bien y gracias a quién, os doy las gracias a los dos.

Bona nit!
10 respuestas