4

我制作了一个简单的 bash 脚本,它使用 pcmanfm 从我的壁纸目录中更改随机图片的壁纸。是这样的:

#!/bin/bash

pcmanfm -w "$(find /home/likewise-open/MAPS/lucas.cardeal/Pictures/Wallpapers -type f | shuf -n1)"

我想要自动,所以你把脚本放在 crontab 上。但是当它被 crontab 调用时,它没有任何作用。我的脚本有什么问题?我该如何解决?

谢谢

4

1 回答 1

5

当设置为 cron 作业时,该脚本会给您一个 X11 授权错误。为防止这种情况,只需在脚本中添加export DISPLAY=:0和(更改为您的用户名):export XAUTHORITY=/home/username/.Xauthorityusername

#!/bin/bash

export DISPLAY=:0
export XAUTHORITY=/home/username/.Xauthority   #change `username` with your user name

pcmanfm -w "$(find /home/likewise-open/MAPS/lucas.cardeal/Pictures/Wallpapers -type f | shuf -n1)"

附录:更新导致上述脚本在 Lubuntu 16.04 及更高版本中中断。有关需要在脚本中指定的其他环境变量,请参阅此 stackoverflow 答案https://stackoverflow.com/a/46259031/5895207 。

于 2013-10-29T14:17:12.943 回答