11

Вот отличная карта Земли, показывающая живую информацию о ветрах и температуре.

Можно ли установить это как фон рабочего стола с автоматическим обновлением каждые несколько часов (сама карта обновляется каждые три часа)?

Этот вопрос похож по духу: как я могу установить прямую трансляцию видео с МКС в качестве фона рабочего стола? ,

Я использую Windows 10 и Ubuntu, но оставлю вопрос более общим.

РЕДАКТИРОВАТЬ:
Программа WallpaperWebPage имеет правильную идею, но со следующими ограничениями:

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

1 ответ1

2

На Ubuntu я использую разнообразие. Это «автоматическая смена обоев, загрузчик и менеджер».

Он может извлекать фотографии из RSS-канала и автоматически обновлять ваш рабочий стол.

Поэтому, я полагаю, что если вы настроите канал RSS, который будет делать снимок экрана вашего веб-сайта каждые x часов и подключать к нему разнообразные варианты, у вас будет решение.

На самом деле я не знаю, как настроить канал RSS, но если у вас есть какие-либо вопросы о разнообразии, дайте мне знать.

Редактировать:

Вот другой способ сделать то, что вы хотите.

  1. Запустите sudo apt-get install libqt5webkit5 python3-pyqt5.qtwebkit python3-pyqt5 python3 для установки необходимых библиотек
  2. Установите файл со следующим кодом Python3. Этот код делает снимок экрана с WEBSITE_URL и обновляет ваш рабочий стол Ubuntu.

    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)
    
  3. В "Startup Applications" нажмите add и введите watch -n 3600 python3 yourfilepath под командой. Замените yourfilepath путь к файлу тем путем, куда вы сохранили скрипт. Это будет запускать скрипт каждые 3600 секунд = 1 час.

Обратите внимание на переменную задержки в функции wait_load. Увеличьте его значение, если веб-страница не имеет времени для загрузки.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .