ptyrunとptybandage

ptyrunとptybandage

「openvt」の代替...しかし、疑似端末(pts)の場合...存在しますか?

Openvrtはttyしか動作できませんが、ptsは動作できません。

(例:特定のptsおよびシェルptsターゲットユーザーのlauchコマンド)

Command <dev pts> <launch_command>

ベストアンサー1

ptyrunとptybandage

openvt新しい疑似ターミナルを開き、疑似ターミナルに接続されている標準I / Oを使用して指定されたコマンドを実行するのと同じタスクを実行する既製のツールがたくさんあります。

  • Daniel J. Bernsteinの原作ptyrunptybandage
  • noshツールセットユーティリティに基づいて鉱山ptyrunと構築ptybandage
  • zptyZシェルの拡張モジュール
%背骨包帯tty
/dev/pts/5
/dev/pts/6
%

もちろん、違いは、擬似端末の場合、実際に動作するためには、擬似端末のメイン側にどんなプロセスが付いていなければならないという点だ。するI/O 関連内容です。 Bernsteinのツールの場合、これはプログラムですptyio。実際には、プログラム用のスクリプトに変換されptyrunます。プログラムは。ptybandageptygetptyioptyspawnpty-runpty-get-ttyopen-controlling-tty

つまり、より細かい作業が必要な場合は、疑似ターミナルマスターを開き、チェーンをロードするだけです。残りの作業を行うには、電話または直接pty-get-ttyお問い合わせくださいptyget

ターミナルマルチプレクサ

ターミナルマルチプレクサtmuxとターミナルのscreen場合、もちろん新しい(内部)ターミナルを起動し、それに接続されたコマンドを実行するためのいくつかのメカニズム(これらのプログラムの一部)があります。詳しくは、プログラムの資料を参照してください。

既存の擬似端末

これらのツール(ptyrunptybandageなど)の使用いいえこれが行うことは、追加されたコマンドを実行することです。既存の疑似端末。彼らはいつも新鮮なものを作ります。

既存の擬似端末に接続されたコマンドを実行する必要はほとんどありません。しかし、それは可能です。たとえば、私のツールセットを使用してこれを行うことができます。TTY環境変数を次のように設定します。スレーブ側既存の擬似端末のデバイスファイル名とopen-controlling-ttyツールを介して呼び出されたコマンド。

TTY=/dev/pts/5 オープン制御-tty $SHELL

もちろん、これは、互いに関連していない同時プロセス間で端末に対して競合を引き起こし、タスク制御シェルが1つのプロセスに対して実行するタスクの量を意識しないようにする。 ☺

また、次の場合、複数のSSHサーバーとターミナルエミュレータがマスターをシャットダウンします。彼らスレーブ端末処理が終了する。

これらは何もない

最後に、これは、既存の擬似端末で既存の対話型シェルを駆動して入力にコマンドを送信するための入力パディングメカニズムではないことに注意してください。彼らはみんな一緒に来ます。新しい(新)疑似端末として扱います。

しかし、openvtそれも本当ではありません。

追加読書

  • https://unix.stackexchange.com/a/249801/5132
  • バーンスタイン、ダニエル(1996)。ptyrunDJBウェア
  • バーンスタイン、ダニエル(1996)。ptybandageDJBウェア
  • バーンスタイン、ダニエル(1996)。ptyioDJBウェア
  • バーンスタイン、ダニエル(1996)。ptygetDJBウェア
  • ジョナサンデボインポラード(2014)。ptyrunスナックガイド。ソフトウェア。
  • ジョナサンデボインポラード(2014)。ptybandageスナックガイド。ソフトウェア。
  • ジョナサンデボインポラード(2014)。pty-runスナックガイド。ソフトウェア。
  • ジョナサンデボインポラード(2014)。pty-get-ttyスナックガイド。ソフトウェア。
  • ジョナサンデボインポラード(2014)。open-controlling-ttyスナックガイド。ソフトウェア。
  • https://unix.stackexchange.com/a/470853/5132

おすすめ記事