1. 服务器/VPS/主机用户Telegram电报群: https://t.me/openos
    黑群晖 Synology Telegram电报群: https://t.me/nasfan
    排除公告

群晖DSM7.x 每天自动更换登陆界面壁纸教程

本帖由 CCK2021-12-01 发布。版面名称:群晖 Synology DSM 综合讨论

  1. CCK

    CCK Member

    DIY NAS交流群:772356359

    此脚本为@kkkgo所写,在此表示感谢。写此教程只为便于新人操作,纯保姆级别,以提升大家对群晖的折腾乐趣。此脚本仅支持的群晖DSM7.x版本,有条件的同学可上Github点个星星支持大佬。
    教程参考:https://github.com/kkkgo/DSM_Login_BingWallpaper

    操作步骤:
    1、打开控制面板——任务计划——新增——计划的任务——用户定义的脚本

    [​IMG]

    2、一般设置
    任务名称:DSM_Login_BingWallpaper
    用户账号:root

    [​IMG]

    3、计划(一般按默认即可,可根据需求自行修改)

    [​IMG]

    4、任务设置
    在用户定义的脚本,输入下面代码然后点击确定即可,如需收集每日美图去掉下面注释设置保存文件夹路径(删掉#即可去掉注释,保存路径根据自己实际填写)。

    [​IMG]

    5、选中刚才所建脚本,右击选择运行将即刻生效,此后每天将自动更换壁纸。

    [​IMG]


    操作脚本代码(回复可见)
    最后祝大家玩得开心。
    生命不止,折腾不息!
    2022-3-7更新:保存图像至本地代码更新,感谢用户jasmine203予以修复,具体修复内容详见本贴71楼。
    2022-8-29更新:优化代码,新增桌面壁纸替换。
    2023-1-6更新:新增提示标语语言切换。

    语言设置参考:https://lingohub.com/developers/supported-locales/language-designators-with-regions
    [hide]

    代码:
    # 设置你的语言
    # set your language(en-US,zh-CN...)
    lang="zh-CN"
    # 如需收集保存壁纸,请去掉下面注释,设置保存文件夹路径
    # 在FileStation里面右键文件夹属性可以看到路径
    # If you want to collect and save Wallpapers, 
    # please remove the comment below and set the savepath.
    # Right click the folder property in FileStation to see the path.
    
    #savepath="/volume1/myshare/wallpaper"
    
    # 如需下载4k分辨率,请设置res=4k
    # 如需下载体积更大的4k以上分辨率的原始图片,请设置res=raw
    # To download 4K resolution, set res=4K
    # To download a larger original picture, set res=raw
    
    #res=4k
    
    # 修改用户桌面壁纸,注释后会替换系统的wallpaper1
    # 你需要清空浏览器缓存查看效果,仅在DSM7.x上测试.
    # Modify user desktop wallpaper.Only test for DMS7.x.
    # System "Wallpaper1" will replaced by remove the comment.
    # You need to clear the browser cache to see the effect.
    
    #desktop=yes
    
    echo "[x]Collecting information..."
    pic="https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1"
    if [ "$res" != "" ]
    then pic="https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&uhd=1&uhdwidth=3840&uhdheight=2160"
    fi
    pic=$(wget -t 5 --no-check-certificate -qO- $pic --header="cookie:_EDGE_S=mkt=$lang")
    echo $pic|grep -q startdate||exit
    link=$(echo https://www.bing.com$(echo $pic|sed 's/.\+"url"[:" ]\+//g'|sed 's/".\+//g'))
    if [ "$res" == "raw" ]
    then link=$(echo $link|grep -Eo "https://[-=?/._a-zA-Z0-9]+")
    fi
    date=$(echo $pic|grep -Eo '"startdate":"[0-9]+'|grep -Eo '[0-9]+'|head -1)
    if [ "$date" == "" ]
    then date=$(date +%Y%m%d)
    fi
    title=$(echo $pic|sed 's/.\+"title":"//g'|sed 's/".\+//g')
    copyright=$(echo $pic|sed 's/.\+"copyright[:" ]\+//g'|sed 's/".\+//g')
    keyword=$(echo $copyright|sed 's/, /-/g'|cut -d" " -f1|grep -Eo '[^()\\/:*?"<>]+'|head -1)
    filename="bing_"$date"_"$keyword".jpg"
    echo "Link:"$link
    echo "Date:"$date
    echo "Title:"$title
    echo "Copyright:"$copyright
    echo "Keyword:"$keyword
    echo "Filename:"$filename
    
    echo "[x]Downloading wallpaper..."
    tmpfile=/tmp/$filename
    wget -t 5 --no-check-certificate  $link -qO $tmpfile
    ls -lah $tmpfile||exit
    
    echo "[x]Copying wallpaper..."
    if [ "$savepath" != "" ]
    then cp $tmpfile "$savepath"
    echo "Save:"$savepath
    ls -lah "$savepath"|grep $date
    cd "$savepath"
    chmod 777 $filename
    else echo "savepath is not set, skip copy."
    fi
    
    echo "[x]Setting welcome msg..."
    sed -i s/login_welcome_title=.*//g /etc/synoinfo.conf
    echo "login_welcome_title=\"$title\"">>/etc/synoinfo.conf
    sed -i s/login_welcome_msg=.*//g /etc/synoinfo.conf
    echo "login_welcome_msg=\"$copyright\"">>/etc/synoinfo.conf
    
    echo "[x]Applying login wallpaper..."
    sed -i s/login_background_customize=.*//g /etc/synoinfo.conf
    echo "login_background_customize=\"yes\"">>/etc/synoinfo.conf
    sed -i s/login_background_type=.*//g /etc/synoinfo.conf
    echo "login_background_type=\"fromDS\"">>/etc/synoinfo.conf
    rm -rf /usr/syno/etc/login_background*.jpg
    cp -f $tmpfile /usr/syno/etc/login_background.jpg
    ln -sf /usr/syno/etc/login_background.jpg /usr/syno/etc/login_background_hd.jpg
    
    echo "[x]Clean..."
    rm -f /tmp/bing_*.jpg
    
    if [ "$desktop" == "yes" ]
    then echo "[x]Applying user desktop wallpaper..."
    mkdir -p /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/
    mkdir -p /usr/syno/synoman/webman/resources/images/1x/default_wallpaper/
    mkdir -p /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/
    mkdir -p /usr/syno/synoman/webman/resources/images/default_wallpaper/
    #7.0
    cp -f /usr/syno/etc/login_background.jpg /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/1x/default_wallpaper/dsm7_01.jpg
    #6.0
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/default_wallpaper.jpg
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/dsm6_01.jpg
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/default/1x/default_wallpaper/dsm6_02.jpg
    #5.2
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/default_wallpaper/default_wallpaper.jpg
    #5.1
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/default_wallpaper/01.jpg
    ln -sf /usr/syno/synoman/webman/resources/images/2x/default_wallpaper/dsm7_01.jpg /usr/syno/synoman/webman/resources/images/default_wallpaper/02.jpg
    fi
    
    [/hide]

    效果:

    [​IMG]

    [​IMG]
     
    最后编辑: 2023-06-28
    已获得 flowoverstupidbadboyqianyuanaini另外 7 人的点赞。
  2. cheong0hk

    cheong0hk Member

    谢谢楼主分享
     
  3. guoguangtong

    guoguangtong New Member

    谢谢楼主分享
     
  4. caicaihou

    caicaihou New Member

    谢谢大佬分享
     
  5. yyse007

    yyse007 New Member

    谢谢大佬分享
     
  6. yes090786

    yes090786 New Member

    谢谢大佬分享
     
  7. 谢谢大佬分享
     
  8. caolc

    caolc New Member

    看下这个
     
  9. hlhck118

    hlhck118 New Member

    谢谢分享!!!
     
  10. small291

    small291 New Member

    来学习的,谢谢楼主的分享