gmrunはユーザーが追加したパスの検索を停止します。

gmrunはユーザーが追加したパスの検索を停止します。

~/.bashrcgmrunは、明確な理由なく、私が定義したPATH変数を無視し始めました。この迷惑な問題に対する解決策を見つける方法を知っている人はいますか?

編集する

まだ解決策が見つかりませんでしたが、最終的に次のようになりました。bashrun2、それは私がしなければならないことです。

答え1

gmrun 継承$PATH変数を生成した親が設定した変数です。したがって、~/.bashrc次のように実行してソースにすることができます。

bash -ci 'gmrun'

これは「対話型」シェルを生成します。違い非対話型シェルに上記gmrunのコマンドをショートカットにバインドするだけです。

答え2

~/.bashrc で定義した PATH 変数

そこに問題があります。.bashrc対話型シェルの初期化ファイル。 Gmrunは、対話型シェルを起動せずにユーザーが起動するように指示したプログラムを起動します。したがって、あなたのルートは決して設定されません。実際にgmrunでこれを行うには、gmrunが実行されている環境でPATH環境変数を設定する必要があります。

PATHを正しい位置に設定してください~/.profile。このファイルは、セッションの開始時に読み込まれます。ここで環境変数を定義する必要があります。

読まないでその逆も同じです.profile.bashrcそれらはまったく異なる用途に使用され、他の目的に使用されます。

Bashの性質により、.bashrc対話型ログインシェルでは読み取れないため、.bash_profileこの例では他の2つをロードするコードを記述する必要があります。

. ~/.profile
case $- in *i*) . ~/.bashrc;; esac

バラよりすべてのシェルが読める「.bashrc」に対応するファイルはありますか?詳細については、私が参照した他の投稿をご覧ください。

答え3

.bashrc初期化ファイルですインタラクティブな非ログインgmrunbash インスタンスの場合、そのようなシェルインスタンスで起動しないときに考慮される設定が疑われます。

bash initファイルを考慮するようにデスクトップ環境が設定されている場合、そのファイルはユーザーのものでなければならず、.profile環境.bash_profileで開始されたプロセスの変更が適用される前にデスクトップ環境を終了して再起動する必要があります。

関連情報