如何创建桌面墙纸幻灯片放映?


195

如何使用自己的图像集创建桌面墙纸幻灯片放映?

  • 图像来自图片文件夹,或预先选择
  • 按顺序显示图像或随机显示
  • 图像每隔几分钟或在随机时间后更改一次

3
在2018年,综艺对我而言似乎是完成这项工作的最佳工具:peterlevi.com/variety
jmng

Answers:



255

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

打开它:

打开shotwell

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

选择图像

打开FileSet as Desktop Slideshow或按Ctrl+ B

设置为幻灯片

调整时间设置:

设置时间

做完了


8
谢谢一群!我喜欢Wallch上的此解决方案。因为您无需安装任何其他应用即可实现相同的目的
2014年

4
我是否需要为该应用程序创建启动应用程序,还是每次都能正常工作?
ArunMKumar 2014年

5
旧线程,但搜索量最高。这是BY FAR最简单的方法。仍然可以完美运行,并且,@ Arun Kumar的问题可以自动加载,无需进行进一步的工作。注意:尝试从符号链接导入图像时,我必须通过选择文件夹来更改“设置”中的导入位置,否则将不允许选择图像。
u2n 2015年

1
解决方案是随机显示图像还是顺序显示图像?图像被缩放,填充或缩放或其他内容?它们是否完全适合桌面?
abhishah901 2015年

1
@Kalamalka Kid如果您想将图像缩放到具有黑色背景的屏幕,请按照上述说明操作,然后转到Ubuntu系统设置>外观>外观>背景。在下拉框中选择“比例”,黑色为颜色。这可以在Ubuntu 14.04 LTS中使用。
user304497 '18

87

沃尔奇

在软件中心有两个壁纸自动换- wallch为侏儒壳牌/团结/ Gnome的古典和沃利的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开始:

在此处输入图片说明

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

在此处输入图片说明

让我们取消气泡通知-令人讨厌的-同时您可以禁用声音!

在此处输入图片说明

同时,您可以定义启动选项:

在此处输入图片说明

保存-并添加图片文件夹-在此示例中,/usr/share/backgrounds用于Ubuntu随附的默认壁纸

在此处输入图片说明

现在,我们有两种选择:

启动选择1

(感谢@火影忍者)

保持wallch在发射

在此处输入图片说明

退出wallch并开始更改壁纸

在此处输入图片说明

启动选择2

无需启动就可以在登录时启动wallch

从破折号:

在此处输入图片说明

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

在此处输入图片说明

注意:对于某些计算机,这将不起作用。解决方案是按照以下问答对wallch守护程序的启动造成延迟:

Wallch不会在登录时自动循环后台


Wallch在Lubuntu 14.04上存在缺陷。重新启动后,更改间隔默认保持为10分钟左右。
H2ONaCl 2014年

1
在启动板上发出错误报告-维护者也是这里的活跃用户,并希望能够快速响应所报告的任何问题。
fossfreedom

软件中心上的版本已过时!这里是安装最新版本的位置: sudo add-apt-repository ppa:wallch/wallch-daily sudo apt-get update && sudo apt-get install wallch 软件中心版本不适用于我,但是最新版本可以正常工作!我是14.04 64位
米娜迈克尔

每日构建看起来有风险。没有其他的PPA可用于wallch吗?
jpaugh

@ fossfreedom♦可以在ubuntu 16.04上运行

49

IMG:   品种

主页: http : //peterlevi.com/variety
Github: https : //github.com/varietywalls/variety

Variety是Linux系统的墙纸管理器。它支持众多桌面和墙纸资源,包括本地文件和在线服务:Flickr,Wallhaven,Unsplash等。

在支持的情况下,“品种”作为任务栏图标放置,可以方便地暂停和恢复。否则,其桌面进入菜单会提供一组类似的选项。

多样性还包括一系列图像效果,例如油画和模糊效果,以及将引号和背景上的时钟分层的选项。

在此处输入图片说明

安装

