我正在尝试使用cron和pywal更改终端颜色托盘,使我的随机墙纸脚本每15分钟运行一次。这是我的脚本:
#!/bin/bash
export PATH="$PATH:$HOME/.local/bin/"
files=($HOME/Imagens/wallpapers/*)
image="$(printf "%s\n" "${files[RANDOM % ${#files[@]}]}")"
wal -i $image
这是我正在使用的cron行:
*/15 * * * * DISPLAY=:0 ~/.scripts/random-wallpaper
当我从终端运行它,以及在i3wm上使用cron时,此方法都可以正常工作,但是当我切换到gnome时,它只是改变了终端的颜色,因为它被设置为使用新墙纸作为参考,但是墙纸不会改变。我尝试使用DISPLAY =:0.0,使用。而不是它,什么都行不通。
我需要一些帮助来找出问题所在。
答案 0 :(得分:1)
我在寻找解决方案时遇到了这篇文章。我最初尝试使用wal在awesomewm中执行了与我类似的操作,其中终端颜色会更改,但背景不会更改。尽管我确信这不是理想的解决方案,但这是我最终为解决此问题所做的工作。请注意,我不确定这是否适用于gnome,因为我在awesomewm和xmonad之间反弹。但是,您也许可以调整我的方法以适合您的需求。我是通过以下cron行执行此操作的:
* * * * * /bin/wal -a 95 -i "$HOME/wallpaper/" -n; DISPLAY=:0 feh --bg-scale "$(< "${HOME}/.cache/wal/wal")"
这里要注意的重要部分是-n标志,用于wal禁止wal设置背景(不是那是您的问题),但是.cache / wal / wal文件中的文件路径仍会更改。另外,请注意,我只是将目录传递给wal,它从目录中选择了一个随机图像。然后,我使用feh设置背景,但需要使用DISPLAY =:0来传递环境变量。我不知道feh是否可以为gnome设置背景,但是至少以这种方式使用wal可以简化脚本,也许考虑使用除wal之外的其他设置背景可能会有所帮助。也许您可以使用gsettings来设置gnome中的背景,但是初步的外观告诉我其他人似乎在使用gsettings和cron作业设置背景时遇到了麻烦,但是由于我对您的方式并不完全熟悉,所以我无法真正说出这一点可以从终端在gnome中设置背景(除了从终端运行wal之外)。也许这个post在S.O.如果上述使用feh的方法不可行,它将进一步帮助您在gnome中进行此操作。