$HOME/bin
を$PATH
から~/.profile
に追加します。ただし、ログイン時に提供されていないようです。ログインマネージャーを使用しています-lxdm
ではなくstartx
だと思います。これは、実行されるスクリプトに関して重要であることを知っています。
例として、$HOME/bin
を明示的にソースした後で~/.profile
がどのように追加されるかを確認します。しかし、それはグラフィカルログイン中に供給されるべきではありませんか?
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:~$
しかし、それはグラフィカルログイン中に供給されるべきではありませんか?
いくつかのグラフィカルログインが異常なスタンスをとるということについて、小さな議論があります...
$ HOME/binを〜/ .profileから$ PATHに追加します。ただし、ログイン時に提供されていないようです。ログインマネージャーを使用しています-lxdm
正しい。ほとんどのDMは~/.profile
はログイン時に使用します。ただし、~/.profile
は伝統的にloginシェルから供給され、DM(GUIログイン)はシェルではありません!
これは私がlightdm
の人々から見たではない調達の正当化です~/.profile
明示的に-DMはシェルではないため。
~/.profile
自分から~/.xsession
- ここを参照 。
@goldilocksに最も同意します。スクリプトをソースに追加したいだけです~/.profile
は~/.xsessionrc
、 の代わりに ~/.xsession
。
ここに根拠があります:
qxu@debian:/etc/X11/Xsession.d$ cat 40x11-common_xsessionrc
# This file is sourced by Xsession(5), not executed.
#Source user defined xsessionrc (locales and other environment variables)
if [ -r "$USERXSESSIONRC" ]; then
. "$USERXSESSIONRC"
fi
qxu@debian:/etc/X11$ grep USERXSESSIONRC Xsession
USERXSESSIONRC=$HOME/.xsessionrc
Bashがログインシェルの場合、~/.bash_profile
、~/.bash_login
および~/.profile
この順序で。ただし、最初に見つかったものはstopになります。
もしあなたの ~/.profile
が提供されていない場合、HOME
ディレクトリに他の2つのうちのいずれか(おそらく両方)があることを意味します。どちらをチェックするか、最初のステートメントに新しいPATH
ステートメントを配置する必要があります。
Bashが対話型ログインシェルとして、または
--login
オプションを使用して非対話型シェルとして呼び出されると、ファイル/etc/profile
が存在する場合、そのファイルからコマンドを読み取り、実行します。そのファイルを読み取った後、~/.bash_profile
、~/.bash_login
、および~/.profile
をこの順序で検索し、存在し、読み取り可能な最初のコマンドからコマンドを読み取って実行します。
したがって、~/.bash_profile
が存在する場合、~/.profile
は読み込まれません。