在Universe仓库中可用。要安装它,运行

sudo apt install variety

您也可以通过运行以下命令从Peter Levi的PPA安装它

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

哇,很棒的软件。非常好的功能,包括漂亮的时钟和谚语显示。
2013年

3
为此,它比wallch更好,它使您可以从多个来源下载图像。
Roger Garzon Nieto

我测试了所有这些,这是最好的,更多的可能性和功能
Mathias Falci

25

自己创建一个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文件已经生成,在桌面上,选择右键单击更改背景图片,单击添加 ...,然后导航到包含XML文件的目录。在“打开”按钮上方,将选择器从“图像”更改为“所有文件”,然后选择background.xml文件,然后单击“打开”按钮。该文件可以更名为更描述性的,例如my_family.xmllandscapes-3.xml等等,从而允许一个具有多个幻灯片放映的播放列表。


1
我已经修改了上面的脚本,将其改编为Nautilus脚本:stefanobagnatica.it/dl/jaub/create_slideshow.sh.txt只需将其放在.local / share / nautilus / scripts中,而不是在Nautilus中选择带有墙纸并在其中选择文件夹单击>脚本> create_slideshow:它将在.backgrounds中创建XML文件,并在gnome-background-properties文件夹中创建XML壁纸定义文件。
Pisu

@Pisu您能否将该脚本上传到其他位置?现在,它会显示404错误。
聚焦


尽管这似乎是一个不错的答案,但是没有说明文件创建后如何处理。
Kalamalka Kid

脚本中的DURATION和TRANSITION值适用于测试,但实际使用时应更改为1795.0和5.0,这样每个图像的静态显示时间为半小时,而溶解时间为5秒。
Andrew P.

8

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

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

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

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”。


6

对于Gnome 3,您可以使用墙纸幻灯片应用程序。

墙纸幻灯片应用程序屏幕截图

根据其开发人员的说法,它具有以下功能:

  • 让您通过浏览器选择文件夹。
  • 让您以秒为单位设置超时。
  • 让您选择子目录的深度。
  • 您可以单击启用或禁用它。
  • 全功能工具提示

去下载:

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

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

有关更多信息,请参见此处此处


在新安装的Oneiric Ubuntu 11.10上无法使用。不得不将#!/ usr / bin / env python2修复为#!/ usr / bin / env python,但仍然会产生很多错误。
2011年

4

好的,这是我的操作方式,这可能不是最好的方法,但它确实有效,而且我不需要安装任何工具。回到11.10,我发现下面的python脚本(slideshow.py)生成一个slideshow.xml文件(从其中包含图像的目录运行)。这仍然是12.04中所需的文件,但是您还需要另一个XML文件。把所产生的XML文件slideshow.py脚本中/usr/share/backgrounds/contestchownroot。完成此操作后,您需要运行第二个python脚本(wallpapers.py),该脚本是第一个python脚本的改编而成。把生成的文件来自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()

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

4

使用肾上腺皮质激素,效果很好。

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

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

通过软件中心安装


1
我在Natty的软件中心中没有看到此消息,是我丢失了某些东西还是将其删除了?
兰迪·奥里森

2
Cortina仅在(当前未发布的)Ubuntu 12.04中可用。但是,它坏了
8128年

3

您可能对自动创建此类墙纸幻灯片的程序感兴趣。

根据这个OMG!在Ubuntu帖子中,您有例如“壁纸画廊”。它将来自Shotwell画廊的带标签照片作为输入数据。因此,例如添加和删除照片变得非常容易。

首先选择与要显示的照片有关的标签,然后根据需要配置切换时间,顺序等。这里有一些屏幕截图:

Wallpaper Gallery显示选项 Wallpaper Gallery数据源


3

我希望更改的墙纸和自定义墙纸图片出现在用于在Ubuntu 12.04中选择墙纸的默认选项下,因此我进行了以下操作

使用终端导航到:

/usr/share/gnome-background-properties

