Bing Zdjęcie dnia jako tapeta pulpitu?


28

Czy ktoś może mi pomóc w tworzeniu Bing Picture na tapetę pulpitu?

  • Działa to poprzez pobranie najwyższej jakości dzisiejszego obrazu.
  • Następnie zapisujesz go np. W folderze Picture twojego konta.
  • Następnie automatycznie zmienia się samo zdjęcie.
  • Powinno być tak samo codziennie bez kłopotów w tle.
  • Prawdopodobnie coś, co muszę dodać w aplikacjach startowych.
  • Jakieś różnice między wersjami Ubuntu?

-Czy muszę napisać scenariusz? Doceniłoby to także wielu innych! Z góry dziękuję :)


nawet chciałbym tego użyć, ale wierzę, że to niemożliwe ...
Sukupa91,

thejandroman.github.io/bing-wallpaper to rozwiązuje? Ja osobiście tego nie użyłem.
nitishch,

Próbowałem wcześniej powyższego linku z instrukcjami, od github, @nitish. Ale to nie zadziałało, więc próbuję znaleźć inne rozwiązania. Wystąpił błąd dotyczący niepowodzenia połączenia z serwerami GitHubs. Instrukcje nie były łatwe do naśladowania. OMGUbuntu ma również HowTo, ale nawet to się nie powiedzie ...
Amir Shahab

Odpowiedzi:


21

Prawdopodobnie najłatwiej byłoby zainstalować różnorodność . Jest to menedżer tapet, który naprawdę wykonuje świetną robotę, zmieniając tapetę z żądaną częstotliwością.

Oto niektóre z jego ustawień:

  • częstotliwość pobierania
  • częstotliwość zmiany obrazu (raz dziennie, przy każdym ponownym uruchomieniu, co minutę, ...)
  • skąd chcesz pobrać swoje zdjęcia
  • gdzie chcesz je przechowywać na swoim komputerze
  • cytaty (automatycznie lub ze źródła)
  • ładny zegar.

Istnieje również ustawienie, aby uruchomić go przy logowaniu. Jeśli włączysz tę opcję, a następnie dodasz obraz bing adresu URL dnia ( http://www.bing.com/images/search?q=picture+of+the+day&qpvt=picture+of+the+day&FORM=IGRE?), Wszystko jest ustawione.

Można go znaleźć w centrum oprogramowania i ma ocenę 5 *!

Oto kilka zrzutów ekranu:

wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj wprowadź opis zdjęcia tutaj


1
Odmiana nie istnieje w dniu 14.04.
Agoston Horvath,

znalazłem instrukcję instalacji Variety na 14.04 peterlevi.com/variety/how-to-install
Doug T.

Jest dostępny 16.04, ale wykonany z GTK świetnie współpracuje z KDE.
Kwaadpepper

Odmiana ma teraz wbudowaną opcję wyboru Bing Photo of the Day.
Sandeep C

15

Napisałem mały skrypt węzła, który robi dokładnie to: https://github.com/dorian-marchal/bing-daily-wallpaper

Aby go zainstalować, potrzebujesz nodejs:

sudo apt-get install nodejs npm

Instalacja:

W wierszu polecenia uruchom:

sudo npm install -g bing-daily-wallpaper

Stosowanie :

Aby zmienić tapetę, wykonaj (możesz dodać to polecenie do aplikacji startowych):

bing-daily-wallpaper

Fajnie, to łatwe rozwiązanie, które działa dla mnie na Ubuntu 15
Jon Onstott

Postępowałem zgodnie z powyższymi instrukcjami, ale pojawia się błąd przy użytkowaniu paper96@localhost:~$ bing-daily-wallpaper /usr/bin/env: ‘node’: No such file or directory @Dorian, czy możesz mi powiedzieć, co jest nie tak
Pankaj Gautam,

@PankajGautam jego ponieważ w nowszych wersjach ubuntu kiedy robisz apt-get install nodejswykonywalny węzeł jest rzeczywiście nodejsnie nodetak jeśli edytować skrypt sudo vim /usr/local/bin/bing-daily-wallpapermożna wymienić pierwszą linię nodeze nodejsi to działa dobrze.
0x7c0

8

Jakiś czas temu znalazłem następujący skrypt (nie pamiętam dokładnie, gdzie w tej chwili, ale kiedy znajdę, dodam również źródło), który nieco zmieniłem i który działa świetnie na to, o co pytasz, czy jest ustaw jako zadanie crona (zobacz tutaj, jak to zrobić):

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

gdzie dodać ten link do zdjęcia dnia?
speedox

@speedox Nie rozumiem twojego pytania ...
Radu Rădeanu

3

Tutaj znajduje się ładny skrypt, który nadal działa dobrze na Ubuntu 14.04 (wymaga zainstalowanego curl):

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

i skopiuję tutaj najnowszą wersję:

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

Sprawdziłem to przez chwilę i wydaje się, że działa.

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

Jeśli pracujesz w trybie proxy, usuń --no-proxyz linii 4 i 6, a zamiast tego YourNamewpisz nazwę folderu domowego.

Zapisz to jako część skryptu, spraw, aby był wykonywalny, a następnie uruchom go, gdy chcesz zaktualizować tapetę.

Nie wiem, jak wykonać to bezpiecznie przy starcie. Dodanie tego do rc.localnie jest bezpieczne, jak rozumiem z tego .

Proszę o komentarz, jeśli coś pójdzie nie tak.


Jeśli skrypt działa (nie testowany), możesz go uruchomić raz dziennie (lub kiedykolwiek chcesz) za pomocą zadania cron. Spójrz na przykład na askubuntu.com/questions/2368/how-do-i-set-up-a-cron-job
Rmano

Myślę, że nie byłoby konieczne wykonywanie go częściej niż raz dziennie. Ponadto w ciągu jednego dnia należy go wykonać tylko raz po ustanowieniu połączenia z Internetem. Czy zadania CRON mogą to zrobić? Czy możemy wiedzieć, kiedy zostanie nawiązane połączenie?
nitishch

wszystkie prace polegające na sprawdzeniu połączenia internetowego, pobraniu obrazu, ustawieniu tła pulpitu i utworzeniu dziennika wskazującego, czy zadanie na dzień jest w toku, czy ukończone, powinno być obsługiwane przez skrypt; podczas gdy cron zajmie się wywoływaniem skryptu zgodnie z twoimi potrzebami
dokładnie

Dla lepszej przenośności zamień ostatnią linię ( gsettings set org.gnome.desktop.background picture-uri 'file:///home/YourName/dwallpaper') na gsettings set org.gnome.desktop.background picture-uri ` echo "'file:///home/$USER/dwallpaper'" `
totti


0

Szukałem odpowiedzi, ale nie znalazłem, więc napisałem skrypt, aby ustawić tapetę Bing. Oto skrypt ...

#! / bin / sh

ping -q -c5 bing.com

jeśli [$? -eq 0]

następnie

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 / YOUR USERNAME / Pictures / Wallpapers"
cp $ pwdPath "/" $ img_name $ picPath
gsettings ustawia plik org.gnome.desktop.background picture-uri ": //" $ picPath "/" $ img_name

spać 10
rm $ img_name
rm bing.txt 
fi
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.