RVMをインストールすると、次のメッセージが表示されます。
* WARNING: You have '~/.profile' file, you might want to load it,
to do that add the following line to '/home/dotancohen/.bash_profile':
source ~/.profile
〜/.profileファイルにxmodmap ~/.Xmodmap
が含まれているので心配です 新しいシェルを開くたびに実行したくない(CapsLockキーとESCキーを交換する)ことは明らかです。
賢明なRVM開発者が.profile
の調達を提案するのはなぜですか .bash_profile
内 ?
承認された回答:
.profile
および.bash_profile
実行されるタイミングに関しては同じです。ログイン時に実行されます。違いは、bashのみが.bash_profile
を実行することです。;ボーンスタイルのシェル(ダッシュ、kshなど)は.profile
を実行します 。 Bash自体は.profile
を実行します .bash_profile
の場合 存在しません。
ログインシェルとしてbashを使用している場合でも、.profile
多くの場合、グラフィカルモードでログインしたときに実行されるものです。多くのディストリビューションでは、Xセッションの起動スクリプトがsh
で実行されるように設定されています。 .profile
をロードします 。
したがって、.profile
を使用することをお勧めします .bash_profile
の代わりに 環境変数の定義などを行うため。 bash固有の機能がどうしても必要な場合を除いて、すべてを.profile
に配置するだけです。 。ただし、そうしても、.bash_profile
を保持する理由があります 、つまり、bashがロードするときに、.bashrc
はロードされません。 、インタラクティブであっても。したがって、ほとんどの人にとって、~/.bash_profile
次の2行で構成する必要があります:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
xmodmap
は実行しないでください .profile
から 。これは、新しいシェルを開いたときには実行されませんが、たとえば、X11転送を使用してSSHでリモートログインしたときに実行されます。残念ながら、グラフィカルモードでログインしたときに読み込まれる標準ファイルはありません。 Debianは~/.xsessionrc
をロードします (これは、~/.xprofile
をロードするGdmを除いて、すべてのディスプレイマネージャーに当てはまると思います。 代わりは);他のディストリビューションの設定は異なります。クロスディストリビューションの移植性が必要な場合は、xmodmap
を実行するようにデスクトップ環境を構成する方が簡単な場合があります。 それが始まるとき。 CapsLockとCtrlを交換するだけの場合、これは、ほとんどの最新のデスクトップ環境がインターフェイスを提供するXKB設定で実行できます。