键入ls将列出该文件夹中的所有文件,您应该会看到一个名为Precision-wallpapers.xml的文件,如果出现问题,请进行备份。

sudo cp ./precise-wallpapers.xml ~

然后对其进行编辑以添加要显示在默认壁纸选项中的壁纸

sudo gedit precise-wallpapers.xml

这是我添加Polarbears墙纸的方式,之前我复制了比赛文件夹中的precision.xml并使用要显示的图片对其进行了编辑:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Ubuntu 12.04 Community Wallpapers</name>
    <filename>/usr/share/backgrounds/contest/precise.xml</filename>
    <options>zoom</options>
  </wallpaper>
  <wallpaper>
    <name>polarbears</name>
    <filename>/usr/share/backgrounds/polarbears/polarbears.xml</filename>
    <options>zoom</options>
  </wallpaper>
  <wallpaper>
    <name>Delicate Petals</name>
    <filename>/usr/share/backgrounds/Delicate_Petals_by_lefthandgergo.jpg</filename>
    <options>zoom</options>
    <pcolor>#000000</pcolor>
    <scolor>#000000</scolor>
    <shade_type>solid</shade_type>
  </wallpaper>
  <wallpaper>

您可以添加常规的jpg或png文件,建议将它们复制到/ usr / share / backgrounds中,然后将其添加到该xml文件中。我希望这有帮助。


3

在系统设置下,从外观更改外观,如下所示

在此处输入图片说明

或者,您可以通过安装Desktop Nova来这样做。要安装,只需按键盘上的Ctrl+ Alt+ T打开终端。打开时,运行以下命令:

sudo apt-get install desktopnova desktopnova-tray desktopnova-module-gnome

安装完成后,在Dash中搜索它,然后单击它,然后在程序打开时添加图像并设置时间间隔。

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

Desktopnova的命令补充


非常详细的解释@Mitch
流星

3

是的你可以。

找到一个已经制作好的动画墙纸并对其进行修改。

例如,应该有一个/usr/share/backgrounds/contest(至少在精确的穿山甲上)。

precise.xml在我的情况下,该文件被称为XML文件。修改它所需要知道的是,任何类似的标签<background>包含其他标签和文本,并且必须使用结束</background>

试着找出这些标记的含义(见下图),改变这些图像的名字,并另存为...某处。命名为what_you_want.xml

然后更改背景:通过浏览计算机选择新墙纸,而不是选择.jpg,而是选择.xml

一些标签:

<background>包含一切。您的文件必须以它开头,并以结尾</background>。它称为根标签。
<starttime>定义渗出开始的时间。必须给出一个确切的日期,任何日期。
<static>包含静止图像的定义。
<transition>用于从一幅图像淡入另一幅图像。
<duration>以秒为单位给出显示图片的时间或淡入时间。
<file>包含单个图像以显示为静止。
<from><to>包含单个图像,分别是衰落开始和结束时的图像。

一些其他提示:

通过添加<duration>文件中所有标签的秒数,您将知道执行完整的透散循环需要多少时间。

最好的配置是以下配置(简化了,没有持续时间):

<static>
    <file>image1</file>
</static>
<transition>
    <from>image1</from>
    <to>image2</to>
</transition>
<static>
    <file>image2</file>
</static>
<transition>
    <from>image2</from>
    <to>image3</to>
</transition>
...

不要忘了以第一张图片的过渡来结束透散,否则它将突然从一个静态变为另一个。

我曾经尝试制作动画背景。图像显示时间少于1秒。您可以尝试娱乐,但是坦率地说,您需要在一天结束前将鼠标扔到显示器上。


2

我想不久前做同样的事情。这是我的脚本:http : //pastebin.com/FkaxaN3J

只需将其粘贴在目录中,使其可执行并运行即可。


1
您的脚本看起来不错。您是否愿意创建稍有不同的版本来回答此问题:askubuntu.com/q/35971/458?它已经开放了10个月,没有得到答案。
理查德·霍洛威

