web-dev-qa-db-ja.com

ライブ情報をデスクトップの壁紙としてウェブサイトを設定する方法

これが すばらしい地図 風と気温に関するライブ情報を示す地球の地図です。

これをデスクトップの背景として設定し、数時間ごとに自動更新することはできますか(マップ自体は3時間ごとに更新されます)?

この質問は精神的に似ています: デスクトップの背景としてISSからのライブビデオフィードを設定するにはどうすればよいですか?

私はWindows10とUbuntuを使用していますが、質問はもっと一般的にしておきます。

編集:
プログラムWallpaperWebPageには正しい考えがありますが、次の制限があります。

  • デスクトップアイコンをカバーしています
  • インタラクティブです(デスクトップをクリックすると、ブラウザのように動作します)
  • デスクトップのみをカバーし、最小化できます
  • マップには最新のブラウザが必要であり、これは基本的に古いバージョンのIEをフルスクリーンモードで実行します
10
octopus

Ubuntuではさまざまなものを使用しています。それは「自動壁紙チェンジャー、ダウンローダー、マネージャー」です。

RSSフィードから写真を取得し、デスクトップを自動的に更新できます。

したがって、x時間ごとにWebサイトのスクリーンショットを撮り、それにさまざまなものをフックするRSSフィードを設定すると、解決策があると思います。

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. 「スタートアップアプリケーション」でaddを押し、コマンドの下にwatch -n 3600 python3 yourfilepathと入力します。 yourfilepathをpythonscriptを保存した場所へのパスに置き換えます。これにより、3600秒= 1時間ごとにスクリプトが実行されます。

Wait_load関数の遅延変数に注意してください。 Webページをロードする時間がない場合は、その値を増やします。

2
staad