如何将包含实时信息的网站设置为桌面壁纸

如何将包含实时信息的网站设置为桌面壁纸

这里有一个很棒的地图地球显示有关风和温度的实时信息。

是否可以将其设置为桌面背景并每隔几个小时自动更新一次(地图本身每三个小时更新一次)?

这个问题在精神上是相似的:如何将来自国际空间站的实时视频设置为我的桌面背景?

我正在使用 Windows 10 和 Ubuntu,但我会让这个问题更加笼统。

编辑:
WallpaperWebPage 程序有正确的想法,但有以下限制:

  • 它涵盖桌面图标
  • 它是交互式的(因此当你点击桌面时它就像一个浏览器)
  • 它只覆盖桌面并且可以最小化
  • 地图需要现代浏览器,而这基本上是在全屏模式下运行旧版本的 IE

答案1

在 Ubuntu 上我使用variety。它是“一个自动壁纸更换器、下载器和管理器”。

它可以从 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. 在“启动应用程序”中按添加并输入watch -n 3600 python3 yourfilepath命令。替换yourfilepath为您保存 pythonscript 的路径。这将每 3600 秒(1 小时)运行一次脚本。

注意 wait_load 函数中的延迟变量。如果网页没有时间加载,则增加其值。

相关内容