우분투에서는 다양성을 사용합니다. "자동 벽지 체인저, 다운로더 및 관리자"입니다.
RSS 피드에서 사진을 가져 와서 바탕 화면을 자동으로 업데이트 할 수 있습니다.
따라서 매 x 시간마다 웹 사이트의 스크린 샷을 찍고 다양한 웹 사이트에 연결하는 RSS 피드를 설정하면 솔루션이 있다고 생각합니다.
실제로 RSS 피드를 설정하는 방법을 모르지만 버라이어티에 대한 질문이 있으면 알려주십시오.
편집하다:
원하는 것을 수행하는 다른 방법이 있습니다.
sudo apt-get install libqt5webkit5 python3-pyqt5.qtwebkit python3-pyqt5 python3
필요한 라이브러리를 설치하기 위해 실행
다음 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)
"시작 응용 프로그램"에서 add를 누르고 watch -n 3600 python3 yourfilepath
명령 아래에 입력하십시오 . 대체 yourfilepath
당신이 pythonscript을 저장 한 위치에 대한 경로로. 3600 초 = 1 시간마다 스크립트가 실행됩니다.
wait_load 함수의 지연 변수에 유의하십시오. 웹 페이지를로드 할 시간이 없으면 값을 늘리십시오.