Při instalaci RVM se zobrazí následující zpráva:
* 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
Mám obavy, protože můj soubor ~/.profile obsahuje xmodmap ~/.Xmodmap
který zjevně nechci spouštět (prohozením kláves CapsLock a ESC) pokaždé, když otevřu nový shell.
Proč by moudří vývojáři RVM mohli navrhnout zdroj .profile
v .bash_profile
?
Přijatá odpověď:
.profile
a .bash_profile
jsou identické, pokud jde o to, kdy se mají spustit:spouštějí se, když se přihlásíte. Rozdíl je v tom, že pouze bash spouští .bash_profile
; Shelly ve stylu Bourne (dash, ksh atd.) spouští .profile
. Bash sám spouští .profile
if .bash_profile
neexistuje.
I když máte bash jako přihlašovací shell, .profile
je často ten, který se spustí, když se přihlásíte v grafickém režimu – mnoho distribucí nastavuje spouštěcí skript X session tak, aby se spouštěl pod sh
a načtěte .profile
.
Proto je doporučeno používat .profile
místo .bash_profile
dělat věci, jako je definování proměnných prostředí. Pokud nezbytně nepotřebujete funkce specifické pro bash, stačí dát vše do .profile
. Ale i když to uděláte, existuje důvod, proč si ponechat .bash_profile
, což znamená, že když jej bash načte, nenačte .bashrc
, i když je interaktivní. Pro většinu lidí tedy ~/.bash_profile
by se měl skládat z těchto dvou řádků:
. ~/.profile
case $- in *i*) . ~/.bashrc;; esac
Neměli byste spouštět xmodmap
z .profile
. To se nespustí, když otevřete nový shell, ale spustí se to například, když se vzdáleně přihlásíte pomocí SSH s přesměrováním X11. Bohužel neexistuje žádný standardní soubor, který se načte, když se přihlásíte v grafickém režimu. Debian načte ~/.xsessionrc
(Myslím, že to platí pro všechny správce zobrazení, kromě Gdm, který načítá ~/.xprofile
namísto); jiné distribuce mají jiné nastavení. Pokud potřebujete přenositelnost napříč distribucemi, může být jednodušší nakonfigurovat prostředí počítače tak, aby spouštělo xmodmap
když to začne. Pokud vše, co děláte, je záměna CapsLock a Ctrl, lze to provést pomocí nastavení XKB, ke kterému poskytuje rozhraní většina moderních desktopových prostředí.