Vidéo en fond d'écran sous Gnome (ou 1 fond par bureau !)

Bonjour à tous

Objectif

Ce tutorial va vous expliquer comment patcher Nautilus sous Debian 6 (alias Debian Squeeze) afin d’activer la transparence pour le fond d’écran sous Gnome (j’insiste : le patch est fait pour la version 2.30.1 de Nautilus !).

OK, mais ça sert à quoi ??

Grâce à cela, vous pourrez :
[ul][li]activer le plugin “Fond d’écran” de Compiz-Fusion afin de mettre un fond d’écran différent pour chaque bureau tout en restant sous Gnome (si !!) ;[/li]
[li]mettre une vidéo en fond d’écran sous Gnome ![/li]
[li]supprimer le fond d’écran de Gnome sans faire disparaître les icônes[/li][/ul]

Naaaan, sérieux ?! On peut enfin le faire ?

Oui, c’est testé et approuvé, grâce à cette personne : forum.compiz.org/viewtopic.php?f=114&t=34249
Je vais vous détailler la marche à suivre et vous ne devriez pas avoir de problème, je n’en ai rencontré aucun, ça tourne impec !

Bon, faut faire quoi alors ?

Voici la marche que nous allons suivre :

A] Patcher Nautilus

  1. Récupérer le patch
  2. Télécharger les sources de Nautilus depuis les dépôts de Debian
  3. Patcher les sources de Nautilus
  4. Compiler les sources (c’est facile, vous allez voir)
  5. Installer les nouveaux binaires (ne vous inquiétez pas, on garde les anciens au cas où !)

B] Mettre une vidéo en fond d’écran

  1. Récupérer la bonne version de XWinWrap
  2. Installer et configurer correctement XWinWrap

====================
=== PATCHER NAUTILUS ===
====================

  1. Récupérer le patch

Pour commencer, rendez-vous sur cette page : forum.compiz.org/viewtopic.php?f=114&t=34249
et téléchargez le fichier “98_transparent-background.patch”. Enregistrez le par exemple dans “/home/moi/patch-nautilus”.

  1. Télécharger les sources de Nautilus depuis les dépôts de Debian

Dans un terminal, loggez vous en root, et lancez les commandes suivantes :

cd /usr/local/src apt-get update apt-get install build-essential apt-get source nautilus apt-get build-dep nautilus apt-get install intltool

  1. Patcher les sources de Nautilus

Toujours en root et à la suite dans le même terminal, lancez les commandes suivantes pour copier le patch au bon endroit :

cd nautilus-2.30.1 cp /home/moi/patch-nautilus/98_transparent-background.patch debian/patches

Maintenant, toujours en root et à la suite, nous allons éditer un fichier de configuration pour la compilation :

gedit debian/patches/series

Cherchez une ligne qui ressemble à “82_gnome-app-install.patch” et commentez la en mettant un “#” devant. Si vous n’avez pas une ligne de ce genre, alors ne faites rien de spécial, continuez comme si de rien n’était.

Puis, a la fin du fichier, rajoutez la ligne suivante :

98_transparent-background.patch

Enregistrez le fichier et fermez “gedit”.

Vous pouvez maintenant appliquer le patch aux sources (en root) avec la commande suivante (toujours à la suite dans le même terminal) :

debian/rules patch
  1. Compiler les sources

Nous pouvons maintenant compiler les sources que nous venons de patcher (en root et à la suite) en lançant :

./configure make make install

  1. Installer les nouveaux binaires

Nous allons tout simplement créer un lien pour pointer vers les nouveaux binaires. Ainsi, on conserve les anciens fichiers au cas où on souhaiterait revenir en arrière :

cd /usr/local/lib ln -s /usr/lib/nautilus nautilus

Vous pouvez maintenant quitter le terminal root et ouvrir un terminal utilisateur, et lancer les commandes suivantes pour prendre en compte les nouveaux binaires sans avoir à redémarrer tout le système (d’ailleurs ne redémarrez pas encore !!!) :

killall nautilus nautilus

Et voilà ! Vous pouvez maintenant activer le plugin “Fond d’écran” dans Compiz-Fusion et y mettre 4 images afin d’avoir un fond d’écran différent pour chaque bureau sous Gnome !! :smiley:

