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

シングル ユーザー モードで 2 番目のシェルを起動するにはどうすればよいですか?

解決策 1:

この状況のた​​めに特別に設計されたコマンドがあります:openvt . openvt を実行するだけです tty1 のシェルから を実行すると、最初の tty で実行されているシェルが見つかりますが、これにはまだ何も含まれていません (おそらく tty2)。便利なオプションがいくつかあります。 openvt の man ページを参照してください。

これは getty によって管理されるログインではないため、新しいシェルを終了してもログイン プロンプトは表示されません。プロセスが実行されていないため、tty は機能しなくなりますが、前後に切り替えて (Alt-F1 Alt-F2)、シェルを終了したときに画面に表示されていた内容を確認することはできます。 deallocvt コマンドは、このゾンビのような状態にある tty を破棄し、元の「Alt-F2 は何もしない」状態に戻ります。

もともとこれらのコマンドは open と呼ばれていました と disalloc 、しかし最終的に誰かがそれらを変更することに決めました.

昔は、Alt+Up で open を実行するようにキーボード ドライバーと init を構成するのが一般的でした。 であるため、新しいコンソールでシェルを生成するためのホットキーとして機能します。 /etc/inittab には、コメントアウトされた古い構成の名残がまだ残っている場合があります。 . ( inittab を持たない派手な新しい init を使用していない場合 .)

ここに同様の質問があります

解決策 2:

別の getty を生成できます あなたが望むどんなttyでも。シングル ユーザー モードで起動し、getty を起動します。 tty2:

[email protected]:~# /sbin/getty 38400 tty2 &

Altできるようになりました +F2 新しいttyに。必要に応じて追加の tty に対して繰り返します。 /etc/inittab を構成するだけで、よりクリーンなことができるでしょう。 シングルユーザーモードでこれを自動的に処理します。

解決策 3:

JOB CONTROL を使用することで、余分なシェル インスタンスなしで実行できる可能性があります。 現在のシェルで。 bash(1) のマンページに記載されています .

Ctrl を使用してタスクを一時停止できます +Z デフォルトではシーケンスですが、端末で別の方法で構成できますが、 stty -a の出力を確認してください :

$ stty -a | grep susp
eol2 = <undef>; swtch = <undef>; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R;

jobs を発行することでジョブを確認できます :

# jobs
[1]   Stopped                 journalctl -f
[2]-  Stopped                 vim /etc/hosts
[3]+  Stopped                 tail -f /var/log/firewalld

そのうちの 1 つを前面に表示します:

$ fg %3

または、バックグラウンドで再開します:

$ bg %2

この方法には、screen の多くの利点がありません。 または tmux ですが、状況によっては同じように役立つこともあります。


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

  2. シェルスクリプトで一文字だけ読む方法

  3. シェル変数を引用符で囲むのはいつですか?

  1. シェルスクリプトでルート権限を削除する方法は?

  2. $ home以外のディレクトリですべてのシェルセッションを開始するにはどうすればよいですか?

  3. Fedora 12 を強制的にテキストモードにするにはどうすればよいですか?

  1. CentOS8でシェルアクセスなしでSFTPユーザーを作成する方法

  2. サーバーに ssh 接続するときに bash を起動するにはどうすればよいですか?

  3. どうすればシェルを誰かに安全に渡すことができますか?