Texliveをインストールし、GUIまたはコマンドラインからemacsを起動したときにEmacs AucTeXが読み取れるように、環境変数として追加します。これまでのところ、emacsは~/.profile
からのみファイルを読み取ると読みました。
したがって、私の計画は、.profile
のパスにtexliveを追加して、emacs GUIがそれを読み取れるようにし、~/profile
から.bashrc
を取得して、ログインしていないインタラクティブな内部で開始されるemacsを取得することですGNOMEターミナルでパスを確認します。
注:ホームディレクトリに.profile
ファイルはなく、/etc
ディレクトリにのみあります。そのファイルには触れたくないのですが、自宅には.bash_profile
がありますディレクトリ。ただし、.bash_profile
は、使用していないコンソールモード、つまりコンソールモードでのみ実行されることを読みました。
.profile
ファイルを作成し、次のことを行うことです。ステップ1:~/.profile
を作成します
ステップ2:.profile
のパスにtexlive環境変数を追加します
export PATH=/usr/local/texlive/2018/bin/x86_64-linux:$PATH
export MANPATH=/usr/local/texlive/2018/texmf-dist/doc/man:$MANPATH
export INFOPATH=/usr/local/texlive/2018/texmf-dist/doc/info:$INFOPATH
ステップ3:.profile
から.bashrc
を取得します
#Adding this at the bottom or start of .bashrc to source .profile when the terminal is opened.
if [-s ~/.profile]; then;
source ~/.profile;
fi
無限ループを引き起こすリスクがあるため、.profile
から.bashrc
を調達することに多くの懸念があることを知っています。ただし、.profile
ファイルを最初から作成しているので、.bashrc
を参照するコードが含まれないため、これは問題になりません。
追加情報:My .bashrc
には、~/etc/bashrc
とAnacondaによって自動的に追加された1つの環境変数をソースするコードのみが含まれます:export PATH="/home/Fedora_User/Anaconda3/bin:$PATH"
Gnome-terminalは対話型ログインシェルとして実行できることは知っていますが、これを行ったことはなく、ターミナルセッションのパフォーマンスに影響するかどうかはわかりません。
まず、~/.profile
を読み取りたい場合は、~/.bash_profile
を削除する必要があります。削除しないと、~/.profile
はBashによって無視されます。
あなたは実際にこれを少し複雑にしています。 PATHは/etc/environment
で設定されます。常にexport
edされているため、再度エクスポートする必要はありません。
~/.profile
でPATHを変更すると、ログインシェル、インタラクティブ、またはその他のすべてのシェルに継承されます。
~/.profile
でエクスポートされた他の変数も環境に渡され、すべてのシェルで使用可能になります。 ~/.profile
は、セッションにログインするときに1回読み取られ、エクスポートされた変数はエクスポートされたままになります。
~/.profile
で~/.bashrc
を調達するのは悪い考えです。 ~/.profile
は~/.bashrc
をソースするため、無限ループになります。 ~/.profile
が~/.bashrc
をソースとしていない場合でも、~/.bashrc
を~/.profile
ソースまたは他のファイルに割り当てるのは悪い考えです
PATH=$PATH:/some/other/place
インタラクティブシェルが別のインタラクティブシェルを起動するたびにPATHが拡張されるため... PATHが
/original/path:/some/other/place:/some/other/place:/some/other/place
等.
MANPATHの割り当てに$MANPATH
を含める必要はありませんが、先頭にコロンを付ける必要があります。 この質問とその回答 をご覧ください。デフォルトでは、MANPATHは未設定であり、正しいパスは動的に決定されます(何らかの方法で理解できません)。したがって、既存のMANPATHを含めても何も起こりません。パスが動的に決定されるのを防ぐために、コロンでMANPATH割り当てを開始する必要がある場合があります。私の知る限り、INFOPATHについても同じことが言えます
したがって、私はお勧めします:
~/.bash_profile
の名前を変更~/.profile
行を追加します。
PATH="$PATH:/usr/local/texlive/2018/bin/x86_64-linux"
export MANPATH=":/usr/local/texlive/2018/texmf-dist/doc/man"
export INFOPATH=":/usr/local/texlive/2018/texmf-dist/doc/info"
先頭に追加するのではなく、PATHに追加したメモ。必要に応じて、先頭に追加する(先頭ではなく末尾に$PATH
を置く)ことができます。パスルックアップで最初に見つかった実行可能ファイルが実行されるため、異なるPATHの場所にある2つのプログラムの名前が同じである場合、PATHで最初に来るディレクトリ(左側)のプログラムが実行されます。
~/.bashrc
には何も追加しないでください。変更された環境変数、または~/.profile
でエクスポートされた新しい変数は、すべてのシェルで使用でき、他の場所で追加設定する必要はありません。
また、/etc/bash.bashrc
はすべてのインタラクティブシェルから最初にソースされているため、~/.bashrc
を/etc/bash.bashrc
から取得しないでください*。また、~/.bashrc
を使用して後続の調整を行います。
*例外-/etc/bash/bashrc
は、信頼できないメソッドを使用してシェルが対話型であることを確認します-PS1が設定されていることを確認します。 PS1の設定を解除してシェルを起動すると、シェルが対話型であっても、/etc/bash.bashrc
が取得されません。もう1つの例外は、シェルが--norc
で開始された場合ですが、それはより明白です。