質問: デスクトップ壁紙スライドショーを作成するにはどうすればよいですか? 自分の画像セットでデスクトップの壁紙スライドショーを作成するにはどうすればよいですか? 画像フォルダからの画像、または事前選択された画像 画像を順番に、またはランダムに表示します 画像が数分ごとに、またはランダムな期間後に変化する
回答: これが私がやった方法です。これはおそらく最善の方法ではありませんが、機能し、何もインストールする必要はありませんでした。 11.10に戻って、以下のpythonスクリプト(slideshow.py)を見つけました。このスクリプトはslideshow.xmlファイルを生成します(その中に画像があるディレクトリから実行します)。これは12.04で必要なファイルですが、別のxmlファイルも必要です。 slideshow.pyスクリプトによって生成されたxmlファイルを/usr/share/backgrounds/contestおよびchownに入れて、rootに入れます。それが完了したら、最初から適合させた2番目のpythonスクリプト(wallpapers.py)を実行する必要があります。 wallpapers.pyから生成されたファイルを/usr/share/gnome-background-propertiesに入れ、再びchownに入れてルートにします。その時点で、[システム設定]-> [外観]に移動し、スライドショーまたはその中の写真を選択できるはずです。slideshow.py:#!/usr/bin/env python #coding=utf-8 # slideshow.py import glob, os import shutil import time import image filelist=[] def filelie(path): if os.path.isfile(path): wenjian=os.path.splitext(path)[1][1:] if wenjian=="jpg" or wenjian=="png" or wenjian=="gif": try: kuan,gao = image.open(path).size if kuan>=1024 and gao>=768: filelist.append(path) except ioerror: pass elif os.path.isdir(path): for item in os.listdir(path): itemsrc = os.path.join(path, item) filelie(itemsrc) curdir = os.getcwd() filelie(curdir) currentimagefiles = filelist #print filelist if os.path.isfile('slideshow.xml'): os.remove('slideshow.xml') currenttime = time.localtime() length = len(currentimagefiles) f = file('slideshow.xml', 'w') f.write('<background>\n') f.write('\t<starttime>\n') f.write('\t\t<year>' + str(currenttime.tm_year) + '</year>\n') f.write('\t\t<month>' + str(currenttime.tm_mon) + '</month>\n') f.write('\t\t<day>' + str(currenttime.tm_mday) + '</day>\n') f.write('\t\t<hour>' + str(currenttime.tm_hour) + '</hour>\n') f.write('\t\t<minute>' + str(currenttime.tm_min) + '</minute>\n') f.write('\t\t<second>' + str(currenttime.tm_sec) + '</second>\n') f.write('\t</starttime>\n') f.write('<!--this animation will start at the time it created-->\n') for i in currentimagefiles: length = length - 1 f.write('\t<static>\n') f.write('\t\t<duration>96.0</duration>\n') f.write('\t\t<file>' + currentimagefiles[length] +'</file>\n') f.write('\t</static>\n') f.write('\t<transition>\n') f.write('\t\t<duration>3.0</duration>\n') f.write('\t\t<from>' + currentimagefiles[length] + '</from>\n') if length >= 1: f.write('\t\t<to>' + currentimagefiles[length-1] + '</to>\n') if length <1: f.write('\t\t<to>' + currentimagefiles[len(currentimagefiles)-1] + '</to>\n') f.write('\t</transition>\n') f.write('</background>\n') f.close() wallpapers.py:#!/usr/bin/env python #coding=utf-8 import glob, os import shutil import time import image filelist=[] def filelie(path): if os.path.isfile(path): wenjian=os.path.splitext(path)[1][1:] if wenjian=="jpg" or wenjian=="png" or wenjian=="gif": try: kuan,gao = image.open(path).size if kuan>=1024 and gao>=768: filelist.append(path) except ioerror: pass elif os.path.isdir(path): for item in os.listdir(path): itemsrc = os.path.join(path, item) filelie(itemsrc) curdir = os.getcwd() filelie(curdir) currentimagefiles = filelist #print filelist if os.path.isfile('mywallpapers.xml'): os.remove('mywallpapers.xml') currenttime = time.localtime() length = len(currentimagefiles) f = file('mywallpapers.xml', 'w') f.write('<?xml version="1.0" encoding="utf-8"?>\n') f.write('<!doctype wallpapers system "gnome-wp-list.dtd">\n') f.write('<wallpapers>\n') f.write('\t<wallpaper deleted="false">\n') f.write('\t\t<name>my custom wallpapers</name>\n') f.write('\t\t<filename>/usr/share/backgrounds/contest/slideshow.xml</filename>\n') f.write('\t\t<options>zoom</options>\n') f.write('\t</wallpaper>\n') for i in currentimagefiles: length = length - 1 f.write('\t<wallpaper>\n') f.write('\t\t<name>' + os.path.basename(currentimagefiles[length]) +'</name>\n') f.write('\t\t<filename>' + currentimagefiles[length] +'</filename>\n') f.write('\t\t<options>zoom</options>\n') f.write('\t\t<pcolor>#000000</pcolor>\n') f.write('\t\t<scolor>#000000</scolor>\n') f.write('\t\t<shade_type>solid</shade_type>\n') f.write('\t</wallpaper>\n') f.write('</wallpapers>\n') f.close()