如何将带有实时信息的网站设置为桌面墙纸


10

这是一张伟大的地球地图,显示了有关风和温度的实时信息。

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

这个问题在本质上是相似的:如何将ISS的实时视频提要设置为我的桌面背景?

我正在使用Windows 10和Ubuntu,但我将使问题更笼统。

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

  • 它涵盖了桌面图标
  • 它是交互式的(因此,当您在桌面上单击时,其行为类似于浏览器)
  • 它只覆盖桌面,可以最小化
  • 该地图需要一个现代化的浏览器,并且它基本上在全屏模式下运行旧版本的IE

@这个问题很贴切!并非如此,该问题询问如何将视频设置为桌面墙纸,您的问题询问如何将交互式网站设置为墙纸
Stackcraft_noob 16'01-04

这些问题的确不同,因此其他问题的答案不适用于该问题。这就是为什么我认为这证明了一个新问题。
章鱼

您是否尝试过看雨量计?我确定有一个插件!
ivanempire'July

我想要一个带有颜色映射选项的可缩放的交互式世界地图!:p
jiggunjer '16

您是说Active Desktop?哦,等等...微软从Windows中取消了该功能。:/
我说恢复莫妮卡

Answers:


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. 在“启动应用程序”中,按添加并watch -n 3600 python3 yourfilepath在命令下键入。替换yourfilepath为保存python脚本的路径。这将每3600秒= 1小时运行一次脚本。

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


因此,您有一个解决方案,但您不知道如何实施该解决方案,即使该解决方案确实可行?那不是答案。

@FleetCommand我只是想提供帮助...这已经是一个开始。抱歉...
staad,2017年

我知道你是。但这不是一个“试图帮助”的网站。这是一个有帮助的网站。您的答案必须是独立的完整解决方案,并且很有可能在健康的系统上工作。

@FleetCommand,请参见编辑
staad'1
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.