@RichardHolloway,您已经链接了一个好问题,但是我已经用完了这个时间来帮助回答。如果您或其他任何人希望采用该脚本并运行该脚本,欢迎他们这样做。
zpletan 2012年

1

看到此请求后,我对解决方案感到好奇,并发现可以使您的墙纸图像成为默认墙纸选择的一部分System Settings >> Appearances。在终端中执行以下步骤:

  1. cd /usr/share/gnome-background-properties
    • 这将带您到所提到的特定路径
  2. sudo cp ./ubuntu-wallpapers.xml ~
    • 这会将文件ubuntu-wallpapers.xml复制到您的主目录中
  3. sudo vim ./ubuntu-wallpapers.xml
    • 该命令vim是一个终端编辑器,但你可以把它改成gedit,如果你想

进入该文件后,您将看到标记为的标记<wallpaper></wallpaper>该标记位于其他标记(如<name>和)周围<options>。您需要将其复制并粘贴到该条目的正下方。完成后,您应该编辑添加的额外条目以匹配所需内容。可以在下面找到一个示例:

在此处输入图片说明

在这个例子中,我做了更改<name><filename><pcolor>,和<scolor>信息相匹配,我需要什么,我想要的壁纸。现在,在System Settings -> AppearanceGUI 的墙纸部分,我将墙纸视为默认选择:

在此处输入图片说明

如果什么都不起作用,请使用以下命令来导入我们从上面创建的保存文件:

sudo cp ~/ubuntu-wallpapers.xml /usr/share/gnome-background-properties/

希望这可以帮助。


1

IMG:   GNOME外壳的桌面更换器

由egach

如果您使用gnome-shell(版本> 3.8,在Ubuntu 17.10和更高版本中为默认值),请使用此扩展名。

具有多个配置文件支持的简单墙纸更换器。支持集成到系统菜单或自己的面板图标中。该守护程序是用Python编写的,并且独立于扩展名运行。

扩展主页https : //github.com/BigE/desk-changer/

在此处输入图片说明

安装

首先,您必须安装gnome-tweaks

sudo apt install gnome-tweaks

访问gnome-extension主页并打开幻灯片。之后,您可以配置扩展名以更改背景的更改时间和背景本身。为此,请打开gnome-tweaks,转到“ 扩展名”选项卡,然后单击桌面转换器的“ 配置”图标。


1

IMG:   GNOME外壳随机壁纸

通过iFlow

如果您使用gnome-shell(版本> 3.12,在Ubuntu 17.10及更高版本中为默认设置),请使用此扩展名。此扩展程序从在线来源获取随机墙纸并将其设置为桌面背景。桌面背景可以定期或手动更新。

在线资源:-unsplash.com-desktopper.co-wallheaven.cc-reddit.com-基本JSON API或文件(有关更多信息,请参见GitHub Wiki)(Chromecast,Bing,NASA,Google Earth View等)。

扩展主页https : //github.com/ifl0w/RandomWallpaperGnome3

在此处输入图片说明

安装

首先,您必须安装gnome-tweaks

sudo apt install gnome-tweaks

访问gnome-extension主页并打开幻灯片。之后,您可以配置扩展名。为此,请打开gnome-tweaks,转到“ 扩展”选项卡,然后单击随机墙纸的“ 配置”图标。


-1

嗯,基于imlib2的图像查看器是一种非常灵活,高效且强大的X11图像查看器,主要面向控制台用户。“与大多数其他查看器不同,它没有精美的GUI,而只是显示图像。它是通过命令行参数和可配置的键/鼠标操作来控制的。”

我正在用深度目录结构对其中的数千张图像进行随机幻灯片放映。当以窗口模式而不是桌面背景运行时,我可以在看到自己喜欢的注释时轻松地向它们添加注释,然后进入顺序模式查找相似的注释。


-2

也尝试使用slidewall,它会显示时钟。


3
也许您可以编辑您的问题,以帮助OP了解Slidewall如何回答他们的问题以及如何解决它:-)
stephenmyall 2012年

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.