web-dev-qa-db-fra.com

Image Bing du jour comme fond d'écran?

Quelqu'un peut-il m'aider avec comment faire de Bing Picture sur mon fond d'écran?

  • Donc, cela fonctionne en téléchargeant la plus haute qualité d'image d'aujourd'hui.
  • Puis stockez-le ex dans le dossier Picture de votre compte.
  • Après cela, changer automatiquement l'image elle-même.
  • Il devrait continuer la même chose tous les jours sans tracas en arrière-plan.
  • Probablement quelque chose que je dois ajouter dans les applications de démarrage.
  • Des différences entre les versions d'Ubuntu?

-Dois-je écrire un script? Ce serait apprécié par beaucoup d'autres aussi! Merci d'avance :)

28
Amir Shahab

La chose la plus facile à faire serait probablement d’installer variété . C'est un gestionnaire de papier peint qui fait vraiment un excellent travail pour changer votre fond d'écran à la fréquence souhaitée.

Voici certains de ses paramètres:

  • la fréquence du téléchargement
  • la fréquence de changement d'image (une fois par jour, à chaque redémarrage, à chaque minute, ...)
  • où vous voulez télécharger vos images
  • où vous voulez les stocker sur votre ordinateur
  • citations (soit automatiquement, soit à partir d'une source)
  • une belle horloge.

Il existe également un paramètre pour l'exécuter à la connexion. Si vous activez cela et ajoutez ensuite votre image bing du jour (http://www.bing.com/images/search?q=picture+of+the+day&qpvt=picture+of+the+day&FORM=IGRE?), Vous êtes prêt.

Il se trouve dans la logithèque et il est classé 5 *!

Voici quelques captures d'écran:

enter image description hereenter image description hereenter image description here

21
don.joey

J'ai écrit un petit script de noeud qui fait exactement cela: https://github.com/dorian-marchal/bing-daily-wallpaper

Pour l'installer, vous aurez besoin de nodejs:

Sudo apt-get install nodejs npm

Installation:

Dans la ligne de commande, exécutez:

Sudo npm install -g bing-daily-wallpaper

Utilisation:

Pour changer le papier peint, faites (vous pouvez ajouter cette commande à vos applications de démarrage):

bing-daily-wallpaper
15
Dorian Marchal

Il y a quelque temps, j'ai trouvé le script suivant (je ne me souviens pas exactement de l'endroit où il se trouve, mais quand je trouverai, j'ajouterai le code source également) lequel j'ai légèrement modifié et qui fonctionne parfaitement pour ce que vous avez demandé définir comme un travail cron (voir ici comment faire cela):

#!/bin/bash

# export DBUS_SESSION_BUS_ADDRESS environment variable useful when the script is set as a cron job
PID=$(pgrep gnome-session)
export DBUS_SESSION_BUS_ADDRESS=$(grep -z DBUS_SESSION_BUS_ADDRESS /proc/$PID/environ|cut -d= -f2-)


# $bing is needed to form the fully qualified URL for
# the Bing pic of the day
bing="www.bing.com"

# $xmlURL is needed to get the xml data from which
# the relative URL for the Bing pic of the day is extracted
#
# The mkt parameter determines which Bing market you would like to
# obtain your images from.
# Valid values are: en-US, zh-CN, ja-JP, en-AU, en-UK, de-DE, en-NZ, en-CA.
#
# The idx parameter determines where to start from. 0 is the current day,
# 1 the previous day, etc.
xmlURL="http://www.bing.com/HPImageArchive.aspx?format=xml&idx=1&n=1&mkt=en-US"

# $saveDir is used to set the location where Bing pics of the day
# are stored.  $HOME holds the path of the current user's home directory
saveDir="$HOME/Pictures/BingDesktopImages/"

# Create saveDir if it does not already exist
mkdir -p $saveDir

# Set picture options
# Valid options are: none,wallpaper,centered,scaled,stretched,zoom,spanned
picOpts="zoom"

# The desired Bing picture resolution to download
# Valid options: "_1024x768" "_1280x720" "_1366x768" "_1920x1200"
desiredPicRes="_1366x768"

# The file extension for the Bing pic
picExt=".jpg"

# Extract the relative URL of the Bing pic of the day from
# the XML data retrieved from xmlURL, form the fully qualified
# URL for the pic of the day, and store it in $picURL

# Form the URL for the desired pic resolution
desiredPicURL=$bing$(echo $(curl -s $xmlURL) | grep -oP "<urlBase>(.*)</urlBase>" | cut -d ">" -f 2 | cut -d "<" -f 1)$desiredPicRes$picExt

# Form the URL for the default pic resolution
defaultPicURL=$bing$(echo $(curl -s $xmlURL) | grep -oP "<url>(.*)</url>" | cut -d ">" -f 2 | cut -d "<" -f 1)

# $picName contains the filename of the Bing pic of the day

# Attempt to download the desired image resolution. If it doesn't
# exist then download the default image resolution
if wget --quiet --spider "$desiredPicURL"
then

    # Set picName to the desired picName
    picName=${desiredPicURL##*/}
    # Download the Bing pic of the day at desired resolution
    curl -s -o $saveDir$picName $desiredPicURL
else
    # Set picName to the default picName
    picName=${defaultPicURL##*/}
    # Download the Bing pic of the day at default resolution
    curl -s -o $saveDir$picName $defaultPicURL
fi

# Set the GNOME3 wallpaper
gsettings set org.gnome.desktop.background picture-uri "file://$saveDir$picName"

# Set the GNOME 3 wallpaper picture options
gsettings set org.gnome.desktop.background picture-options $picOpts

# Remove pictures older than 30 days
#find $saveDir -atime 30 -delete

# Exit the script
exit
8
Radu Rădeanu

Un script Nice est listé ici et fonctionne encore sur Ubuntu 14.04 (curl doit être installé):

http://ubuntuforums.org/showthread.php?t=2074098

et je vais copier la dernière version ici:

#!/bin/bash

# $bing is needed to form the fully qualified URL for
# the Bing pic of the day
bing="www.bing.com"

# $xmlURL is needed to get the xml data from which
# the relative URL for the Bing pic of the day is extracted
#
# The mkt parameter determines which Bing market you would like to
# obtain your images from.
# Valid values are: en-US, zh-CN, ja-JP, en-AU, en-UK, de-DE, en-NZ, en-CA.
#
# The idx parameter determines where to start from. 0 is the current day,
# 1 the previous day, etc.
xmlURL="http://www.bing.com/HPImageArchive.aspx?format=xml&idx=0&n=1&mkt=en-US"

# $saveDir is used to set the location where Bing pics of the day
# are stored.  $HOME holds the path of the current user's home directory
saveDir=$HOME'/Pictures/BingDesktopImages/'

# Create saveDir if it does not already exist
mkdir -p $saveDir

# Set picture options
# Valid options are: none,wallpaper,centered,scaled,stretched,zoom,spanned
picOpts="zoom"

# The desired Bing picture resolution to download
# Valid options: "_1024x768" "_1280x720" "_1366x768" "_1920x1200"
desiredPicRes="_1920x1200"

# The file extension for the Bing pic
picExt=".jpg"

# Extract the relative URL of the Bing pic of the day from
# the XML data retrieved from xmlURL, form the fully qualified
# URL for the pic of the day, and store it in $picURL

# Form the URL for the desired pic resolution
desiredPicURL=$bing$(echo $(curl -s $xmlURL) | grep -oP "<urlBase>(.*)</urlBase>" | cut -d ">" -f 2 | cut -d "<" -f 1)$desiredPicRes$picExt

# Form the URL for the default pic resolution
defaultPicURL=$bing$(echo $(curl -s $xmlURL) | grep -oP "<url>(.*)</url>" | cut -d ">" -f 2 | cut -d "<" -f 1)

# $picName contains the filename of the Bing pic of the day

# Attempt to download the desired image resolution. If it doesn't
# exist then download the default image resolution
if wget --quiet --spider "$desiredPicURL"
then

    # Set picName to the desired picName
    picName=${desiredPicURL##*/}
    # Download the Bing pic of the day at desired resolution
    curl -s -o $saveDir$picName $desiredPicURL
else
    # Set picName to the default picName
    picName=${defaultPicURL##*/}
    # Download the Bing pic of the day at default resolution
    curl -s -o $saveDir$picName $defaultPicURL
fi

# Set the GNOME3 wallpaper
DISPLAY=:0 GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri '"file://'$saveDir$picName'"'

# Set the GNOME 3 wallpaper picture options
DISPLAY=:0 GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-options $picOpts

# Exit the script
exit
3
Xebozone

Voici mon outil pour télécharger les derniers papiers peints de Bing et le définir comme fond d'écran. Vous pouvez le vérifier https://github.com/bachvtuan/Bing-Linux-Wallpaper

2
Tuan Bach Van

J'ai vérifié cela pendant un moment et semble fonctionner.

#!/bin/bash
cd 
rm ./dodo.html
wget --no-proxy --output-document=dodo.html http://www.bing.com
rm ./dwallpaper.jpg
wget --no-proxy --output-document=dwallpaper `sed -n "s/^.*g_img *= *{ *url:'\([^']*\)'.*$/\1/p" < dodo.html | sed 's/^&quot;\(.*\)&quot;$/\1/' | sed 's/^\/\(.*\)/http:\/\/www.bing.com\/\1/'`
rm ./dodo.html
gsettings set org.gnome.desktop.background picture-uri 'file:///home/YourName/dwallpaper'

Si vous travaillez avec un proxy, supprimez --no-proxy des lignes 4 et 6 et, au lieu de YourName, insérez le nom de votre dossier personnel.

Enregistrez-le en tant que script, rendez-le exécutable, puis exécutez-le chaque fois que vous souhaitez que le fond d'écran soit mis à jour.

Je ne sais pas comment exécuter cela en toute sécurité au démarrage. Ajouter ceci à rc.local n'est pas sans danger si je comprends bien this .

Veuillez commenter si quelque chose ne va pas.

2
nitishch

J'ai cherché une réponse, mais je ne l'ai pas trouvée. J'ai donc écrit un script pour définir le fond d'écran de Bing. Voici le script ...

 #!/bin/sh 
 
 ping -q -c5 bing.com 
 
 si [$? -eq 0] 
 
 puis 
 
 wget "http://www.bing.com/HPImageArchive.aspx?format=rss&idx=0&n=1&mkt=en -US "-O bing.txt 
 Img_result = $ (grep -o 'src =" [^ "] *"' bing.txt | grep -o '/.*.jpg')
 wget "http://www.bing.com" $ img_result 
 nom_img = = (grep -o 'src = "[^"] * "' bing.txt | grep -o '[^ /] * .jpg ') 
 pwdPath = $ (pwd) 
 picPath = "/ home/VOTRE NOM/Images/Fonds d'écran" 
 cp $ pwdPath "/" $ img_name $ picPath 
 gsettings set org.gnome.desktop.background picture-uri "fichier: //" $ picPath "/" $ img_name 
 
 sommeil 10 
 rm $ img_name 
 rm bing.txt 
 fi 
0
Himanshu Soni