So legen Sie eine Website mit Live-Informationen als Desktop-Hintergrund fest
Hier ist eine [[1]}große Karte der Erde mit Live-Informationen über Winde und Temperatur.
Ist es möglich, dies als Desktop-Hintergrund festzulegen und alle paar Stunden automatisch zu aktualisieren (die Karte selbst wird alle drei Stunden aktualisiert)?
Diese Frage ist im Geiste ähnlich: Wie kann ich den Live-Video-Feed von der ISS als Desktop-Hintergrund festlegen?.
Ich benutze Windows 10 und Ubuntu, aber ich werde die Frage mehr behalten allgemein.
BEARBEITEN:
Das Programm Tapete Webpage hat die richtige Idee, aber mit den folgenden Einschränkungen:
- es umfasst Desktop-Symbole
- es ist interaktiv (wenn Sie also auf den Desktop klicken, verhält es sich wie ein Browser)
- es deckt nur den Desktop ab und kann minimiert werden
- die Karte benötigt einen modernen Browser und dies läuft im Grunde eine alte Version von IE im Vollbildmodus
1 answers
Unter Ubuntu verwende ich variety. Es ist "ein automatischer Tapetenwechsler, Downloader und Manager".
Es kann Bilder aus einem RSS-Feed ziehen und automatisch Ihren Desktop aktualisieren.
Daher würde ich mir vorstellen, dass Sie eine Lösung haben, wenn Sie einen RSS-Feed einrichten, der alle x Stunden einen Screenshot Ihrer Website erstellt und sich daran anschließt.
Habe ich eigentlich gar nicht wissen, wie zu set up a RSS-feed, aber wenn Sie Fragen haben über die Vielfalt lassen Sie mich wissen.
Bearbeiten:
Hier ist ein anderer Weg zu tun, was Sie wollen.
- Führen Sie
sudo apt-get install libqt5webkit5 python3-pyqt5.qtwebkit python3-pyqt5 python3
aus, um die erforderlichen Bibliotheken zu installieren -
Richten Sie eine Datei mit dem folgenden Python3-Code ein. Dieser Code nimmt einen Screenshot von WEBSITE_URL und aktualisiert Ihren Ubuntu-Desktop.
import sys import time import os from PyQt5.QtCore import * from PyQt5.QtGui import * from PyQt5.QtWidgets import * from PyQt5.QtWebKitWidgets import * WEBSITE_URL='https://earth.nullschool.net/#current/wind/surface/level/overlay=temp/winkel3' OUT_FILE="websiteScreenshot.png" class Screenshot(QWebView): def __init__(self): self.app = QApplication(sys.argv) QWebView.__init__(self) self._loaded = False self.loadFinished.connect(self._loadFinished) def capture(self, url, output_file): self.load(QUrl(url)) self.wait_load() # set to webpage size frame = self.page().mainFrame() self.page().setViewportSize(frame.contentsSize()) # render image image = QImage(self.page().viewportSize(), QImage.Format_ARGB32) painter = QPainter(image) frame.render(painter) painter.end() print ('saving', output_file) image.save(output_file) def wait_load(self, delay=5): # process app events until page loaded while not self._loaded: self.app.processEvents() t_end = time.time() + delay while time.time() < t_end: self.app.processEvents() self._loaded = False def _loadFinished(self, result): self._loaded = True s = Screenshot() s.capture(WEBSITE_URL, OUT_FILE) #Update your background workingDir=os.path.dirname(os.path.realpath(__file__)) os.system("gsettings set org.gnome.desktop.background picture-uri file://"+workingDir+"/"+OUT_FILE)
Drücken Sie in" Startup Applications " add und geben Sie
watch -n 3600 python3 yourfilepath
unter command ein. Ersetzen Sieyourfilepath
durch den Pfad, in dem Sie das Pythonscript gespeichert haben. Dadurch wird das Skript alle 3600 Sekunden ausgeführt. = 1 Stunde.
Beachten Sie die Verzögerungsvariable in der Funktion wait_load. Erhöhen Sie den Wert, wenn die Webseite keine Zeit zum Laden hat.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2017-01-11 21:41:30