ログインを子プロセスとして呼び出し、ログインシェル以外のシェルで実行できないのはなぜですか?

ログインを子プロセスとして呼び出し、ログインシェル以外のシェルで実行できないのはなぜですか?

マンページからlogin

ログイン手順は、システムに新しいセッションを確立するために使用されます。通常、ユーザー端末のlogin:プロンプトに応答して自動的に呼び出されます。 ログインはシェルごとに実行でき、子プロセスとして呼び出すことはできません。シェルから呼び出されると、ログインはexecログインとして実行され、ユーザーは現在のシェルで終了します(したがって、新しくログインしたユーザーが呼び出し元のセッションに戻るのを防ぎます)。ランダムシェルからログインしようとしましたが、ログインシェルにエラーメッセージが表示されます。

グラフィックコンソールでは、exec sudo login tターミナルエミュレータのログインではなく対話型bashシェルで実行できますlxterminal。どうすればいいですか?」ログインはシェルごとに実行でき、子プロセスとして呼び出すことはできません。「そして」任意のシェルでログインを実行しようとしましたが、ログインシェルでエラーメッセージが表示されます。「意味は?

しかし、Ctrl + Alt + F2を介してテキストコンソールに切り替えると、エラーメッセージが表示されることも確認しました。このメッセージは引用符に関連していますか?ありがとうございます。

ここに画像の説明を入力してください。

答え1

ログインシェルは特別です。環境設定とログインスクリプトの実行そして「会議リーダー」になってみてください(したがって終了すると、すべての子プロセスも終了します。)これらの項目を除いて、デフォルトでは他のシェルと同じです。

ただし、コンソールで発生するエラーは、次のようには全く関係ありません。これはloginUSBデバイスのバグです(説明されています)。EPROTOここそしてここ。別のコンピュータでネットワークアダプタをテストし、使用されているUSBポートを変更し、ケーブルを変更し(使用する場合)、自動サスペンドを無効にすることができます。

関連情報