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

Linuxの特定のTtynにログインした後、デフォルトのシェルを(永続的に)変更するにはどうすればよいですか?

chsh コマンドは、インストールされているシェル間でユーザーのログインシェルを切り替えるために使用されますが、関係なく機能します。 ログイン元の場所(tty1、tty2、ssh、…)。私が達成したいのは、例えば csh tty7からのログインで。 bash 他のすべてのログインソース。

これはまったく実行可能ですか?

承認された回答:

いいえ、はい。

いいえ、ログインシェルは、ユーザーがログインするTTYではなく、ユーザーに関連付けられています。ユーザーは、特定のログインシェルを1つだけ持つことができます。

はい。ユーザーは、ログインシェルの初期化ファイルで、条件に応じて他のプログラムやユーティリティを起動できます。

たとえば、 bashを持つユーザー 現在のログインシェルは、次のようなものを .bash_profileに追加する可能性があるためです。 cshを実行するファイル 仮想端末7にログインする場合:

case $(tty) in
    */tty7) exec csh -l ;;
esac

exec csh -l <​​/ code> 現在のシェルをcshに置き換えます 、ログインシェルとして開始しました。


Linux
  1. LinuxでデフォルトのApache「DocumentRoot」ディレクトリを変更する方法

  2. CentOS / RHEL :ユーザーのログイン シェルを変更する方法

  3. UNIX / Linux :パスワードがリセットされた後、次回のログイン時にユーザーにパスワードの変更を強制する方法

  1. Linux でデフォルトのシェルを変更する方法

  2. Linux でデフォルトのシェルを変更する方法

  3. Linux でのデフォルト シェルの変更

  1. Linuxでシェルを変更する方法

  2. Linux/Unix で $PATH を永続的に設定するには?

  3. Linux でユーザーのデフォルト グループを変更するにはどうすればよいですか?