Bing Picture of the Day в качестве обоев для рабочего стола?


28

Может кто-нибудь помочь мне с тем, как сделать Bing Picture для обоев рабочего стола?

  • Так что это работает, загрузив высокое качество сегодняшней картинки.
  • Затем сохраните его ex в папке Picture вашей учетной записи.
  • После этого автоматически меняется сама картинка.
  • Это должно продолжаться так же каждый день без хлопот на заднем плане.
  • Вероятно, что-то, что я должен добавить в Startup Applications.
  • Есть ли различия между версиями Ubuntu?

-Я должен написать сценарий? Это будет оценено многими другими! Заранее спасибо :)


даже я хотел бы использовать это, но я считаю, что это невозможно ...
Sukupa91

thejandroman.github.io/bing-wallpaper это решает? Я лично не использовал это.
нитищ

Я пробовал выше ссылку с его инструкциями, из github, @nitish. Но это не сработало, поэтому я пытаюсь найти другие решения. Я получил сообщение об ошибке подключения к серверу GitHubs. Инструкции, где не так просто следовать за землей. У OMGUbuntu также есть HowTo, но даже тот тоже не удался ...
Амир Шахаб

Ответы:


21

Вероятно, самое простое, что нужно сделать, - это установить разнообразие . Это менеджер обоев, который действительно отлично справляется со сменой обоев с нужной вам частотой.

Вот некоторые из его настроек:

  • частота загрузки
  • частота смены изображения (раз в день, при каждой перезагрузке, каждую минуту, ...)
  • где вы хотите скачать ваши изображения из
  • где вы хотите хранить их на своем компьютере
  • цитаты (либо автоматически, либо из источника)
  • хорошие часы

Существует также настройка для запуска при входе в систему. Если вы включите это, а затем добавите свое изображение дня ( http://www.bing.com/images/search?q=picture+of+the+day&qpvt=picture+of+the+day&FORM=IGRE?), Все готово.

Его можно найти в центре программного обеспечения и он имеет рейтинг 5 *!

Вот несколько скриншотов:

введите описание изображения здесь введите описание изображения здесь введите описание изображения здесь


1
Разновидности не существует 14.04.
Агостон Хорват

нашел эти инструкции по установке Variety на 14.04 peterlevi.com/variety/how-to-install
Дуг Т.

Доступна 16.04, сделана с GTK, отлично работает с KDE.
Kwaadpepper

У сорта теперь есть встроенная опция для выбора Bing Photo of the Day.
Сандип C

15

Я написал небольшой скрипт для узла, который делает именно это: 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

Хорошо, это простое решение, которое работает для меня в Ubuntu 15
Jon Onstott

Я выполнил вышеуказанные шаги, но получил ошибку при использовании paper96@localhost:~$ bing-daily-wallpaper /usr/bin/env: ‘node’: No such file or directory @Dorian, можете ли вы сказать мне, что не так
Pankaj Gautam

@PankajGautam, потому что в новых версиях Ubuntu, когда вы выполняете apt-get install nodejsисполняемый файл узла, это на самом деле nodejsне nodeтак, если вы редактируете скрипт, sudo vim /usr/local/bin/bing-daily-wallpaperвы можете заменить первую строку nodeна, nodejsи она работает нормально.
0x7c0

8

Некоторое время назад я нашел следующий скрипт (я точно не помню, где в данный момент, но когда я найду, я также добавлю источник), который я немного изменил и который отлично работает для того, что вы спросили, если установить в качестве задания 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

куда добавить эту ссылку на картинку дня?
Speedox

@speedox Я не могу понять твой вопрос ...
Раду Радеану

3

Здесь приведен хороший скрипт, который по-прежнему хорошо работает на Ubuntu 14.04 (необходимо установить curl):

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

и я скопирую последнюю версию здесь:

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

2

Я проверил это некоторое время и, кажется, работает.

#!/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небезопасно, как я понимаю из этого .

Пожалуйста, прокомментируйте, если что-то пойдет не так.


Если скрипт работает (не протестирован), вы можете запускать его один раз в день (или когда захотите), используя задание cron. Посмотрите, например, на askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
Rmano

Я думаю, что было бы ненужно выполнять его чаще, чем раз в день. Кроме того, через день оно должно быть выполнено только один раз, когда установлено соединение с интернетом. Могут ли cron-задания это сделать? Можем ли мы знать, когда установлено соединение?
нитищ

все работы по проверке интернет-соединения, загрузке изображения, настройке фона рабочего стола и созданию журнала, указывающего, ожидает ли работа в течение дня или завершена, должны выполняться вашим сценарием; в то время как cron будет обрабатывать вызов сценария в соответствии с вашими потребностями ..
точное время

Для лучшей переносимости замените последнюю строку ( gsettings set org.gnome.desktop.background picture-uri 'file:///home/YourName/dwallpaper') на gsettings set org.gnome.desktop.background picture-uri ` echo "'file:///home/$USER/dwallpaper'" `
totti

2

Вот мой инструмент для загрузки новейших обоев от Bing и установки их в качестве обоев для рабочего стола. Вы можете проверить это https://github.com/bachvtuan/Bing-Linux-Wallpaper


Пожалуйста, включите в ответ как минимум инструкции по установке и использованию.
Муру

@ParanoidPanda Это ссылка на исходную страницу. Если он умрет, то этот ответ в любом случае будет недействительным.
Sparhawk

0

Я искал ответ, но не нашел, поэтому написал скрипт для установки обоев Bing. Вот сценарий ...

#! / Bin / ш

ping -q -c5 bing.com

если [$? -экв. 0]

тогда

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
img_name = $ (grep -o 'src = "[^"] * "' bing.txt | grep -o '[^ /] *. jpg')
pwdPath = $ (PWD)
picPath = "/ home / ВАШЕ ИМЯ ПОЛЬЗОВАТЕЛЯ / Картинки / Обои"
cp $ pwdPath "/" $ img_name $ picPath
gsettings set org.gnome.desktop.background picture-uri "file: //" $ picPath "/" $ img_name

спать 10
rm $ img_name
rm bing.txt 
фи
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.