.bashrc、.profile、.bash_profileなどのファイル間の関係とログイン/非ログインシェル、対話型/非対話型シェルなどの意味を理解しようとしています。
私が見つけた情報の一つはあまりにも抽象的で、具体的で実用的な説明を望んでいました。
だから私の質問は(UbuntuのようなLinuxシステムに関連しています)
システムが起動してログインすると(グラフィックスデスクトップを表示)、どのファイルが実行されますか?
ターミナルエミュレータが開くと、どのファイルが実行されますか?
テキストコンソールにログインしたときに実行されるファイル(Ctrl-Alt-Fnを押した後)
このファイルはどのような他のイベントで実行されますか?
対話型ログインシェルを起動するには?
非対話型ログインシェルを起動するには?
対話型の非ログインシェルを起動するには?
非対話型の非ログインシェルを起動するには?
いくつかの質問に自由に答えてください...ありがとう...
答え1
まず、Waltinatorの口コミを読むしかし、あなたの質問のいくつかに答えるには(技術的な正確さよりも概念が重要です)。
GUIにログインすると、通常のシェルファイルはロードされません。 GUIからTUI(プレーンテキスト)シェルまたはターミナルプログラムにログインするとロードされます。実際、GUI自体は、テキストインタフェースの代わりにグラフィカルインタフェースを提供することを除いて、bashに非常に似たシェルです。また、独自の設定ファイルと起動ファイルもあります。
ロードされる正確なファイルはシェルによって異なります。使用しているシェルのマニュアルを参照してください。
探す。 GUIの仮想端末と端末プログラムの両方が同じパスを使用します。つまり、デフォルトのログインシェルで定義されているシェル(ユーザー名に対して/ etc / passwdで定義/設定)にログインさせます。
実際、ほぼすべての質問が同じです。
シェルの使命は、他のプログラムを実行することです。これは、シェルの内部プログラム(内部コマンド)、シェルのコマンドファイル(DOSバッチファイルに似たシェルスクリプト)、またはシステムにインストールされている他のアプリケーション/プログラム(外部プログラム)です。また、さまざまなモードで実行できます。対話モードはコマンドプロンプトを表示し、ユーザーがコマンドを入力するのを待ちます。非対話モードは、シェルの起動時に実行するシェルスクリプトをインポートし、ユーザーが入力する代わりにスクリプトからコマンドをインポートすることを意味します。
理解すべきもう1つの重要な点は、un * xシステムでシェルをプログラムすることは、地球の反対側でインターネットを介してシェルにコマンドを送信することとほぼ同じです。コンピュータの前に座っていても、ログインセッションはまるでネットワークを介しているかのように処理されます。そのため、端末、コンソール、ネットワーク、ssh/telnet、TUI/GUI、シリアル、または想像できるあらゆる種類のログインであれ、常に同じように動作します。たぶんいつか私たちはテレパシーログインをするかもしれませんが、シェルはまだ通常のログインのように動作し、今のように動作します。
「非ログイン」シェルに関する最後の注意事項も同じです。あなたの場合の唯一の違いは~からすでにログインしているため、もう一度ログインする必要はありません(ユーザー名とパスワードを入力してください)。
もちろん、技術的な細部の多くは少しずつ異なり、明白で微妙な副作用と意味を持っています。ただし、ここでは実際にシェルがどのように機能するかを詳しく説明するリソースとWebサイトをWebで検索する必要があります。