GNU/Linux >> Linux の 問題 >  >> Linux

Gnomeターミナルは非ログインシェルの一種ですか?

ログインシェルと非ログインシェルとは何ですか? Ask Ubuntuでは、GNOMEターミナルはログイン以外のシェルの一種です。
優れた本で指摘されているように、FedoraおよびRedHat Enterprise Linuxの実用ガイド、第6版

対話型の非ログインシェルは、〜/.bashrcファイルのコマンドを実行します。デフォルトの〜/.bashrcファイルは/etc/bashrcを呼び出します。

その結果、/etc/profile ログイン以外のシェルでは処理されません。ただし、JavaホームパスをPATHに追加していることがわかりました。
変数であり、GNOMEターミナルを使用してコマンドjavaを発行すると 、すべてうまくいきます。また、PATHの値 変数は、/etc/profileで定義した値と同じです。 。

上記の事実を考慮すると、対立がありますが、私の理解の何が問題になっていますか?

承認された回答:

ディスプレイマネージャまたはttyを介してxセッションにログインする場合、/etc/profile (通常–明らかにそれはあなたのケースにありますが、いくつかのグラフィカルシェルはそれを読みません)あなたのシェルプログラムによって供給されます。その後、ローカルファイル(ここではbashを使用していると想定しています)~/.bash_profile~/.bash_login または~/.profile ソースになり、ここで定義された環境変数はすべて/etc/profileをオーバーライドします 現在のユーザーの場合。この環境は継承されます セッション内で開いたシェルによって。これが、これらのファイルでPATHなどの環境変数を定義できる理由です。

gnome-terminalを開くと、デフォルトでyesは非ログインシェルを開始しますが、ログインシェルまたはグラフィカルシェルからすでにロードされているユーザー環境を継承します。 ~/.bashrc以降 インタラクティブシェルを起動するときに供給されます(たとえば、gnome-terminalを開く)。これは、一部をオーバーライドするために使用できます。 環境の要素(PS1など)。

(gnome-terminal自体はアプリケーションであり、シェルではありません)


Linux
  1. 終端速度:シェル内を高速で移動

  2. ログインシェルと非ログインシェルの違いは?

  3. ターミナルとシェル環境の色付け?

  1. シェルコンソールのクリア?

  2. Gnomeターミナルの背景色をオンフライで変更しますか?

  3. 現在のターミナルから新しいターミナルでシェルスクリプトを実行する

  1. ターミナルで使用しているシェルをテストする方法は?

  2. ターミナルエミュレータを実装する場合、どのタイプのターミナルをサポートするのですか?

  3. シェル/ターミナルで色を無効にする