当前位置: 首页>>技术问答>>正文


我如何创建桌面壁纸幻灯片?

, ,

问题描述

我如何使用自己的一组图像创建桌面壁纸幻灯片?

  • 图片来自图片文件夹或pre-selected

  • 图像按顺序显示,或随机显示

  • 随着图像每隔几分钟或随机一段时间改变

最佳解决方案

适用于11.04和以前的版本

有一个程序可以创建名为CREBS的壁纸幻灯片。看看这篇关于它的文章:http://www.omgubuntu.co.uk/2010/05/crebs-the-ultimate-wallpaper-slideshow-application

一个简单的应用程序,功能较少,但更容易使用可以在这里找到:http://gnome-look.org/content/show.php/Wallpaper+Slideshow?content=125178

wallpaper,appearance,ubuntu

次佳解决方案

如果你用它来管理你的照片并且很容易,我建议使用Shotwell,默认情况下应该安装它。

打开它:

wallpaper,appearance,ubuntu

选择您想要设置为背景幻灯片的照片:

wallpaper,appearance,ubuntu

打开FileSet as Desktop Slideshow或按Ctrl + B

wallpaper,appearance,ubuntu

调整时间设置:

wallpaper,appearance,ubuntu

完成。

第三种解决方案

Wallch

在软件中心有两个壁纸转换器 – Gnome-Shell /Unity /Gnome-Classic和Wally for KUbuntu。

让我们专注于Wallch。

令人遗憾的是,软件中心的Wallch版本已经过时了,尤其是在14.04版本中有很多问题!最近的版本有一个版本库。

要安装,请添加存储库(您不需要在16.04上执行此操作):

sudo add-apt-repository ppa:wallch/wallch-daily

然后安装Wallch:

sudo apt-get update && sudo apt-get install wallch

然后从Dash开始:

wallpaper,appearance,ubuntu

让我们现在启动应用程序首选项:

wallpaper,appearance,ubuntu

让我们解开泡泡通知 – 令人讨厌 – 同时您可以禁用声音!

wallpaper,appearance,ubuntu

同时您可以定义start-up选项:

wallpaper,appearance,ubuntu

保存 – 并添加图片文件夹 – 在本例中,使用/usr/share/backgrounds作为Ubuntu的默认壁纸

wallpaper,appearance,ubuntu

现在我们有两个选择:

启动选择1

(感谢@Naruto)

将wallch保存在发射器中

wallpaper,appearance,ubuntu

退出wallch并开始更换壁纸

wallpaper,appearance,ubuntu

启动选择2

无需启动发射器即可登录登录

从短跑:

wallpaper,appearance,ubuntu

然后使用命令wallch --constant创建一个新的启动应用程序

wallpaper,appearance,ubuntu

注: – 对于一些电脑来说这是行不通的。解决方案是根据以下Q& A向wallch守护进程启动延迟:

Wallch not auto-cycling backgrounds on log in

第四种方案

我喜欢variety

sudo add-apt-repository ppa:peterlevi/ppa
sudo apt-get update
sudo apt-get install variety

我使用Ubuntu 13.04。

第五种方案

自己创建一个XML文件。谨慎使用这个脚本作为一个起点,它可能有一些错误。

#!/bin/bash

FILE="background.xml"
DURATION=10.0
TRANSITION=0.0

CURRENTDIR=$PWD
TRANSITION_XML="
<static>
    <duration>$DURATION</duration>
    <file>$CURRENTDIR/%s</file>
</static>
<transition>
    <duration>$TRANSITION</duration>
    <from>$CURRENTDIR/%s</from>
    <to>$CURRENTDIR/%s</to>
</transition>
"

# Random order
shopt -s nullgob nocaseglob        # ignore non-existant extensions, case-insensitve
IMGS=( *.{jpg,jpeg,png,gif} )
INDICES=( $(shuf -e ${!IMGS[@]}) ) # randomize indices of images
INDICES+=(${INDICES[0]})           # go back to first image after last
COUNTER=${#IMGS[@]}

exec > "$FILE"                     # all further output to the XML file
echo "<background><starttime></starttime>"

for ((i = 0; i < COUNTER; i++))
do
    index=${INDICES[i]}
    printf "$TRANSITION_XML" "${IMGS[index]}" "${IMGS[index]}" "${IMGS[index + 1]}"
done

echo "</background>"

说明:

生成background.xml文件后,在桌面上选择right-click,选择更改背景图像,单击添加…,然后导航到包含XML文件的目录。在”Open”按钮上方,将选择器从”Image”更改为”All files”,然后选择background.xml文件并单击”Open”按钮。该文件可以重命名为更具描述性,例如my_family.xmllandscapes-3.xml等,允许您拥有多个幻灯片播放列表。

第六种方案

对于gnome 3,使用之前的答案生成xml,然后通过命令行添加生成的xml:

gsettings set org.gnome.desktop.background picture-uri 'file:///home/pykler/.backgrounds/realtime/background.xml'

另一个解决方案(这会将您的bg添加到gnome-control-center下的外观区域):

mkdir -p ~/.local/share/gnome-background-properties/

cat >~/.local/share/gnome-background-properties/custom-wallpapers.xml <<EOF
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Pykler</name>
    <filename>/home/pykler/.backgrounds/realtime/background.xml</filename>
    <options>zoom</options>
  </wallpaper>
 </wallpapers>
EOF

根据需要替换名称”Pykler”和路径“/home/pykler/.backgrounds/realtime/background.xml”。

第七种方案

对于Gnome 3,您可以使用Wallpaper Slideshow App。

wallpaper,appearance,ubuntu

据其开发商称,它具有以下特点:

  • 让您通过浏览器选择文件夹。

  • 让您以秒为单位设置超时。

  • 让您选择子目录的深度。

  • 您只需单击一下即可启用或禁用它。

  • Full-feature工具提示

去下载:

git clone git://gitorious.org/gnome-3-wp/gnome-3-wp.git

然后在主文件夹的gnome-3-wp文件夹中运行wp-show

有关更多信息,请参阅herehere

第八种方案

好的,我是这么做的,这可能不是最好的方法,但它的工作原理,我不必安装任何东西来做到这一点。回到11.10,我找到了下面的python脚本(slideshow.py),它生成一个slideshow.xml文件(从包含镜像的目录运行)。这仍然是12.04所需的文件,但您还需要另一个XML文件。将由slideshow.py脚本生成的XML文件放入/usr/share/backgrounds/contest,将chown放入root。一旦完成,您需要运行第一个改编的第二个python脚本(wallpapers.py)。将wallpapers.py生成的文件放在/usr/share/gnome-background-properties中,再将chown放入根目录。此时你应该可以进入”System Settings” – >外观并选择你的幻灯片或任何其中的图片。

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()

第九种方案

使用cortina,它工作得很好。

它可以将桌面背景图片设置为来自给定目录的随机文件。

它可以通过Ubuntu软件中心安装。

wallpaper,appearance,ubuntu

第十种方案

您可能会对自动创建这种wallpaper-slideshow的程序感兴趣。

根据this OMG! Ubuntu post,您有例如‘Wallpaper Gallery’。它将您Shotwell画廊的标记照片作为输入数据。因此,添加&例如删除照片。

首先选择与要显示的照片有关的标签,然后根据您希望的切换时间,订单等进行配置。这里有一些截图:

wallpaper,appearance,ubuntu

wallpaper,appearance,ubuntu

参考资料

本文由Ubuntu问答整理, 博文地址: https://ubuntuqa.com/article/253.html,未经允许,请勿转载。