统信uos桌面可通过本地python脚本+systemd定时器每日自动更换bing精选高清壁纸;脚本从area.sinaapp.com/bingimg获取图片,保存至~/pictures/bingdaily并用gsettings设为mate桌面背景,9点自动执行。

您希望统信UOS桌面每天自动更换为Bing精选高清图,但系统原生不支持Bing壁纸源直连,需借助脚本从Bing公开接口拉取图片并设为壁纸。该方案完全本地运行,不依赖微软应用或第三方服务,且适配UOS的Mate桌面环境。
准备Bing壁纸下载与存储目录
创建专用文件夹用于存放每日下载的壁纸,避免混入其他图片干扰自动轮播逻辑。
打开终端(Ctrl+Alt+T),执行:
mkdir -p ~/Pictures/BingDaily
这一步必须完成,【后续所有路径都基于此目录】。若手动改过用户名或家目录路径,请同步替换命令中的~为实际绝对路径(如/home/yourname)。
编写Python脚本获取并设置Bing壁纸
脚本将从Bing中国镜像接口(area.sinaapp.com/bingImg)获取当日图片URL,下载保存为JPEG,并通过gsettings设为当前壁纸。
在终端中执行:
gedit ~/bin/set_bing_wallpaper.py
将以下代码完整粘贴进去并保存关闭:
#!/usr/bin/env python3
import requests, os, sys
from pathlib import Path
# 配置部分:请勿修改URL,仅检查保存路径是否与上一步一致
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:
# 获取Bing每日图URL
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)
# 设置为壁纸(适配UOS Mate桌面)
os.system(f'gsettings set org.mate.background picture-filename "{WALLPAPER_FILE.as_posix()}"')
print("✅ Bing壁纸已更新并设为桌面背景")
except Exception as e:
print(f"❌ 执行失败:{e}")
return 1
return 0
if __name__ == "__main__":
sys.exit(main())
赋予脚本可执行权限并测试运行
终端中执行:
chmod +x ~/bin/set_bing_wallpaper.py
首次运行验证是否成功:
~/bin/set_bing_wallpaper.py
若终端输出✅ Bing壁纸已更新并设为桌面背景,且桌面立刻刷新为一张高清风景图,说明脚本工作正常。若报错“Command 'gedit' not found”,请改用nano:
nano ~/bin/set_bing_wallpaper.py
配置每日定时任务(systemd user timer)
使用UOS原生支持的systemd用户级定时器,比crontab更稳定,且开机自启无需额外配置。
第一步:创建timer单元文件
mkdir -p ~/.config/systemd/user
gedit ~/.config/systemd/user/bing-wallpaper.timer
写入内容:
[Unit]
Description=Bing Daily Wallpaper Fetcher
[Timer]
OnCalendar=09:00:00
Persistent=true
[Install]
WantedBy=default.target
第二步:创建对应的service单元文件
gedit ~/.config/systemd/user/bing-wallpaper.service
写入内容:
[Unit]
Description=Bing Daily Wallpaper Service
After=network.target
[Service]
Type=oneshot
ExecStart=/home/用户名/bin/set_bing_wallpaper.py
Environment=DISPLAY=:0
Environment=XDG_RUNTIME_DIR=/run/user/1000
[Install]
WantedBy=default.target
【注意:请务必将上面两处“用户名”替换成你实际的登录用户名】
第三步:启用并启动定时器
systemctl --user daemon-reload
systemctl --user enable --now bing-wallpaper.timer
执行后,系统将在每天上午9点自动拉取最新Bing图并设为壁纸。如需立即触发一次,运行:
systemctl --user start bing-wallpaper.service











