将 Bing 每日图片设为桌面壁纸?

将 Bing 每日图片设为桌面壁纸?

谁能帮我将 Bing 图片设为桌面壁纸?

  • 因此,它通过下载当今最高质量的图片来实现。
  • 然后将其存储在您帐户的图片文件夹中。
  • 此后图片本身自动改变。
  • 它应该每天都继续做同样的事情,而不会在后台带来麻烦。
  • 我可能必须在启动应用程序中添加一些内容。
  • Ubuntu 各个版本之间有什么区别吗?

-我必须写一个脚本吗?这也将受到很多人的赞赏!提前谢谢您 :)

答案1

可能最简单的事情就是安装种类. 这是一款壁纸管理器,它真的出色的按照您想要的频率更改壁纸。

以下是它的一些设置:

  • 下载频率
  • 更改图像的频率(每天一次、每次重启时、每分钟一次......)
  • 你想从哪里下载图片
  • 你想将它们存储在计算机上的什么位置
  • 引述(自动或来自来源)
  • 一个漂亮的钟。

还有一个设置可以在登录时运行它。如果您启用该设置,然后添加当天的 Bing 图片网址 ( http://www.bing.com/images/search?q=picture+of+the+day&qpvt=picture+of+the+day&FORM=IGRE?),一切就绪了。

它可以在软件中心找到,并且有 5* 评级!

以下是一些截图:

在此处输入图片描述 在此处输入图片描述 在此处输入图片描述

答案2

我编写了一个小节点脚本,它的作用正是如此:https://github.com/dorian-marchal/bing-daily-wallpaper

要安装它,你需要 nodejs:

sudo apt-get install nodejs npm

安装 :

在命令行中运行:

sudo npm install -g bing-daily-wallpaper

用法 :

要更改壁纸,请执行以下操作(您可以将此命令添加到启动应用程序中):

bing-daily-wallpaper

答案3

前段时间,我找到了以下脚本(我不记得具体在哪里了,但当我找到时,我也会添加源代码),我对这个脚本做了一些修改,对于你要求的是否设置为 cron 作业来说,这个脚本运行得很好(见这里这个怎么做):

#!/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

答案4

我检查了一段时间,似乎有效。

#!/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'

如果您在代理下工作,请--no-proxy从第 4 行和第 6 行中删除,并在 的位置YourName输入您的主文件夹的名称。

将其保存为某些脚本,使其可执行,然后在您想要更新壁纸时执行它。

我不知道如何在启动时安全地执行此操作。rc.local据我所知,将其添加到并不安全

如果有任何问题,请发表评论。

相关内容