bashターミナルの起動時に.profileが実行されない


15

bashターミナルを起動すると、.profileが実行されません。〜/ .bash_profileまたは〜/ .bash_loginがないので、.profileが実行されるはずですよね?他に何が間違っているのでしょうか?

回答:


23

ログインシェルではありません。

シェルがログインシェルの場合、.bash_profileが存在する場合はそれを探し、次に.profileを探します。他のシェルは.bashrcを探します

したがって、.bashrcのすべてのシェルインスタンスに必要なものを配置し、.profileの.bashrcをソースとする参照を持つことができます。

だから:.bashrc:

stuff you want

.profileの終わり:

[ -n "$BASH" ] && [ -f ~/.bashrc ] && . ~/.bashrc

KDEで 'konsole'を実行すると、それは非ログインシェルになりますよね?別のマシンでは、私は間違いなく.profileに物を入れて、このような端末を開いたときにそれらを動作させました-私は、ログイン時と端末を開いたときに何か違うことをしたいのかわかりませんか?
デビッドドリア

@DavidDoriaそれは依存します、私はそれを実行するために、設定を変更したり、konsoleが実行するものにエイリアスを作成しましたbash --login。あなたのケースでは、それだけで、デフォルトではログインシェルをトリガしませんbashの、実行するように思える
リッチHomolka

LightDMを使用している場合、それが原因である可能性があります。ログイン時のGDMやKDMソース.profileなどの他のディスプレイマネージャーは、LightDMは(設計上)しません。参照してくださいbugs.debian.org/cgi-bin/bugreport.cgi?bug=636108
WakiMiko

KDMを使用しています。
デビッドドリア

2
Gnomeターミナルを使用している場合は、[編集]-> [プロファイル設定]を選択し、[タイトルとコマンド]タブに移動して、[コマンドをログインシェルとして実行]をオンにします。その後、期待どおりに、ターミナルを開くたびに.bash_profileまたは.profileを取得します。
ランバート


1

グラフィカルデスクトップを使用している場合、.profileはデスクトップマネージャーから取得する必要があります。Lightdm 、少なくともUbuntuでは.profileをソースにします。参照:https : //bugs.launchpad.net/ubuntu/+source/lightdm/+bug/794315

kdmおよびKubuntu-12.04を使用すると、ファイル/ etc / kde4 / kdm / Xsessionが取得され、.profileが含まれます。Kubuntu-12.10はおそらくlightdmを使用します。Ubuntu 12.04はlightdmを使用するため、/ usr / sbin / lightdm-sessionは.profileをソースします。

進む方法は、(1)〜/ .profileで環境設定を設定/エクスポートすること、および(2).bash_profileをソースとする.profileを使用することだと思います。

[[ -f ~/.profile ]] && . ~/.profile

(そして.profileまたは.bash_profileのいずれかをソースとする.bashrcがありません)。

こちらもご覧ください:

  • .profileでBROWSER環境変数を設定する:http ://fvue.nl/wiki/Linux:_Default_browser

1
これは、あなたが取得する方法を説明し.profile、ログイン時にソースが、彼は実際に取得する方法について疑問に思っていますbash、彼は(ないログイン時)ターミナルを起動したときに元にそれをする
cpast

(KDE内から)新しいターミナルを起動するときに、.profileをソースにしたくないはずです。.profileの全体的な目的は、グラフィカル端末またはテキスト端末のいずれかで、ログイン時にソースを取得することです。.profileは、KDEにログインした時点で取得されているはずです。
フレディヴァルト

.profileはデスクトップマネージャーから入手する必要があります。 これは、ファイルの目的を理解することにかかっています。Debianでは、/ etc / profile(およびその拡張子として〜/ .profile)はbashのようなシェル用です。
アロイスマーダル14年

ログイン時にソースを取得した場合、再度ソースを取得する必要はありません。「export PATH =〜/ .bin」のようなばかげたことをしたり、上書きを引き起こしたりしない限り、bashはそれを継承します。
HörmannHH
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.