Bonjour Madame sur votre bureau Linux

Bonjour Madame

Noël approche et vous avez très certainement terminé de rédiger votre liste de cadeaux au Père Noël. Mais les meilleurs cadeaux sont bien sûr ceux que l’on attend pas. C’est pourquoi, Magetys vous offre un jolie cadeau pour Noël !

Vous connaissez très certainement le site BonjourMadame, le site qui tous les matins à 10h propose une photo d’une jolie fille! Et bien Magetys a développé un petit script bash pour que la jeune demoiselle arrive directement en fond d’écran sur votre bureau. Le script fonctionne pour les distributions Linux ayant un environnement de bureau Gnome ou Xfce.

Vous pouvez télécharger le script ici : BonjourMadame v1.0.1

Pensez à rendre le script exécutable

sudo chmod a+x bonjourMadame

Pour être sûr de toujours être à jour, vous pouvez faire s’exécuter le script au démarrage de votre ordinateur en allant dans le menu :

Système -> Préférences -> Applications au démarrage

Et pour vraiment parfaire le concept, vous pouvez faire exécuter le script grâce à une tâche Cron. Pour ceux qui ne connaissent pas, Cron est un programme qui permet d’executer automatiquement des scripts, des commandes ou des logiciels à une date et une heure spécifiée à l’avance.

Pour créer une nouvelle tâche, exécuter la commande :

crontab -e

Cette commande permet d’éditer un fichier à l’aide d’un éditeur de texte défini à la première exécution de crontab. Ajoutez alors cette ligne dans le fichier crontab :

5 10 * * * /.../bonjourMadame

Cette commande permet d’exécuter le script à l’adresse spécifiée tous les jours à 10H05.

Fermez et sauvegardez le fichier. Pour vérifier que la tâche Cron a bien été ajoutée. Vous pouvez exécuter la commande :

crontab -l

Joyeux Noël !

ps: si vous êtes plutôt un utilisateur de mac rendez-vous ici : Bonjour Madame sur Mac

