XTermを起動すると、私の.bashrcはソースを取得しません。

XTermを起動すると、私の.bashrcはソースを取得しません。

私のもの~/.bashrchttps://pastebin.com/VA7RLA2E

私のもの~/.Xresourceshttps://pastebin.com/qSF1z0w4

.bashrcXTermが起動時にソースコードを自動的にインポートするにはどうすればよいですか?現在新しいXTermウィンドウを開くたびに~/.bashrc

私のオペレーティングシステムはUbuntu 18.04です。

ベストアンサー1

ファイルに~/.Xresources1行があります

xterm*loginShell: true

これにより、XTermはログインシェルでシェルセッションを開始します。ログインシェルで実行すると、ファイルは読み取られますが明示的に読み取られないbash限り読み込まれませ~/.bash_profile~/.bashrc(ログインではなく対話型セッションからファイルを読み取る)。~/.bash_profilesource

2つのオプションがあります。

  1. ~/.Xresourcesシェルがログインシェルでなければならないことを指定する行を削除します。ファイルを再読み込みして変更を適用するには、グラフィカルログインセッションを終了する必要があります。
  2. ファイルが同時にファイルをインポートしないように注意しながら、ファイルをファイルとして作成~/.bash_profileします(無限ループが生成されます)。source~/.bashrc~/.bashrc~/.bash_profile

    これを行う方法の例(ファイルに追加~/.bash_profile):

    if [ -o interactive ] && [ -f ~/.bashrc ]; then
       source ~/.bashrc
    fi
    

    /etc/profilevsと同様の作業を実行する必要があります。まだ/etc/bash.bashrc存在しない場合は、システムのどこにでも実行する必要があります。bashrcしかし、/etc/profileBourneに似たすべてのシェルが読み取られるので、それだけでなくbash少し調整が必要です。

    if [ -n "$BASH" ] &&
       [ "$BASH" != /bin/sh ] &&
       [ -o interactive ] &&
       [ ! -o posix ] &&
       [ -f /etc/bash.bashrc ]
    then
      source /etc/bash.bashrc
    fi
    

おすすめ記事