xfce4自动更新bing壁纸脚本

使用 Bash 脚本自动下载并设置 Bing 壁纸

需要使用 curl, wget, 和 jq 的 Bash 脚本代码如下:

#!/bin/bash
#sleep 15
current_date=$(date +%Y%m%d)
#downpath
downpath=/home/ivo/Pictures/BingPics/cn.bing.com/az/hprichbg/rb/
if [ ! -d "$downpath" ]; then
    mkdir -p $downpath
fi

cd $downpath
netstat=$(ping -c3 g.cn | grep transmitted | awk '{print $4}')
if [ $netstat == 0 ]; then
    echo "/home/ivo/script/wallpapper.sh" | at "now +5 minutes"
else
    if [ $(ls | grep $current_date | wc -l) == 0 ]; then
        # 使用 http://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=en-US 获取 base_url
        base_url=$(curl -s 'http://cn.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN' | jq -r '.images[0].url')
        head_url="http://cn.bing.com"
        original_url=$head_url$base_url
        # 获取图片名称
        Pictures_name=$(echo $original_url | awk -F\/ '{print $NF}')
        # 下载图片
        wget -c $original_url
        fs=_
        mv $Pictures_name $current_date$fs$Pictures_name
        # 设置 GNOME3 壁纸(这里以 XFCE 为例,需要替换为 GNOME 的相应命令)
        xfconf-query -c xfce4-desktop -p /backdrop/screen0/monitor0/workspace0/last-image -s $downpath$current_date$fs$Pictures_name
    fi
fi

注意

  • 脚本中使用了 xfconf-query 来设置 XFCE 桌面的壁纸,如果你使用的是 GNOME,需要替换为 GNOME 的相应命令来设置壁纸。
  • 脚本中通过 ping 命令检查网络连接状态,如果无法连接到 g.cn,则使用 at 命令在 5 分钟后再次运行脚本。这部分逻辑可能需要根据你的实际需求进行调整。
  • 脚本中的 curl 命令用于获取 Bing 壁纸的 URL,jq 用于解析 JSON 数据,wget 用于下载图片。
上一篇
下一篇