デフォルトではxterm
インタラクティブシェルを起動します。ただし、インタラクティブに実行するように設定することもできます。ログインシェル。
これは、起動後にxterm
ssh / virtual console / suを介してログインするのと同じシェルを取得することを意味します。
構成の利点/欠点は何ですか?ログインシェルxtermで?
私は次のことを考えることができます:
uptime
w
などは、開いているユーザー数だけユーザーをlast
報告します。xterm
(利点?)bash
ソースのみ.login
、、、.profile
/etc/profile.d
ログインシェルzsh
起動時に読み取る同様のファイルがあります。ログインシェル- しかし、私のシステムではデフォルトでは空です。
関連xterm
マニュアルページセクション:
-ls This option indicates that the shell that is started in the xterm window will be a login shell (i.e., the first character of argv[0] will be a dash, indicating to the shell that it should read the user's .login or .profile).
その他のリソース:
loginShell (class LoginShell) Specifies whether or not the shell to be run in the window should be started as a login shell. The default is “false.”
答え1
ターミナルでログインシェルを実行すると、プログラム.profile
がセッションごとに一度だけ実行されるようにしたい場合(たとえば、その他のキーリングなどssh-agent
)、ここに配置されたすべてのプログラムが実行されます。ログインシェルを実行すると、セッションまたはターミナル親プロセスによって設定された環境変数がオーバーライドされます。
人々が端末でログインシェルを実行する主な問題は、GUIにログインするときに環境変数を設定しないことが多いことです。欠点は、環境変数がGUIを介して直接実行されるプログラムではなく、端末で実行されているプログラムでのみ使用できることです。ログイン時に環境変数を設定する場合は、各端末で環境変数をリセットすることはせいぜい意味がなく、時には上記のような問題が発生することがあります。
また、見ることができます.bashrcと.bash_profileの違い、.bashrcの代替そして、質問者が各セッションに環境変数を設定した場合、避けられた多くの質問をStack Exchangeで見ました。