Je vous conseille encore de lancer ces commandes dans un terminal root afin de vous prémunir de certains bugs qui pourraient survenir à l’ouverture de votre prochaine session (l’idée est de laisser aux éléments le temps de se lancer pour éviter de se retrouver avec un écran inutilisable) :

gedit /usr/local/bin/nautilus-start

Ecrivez les lignes suivantes dans le fichier vierge que vous avez devant vous :

#!/bin/bash sleep 3 nautilus
Enregistrez et quittez “gedit”, puis toujours en root, lancez les commandes suivantes :

chmod 755 /usr/local/bin/nautilus-start gedit /usr/local/share/applications/nautilus.desktop
Descendez à la ligne 102, et modifiez la ligne comme suit :

Exec=nautilus-start

à la place de :

Exec=nautilus

Voilà, c’est terminé !! :041

Maintenant on va voir comment mettre une vidéo en fond d’écran. Et croyez-moi, ça en jette !

===============================
=== METTRE UNE VIDEO EN FOND D’ECRAN ===
===============================

  1. Récupérer la bonne version de XWinWrap

La version d’origine était bugguée et a été améliorée. Vous pouvez récupérer la dernière version ici : tech.shantanugoel.com/projects/l … z-xwinwrap

Décompressez l’archive, puis dans un terminal en root, rendez-vous à l’endroit où vous avez décompressé votre archive.
Vous trouverez 2 répertoires dans le répertoire “shantz-xwinwrap” de l’archive :
[ul][li]un répertoire i386 : allez dans ce répertoire si votre Debian est en 32 bits[/li]
[li]un répertoire x86_64 : allez dans ce répertoire si votre Debian est en 64 bits[/li][/ul]

  1. Installer et configurer correctement XWinWrap

Une fois dans le bon répertoire, tapez la commande suivante pour installer le paquet XWinWrap :
si vous êtes en 32 bits :

dpkg -i shantz-xwinwrap_0.3-1_i386.deb

si vous êtes en 64 bits :

dpkg -i shantz-xwinwrap_0.3-1_amd64.deb

Le paquet devrait s’installer normalement.

Voilà, vous allez maintenant pouvoir lancer XWinWrap pour afficher une vidéo en fond d’écran.
Avant cela, choisissez les options qui vous intéressent :
[ul][li]-g : pour définir la géométrie de la vidéo ; exemple : 640x480+100+200 si vous souhaitez une vidé qui fasse une taille de 640x480 pixels avec un décalage de 100 pixels en “x” et 200 pixels en “y” ;[/li]
[li]-ni : pour ignorer l’entrée (Ignore Input) ; je ne sais pas à quoi ça sert, si vous avez une idée…[/li]
[li]-d : permet de préciser en paramètre le nom du bureau qui doit être concerné par le hack ; pareil, je ne sais pas trop à quoi ça sert, peut être pour n’afficher la vidéo que sur 1 bureau ?[/li]
[li]-fs : rajoutez cette commande pour que votre vidéo soit en plein écran ;[/li]
[li]-s : cette option permet à la vidéo de bien coller au fond d’écran, afin qu’elle ne bouge pas même si vous réduisez toutes les fenêtres par exemple ; je vous recommande de l’activer ;[/li]
[li]-st : cette option permet de ne pas afficher la vidéo dans la barre des tâches ; je vous recommande de l’activer, d’autant plus si vous utilisez une fonctionnalité qui vous permet de réduire toutes vos fenêtres d’un coup ;[/li]
[li]-sp : Skip Pager ; je ne sais pas du tout à quoi ça peut servir ;[/li]
[li]-a : utilisez cette option si vous voulez que votre vidéo soit devant vos autres fenêtres ; je ne vous recommande pas cette option ;[/li]
[li]-b : utilisez cette option si vous voulez que votre vidéo apparaisse derrière vos autre fenêtres ; je vous recommande cette option ;[/li]
[li]-nf : ne pas effectuer de zoom ; je ne sais pas trop ce que ça fait sur la vidéo, à vous de tester ;[/li]
[li]-o : définit l’opacité de la vidéo entre 0.00 et 1.00 ; à vous de voir ce que vous voulez ;[/li]
[li]-sh : définit la forme de la vidéo ; vous pouvez utiliser les formes “rectangle”, “circle” et “triangle” (la forme par défaut est “rectangle”) ;[/li]
[li]-ov : active le flag “override_redirect” ; je ne l’ai pas activé, vous pouvez l’essayer si vous rencontrez des problèmes ;[/li]
[li]-debug : pour obtenir des informations de debuggage ; vous ne vous en servirez probablement pas…[/li][/ul]

