我想模拟壁纸幻灯片(图片从unsplash.com获取)几乎与Windows 7相同,但在Ubuntu上。因此,为此我决定使用unsplash-wallpaper。
我创建了一个bash脚本.refresh-wallpaper.sh
并将其放置在home direcotry中:
#!/bin/bash
unsplash-wallpaper -r --dir "~/Pictures/wallpapers"
然后我安装了一个crontab:
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
* * * * * sh ~/.refresh-wallpaper.sh >/dev/null 2>&1
该脚本由crond运行但没有任何反应:
Dec 17 22:12:01 pcname CRON[11933]: (username) CMD (sh ~/.refresh-wallpaper.sh >/dev/null 2>&1)
..但它通过终端手动启动时有效:
username@pcname:~$ sh .refresh-wallpaper.sh
Request https://source.unsplash.com/random
Downloading [==================================================================]
✔︎ Image saved to /home/username/Pictures/wallpapers/wallpaper-photo-1511620356826-e2ed21a61991.jpg
Check it out.
我做错了什么?感谢您的任何互动!
EDIT1 :它有效,因为保存了新图像并将输出重定向到日志,但壁纸不会在桌面上查看。
答案 0 :(得分:1)
我认为脚本中的引号会阻止此行中~
的扩展:
unsplash-wallpaper -r --dir "~/Pictures/wallpapers"
我建议使用:
unsplash-wallpaper -r --dir "$HOME/Pictures/wallpapers"