Bing Picture of the Day เป็นภาพพื้นหลังของ Desktop?


28

มีใครช่วยฉันได้บ้างในการทำให้ Bing Picture เป็น Desktop Wallpaper ของฉัน?

  • ดังนั้นจึงทำงานได้โดยการดาวน์โหลดรูปภาพคุณภาพสูงสุดในปัจจุบัน
  • จากนั้นเก็บไว้ในโฟลเดอร์รูปภาพของบัญชีของคุณ
  • หลังจากนั้นเปลี่ยนภาพโดยอัตโนมัติ
  • ควรดำเนินการเหมือนเดิมทุกวันโดยไม่ต้องวุ่นวายกับพื้นหลัง
  • อาจเป็นสิ่งที่ฉันต้องเพิ่มในแอปพลิเคชันเริ่มต้น
  • ความแตกต่างระหว่าง Ubuntu รุ่นใดบ้าง

- ฉันต้องเขียนสคริปต์หรือไม่ นี้จะได้รับการชื่นชมจากคนอื่น ๆ อีกมากมายเช่นกัน! ขอบคุณล่วงหน้า :)


แม้ว่าฉันจะชอบที่จะใช้สิ่งนี้ แต่ฉันเชื่อว่ามันเป็นไปไม่ได้ ..
Sukupa91

thejandroman.github.io/bing-wallpaperสิ่งนี้แก้ไขได้หรือไม่ โดยส่วนตัวฉันไม่ได้ใช้สิ่งนี้
nitishch

ฉันได้ลองลิงค์ด้านบนก่อนหน้านี้พร้อมคำแนะนำจาก github, @nitish แต่มันใช้งานไม่ได้ดังนั้นฉันจึงพยายามหาวิธีแก้ปัญหาอื่น ๆ ฉันได้รับข้อผิดพลาดเกี่ยวกับความล้มเหลวในการเชื่อมต่อกับเซิร์ฟเวอร์ GitHubs คำแนะนำที่ไม่ง่ายต่อการติดตามอีกต่อไป OMGUbuntu ยังมี HowTo แต่ถึงอย่างนั้นก็ล้มเหลว ...
Amir Shahab

คำตอบ:


21

น่าจะเป็นสิ่งที่ง่ายที่สุดที่จะทำจะต้องติดตั้งหลากหลาย มันเป็นผู้จัดการวอลล์เปเปอร์ติดผนังที่ทำงานได้ยอดเยี่ยมในการเปลี่ยนวอลล์เปเปอร์ตามความถี่ที่คุณต้องการ

นี่คือการตั้งค่าบางอย่าง:

  • ความถี่ของการดาวน์โหลด
  • ความถี่ในการเปลี่ยนภาพ (วันละครั้งทุกครั้งที่รีบูตทุกนาที ... )
  • ตำแหน่งที่คุณต้องการดาวน์โหลดภาพจาก
  • ที่คุณต้องการเก็บไว้ในคอมพิวเตอร์ของคุณ
  • เครื่องหมายคำพูด (อัตโนมัติหรือจากแหล่งที่มา)
  • นาฬิกาที่ดี

นอกจากนี้ยังมีการตั้งค่าให้เรียกใช้เมื่อเข้าสู่ระบบ หากคุณเปิดใช้งานนั้นแล้วเพิ่มอิมเมจ bing ของ URL วัน ( http://www.bing.com/images/search?q=picture+of+the+day&qpvt=picture+of+the+day&FORM=IGRE?) คุณก็พร้อมแล้ว

สามารถพบได้ในศูนย์ซอฟต์แวร์และมีการจัดอันดับ 5 *!

นี่คือภาพหน้าจอบางส่วน:

ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่ ป้อนคำอธิบายรูปภาพที่นี่


1
วาไรตี้ไม่มีอยู่ใน 14.04
Agoston Horvath

พบคำแนะนำเหล่านี้สำหรับการติดตั้ง Variety บน 14.04 peterlevi.com/variety/how-to-install
Doug T.

มีให้ใน 16.04 ซึ่งทำด้วย GTK ใช้งานได้ดีกับ KDE
Kwaadpepper

ตอนนี้ Variety มีตัวเลือกแบบ inbuilt เพื่อเลือก Bing Photo of the Day เช่นกัน
Sandeep 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 มันเป็นเพราะในรุ่นใหม่ของอูบุนตูเมื่อคุณทำ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 ฉันไม่เข้าใจคำถามของคุณ ...
Radu Rădeanu

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 สามารถทำเช่นนั้นได้หรือไม่? เราจะรู้ได้เมื่อมีการเชื่อมต่อ?
nitishch

ผลงานทั้งหมดของการตรวจสอบการเชื่อมต่ออินเทอร์เน็ตการดาวน์โหลดรูปภาพการตั้งค่าพื้นหลังของเดสก์ท็อปและการสร้างบันทึกเพื่อระบุว่างานของคุณจะเสร็จสิ้นหรือไม่ ในขณะที่ 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


โปรดรวมอย่างน้อยคำแนะนำในการติดตั้งและการใช้งานในคำตอบ
muru

@ParanoidPanda นั่นคือลิงก์ไปยังหน้าแหล่งที่มา ถ้ามันตายคำตอบนี้จะเป็นโมฆะ
Sparhawk

0

ฉันค้นหาคำตอบ แต่ไม่พบฉันจึงเขียนสคริปต์เพื่อตั้งวอลล์เปเปอร์ bing นี่คือสคริปต์ ...

#! / bin / ดวลจุดโทษ

ping -q -c5 bing.com

ถ้า [$? -eq 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 = $ (รหัสผ่าน)
picPath = "/ home / ชื่อผู้ใช้ของคุณ / รูปภาพ / วอลเปเปอร์"
cp $ pwdPath "/" $ img_name $ picPath
gsettings ตั้ง org.gnome.desktop.background รูปภาพ -uri "ไฟล์: //" $ picPath "/" $ img_name

นอน 10
rm $ img_name
rm bing.txt 
Fi
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.