環境変数は普遍的にロードされません(たとえば、NNNファイルブラウザ)。

環境変数は普遍的にロードされません(たとえば、NNNファイルブラウザ)。

arch-linuxwithxorgとを使用すると、dwm環境変数がシステム全体に適用されないようです。たとえば、NNNファイルブラウザを起動したとき手動起動ターミナルエミュレータ(st)すべてブックマークを使用できます(NNNは環境変数を介して設定をロードします。ここでは.profileファイル内に設定して.bashrcファイルからロードします。)しかし、-keybindを介してNNNを起動するdwmブックマークは使用できません(!)(ここで、NNNはst -e nnnより正確な方法、つまり{ "st", "-e", "nnn", NULL };ファイルの内部から始まります。)したがって、この場合はここの環境変数がロードされていないようです。config.hdwm

理由をご存知ですか?それともこの問題をどのように解決するのですか?

.profileファイルの内容を追加するように編集されました。

if [ -n "$BASH_VERSION" ]; then
    # include .bashrc if it exists
    if [ -f "$HOME/.bashrc" ]; then
        . "$HOME/.bashrc"
    fi
fi

編集-2:内部にブックマークローディングラインを追加しました。.bashrc

export NNN_BMS='h:~/;d:~/Documents/'

答え1

.profileBourneベースのシェル(例:/bin/shbash)で読みます。そのようなシェルが起動しない場合は.profile読み込まれません。シェルなしdwmnnn起動するようですst

環境変数が親プロセス(この場合はdwmとすべての先行項目)に設定されている場合、生成されたすべての子プロセスから継承されます。 Xの起動方法に応じて、これを行う方法はいくつかあります。これ以上の文脈なしに列挙するには多すぎますが、おそらくin~/.xinitrcまたはoutです~/.xsession

別の方法はPAMを使用することです。基本的に、アーチでは$HOME/.pam_environmentログイン時に読んでペアをNAME=VALUE入れることができると思います。

関連情報