Pywal在crontab上不改变GNOME上的壁纸

问题描述 投票:0回答:1

我正在尝试使用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,使用。而不是它,没有任何作用。

我需要一些帮助来弄清问题是什么。

shell cron gnome
1个回答
1
投票

当我在寻找解决方案时,我遇到了这篇文章。我最初尝试使用wal在awesomewm中做了类似于我的事情,终端颜色会改变,但背景不会改变。这是我最终解决的问题,但我确信它不是理想的解决方案。请注意,我不确定这对gnome是否有效,因为我在awesomewm和xmonad之间蹦蹦跳跳。但是,您可以调整我的方法以满足您的需求。我用以下cron行做了这个:

* * * * * /bin/wal -a 95 -i "$HOME/wallpaper/" -n; DISPLAY=:0 feh --bg-scale "$(< "${HOME}/.cache/wal/wal")"

这里要注意的重要部分是wal的-n标志抑制wal设置背景(不是那个问题),但文件路径仍然在.cache / wal / wal文件中更改。另外,请注意我只是传递wal目录,它从目录中选择一个随机图像。然后我使用feh设置背景,但需要使用DISPLAY =:0来传递环境变量。我不知道feh是否可以设置gnome的背景,但至少使用wal这种方式可能会简化你的脚本,也许考虑使用除了wal之外的其他东西来设置背景可能会有所帮助。也许你可以使用gsettings来设置gnome中的背景,但初看起来告诉我其他人似乎在设置gsettings和cron job的背景时遇到了麻烦,但我真的不能说这个,因为我对你的方式并不完全熟悉可以从终端设置gnome中的背景(除了从终端运行wal)。也许这是关于S.O.的post如果使用feh的上述方法没有,将在gnome中进一步帮助你这样做。

© www.soinside.com 2019 - 2024. All rights reserved.