Voici maintenant un exemple pour lire une vidéo qui se trouve dans mon répertoire “/home/moi/MesVideos” :

xwinwrap -fs -s -st -b -o 1.00 -- mplayer -wid WID -quiet /home/moi/MesVideos/test.avi

Comme vous pouvez le constater, c’est “mplayer” qui est utilisé pour décoder les vidéos, vous devez donc vous assurer qu’il est bien installé avant d’utiliser XWinWrap.
Le “” sépare les options de “xwinwrap” et celles de “mplayer”, ne l’oubliez donc pas.

Voici quelques options utiles que vous pouvez rajouter à “mplayer” (n’hésitez pas à m’en donner de nouvelles, je les rajouterai ici) :

[ul][li]-nosound : jouer la vidéo sans le son ;[/li]
[li]-loop N : répéter la vidéo N fois ; mettez 0 pour la répéter à l’infini ;[/li]
[li]rajoutez autant de noms de vidéos que vous voulez à la fin, elles seront toutes lues à la suite dans l’ordre donné ;[/li]
[li]-playlist /home/moi/playlist.txt : pour jouer une playlist ou un flux depuis Internet :romance-hearteyes: ; dans le fichier “playlist.txt”, vous devez mettre le nom de chaque vidéo (ou musique) que vous souhaitez lire sur chaque ligne, par exemple :

[Fichier : /home/moi/playlist.txt]
/home/moi/MaVideo-1.avi
/home/moi/MaVideo-2.avi
/home/moi/MaMusique.mp3
/home/moi/MaVideo-3.avi[/li][/ul]

A noter que vous pouvez utiliser les playlists classiques comme les .m3u par exemple, à la place du fichier .txt. Pratique !

Et si vous préférez lire une vidéo en streaming sur le net, par exemple la chaîne de la NASA, remplacez le nom du fichier par l’URL de la page. De plus, je vous recommande de rajouter également un cache via l’option “-cache” pour éviter de se retrouver avec une vidéo saccadée à cause des débits irréguliers. Ce qui donne :

-cache 8192 -playlist playlist.yahoo.com/makeplaylist.dll?id=1368163

Pour obtenir les explications d’origine de “XWinWrap”, lancez simplement la commande “xwinwrap”.

Et voilà, c’est terminé !!! Vous allez pouvoir épater tout l’amphi :wink:

[quote=“man mplayer”]-nosound
Ne pas jouer/encoder le son. Utile pour les mesures de performances (benchmarking).
[/quote]

va falloir que j’essaie ça absolument ! merci :023

Il me semble que le patch de nautilus n’est pas nécessaire, en tous cas pour les différents wallpapers.

Sous nautilus 2.30.1-3 (sid et testing), il suffit de décocher show_desktop dans /apps/nautilus/preferences/ dans l’éditeur de configuration.
Seul problème, nautilus ne déssine plus le bureau, donc aucune icone ne s’y affiche et conky non plus.

Le patch résoud apparement le problème d’icone, mais qu’en est-il de conky ?

[quote]Sous nautilus 2.30.1-3 (sid et testing), il suffit de décocher show_desktop dans /apps/nautilus/preferences/ dans l’éditeur de configuration.
Seul problème, nautilus ne déssine plus le bureau, donc aucune icone ne s’y affiche et conky non plus.

Le patch résoud apparement le problème d’icone[/quote]
C’est tout l’intérêt de ce patch… Sinon je n’aurais pas écrit le tuto :slightly_smiling:

