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