目前自定义壁纸是限定了20张,不限制的话会担心可能影响性能;另外自动更换不生效这个内部已修复,只是没赶上前天的推送,计划近期会更新推送。
目前自定义壁纸是限定了20张,不限制的话会担心可能影响性能;另外自动更换不生效这个内部已修复,只是没赶上前天的推送,计划近期会更新推送。
👍 好的,希望将来能突破20张的限制,并且可以批量添加
目前自定义壁纸是限定了20张,不限制的话会担心可能影响性能;另外自动更换不生效这个内部已修复,只是没赶上前天的推送,计划近期会更新推送。
其实没必要一次加载全部的,比如加个滚动条,向下滑动的时候再逐张加载,弄个加载的可爱动画就行,关闭设置时,再全部释放掉。
这样就不会影响性能了。
其实吧,现在每次设置打开那个加载主界面元素的动画,看着都卡

目前自定义壁纸是限定了20张,不限制的话会担心可能影响性能;另外自动更换不生效这个内部已修复,只是没赶上前天的推送,计划近期会更新推送。
没必要显示全部壁纸,太多会卡,可以考虑懒加载,在两边展示方向键用于翻页,不管怎么多也就 20 个。
目前自定义壁纸是限定了20张,不限制的话会担心可能影响性能;另外自动更换不生效这个内部已修复,只是没赶上前天的推送,计划近期会更新推送。
作为一个操作系统,批量加自定义壁纸、轮换壁纸是个很基本的功能,如果这还要限定20张为上限,实在太low了,还不如20年前的winXP!太让人失望了。
#!/bin/bash
# 获取桌面环境变量(cron 下必需)
export DISPLAY=:0
export DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/$(id -u)/bus
# 壁纸目录
WALLPAPER_DIR="$1"
[ -z "$WALLPAPER_DIR" ] && WALLPAPER_DIR="$HOME/Pictures/Wallpapers"
[ ! -d "$WALLPAPER_DIR" ] && echo "❌ 目录不存在!" && exit 1
mapfile -t PICS < <(find "$WALLPAPER_DIR" -type f \( -iname "*.jpg" -o -iname "*.jpeg" \) | sort)
COUNT=${#PICS[@]}; [ $COUNT -eq 0 ] && echo "❌ 没有图片!" && exit 1
IDX=$(( RANDOM % COUNT ))
WP="${PICS[$IDX]}"
echo "🖼️ $(basename "$WP")"
# 获取屏幕分辨率(例:1920x1080)
RES=$(xrandr --current | grep '*' | head -1 | awk '{print $1}')
W=${RES%x*}
H=${RES#*x}
echo "📐 屏幕分辨率: ${W}x${H}"
# 强制拉伸到屏幕分辨率(! 表示忽略宽高比,完整显示不裁剪)
# 清理旧临时文件(只保留本次)
rm -f /tmp/wallpaper_fit_*.jpg 2>/dev/null
# ===== 关键:使用唯一文件名(PID + 时间戳)=====
TMP_WP="/tmp/wallpaper_fit_$$_$(date +%s).jpg"
if command -v convert >/dev/null 2>&1; then
convert "$WP" -resize ${W}x${H}! "$TMP_WP"
elif command -v ffmpeg >/dev/null 2>&1; then
ffmpeg -y -loglevel quiet -i "$WP" -vf "scale=${W}:${H}" "$TMP_WP"
else
echo "❌ 未找到 convert 或 ffmpeg,请安装:sudo apt install imagemagick"
exit 1
fi
# ===== 使用唯一的 URI 设置壁纸 =====
dbus-send --session --dest=org.deepin.dde.Appearance1 \
--print-reply /org/deepin/dde/Appearance1 \
org.deepin.dde.Appearance1.SetCurrentWorkspaceBackground \
string:"file://$TMP_WP" && echo "✅ 完成" || echo "❌ 失败"
跟AI沟通了几个回合,它给出了一个Deepin25.2中实测可用的.sh脚本,可以对指定目录内的jpg文件随机选取、更换为壁纸,文件数量不受限制。注意:脚本前面关于export的两行用于设置环境变量,以便在crontab中可以被运行。
为了解决deepin的壁纸不能忽略长宽比进行拉伸的问题,AI调用了ffmpeg进行了转化。
把上述脚本保存为ChgWp.sh,然后要给它赋予运行权限:
chmod +x ChgWp.sh
然后运行它就可以手动在指定目录中随机选一张图片、更换为壁纸了。
如果想定时更换壁纸,用crontab -e把这个脚本加入到定时启动程序列表中。
例如,把上述代码保存为ChgWp.sh,设置为10分钟轮换一次,则增加下面一行:
*/10 * * * * 脚本所在目录/ChgWp.sh
还可以指定用户自己的壁纸目录:
*/10 * * * * 脚本所在目录/ChgWp.sh /mnt/diskD/壁纸/
Popular Ranking
ChangePopular Events
More

中文 


如图,自定义的图片最多添加20张,而且不能批量添加,只能单张添加,而且这个自动切换壁纸我设为10分钟,实际并没有变化