Ca fonctionne si on rajoute l’option “own_window yes” dans le .conkyrc, sinon les icônes disparaissent et réapparaissent lorsqu’on passe le curseur dessus. Comme cette option crée une fenêtre indépendante, si l’on souhaite enlever les bordures de la fenêtres, il faut rajouter l’option “own_window_hints undecorated”. Et si l’on souhaite également enlever l’icône de la fenêtre dans la barre des tâches, il faut rajouter le paramètre “skip_taskbar” à cette option. Enfin, pour éviter que le fond de conky ne soit celui du fond d’écran de Gnome (on veut que conky soit réellement transparent afin que même les vidéos soient derrière conky), il faut rajouter l’option “own_window_argb_visual yes”.
Ce qui nous donne donc, dans le .conkyrc :

own_window yes own_window_hints undecorated,skip_taskbar own_window_argb_visual yes
Et avec ça tout fonctionne parfaitement !!

Par ailleurs, j’ai rajouté comment lire une playlist et un flux depuis le net :smiley:

Arf, ça me semblait trop beau pour être vrai, la compilation plante chez moi (pendant le make), pourtant j’ai la bonne version des sources :

root@imrryr nautilus-2.30.1 # make make all-recursive make[1]: Entering directory `/usr/local/src/nautilus-2.30.1' Making all in eel make[2]: Entering directory `/usr/local/src/nautilus-2.30.1/eel' CCLD check-program ./.libs/libeel-2.a(eel-gdk-extensions.o): In function `eel_gdk_window_focus': /usr/local/src/nautilus-2.30.1/eel/eel-gdk-extensions.c:595: undefined reference to `GDK_DISPLAY' collect2: ld returned 1 exit status make[2]: *** [check-program] Error 1 make[2]: Leaving directory `/usr/local/src/nautilus-2.30.1/eel' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/local/src/nautilus-2.30.1' make: *** [all] Error 2

Le même problème que reporté sur le thread d’origine. Je suis en sid, y a moyen de savoir quelle version tu utilises ?

Merci

EDIT : d’ailleurs, même sans le patch la compil foire au même endroit :cry:

EDIT 2 : j’ai suivi le conseil sur l’autre thread, remplacer GDK_DISPLAY par gdk_display_get_default partout dans les sources, et ça compile bien.

Sinon je ne connais pas le fonctionnement de nautilus, je ne sais pas où sont ses binaires, et donc je ne comprends pas comment le lien symbolique remplace les binaires (si tu me dis que ça le fait, je te crois, mais j’aimerais bien comprendre pourquoi).

EDIT 3 : Ça marche nickel. Niveau conky, j’ai juste eu à rajouter le argb, pas le hints (je crois avoir lu que le type override rend les hints inutiles).

own_window yes own_window_class Conky own_window_colour 222222 own_window_type override own_window_transparent yes own_window_argb_visual yes

En tous cas merci, je vais enfin pouvoir mettre ça en fond d’écran ! licoti.deviantart.com/art/The-So … -157790647

même problème peux-tu expliquer un peu plus en détails ce que tu as fait ?

