xtermを実行するためにログインシェルを使用していますか?

xtermを実行するためにログインシェルを使用していますか?

デフォルトではxtermインタラクティブシェルを起動します。ただし、インタラクティブに実行するように設定することもできます。ログインシェル

これは、起動後にxtermssh / virtual console / suを介してログインするのと同じシェルを取得することを意味します。

構成の利点/欠点は何ですか?ログインシェルxtermで?

私は次のことを考えることができます:

  • uptimewなどは、開いているユーザー数だけユーザーを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で見ました。

おすすめ記事