i3 execスクリプトの環境変数を初期化できません。

i3 execスクリプトの環境変数を初期化できません。

displayデスクトップの背景を設定するために使用するスクリプトがありますfeh。次の行を使用してこれを行います。

feh --bg-scale $WALLPAPER &

$WALLPAPER環境変数は私にあります.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の起動時にこの変数を初期化する方法は?

答え1

他のユーザーがi3を実行している場合は、~を使用して相対パスではなくソースコマンドへの絶対パスを指定してみてください。

答え2

これは私のために答えたレディットから。問題は.bashrcbashによってのみロードされることです。環境変数を入れることは、~/.profile正しく実行されることを意味します。

関連情報