我有一个名为的脚本display
,它使用来设置我的桌面背景feh
。它使用以下行来做到这一点:
feh --bg-scale $WALLPAPER &
环境变量$ WALLPAPER在my中初始化.bashrc
。如果我在登录后从普通外壳执行脚本,脚本便可以正常工作。
我希望脚本在启动时由i3执行。因此,我将以下行添加到~/.config/i3/config
:
exec display
它不起作用。我试图将STDERR重定向到文件,结果是:
feh: No loadable images specified.
See 'man feh' for detailed usage information
而且,如果我尝试echo $WALLPAPER
进入display
,我会出现空白行。因此,环境变量尚未初始化。很好-我尝试exec /bin/bash -c "source ~/.bashrc"
在上面的行中添加,但这似乎没有什么区别。我如何确保在i3启动时初始化此变量?
这在Reddit上为我回答了。问题是.bashrc
仅由bash加载-将环境变量放入~/.profile
意味着它可以正确运行。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句