Dans le dossier des sources, on repère où traine ces GDK_DISPLAY avec : grep -r GDK_DISPLAY ./*
Ensuite, j’ai manuellement remplacé toutes ces occurences par gdk_display_get_default (attention, la commande renvoie deux occurences de GDK_DISPLAY_XDISPLAY qu’il ne faut pas modifier).

Ensuite tu compiles et c’est reglé.

Sinon il me reste quelques petits soucis, du genre je dois faire un killall au boot (le sleep 3 est peut-être pas assez).

Ok ça marche mais j’ai un bug:
Quand j’essai de faire afficher le cube de compiz nautilus bugue direct et redémarre et pas de cube… Dans log message j’ai :

le plus strange c’est que je viens de m’apercevoir que le bug n’interviens que quand je démarre la rotation ou l’affichage du cube avec le plugin de compiz “changement de bureau”, si je démarre avec “rotation du cube” ça marche :unamused:

Pour moi c’est un vrai problème car “changement de bureau” configuré pour démarrer avec un clic du milieu sait faire la différence entre un clic milieu dans une fenêtre ( : coller) ou un clic milieu sur le bureau ( : tourner le cube). Je n’arrive pas à retrouver ce comportement avec le plugin “rotation du cube”
j’ai essayé d’installer la version stable de libx11 avec les dev et de recompiler mais ça donne le même résultat… :confused:

des idées ? :115

Personnelement, je ne trouve pas ton plugin changement de bureau. Ma debian est en anglais et je vois pas de plugins qui ressemble à celui la donc j’ai pas pu tenter de reproduire le bug.
Le plugin est dans quelle section et ressemble à quoi ?

Et la mienne en allemand ! :041

J’avance : en fait rien à voir avec compiz, même ce dernier désactivé un clic du milieu sur le bureau entraîne un redemarage de nautilus… de même que tout roulement de roulette !
Je précise que je suis sur un portable et que tout ça est virtuel : le roulement est un défilement à deux doigts (merci synaptic) et le clic de milieu est un clic similtané sur les deux boutons… (j’ai pas de souris sous la main pour tester ça aujourd’hui…)

Ah ben je confirme !

J’ai pas mal de crashs de nautilus, et je me demandais d’où ça venait. Vu que je clique pas souvent sur le bureau, j’ai pas du tout fait le lien, mais avec ton post oui. Si on touche la roulette, que ce soit au touchpad ou à la souris, ça plante !
Des fois, ça crashe même avec un simple clic, c’est assez chiant d’ailleurs.

La question qui se pose est donc : est-ce spécifique à notre version avec les GDK_DISPLAY patchés ou pas ? Cluxter, ça plante chez toi aussi ?

Chez moi tout fonctionne sans aucun problème.

Mais je rappelle une chose très importante : ce patch est pour Debian Squeeze, autrement dit la branche Stable et uniquement celle-la. On est bien d’accord…?

bonjour

Je teste xwinrap avec rox-filer

xwinwrap -fs -ni -o 0.9 -d ROX-Filer -s -st -sp -nf -ov – mplayer -wid WID -quiet -nosound -loop 0 video/ss1.avi

C’est normal d’avoir les icones sous la video?
Le panel et cairo-docks se trouvent bien au-dessus

Ca existe un logiciel (ou extension) pour gérer les icones pour cairo-dock ou compiz? edit: et ainsi avoir des icones au-dessus la video

En ce qui me concerne et en l’état (wheezy 64 bits) + modif de cyphaw, c’est un vrai sac à bug inusable… :041 :wink:

Chez moi tout fonctionne sans aucun problème.

Mais je rappelle une chose très importante : ce patch est pour Debian Squeeze, autrement dit la branche Stable et uniquement celle-la. On est bien d’accord…?[/quote]

On est bien d’accord, mais on peut quand même tenter. Sous sid et wheezy, on est en 2.30.1-3, alors que sous squeeze, nautilus est en 2.30.1-2squeeze1. Le problème de compilations vient probablement de la.

Sinon, d’après le topic original, d’autres soucis pourraient venir du passage d’un boot normal au dependency-based boot (de mon coté, je suis obligé de faire un killall nautilus après un boot).

Vos icones , elles sont en-dessous ou au dessus la video? (même si on peut cliquer dessus)

Sinon pour compiler je préfére en faire un paquet avec une version supérieur à celle de debian.

Donc après debian/rules patch si on veut construire nautilus avec une autre version

dch -v 2.30.1-5 debian/changelog dpkg-buildpackage -rfakeroot -uc -b

Il suffit ensuite d’installer le (ou les) paquet(s)

cd ..
dpkg -i nautilus_2.30.1-5_amd64.deb  nautilus-data_2.30.1-5_all.deb

Par contre dés que la version de debian sera supérieur à 2.30.1-5 il faura recommencer.

Sous Debian Squeeze, elles sont au-dessus chez moi.

j’ai noté que l’ordre des options passée est important et parfois n’est pas pris en compte.
j’avais des problèmes avec g 288x154+960+40
Donc si vous aussi vous avez des problèmes essayez de changer l’ordre des options.

Voila ce que j’utilise finalement avec le bureau rox-filer:
xwinwrap -d rox-filer -sh circle -ov -ni -o 1 -s -st -nf -g 288x154+960+40 -b – mplayer -wid WID -quiet -nosound -loop 0 /home/limax/lavideo.mp4 &

Bonjour,

Savez-vous où en est le développement du patch pour GNOME Nautilus (v3.4.2) afin de pouvoir utiliser son bureau et ses icônes avec une vidéo d’arrière plan xwinwrap?