Dodam $HOME/bin
do $PATH
z ~/.profile
. Wydaje się jednak, że nie jest pozyskiwany podczas logowania. Używam menedżera logowania - lxdm
myślę, że nie startx
. Wiem, że ma to znaczenie, które skrypty są wykonywane.
Aby to zilustrować, zobacz, jak $HOME/bin
dodaje się po jawnym źródle ~/.profile
. Ale czy nie powinno być pozyskiwane podczas graficznego logowania?
sashoalm@aspire:~$ echo $PATH
/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$ source ~/.profile
sashoalm@aspire:~$ echo $PATH
/home/sashoalm/bin:/usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
sashoalm@aspire:~$
Odpowiedzi:
Istnieje niewielka debata na ten temat, w której niektóre loginy graficzne przyjmują nietypowe stanowisko ...
Poprawny. Większość DM czyta,
~/.profile
kiedy się logujesz. Muszą to jednak robić jawnie, ponieważ~/.profile
tradycyjnie pochodzą one z powłok logowania, a DM (logowanie GUI) nie jest powłoką!To jest uzasadnienie, które widziałem od
lightdm
ludzi za to, że nie pozyskiwali~/.profile
jawnie - ponieważ DM nie jest skorupą.Możesz zaopatrywać
~/.profile
się w~/.xsession
- patrz tutaj .źródło
~/.profile
od~/.xsession
prawdopodobnie działało, kiedy ta odpowiedź została napisana, ale wydaje się, że już nie działa. Uruchomiłem go, pobierając go~/.xsessionrc
zamiast tego.Jeśli bash jest Twój login shell, to będzie próbować
~/.bash_profile
,~/.bash_login
i~/.profile
w tej kolejności. Jednak zatrzyma się na pierwszym, który znajdzie.Jeśli nie masz
~/.profile
źródła, oznacza to, że masz jeden z dwóch pozostałych (być może oba) w swoimHOME
katalogu. Powinieneś sprawdzić, który z nich, a następnie umieścić nowePATH
zdanie w pierwszym.źródło
Zgadzam się głównie z @goldilocks. Po prostu chcę dodać, że skrypt do źródła
~/.profile
jest~/.xsessionrc
zamiast~/.xsession
.Oto uzasadnienie:
źródło
Tak więc, jeśli
~/.bash_profile
istnieje,~/.profile
nigdy nie zostanie odczytany.źródło