把微软bing的背景图自动更换为群晖DSM7.X登录界面和DSM欢迎信息的教程

         三年前在DSM6.X系统下折腾过自动更换背景图(教程链接),今年升级到DSM7.X以后没去折腾这玩意,感觉DSM7.X看腻了就想起来要折腾一下,于是开始动手:

1、打开控制面板,找到“登录门户”,在“DSM”标签点“编辑”;

 

 

2、在“背景”处打勾,保存;

 

 

3、点控制面板,任务计划,新增,计划的任务,用户定义的脚本;

 

 

4、任务名称写"DSM7-BingWallpaper",用户账号要改成“root”,然后在“已启动”处打勾;

 

 

5、在“计划”标签处,根据自己的习惯设置,我设置的是每天0点更新,所以设置如下:

 

 

6、点“任务设置”,把下面的脚本全部复制,到“用户定义的脚本”里面粘贴,确定;

#如需收集每日美图去掉下面注释设置保存文件夹路径,在FileStation里面右键文件夹属性可以看到路径
#savepath="/volume2/download/BingWallpaper"
#下载Bing图片
pic=$(wget -t 5 --no-check-certificate -qO- "https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1")
echo $pic|grep -q enddate||exit
link=$(echo https://www.bing.com$(echo $pic|sed 's/.\+"url"[:" ]\+//g'|sed 's/".\+//g'))
date=$(echo $pic|sed 's/.\+enddate[": ]\+//g'|grep -Eo 2[0-9]{7}|head -1)
tmpfile=/tmp/$date"_bing.jpg"
wget -t 5 --no-check-certificate $link -qO $tmpfile
[ -s $tmpfile ]||exit
rm -rf /usr/syno/etc/login_background*.jpg
cp -f $tmpfile /usr/syno/etc/login_background.jpg &>/dev/null
cp -f $tmpfile /usr/syno/etc/login_background_hd.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/1x/default_login_background/dsm7_01.jpg &>/dev/null
cp -f $tmpfile /usr/syno/synoman/webman/resources/images/2x/default_login_background/dsm7_01.jpg &>/dev/null
title=$(echo $pic|sed 's/.\+"title":"//g'|sed 's/".\+//g')
copyright=$(echo $pic|sed 's/.\+"copyright[:" ]\+//g'|sed 's/".\+//g')
word=$(echo $copyright|sed 's/(.\+//g')
if [ ! -n "$title" ];then
cninfo=$(echo $copyright|sed 's/,/"/g'|sed 's/,/"/g'|sed 's/(/"/g'|sed 's/ //g'|sed 's/\//_/g'|sed 's/)//g')
title=$(echo $cninfo|cut -d'"' -f1)
word=$(echo $cninfo|cut -d'"' -f2)
fi
#将图片应用于登陆界面
sed -i s/login_background_customize=.*//g /etc/synoinfo.conf
echo "login_background_customize=\"yes\"">>/etc/synoinfo.conf
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=\"$word\"">>/etc/synoinfo.conf
#将图片保存到指定路径
if (echo $savepath|grep -q '/') then
cp -f $tmpfile "$savepath/$date@$title-$word.jpg"
fi
#清除临时文件
rm -rf /tmp/*_bing.jpg

 

 

 

7、确定;

 

 

8、找到刚才添加的任务计划“DSM7-BingWallpaper”,右键,运行;

 

 

9、是;

 

 

10、打开群晖的登录界面看一下,已经变了模样;(如果需要把输入用户名和密码那里的白底去掉,还需要继续做一下美化,请查看《把群晖DSM7.1.1-42962的登录界面美化成半透明》教程。)

 

 

11、再打开微软bing的网站,对比一下背景图以及图片的介绍,跟群晖登录界面是一样的,证明折腾成功!

 


代码来源:https://github.com/Yuqing-Xie/DSM_Login_BingWallpaper,感谢作者!

点赞
  1. luo说道:
    Google Chrome Mac OS X 10.15.7
    若NAS挂了代理,壁纸著作权信息为英文,想换成中文可以在 api 地址后面添加&mkt=zh-CN,即https://www.bing.com/HPImageArchive.aspx?format=js&idx=0&n=1&mkt=zh-CN
    1. 博主说道:
      Google Chrome Windows 10
      感谢经验分享!
  2. iservia说道:
    Google Chrome Windows 10
    很奇怪的是我必须第二步,“背景”那个勾取消才能显示出bing的壁纸。不然显示出来是自带壁纸+bing的标语。 :a:
  3. Trustedinstaller说道:
    Google Chrome Windows 10
    分享一下我的任务计划,登陆界面、桌面、保存壁纸(UHD)都正常 下面username、savepath改成自己的 #设置拥有图片权限的用户名 username="username" #如需将图片应用于登陆界面,就去掉下面注释 loginbkg="true" #如需将图片应用于用户桌面,就去掉下面注释改为对应用户名,并在“DSM桌面右上角-个人设置-桌面”启用“自定义壁纸”后任意选择一张图片 userbkg="/usr/syno/etc/preference/$username/wallpaper" userbkg7="/usr/syno/etc/preference/$username/wallpaper_dir/wallpaper" userbkg7_hd="/usr/syno/etc/preference/$username/wallpaper_dir/wallpaper_hd" #如需将图片保存到指定路径,就去掉下面注释设置保存文件夹路径(在 FileStation 里面右键文件夹属性可以看到路径) savepath="/volume1/Wallpapper" savepathUHD="/volume1/Wallpapper/UHD" #以下内容无需修改 #以下内容无需修改 #以下内容无需修改 #解析壁纸的下载地址,获取1080p与4k以上分辨率的壁纸 api=$(wget -t 5 --no-check-certificate -qO- "https://bing.com/HPImageArchive.aspx?format=js&idx=0&n=1") echo $api|grep -q enddate||exit link=$(echo https://cn.bing.com$(echo $api|sed 's/.\+"urlbase"[:" ]\+//g'|sed 's/".\+//g')_1920x1080.jpg) linkUHD=$(echo https://cn.bing.com$(echo $api|sed 's/.\+"urlbase"[:" ]\+//g'|sed 's/".\+//g')_UHD.jpg) date=$(echo $api|sed 's/.\+enddate[": ]\+//g'|grep -Eo 2[0-9]{7}|head -1) #下载壁纸至临时文件夹 tmpfile=/tmp/$date"_bing.jpg" tmpfileUHD=/tmp/$date"_bingUHD.jpg" wget -t 5 --no-check-certificate $link -qO $tmpfile wget -t 5 --no-check-certificate $linkUHD -qO $tmpfileUHD [ -s $tmpfile ]||exit #解析壁纸著作权信息 title=$(echo $api|sed 's/.\+"title":"//g'|sed 's/".\+//g') copyright=$(echo $api|sed 's/.\+"copyright[:" ]\+//g'|sed 's/".\+//g') word=$(echo $copyright|sed 's/(.\+//g'|sed 's/\//,/g'|sed 's/ //g') if [ ! -n "$title" ]; then cninfo=$(echo $copyright|sed 's/,/"/g'|sed 's/,/"/g'|sed 's/(/"/g'|sed 's/ //g'|sed 's/\//_/g'|sed 's/)//g') title=$(echo $cninfo|cut -d'"' -f1) word=$(echo $cninfo|cut -d'"' -f2) fi #修改登陆页面信息 if [ -n "$loginbkg" ]; then rm -rf /usr/syno/etc/login_background*.jpg cp -f $tmpfile /usr/syno/etc/login_background.jpg &>/dev/null cp -f $tmpfile /usr/syno/etc/login_background_hd.jpg &>/dev/null sed -i s/login_background_customize=.*//g /etc/synoinfo.conf echo "login_background_customize=\"yes\"">>/etc/synoinfo.conf 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=\"$word\"">>/etc/synoinfo.conf fi #将图片应用于用户桌面 if [ -n "$userbkg" ]; then cp -f $tmpfile $userbkg chown $username:users $userbkg fi if [ -n "$userbkg7" ]; then cp -f $tmpfile $userbkg7 chown $username:users $userbkg7 fi if [ -n "$userbkg7_hd" ]; then cp -f $tmpfile $userbkg7_hd chown $username:users $userbkg7_hd fi #将图片保存到指定路径 if [ -n "$savepath" ]; then cp -f $tmpfile $savepath/$date@${title}-${word}.jpg chown $username:users $savepath/$date@${title}-${word}.jpg synoindex -a $savepath/$date@${title}-${word}.jpg fi #将UHD图片保存到指定路径 if [ -n "$savepathUHD" ]; then cp -f $tmpfileUHD $savepathUHD/$date@${title}-${word}_UHD.jpg chown $username:users $savepathUHD/$date@${title}-${word}_UHD.jpg synoindex -a $savepathUHD/$date@${title}-${word}_UHD.jpg fi rm -rf /tmp/*_bing.jpg rm -rf /tmp/*_bingUHD.jpg
    1. 博主说道:
      Google Chrome Windows 10
      建议把你用的脚本保存到网盘,然后再分享链接出来,这样看都是一堆乱码,没法用。
      1. Trustedinstaller说道:
        Google Chrome Windows 10
        :han: 代码来源: https://github.com/shenhaiyu/DSM_Login_BingWallpaper/blob/master/BingWallpaper.sh 感谢作者!
        1. 博主说道:
          Google Chrome Windows 10
          你分享的这个链接,也只是改登录的背景图,改不了桌面啊。
          1. Trustedinstaller说道:
            Google Chrome Windows 10
            我这里改桌面是生效的,黑白裙都能用
    2. 嘲笑的风说道:
      Google Chrome Windows 10
      要怎么操作呢?这里面的几句“就去掉下面注释 ”不明白,哪个是注释啊?还有$username这里的符号要改吗?
    3. 嘲笑的风说道:
      Google Chrome Windows 10
      试了一下,只能改登录界面,不能改桌面,图片也没有下载进去。麻烦帮我看看,用户名是daixuan201 #设置拥有图片权限的用户名 username="daixuan201" #如需将图片应用于登陆界面,就去掉下面注释 loginbkg="true" #如需将图片应用于用户桌面,就去掉下面注释改为对应用户名,并在“DSM桌面右上角-个人设置-桌面”启用“自定义壁纸”后任意选择一张图片 userbkg="/usr/syno/etc/preference/$daixuan201/wallpaper" userbkg7="/usr/syno/etc/preference/$daixuan201/wallpaper_dir/wallpaper" userbkg7_hd="/usr/syno/etc/preference/$daixuan201/wallpaper_dir/wallpaper_hd" #如需将图片保存到指定路径,就去掉下面注释设置保存文件夹路径(在 FileStation 里面右键文件夹属性可以看到路径) savepath="/volume3/homes/daixuan201/Photos/Bing wallpaper" savepathUHD="/volume3/homes/daixuan201/Photos/Bing wallpaper/UHD"
      1. Trustedinstaller说道:
        Google Chrome Windows 10
        http://gofile.me/5stZ4/0TLxA9b42 这是我现在用的,登录界面、桌面、存图片都正常,你把username、savepath、savepathUHD这仨变量改成自己的,用root账户设计划任务就应该可以
        1. 嘲笑的风说道:
          Google Chrome Windows 10
          http://www.daixuan201.com:84/sharing/1s1b0VeKf我对照着改成了这样。savepath、savepathUHD这两个路径的文件夹都是新建立的,桌面右上角的个人设置,勾选了自定义背景,然后选择了一个默认壁纸。目前登录页面和壁纸的下载都没有问题,但是桌面还是无法修改 :a:
          1. Nadleeh说道:
            Google Chrome Windows 10
            选一张自己的照片设定成桌面,下面选拉伸保存。会在系统底层自动创建wallpaper_dir文件夹,运行脚本桌面就会变了
        2. AyuanQAQ说道:
          Google Chrome Windows 10
          感谢 感谢!已经成功同步更换登录界面及桌面~
          1. 嘲笑的风说道:
            Google Chrome Windows 10
            还是不行,我都自己建立了wallpaper_dir的共享文件夹,桌面仍然没有变化,要是有人出视频的话就好了
        3. 简单单调说道:
          Google Chrome Windows 10
          这个文件下载后放在哪里啊?
          1. Trustedinstaller说道:
            Google Chrome Windows 10
            看下上面博主的文章,任务计划粘贴到“用户定义的脚本”
        4. 简单单调说道:
          Google Chrome Windows 10
          我就只把username="username"引号里改成了自己的用户名,桌面是变了,但是不知道图片是保存在哪里的,或者说不知道是不是保存了桌面图片,另外,我没有自己建文件夹保存,它会自己保存吗?
        5. 嘲笑的风说道:
          Google Chrome Windows 10
          问题解决了,是我想太多,更改桌面代码那里有3个$username,我看到注释里面要改成对应用户名,也把这里的username也改成自己的账号了 :heixian:
          1. barzinga说道:
            Google Chrome Windows 10
            #设置拥有图片权限的用户名 username="barzinga" #如需将图片应用于登陆界面,就去掉下面注释 loginbkg="true" #如需将图片应用于用户桌面,就去掉下面注释改为对应用户名,并在“DSM桌面右上角-个人设置-桌面”启用“自定义壁纸”后任意选择一张图片 #userbkg="/usr/syno/etc/preference/$username/wallpaper" userbkg7="/usr/syno/etc/preference/$username/wallpaper_dir/wallpaper" userbkg7_hd="/usr/syno/etc/preference/$username/wallpaper_dir/wallpaper_hd" #如需将图片保存到指定路径,就去掉下面注释设置保存文件夹路径(在 FileStation 里面右键文件夹属性可以看到路径) savepath="/volume1/homes/barzinga/BingWallpaper" savepathUHD="/volume1/homes/barzinga/BingWallpaper/UHD" 我的是这样的 :jingku: 可以帮忙看看吗
          2. barzinga说道:
            Google Chrome Windows 10
            ......在完全不知道为什么的情况下搞定了,我就在【loginbkg="true"】这前面加了#然后又去掉就行了
        6. 简单单调说道:
          Google Chrome Windows 10
          谢谢,终于正常了,原来是保存路径名字错了,改好了。现在完美了
      2. iservia说道:
        Google Chrome Windows 10
        好像文件夹要自己建好,脚本不会自动建立。
  4. 孔昊天的折腾日记说道:
    Google Chrome Mac OS X 10.15.7
    感谢博主,已经安排上了,不知道可不可以做视频教程发到其他平台,注明教程出处。
    1. 博主说道:
      Google Chrome Windows 10
      你要做视频教程是可以的,反正我没有做视频的计划
  5. 王猴将相说道:
    Firefox Mac OS X 10.15
    怎么能把bing壁纸应用到桌面呢?
    1. 博主说道:
      Google Chrome Windows 10
      如果想手动更换到桌面,先把任务计划里面第二行的代码#savepath="/volume2/download/BingWallpaper",把最前面的#去掉,同时把/volume2/download/BingWallpaper这个路径改成你要保存的路径,手动运行一次任务计划,就会保存到NAS指定文件夹,这可以去改桌面墙纸了。如果想自动更换的话,要重新写代码,这个工程量比较大,有空再研究了。
      1. 王猴将相说道:
        Firefox Mac OS X 10.15
        感谢回复,希望下次能出个自动换桌面的教程~~ :haha:
  6. nausica说道:
    Google Chrome Windows 10
    谢谢教程,昨天的bing的壁纸是真的漂亮嘿嘿!
    1. 博主说道:
      Google Chrome Windows 10
      bing的壁纸都不错的,很眼养,哈哈~

发表评论