请教关于如何定时切换壁纸

桌面秀,不同桌面、不同风格。
回复
似水流年c
帖子: 4
注册时间: 2021-07-20 15:21
系统: ubuntu20.04
送出感谢: 1 次
接收感谢: 0

请教关于如何定时切换壁纸

#1

帖子 似水流年c » 2022-07-28 10:42

各位大佬,系统安装Ubuntu22.04后,我下载了一些图片想作为壁纸,因为在设置里没找到可以定时切换壁纸的功能,所以初步的想法是:1.能不能通过命令行来设置某一张图片为壁纸;2.如果第一步可以,再通过定时脚本来执行。
然后我在网上找了一下:
1. 设置壁纸
gsettings set org.gnome.desktop.background picture-uri "file:/home/leon/pic/111.jpg"
2. 设置壁纸图片居中
gsettings set org.gnome.desktop.background picture-options 'centered'
可是设置没成功
我看右键某一张图片有个设为壁纸的功能,我有没有可能知道这个功能是如何实现的
能不能请大佬们指点一下,或者有现成的软件推荐也可以~
头像
qy117121
论坛版主
帖子: 50411
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 18 次
接收感谢: 390 次
联系:

Re: 请教关于如何定时切换壁纸

#2

帖子 qy117121 » 2022-07-28 11:38

是要指定某个时间切换?还是隔几分钟切换?

隔几分钟切换的话可以看这个 https://blog.51cto.com/dyc2005/2327287

还有Shotwell软件导入图片后可以设置桌面幻灯片

https://extensions.gnome.org/extension/ ... -switcher/ 也可以用扩展
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
似水流年c
帖子: 4
注册时间: 2021-07-20 15:21
系统: ubuntu20.04
送出感谢: 1 次
接收感谢: 0

Re: 请教关于如何定时切换壁纸

#3

帖子 似水流年c » 2022-07-28 11:45

想隔几分钟切换
头像
qy117121
论坛版主
帖子: 50411
注册时间: 2007-12-14 13:40
系统: Winbuntu
来自: 志虚国乌由市
送出感谢: 18 次
接收感谢: 390 次
联系:

Re: 请教关于如何定时切换壁纸

#4

帖子 qy117121 » 2022-07-28 11:59

gsettings set org.gnome.desktop.background picture-uri "file:/home/leon/pic/111.jpg"
应该为
gsettings set org.gnome.desktop.background picture-uri "file:///home/leon/pic/111.jpg"
渠月 · QY   
本人只会灌水,不负责回答问题
无聊可以点一下→ http://u.nu/ubuntu

Ubuntu 20.04 快速设置指南,请配合浏浏览器自动翻译使用

邮箱 chuan@ubuntu.org.cn
头像
flwwater
帖子: 674
注册时间: 2010-10-31 9:15
系统: kubuntu 22.04
送出感谢: 2 次
接收感谢: 31 次

Re: 请教关于如何定时切换壁纸

#5

帖子 flwwater » 2022-08-04 10:53

