我花了一些时间尝试了各种方法,但都不起作用。以下是我迄今为止尝试过的方法(手动更改幻灯片):
- 创建一个新文件夹
/usr/share/backgrounds/mywallpapers
并将我的添加到background-1.xml
其中。 - 将一堆壁纸复制到
/usr/share/backgrounds/
- 复制
/usr/share/backgrounds/Contest/background-1.xml
到/usr/share/backgrounds/
我注销并重新登录,但仍然没有变化外貌应用程序。
我听说过瓦尔奇但我不想让某些应用一直在后台运行。我甚至不确定 Wallch 是否适用于 Gnome 3。我也尝试过gnome-3-wp
(Gnome 3 壁纸幻灯片应用),但它似乎无法在 Ubuntu 11.10 Oneiric 上运行。
有没有人有办法解决吗?
答案1
我想我迟到了但是......
我创建了一个 xml 背景(带有完整路径描述),并将其保存在 /usr/share/backgrounds/my-background.xml
然后我编辑了 /usr/share/gnome-background-properties/ubuntu-wallpapers.xml 添加
<wallpaper deleted="false">
<name>My background</name>
<filename>/usr/share/backgrounds/my-background.xml</filename>
<options>zoom</options>
</wallpaper>
只需保存文件,新的幻灯片壁纸就会显示在外观窗口中
希望对你有用:D
答案2
另外,在编辑时/usr/share/gnome-background-properties/ubuntu-wallpapers.xml,省略选项标签将允许您选择在设置中的外观 GUI 中进行平铺、缩放、居中、缩放、填充或跨度。
使用上面 Locutus 的例子:
<wallpaper deleted="false">
<name>My background</name>
<filename>/usr/share/backgrounds/my-background.xml</filename>
</wallpaper>
答案3
我使用我编写的以下脚本,并使用 gnome“启动应用程序”启动器启动它。为了提高系统性能,当 XMBC 或 VLC 正在运行或系统负载超过指定阈值时,脚本会暂停幻灯片放映。
将脚本保存到文件并chmod +x
使其自行执行。
wallpaper-slideshow.sh
#!/usr/bin/python
import os
import random
import time
import re
import subprocess
# directory where Pictures are stored
pictureDirectory = os.getenv("HOME") + "/.xbmc/userdata/Thumbnails/Video/Fanart"
# time in seconds to wait between transitions
duration=60
# maximum system load before the slideshow is suspended
maxSysLoad=0.5
def getPictureList():
result = []
for root, sub, files in os.walk(pictureDirectory):
for f in files:
if f.endswith(('.jpeg','.jpg','png','.tbn')):
result.append(os.path.join(root, f))
return result
def getSystemLoad():
uptimeString = subprocess.check_output(["uptime"])
return float(re.match(r".*load average: ([^,]+),.*", uptimeString).group(1))
def isProcRunning(name):
with open(os.devnull, "w") as devnull:
return subprocess.call(["pidof", name], stdout=devnull) == 0
def setDesktopBackgroundPicture(filename):
return subprocess.call(["gsettings", "set",
"org.gnome.desktop.background",
"picture-uri", '"file://' + filename + '"'])
def main():
time.sleep(10) # startup delay
pictureList = getPictureList()
while 1:
if getSystemLoad() > maxSysLoad or isProcRunning("vlc") or isProcRunning("xbmc.bin") :
print "slide show suspended while VLC or XMBC is running or system load is high"
else:
picture = random.choice(pictureList)
print picture
setDesktopBackgroundPicture(picture)
time.sleep(duration)
if __name__ == "__main__":
main()
答案4
这里的关键是将 Gnome 指向 XML 幻灯片文件的位置。出于某种原因,此选项在 中不可用dconf-editor
,但您可以使用gsettings
来获取和设置它。(参考:维基百科):
读取当前设置:
GSETTINGS_BACKEND=dconf gsettings get org.gnome.desktop.background picture-uri
要设置新幻灯片:
GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri 'file:///home/username/path/to/your/slideshow.xml'
也许您之前创建过 XML 幻灯片,或者您可以使用这个脚本。
我可以推荐克雷布斯,遗憾的是它无法通过 PPA 在 Ubuntu 11.10 上使用,但你可以下载并安装 Natty 软件包(这有点冒险),或者使用源码包- 一旦解压,您不需要安装任何东西,只需运行脚本crebs/bin/crebs
(请注意,Crebs 可能有一些依赖项,从终端运行脚本来找出答案)。
一旦您创建并保存了您喜欢的 Crebs 幻灯片,生成的 XML 就会保存到~/.crebs/
目录中 - 如上所述,只需运行:
GSETTINGS_BACKEND=dconf gsettings set org.gnome.desktop.background picture-uri "file://$HOME/.crebs/MySuperCoolSlideshow.xml"
(记得更改文件名)幻灯片将立即应用。