Hibariya

pty-shell でシェルを操作する

以前、PTY を使ってシェルの入出力を好きなようにする 方法を調べて、それを Rust でやるために pty という crate を作っ た。この pty を使ってこれまでに hokaido のようなターミナル共有ツールとか シェルへの入力をどこかへ通知するツール を作った。

これらには「ターミナルを立ち上げてその入出力をフックする」という共通の処理がある。けれど pty が用意している pty::fork() は、新しい疑似端末 (PTY) を割り当てた子プロセスを生成するだけだ。実際には他にも必要な処理がある。

意味もなく同じコードを何度も書くのはつらい。とはいえこれら一連の処理は、pty crate として用意するには少し具体的すぎる気がする。そういうわけで、シェルに特化した拡張という意味で pty-shell という crate をもうひとつ用意した。

hibariya/pty-shell

pty-shell は「ターミナルを立ち上げてその入出力をフックする」ための簡単な方法を提供する。 具体的には子プロセスとしてシェルを起動し、親プロセスの入出力を子プロセスのシェルにプロキシする。