统信UOS可通过Python脚本+systemd定时器实现每天9点自动更换Bing每日一图:先创建~/Pictures/BingDaily目录,再编写并授权set_bing_wallpaper.py脚本,最后配置wallpaper-daily.timer和服务单元文件,启用后即可准时更新壁纸。

你想让统信UOS桌面背景在每天固定时间(比如早上9点)自动换成最新Bing每日一图,而不是按固定间隔轮播,系统原生设置里找不到这个选项,必须通过脚本+定时任务实现。
准备壁纸专用存储目录
打开终端(Ctrl+Alt+T),执行以下命令创建存放Bing图片的专属文件夹:
mkdir -p ~/Pictures/BingDaily
【这一步必须完成,后续所有路径都基于此目录】。如果家目录路径不是标准/home/用户名格式,请把命令中的~替换成实际绝对路径(如/home/zhangsan)。
编写并保存Bing壁纸获取脚本
在终端中执行:
gedit ~/bin/set_bing_wallpaper.py
将以下完整代码粘贴进去并保存关闭:
#!/usr/bin/env python3
import requests, os, sys
from pathlib import Path
WALLPAPER_DIR = Path.home() / "Pictures" / "BingDaily"
WALLPAPER_FILE = WALLPAPER_DIR / "bing_daily.jpg"
def main():
if not WALLPAPER_DIR.exists():
print("错误:壁纸目录不存在,请先运行 mkdir -p ~/Pictures/BingDaily")
return 1
try:
res = requests.get("https://area.sinaapp.com/bingImg/", timeout=10)
res.raise_for_status()
img_url = res.text.strip()
img_data = requests.get(img_url, timeout=15).content
WALLPAPER_FILE.write_bytes(img_data)
os.system(f'gsettings set org.mate.background picture-filename "{WALLPAPER_FILE.as_posix()}"')
print("✅ Bing壁纸已更新并设为桌面背景")
except Exception as e:
print(f"❌ 执行失败:{e}")
脚本保存后,还需赋予可执行权限:
chmod +x ~/bin/set_bing_wallpaper.py
配置systemd用户级定时器
第一步:创建定时器单元文件
执行命令:
gedit ~/.config/systemd/user/wallpaper-daily.timer
粘贴以下内容并保存:
[Unit]
Description=每日9点更新Bing壁纸
[Timer]
OnCalendar=*-*-* 09:00:00
Persistent=true
[Install]
WantedBy=default.target
第二步:创建对应的服务单元文件
执行命令:
gedit ~/.config/systemd/user/wallpaper-daily.service
粘贴以下内容并保存:
[Unit]
Description=执行Bing壁纸更新脚本
[Service]
Type=oneshot
ExecStart=/usr/bin/python3 %h/bin/set_bing_wallpaper.py
Environment=DISPLAY=:0
Environment=XDG_RUNTIME_DIR=/run/user/1000
第三步:启用并启动定时器
依次执行:
systemctl --user daemon-reload
systemctl --user enable wallpaper-daily.timer
systemctl --user start wallpaper-daily.timer
执行完最后一条命令后,定时器立即生效。你可以在终端运行
systemctl --user list-timers --all
查看wallpaper-daily.timer是否出现在列表中且下一次触发时间为今天9点(若已过9点则显示明天9点)。

