36 réflexions au sujet de « Bonjour Madame sur votre bureau Linux »

  1. Quelques ligne à ajouter pour resize l’image en fonction de la résolution de l’écran

    Dependency : imagemagick

    code a ajouter :
    function resize
    {

    res=$(xdpyinfo | grep ‘dimensions:’ | awk ‘{print $2}’);

    arr=$(echo $res | tr « x » « \n »);

    tailleX=$(echo $arr | awk ‘{print $1}’);
    tailleY=$(echo $arr | awk ‘{print $2}’);

    res=`identify $1 | awk ‘{print $3}’ `;

    arr=$(echo $res | tr « x » « \n »);

    imgX=$(echo $arr | awk ‘{print $1}’);
    imgY=$(echo $arr | awk ‘{print $2}’);

    if [[ $tailleX -gt $imgX ]]
    then
    finalX=$imgX;
    else
    finalX=$tailleX;
    fi

    if [[ $tailleY -gt $imgY ]]
    then
    finalY=$imgY;
    else
    finalY=$tailleY;
    fi

    res=$finalX’x'$finalY;

    `mogrify -resize $res $1`;
    }

    if [[ -e /usr/bin/identify ]]
    then
    resize $todaywp;
    echo Photo Resize OK;
    fi

  2. Cool ! Un programme certainement bien sympathique… Si on arrive à l’installer :P En tant qu’utilisateur débutant, que dois-je faire de ce code ? Je le colle dans un terminal ? Si je fais ça, voici ce que donne la ligne suivante :

    sudo chmod a+x bonjourMadame
    [sudo] password for je:
    chmod: ne peut accéder `bonjourMadame’: Aucun fichier ou dossier de ce type

    :/

  3. Il faut que tu télécharges le fichier bonjourMadame sur le site, c’est un script bash, tu le copies où tu veux sur ton disque dur par exemple dans :
    /home/ton_login/scripts/

    ensuite, dans une console, tu rends le script exécutable, tu écris donc la commande chmod vers le fichier bonjourMadame que tu as téléchargé :
    sudo chmod a+x /home/ton_login/scripts/bonjourMadame
    il faudra que tu indiques ton mot de passe parce que tu es passé en superutilisateur avec la commande sudo

    et ensuite, pour lancer le script, il faut utiliser la commande bash :
    bash /home/ton_login/scripts/bonjourMadame

  4. Ping : Bonjour Madame en fond d’écran sur votre Mac ! | Magetys

  5. Salut a tous !
    Merci pour cette petite merveille qui a fonctionné chez moi jusqu’à maintenant.
    Mais j’ai un petit pépin. En effet après avoir changé le répertoire de mon script et évidement changé tout les chemins correspondants (applications au démarrage et crontab) je me suis retrouvé avec un .jpg de 0 octet et donc plus de fond d’écran…
    J’ai alors tout recommencé depuis le début (suppression du scrip, du crontab, de l’appli au démarrage et refaisage) évidement rien n’y fait.
    Je pleure, je pleure, mais alors beaucoup beaucoup (surtout que celle d’aujourd’hui est vraiment pas mal du tout…)
    Une petite soluc please !!! Merci d’avance !

  6. Salut rug !

    Effectivement le script Linux semble ne pas avoir fonctionné sur la madame d’hier. Nos meilleurs ingénieurs sont sur le coup (haha). Bon en fait la madame d’hier était un png et le script ne récupérait que les jpeg… arggg l’erreur de noob. C’est corrigé !

    Merci pour ton retour !

  7. GG a vous, initiative très simpa, merci de ramené de la chaleur sur la banquise avec ces charmantes demoiselles.
    J’orai pu faire le script, mais a vrai dire je suis feneant, suis encore sur liferea et surtout je n’y ai pas pensé …
    Sinon un peu hs la question, que fais le widget android, il change de bureau tous les jours aussi ?.
    Bonne continuation et Bonjour Madame ;).

  8. Bonsoir !! tout d’abord, bravo pour ce script c’est très utile et très fun !
    par contre, je trouve, personnellement, gênant que ça change le fond d’écran. donc je me demandais si c’était possible une version du script qui, au lieu de remplacer le fond d’écran, afficherai la Madame du jour sur le bureau, comme un widjet. ( ce qui veut dire coordonnée x et y, dimensions de l’image tout ça mais vous vous en doutez ) car je ne sait pas le réaliser moi même : /
    merci d’avance !
    Le6barbare

  9. Salut !

    As tu essayé de télécharger le widget que tu peux trouver dans la partie ‘application’ de bonjourmadame (rubrique ‘pc et mac’) ? A priori ça devrait fonctionner sous linux vue que c’est du adobe air.

  10. Bonjour a tous !
    Suite a l’apparition de nouveaux sites dans le genre (bonjour poney, bonjour le chat) je me demandais si on ne pouvais pas adapter le script.
    Suffit-il de modifier la ligne 45 pour le nom du fichier et la 52 pour que tout fonctionne?
    En tout cas la partie développée par Batiste dans le premier commentaire est toujours d’actualité ! Je la trouve indispensable !
    Merci a tous !

  11. Salut !
    C’est encore moi !! :p
    Une petite idée pour que l’image ne soit pas coupée sur un TwinView avec 2 écrans??
    Genre est-il possible de doubler l’image? ainsi d’avoir 2 madames pour le prix d’une? :)

  12. Bonjour,
    J’ai pas bien compris ou il faut rajouter la fonction resize dans le programme …
    Pouvez vous m’aider ?

    Et merci pour ce petit script !

  13. La fonction resize est pas très utile si on utilise Gnome puisqu’une option des arrières-plans (« Redimensionné ») fait déjà ce travail. j’imagine qu’il en est de même pour Xfce4.
    En revanche, elle devient utile si vous voulez rajouter à la fin (avant le fi) par exemple :

    elif[ $(which fbsetbg) ]
    then
    resize $todaywp
    fbsetbg -f $todaywp

    C’est à dire élargir le support à Fluxbox.
    cependant j’opterais pour une version de cette fonction qui conserve les proportions de l’image. D’où cette version (inspirée de celle de Baptiste) :

    resize () {
    if [[ ! -e /usr/bin/identify ]]
    then
    echo « missing dependancy imagemagick »
    return 1
    fi

    res=`xdpyinfo | grep « dimensions: » | awk ‘{print $2 }’`
    maxX=`echo $res | awk -F x ‘{print $1}’`
    maxY=`echo $res | awk -F x ‘{print $2}’`

    res=`identify $1 | awk ‘{print $3 }’`
    imgX=`echo $res | awk -F x ‘{print $1}’`
    imgY=`echo $res | awk -F x ‘{print $2}’`

    newX=$maxX
    let « newY=$imgY*$newX/$imgX »

    if [ $newY -gt $maxY ]
    then
    newY=$maxY
    let « newX=$imgX*$newY/$imgY »
    fi

    res=$newX »x »$newY

    mogrify -resize $res $1
    echo « Photo resized OK »
    }

    @ Gogouz : Pour ce qui est de l’insérer dans le script, on peut la mettre avec les autres fonctions (fixdbus, notify) au début du fichier. il faut ensuite l’appeler « resize $todaywp » avant de modifier le wallpaper.

  14. Script modifier pour ceux qui ont un proxy et pour ceux qui veulent que l’image soit resize en ETENDU car en etirer c’est moche sur certaine photo.
    Et modification de la notification.
    Marche sur la derniere version de Linux !
    A modifier : TON_PROXY, LOGIN, PASSWORD, PSEUDO

    #!/bin/bash

    ###########################################
    #
    # Get the daily picture from http://www.bonjourmadame.fr on your desktop
    #
    # Author : Magetys
    # Link : http://www.magetys.com
    # Version : 1.0.1
    # Dependency : libnotify-bin
    # Note : Works on Gnome and Xfce
    #
    ###########################################

    function chkinternet {
    if [ `wget --proxy-user=LOGIN --proxy-password=PASSWORD -q -O - google.com | grep -c "Google"` != 0 ]
    then
    echo 1
    else
    echo 0
    fi
    }

    function fixdbus {
    export DISPLAY=0

    while read line
    do
    echo $line | grep -vqe « ^# »
    if [ $? -eq 0 ]; then export $line; fi
    done < ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-$DISPLAY

    echo Dbus fixed OK
    }

    # please install libnotify-bin to popup notification

    function notify {
    unset http_proxy
    if [[ -e /usr/bin/notify-send ]]
    then
    notify-send "Bonjour PSEUDO" "Je suis arrivée sur ton bureau et je suis toute a toi" -i $todaywp
    fi
    }

    export http_proxy='TON_PROXY'

    fileprefix=$HOME/Images/bonjourmadame-wp-

    todaywp=$fileprefix$(date +%y-%m-%d-%H-%M).jpg

    while [ $(chkinternet) != "1" ]; do sleep 15; done
    echo Internet connection OK

    wget –proxy-user=LOGIN –proxy-password=PASSWORD -O – http://www.bonjourmadame.fr | grep -Eo "(http://www.bonjourmadame.fr/photo/^\"]+)|(http://0-9+.media.tumblr.com/tumblr^\"]+)" | head -n 1 | wget –\
    proxy-user=LOGIN –proxy-password=PASSWORD -q -i – -O $todaywp
    echo Photo downloaded OK

    ls $fileprefix* | sort -r | tail -n +2 | xargs rm -f

    fixdbus

    if [[ -e /usr/bin/xfconf-query ]]
    then
    xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/image-path -s $todaywp
    elif [[ -e /usr/bin/gconftool-2 ]]
    then
    gconftool-2 –type string –set /desktop/gnome/background/picture_filename $todaywp
    gconftool-2 –type string –set /desktop/gnome/background/picture_options spanned
    fi

    notify

  15. J’aurai rajouter un petit « mkdir -p $HOME/Images », perso sur Debian je l’avais pas mais bon, c’est vraiment pour faire le tatillon.
    Sinon, ENORME appli :)
    Merci beaucoup.

  16. Ping : Devo.fr

  17. Ping : Bonjour Madame en Wallpaper sur Android | Magetys

  18. Hello,

    J’imagine que certains d’entre vous qui utilisent cette magnifique appli se sont retrouvés avec un petit problème : la photo downloadée n’est plus la madame du jour, mais les goodies … pas top comme madame …

    Bref le petit trick :
    dans le code il faut remplacer la ligne :
    wget -O – http://www.bonjourmadame.fr | grep -Eo « (http://www.bonjourmadame.fr/photo/^\ »]+)|(http://0-9+.media.tumblr.com/tumblr^\ »]+) » | head -n 1 | wget -q -i – -O $todaywp
    par :
    wget -O – http://www.bonjourmadame.fr | grep -Eo « (http://www.bonjourmadame.fr/photo/^\ »]+)|(http://0-9+.media.tumblr.com/tumblr^\ »]+) » | head -n 2 | tail -1 | wget -q -i – -O $todaywp

    En fait il faut remplacer le head -n 1 par head -n 2 | tail -1

    En espérant que ça vous aide :)

    Encore merci pour cette application.

  19. Petite modification du script pour les utilisateur de fluxbox :

    #!/bin/bash

    ###########################################
    #
    # Get the daily picture from http://www.bonjourmadame.fr on your desktop
    #
    # Author : Magetys, modified by zobi8225
    # Link : http://www.magetys.com
    # Version : 1.0.1
    # Dependency : libnotify-bin
    # Note : Works on fluxbox
    #
    ###########################################

    function chkinternet {
    if [ `wget -q -O - google.com | grep -c "Google"` != 0 ]
    then
    echo 1
    else
    echo 0
    fi
    }

    function fixdbus {
    export DISPLAY=0

    while read line
    do
    echo $line | grep -vqe « ^# »
    if [ $? -eq 0 ]; then export $line; fi
    done < ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-$DISPLAY

    echo Dbus fixed OK
    }

    # please install libnotify-bin to popup notification
    function notify {
    if [[ -e /usr/bin/notify-send ]]
    then
    notify-send "Bonjour $USER" "Je suis arrivée sur ton bureau" -i $todaywp
    fi
    }
    #fileprefix=$HOME/Images/bonjourmadame-wp-
    fileprefix=$HOME/.script/bjmimage/bjm

    #todaywp=$fileprefix$(date +%y-%m-%d-%H-%M).jpg
    todaywp=$fileprefix.jpg

    while [ $(chkinternet) != "1" ]; do sleep 15; done
    echo Internet connection OK

    wget -O – http://www.bonjourmadame.fr | grep -Eo "(http://www.bonjourmadame.fr/photo/^\"]+)|(http://0-9+.media.tumblr.com/tumblr^\"]+)" | head -n 1 | wget -q -i – -O $todaywp
    echo Photo downloaded OK

    ls $fileprefix* | sort -r | tail -n +2 | xargs rm -f

    fbsetbg -a $HOME/.script/bjmimage/bjm.jpg

    notify

  20. Bonjour,
    Je suis actuellement sur ubuntu 11.04. Pourriez vous mettre le lien pour que je puisse juste faire un coller dans le terminal. Pour qu’il soit redimesionner correctement et à jour tous les jours automatiquement.
    Merci !

  21. Pour les utilisateurs de Gnome 3 :

    #!/bin/bash

    ###########################################
    #
    # Get the daily picture from http://www.bonjourmadame.fr on your desktop
    #
    # Author : Magetys
    # Improve by : Xire
    # Link : http://www.magetys.com
    # Version : 1.0.1
    # Dependency : libnotify-bin
    # Note : Works on Gnome and Xfce
    #
    ###########################################

    function chkinternet {
    if [ `wget -q -O - google.com | grep -c "Google"` != 0 ]
    then
    echo 1
    else
    echo 0
    fi
    }

    function fixdbus {
    export DISPLAY=0

    while read line
    do
    echo $line | grep -vqe « ^# »
    if [ $? -eq 0 ]; then export $line; fi
    done < ~/.dbus/session-bus/$(cat /var/lib/dbus/machine-id)-$DISPLAY

    echo Dbus fixed OK
    }

    # please install libnotify-bin to popup notification
    function notify {
    if [[ -e /usr/bin/notify-send ]]
    then
    notify-send "Bonjour $USER" "Je suis arrivée sur ton bureau" -i $todaywp
    fi
    }

    fileprefix=$HOME/Images/bonjourmadame-wp-

    while [ $(chkinternet) != "1" ]; do sleep 15; done

    echo Internet connection OK

    link=$(wget -O – http://www.bonjourmadame.fr | grep -Eo "(http://www.bonjourmadame.fr/photo/^\"]+)|(http://0-9+.media.tumblr.com/tumblr^\"]+)")

    length=${#link}

    format=${link:($longueur – 3):3}

    todaywp=$fileprefix$(date +%y-%m-%d-%H-%M).$format

    wget -O – http://www.bonjourmadame.fr | grep -Eo "(http://www.bonjourmadame.fr/photo/^\"]+)|(http://0-9+.media.tumblr.com/tumblr^\"]+)" | head -n 2 | tail -1 | wget -q -i – -O $todaywp

    echo Photo downloaded OK

    ls $fileprefix* | sort -r | tail -n +2 | xargs rm -f

    fixdbus

    gsettings set org.gnome.desktop.background picture-uri "file:///".$todaywp

    notify

  22. Bonjour,

    Je suis un nouvel utilisateur de Kubuntu (11.10 x64) et j’avais envie d’accéder à bonjour madame, afin de faire apparaître la photo dans une « petite » fenêtre.

    J’ai copié le script et l’ai enregistré en format .asc dans mon dossier Documents/scripts.

    J’ai fais le chmod a+x sur le dossier scripts

    J’ai fais un crontab -e, et j’ai choisi nano. J’ai ajouté la ligne indiquée.J’ai tenté plusieurs chemins pour accéder ~/Documents/scripts/bonjourMadame;… J’ai fais ctrl+o pour sauvegarder => enter.

    crontab -l il apparâit bien. 5 10 * * * /~/Documents/scripts/bonjourMadame

    => je suis allé dans configuration du système => avancé => démarrage et j’ai ajouté le script bonjourMadame et ai indiqué qu’il devait s’exécuter au démarrage.

    Mais lorsque je reboot ma session ou mon pc; il ne se passe absolument rien.

    Que dois-je faire pour avoir une fenêtre qui s’ouvre sur le bureau au démarrage ?

    Merci d’avance pour l’aide que vous pourrez m’apporter. Et désolé, mais étant nouveau, j’ai encore du mal avec l’outil complet que représente linux.

  23. Juste pour prévenir que j’ai trouvé un « paquet » photo of day pour kde malheureusement, le lien vers le paquet debian était mort; mais j’ai pris le source et une petite compilation (ma première) plus tard, j’avais un nouveau plasmoïd… ;)

    Désolé par contre pour les éventuels suivants, j’ai pas noté le lien du site… :’(

    Kde + Photo of day + sources
    cela devrait vous aider dans google…

  24. Petite question …
    Il y a t’il moyen de modifier le script afin de récupérer la photo, lorsqu’elle est disponible au format 1280 ?

    Merci d’avance,

  25. @Maxime avec du retard
    j’ai modifié le script avec un « tail -n 1″ en lieu et place de « head -n 1″

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Vous pouvez utiliser ces balises et attributs HTML : <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>