画面を使わずにttyを切り替えるには?

画面を使わずにttyを切り替えるには?

Linuxインストールをデスクトップに起動するとします。 gnome-terminal/konsole/何でも起動すると、コマンドを入力するttyがあります。

それでは、SSHを介して同じシステムに接続するとしましょう。コマンドを入力するために私を別のttyにバインドします。

さて、私のttyを元のSSH端末から以前に起動したgnome端末端末に「変換」したいとしましょう。

screen -xデフォルトでは、画面なしで同じことを行う方法があるかどうかを尋ねています。

/devファイルに何かをエコーすると、出力を他のttyに簡単に送信できることがわかりますが、ttyに何があるかを「見る」方法はわかりません。

どんなアイデアがありますか?

ベストアンサー1

おそらく、これらのパターンは状況を明確にするかもしれません。一般的な設定は次のとおりです。

                               Terminal  (/dev/ttyX or /dev/pts/x)
                                device
                                   |
                    (screen)<--[<output]----x-------(stdout) Process1
        Terminal  (keyboard)---[input >]---o-\----->(stdin)
                                            \ \
(hardware console or                         \ `----(stdout) Process2
 virtual console or terminal                  `---->(stdin)
 emulators like xterm, …)

そして持っていいえProcess3次のようないくつかの新しいメソッドを挿入します。

                             Terminal
                              device
                                 |
             (screen)<---o---[<output]--x------(stdout) Process1
  Terminal (keyboard)---/-x--[input >]-o-\---->(stdin)
                       | /              \ \
                       | |               \ `---(stdout) Process2
                       | |                `--->(stdin)
                       | |
                       \ `---------------------(stdout) Process3
                        `--------------------->(stdin)

画面(およびその他)が実行する作業は、いくつかの擬似端末デバイス(xtermなど)を割り当て、それを1つ以上の「実際の」端末(物理、仮想、またはエミュレートされた)にリダイレクトすることです。

             Terminal                   pseudo
             devices              ,--> Terminal (/dev/pts/x)
                |         _______/      device
Terminal <--[<output]--- |       |        |
 1       ---[input >]--> |screen | <--[<output]---x-----(stdout) Process1
                         |Process| ---[input >]--o-\--->(stdin)
Terminal <--[<output]--- |       |                \ \
 2       ---[input >]--> |_______|                 \ `--(stdout) Process2
                                                    `-->(stdin)

xtermを使用すると、スクリーンセッションにscreen -x他の端末を接続できます。Terminal 3

したがって、いいえ、他の端末に接続されているプロセスを使用してstdin / stdoutを介して直接通信することはできません。この端末が擬似端末であり、プロセスがそうするように設計されている場合(画面のように)、その端末のプロセスを制御する必要があります。

おすすめ記事