kubuntu22.04原生支持自动指定时间更换壁纸
个人收藏的古风音乐和纯音乐(钢琴,笛子,二胡等):
https://url17.ctfile.com/d/15983117-44661221-77a33e
(访问密码:6220
leslielg
帖子: 124
注册时间: 2008-08-30 10:52
送出感谢: 2 次
接收感谢: 2 次

Re: 请教关于如何定时切换壁纸

#6

帖子 leslielg » 2022-08-24 0:00

Variety
sxgpic
帖子: 73
注册时间: 2013-12-13 6:57
送出感谢: 1 次
接收感谢: 3 次

Re: 请教关于如何定时切换壁纸

#7

帖子 sxgpic » 2022-09-02 15:46

1、建一个文件夹:
sudo mkdir /usr/share/backgrounds/mywallpapers/

2、把你漂亮的桌面壁纸文件(png、jpg)复制到新建的文件夹里面:
sudo cp *.jpg /usr/share/backgrounds/mywallpapers/

3、编辑自动切换桌面背景的定义文件,指定切换时间间隔等参数:
sudo gedit /usr/share/backgrounds/mywallpapers/mywallpapers-timed.xml
内容大概如下:

代码: 全选

<background>
	<starttime>
		<year>2020</year>
		<month>04</month>
		<day>01</day>
		<hour>00</hour>
		<minute>00</minute>
		<second>00</second>
	</starttime>
	<!-- This animation will start at midnight. -->
	<static>
		<duration>600.0</duration>
		<file>/usr/share/backgrounds/mywallpapers/001.jpg</file>
	</static>
	<transition>
		<duration>2.0</duration>
		<from>/usr/share/backgrounds/mywallpapers/001.jpg</from>
		<to>/usr/share/backgrounds/mywallpapers/002.jpg</to>
	</transition>
	<static>
		<duration>600.0</duration>
		<file>/usr/share/backgrounds/mywallpapers/002.jpg</file>
	</static>
	<transition>
		<duration>2.0</duration>
		<from>/usr/share/backgrounds/mywallpapers/002.jpg</from>
		<to>/usr/share/backgrounds/mywallpapers/003.jpg</to>
	</transition>
	<static>
		<duration>600.0</duration>
		<file>/usr/share/backgrounds/mywallpapers/003.jpg</file>
	</static>
	<transition>
		<duration>2.0</duration>
		<from>/usr/share/backgrounds/mywallpapers/003.jpg</from>
		<to>/usr/share/backgrounds/mywallpapers/001.jpg</to>
	</transition>
</background>
其中 <duration>600.0</duration> 里面的 600.0 是每张桌面背景显示的持续时间,<duration>2.0</duration> 里的2.0是背景切换时间。
以上例子中,我们拷贝了三张壁纸,分别是 001.jpg、002.jpg、003.jpg,请根据你自己实际的壁纸数量和名称增减修改。
我们设置了从 001.jpg 到 002.jpg 再到 003.jpg 最后回到 001.jpg 每个一段时间自动循环切换壁纸显示。

4、若想自己的复制进/usr/share/backgrounds/mywallpapers/目录的壁纸在 “更换桌面壁纸” 的设置里自动显示出来,还要再编辑一个文件:
sudo gedit /usr/share/gnome-background-properties/mywallpapers.xml
内容大概是罗列你复制到 /usr/share/backgrounds/mywallpapers/ 里面的那些壁纸文件名(这个例子中我们的三张示例壁纸文件是 001.jpg、002.jpg 和 003.jpg,请改成你自己的实际壁纸名称):

代码: 全选

<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
		<wallpaper deleted="false">
			<name>1</name>
			<filename>/usr/share/backgrounds/mywallpapers/001.jpg</filename>
			<options>zoom</options>
			<pcolor>#ffffff</pcolor>
			<scolor>#000000</scolor>
		</wallpaper>
		<wallpaper deleted="false">
			<name>2</name>
			<filename>/usr/share/backgrounds/mywallpapers/002.jpg</filename>
			<options>zoom</options>
			<pcolor>#ffffff</pcolor>
			<scolor>#000000</scolor>
		</wallpaper>
		<wallpaper deleted="false">
			<name>3</name>
			<filename>/usr/share/backgrounds/mywallpapers/003.jpg</filename>
			<options>zoom</options>
			<pcolor>#ffffff</pcolor>
			<scolor>#000000</scolor>
		</wallpaper>
</wallpapers>
5、最后再编辑一个文件:
sudo gedit /usr/share/gnome-background-properties/mydefaultwallpapers.xml
内容大体如下:

代码: 全选

<?xml version="1.0"?>
<!DOCTYPE wallpapers SYSTEM "gnome-wp-list.dtd">
<wallpapers>
  <wallpaper deleted="false">
    <name>Default Background</name>
    <filename>/usr/share/backgrounds/mywallpapers/mywallpapers-timed.xml</filename>
    <options>zoom</options>
    <shade_type>solid</shade_type>
    <pcolor>#3465a4</pcolor>
    <scolor>#000000</scolor>
  </wallpaper>
</wallpapers>

完工。你可以把以上编辑的文件打包成一个 deb ,用 dpkg -i 命令装上。提供一个参考示例 deb 包:
my-custom-backgrounds_1.0-1_all.deb
(842.39 KiB) 下载 7 次
你可以解包并拷入你自己的桌面背景,根据你的实际情况编辑修改那些 xml 文件,然后重新封包。
解包和封包推荐用我的脚本:

sudo gedit /usr/local/bin/undeb
贴入如下内容:

代码: 全选

#!/bin/bash

PKG=$1

sudo rm -rf d; mkdir -p d/DEBIAN
dpkg -e $PKG d/DEBIAN/
dpkg -x $PKG d/
sudo rm -rf $PKG
sudo chmod +x /usr/local/bin/undeb

sudo gedit /usr/local/bin/redeb
贴入如下内容:

代码: 全选

#!/bin/bash
DIR=$1
PKG=$(cat $DIR/DEBIAN/control | grep "Package:" | sed 's/ //g' | cut -d: -f2)
VER=$(cat $DIR/DEBIAN/control | grep "Version:" | sed 's/ //g' | cut -d: -f2)
ARC=$(cat $DIR/DEBIAN/control | grep "Architecture:" | sed 's/ //g' | cut -d: -f2)
cd $DIR
find usr lib etc bin sbin var opt -type f 2>/dev/null | xargs -i md5sum {} > DEBIAN/md5sums
SIZE=$(du -s usr lib etc bin sbin var opt 2>/dev/null | awk 'BEGIN{FS=" "};{sum+=$1}END{print sum}')
sed -i "s/\(Installed-Size:\).\+$/\1 $SIZE/g" DEBIAN/control
cd - > /dev/null 2>&1
sudo chown -R root:root $DIR
sudo dpkg -b $DIR ${PKG}"_"${VER}"_"${ARC}.deb
[ $? -eq 0 ] && sudo rm -rf $DIR
sudo chmod +x /usr/local/bin/redeb

这两个脚本可以大大方便 deb 解包和重新封包,怎么用呢?像这样:
undeb my-custom-backgrounds_1.0-1_all.deb
得到一个文件夹 d,一通修改后,
redeb d
得到一个新的 deb 包,就是你自己自定义的 deb 包。
头像
男菜鸟
帖子: 1329
注册时间: 2008-12-16 14:01
来自: 漂在江湖
送出感谢: 20 次
接收感谢: 17 次

Re: 请教关于如何定时切换壁纸

#8

帖子 男菜鸟 » 2022-09-27 11:15

mark
回复