Araç setlerinin tarihi
Böyle bir aracı isteyen ilk kişi sen değilsin. İnsanlar 30 yıldır böyle araçlar istiyor. Ve onlar da neredeyse o kadar uzun süredir var.
Bu tür bir şey için ilk araç, Rich Salz tarafından 1990'ların başında nethack (sic!) Aldatmak için yazdığı Bernstein'ın "Ginsu bıçağı" olarak nitelendirdiği “Saldırı” paketi olan Daniel J. Bernstein'dı. "Pty" paketinin 4. sürümü 1992'de comp.sources.unix
(cilt 25 sayı 127 - 135) yayınlandı. World Wide Web’de hala bulunabiliyor. Paul Vixie bunu zamanında tarif etti:
Ne söyleyebilirim? Dilimler, dices eder, bulaşıkları yıkar, köpeğe doğru yürür. "Sadece işe yarıyor" anlamına gelir, yani yönergeleri izlerseniz, herhangi bir saç çekmeden veya diş gıcırdatmadan veya diğer standart taşıma etkinlikleri olmadan bir çalışma paketi elde edersiniz.
Bernstein daha sonra, bir süre önce açıkladığı bir "ptyget" paketi ile 1999-04-07 tarihinde veya öncesinde bunu güncelledi:
Yeni bir sahte-tahsisatçı, ptyget'ı bir araya getirdim. Alfa sürümü ftp://koobera.math.uic.edu/pub/software/ptyget-0.50.tar.gz
. Bir ufak posta listesi var; katılmak için boş bir mesaj gönderin
djb-ptyget-requ...@koobera.math.uic.edu
. Ptyget'ın arayüzünü sıfırdan tasarladım. Pty'den çok daha modüler; temel pty arayüzü şimdi üç parçaya bölünmüştür:
ptyget
: küçük, düşük seviyeli bir program - paketteki tek programlı program - yeni bir takma ad tahsis eder ve seçtiğiniz programa geçirir
ptyspawn
: bir çocuk sürecini sahte bir isim altında yürüten, çıkışını bekleyen ve durakları izleyen başka bir küçük program
ptyio
: başka, sadece biraz daha büyük, verileri ileri geri götüren program
Eski Ginsu bıçağı pty
şimdi yazıldığından ptybandage
, bunun eş anlamlısı ptyget ptyio -t ptyspawn
; pty -d
, ağ programlarını sözde ttys'lere eklemek için şimdi yazıldığından ptyrun
, bunun bir eş anlamlısı ptyget ptyio ptyspawn
; ve nobuf
eşanlamlıdır
ptyget ptyio -r ptyspawn -23x
. Oturum yönetimi özelliklerini ayrı bir pakete böldüm.
Bu ayrı paket "sess" paketiydi.
"ptyget", tesadüfen, Berstein’ın kendi yayınlanmayan "yineleyen" yapı sisteminin çok erken bir versiyonunu ve yayınlanmış birkaç örneğinden birini örneklemede dikkat çekicidir. dependon
açık bir habercisidir redo-ifchange
.
kullanım
ptybandage
ptybandage
insanların genellikle bir oturum açma oturumunda istedikleri şeydir. Birincil kullanım durumu, standart girişlerinin, çıkışlarının veya hatalarının terminallere bağlı olup olmadığına duyarlı olan programları, aslında kabuk boru hatlarında olsalar da veya standart dosya tanımlayıcılarının dosyaya yönlendirilmiş olmasına rağmen, bu şekilde çalışmasını sağlamaktır.
Bu (tabii ki, uygun bir dış komut olması gerekir) çalıştırmak için bir komut alır ve standart girdi, çıktı, hata ve üzerine bu bağlantı, bir terminal bağlı olduğu düşündüğü şekilde çalıştırır ptybandage
's orijinal standart giriş, çıkış ve hata.
İş kontrol kabukları altında çalışmanın nüansları ile ilgilenerek, bir terminal STOP karakterinin sadece durmakla ptybandage
kalmayıp, aynı zamanda iç terminale bağlı programı durdurmasını sağlar.
ptyrun
ptyrun
İnsanların genellikle TCP ağ sunucularında istedikleri şeydir. Birincil kullanım durumu, kendileri terminal oluşturmayan, terminal olmadığında istenildiği gibi çalışmayan programları çalıştıran uzaktan çalıştırma ortamlarıdır.
İş denetim kabuğu altında çalışmayı beklemiyor ve çalıştırılan komut bir durdurma sinyali alıyorsa, basitçe yeniden başlatılıyor.
Mevcut araç setleri
Dru Nelson hem "pty" sürüm 4 hem de "ptyget" ı yayınlar.
Paul Jarc, işletim sistemlerinin gerçekte sunmadığı orijinal sistemde işletim sistemine özgü sahte terminal aygıtı ile uğraşmaya çalışan sabit bir ptyget sürümü yayınlıyor.
Nosh kaynak paketi , Laurent Bercot'un aracını ve nosh paketinin kendi sözde-terminal yönetim komutlarını kullanan çalışma ptybandange
ve ptyrun
senaryolar ile birlikte gelir execline
. Noosh 1.23 sürümünden itibaren bunlar, nosh-terminal-extras paketinde önceden paketlenmiş olarak bulunmaktadır. (Daha önceki sürümler onları yalnızca kaynaktan inşa eden kişilere sağladı.)
Birkaç örnek kullanır
Jurjgen Oskamptybandage
, burada bir belgedeki girdiyi açık bir şekilde açıp bir parola istemi için kontrol terminalini okuyan bir programa girdi beslemek için AIX üzerinde kullanıyor :
$ ptybandage dsmadmc << EOF> uit.txt
joskam
parola
sorgu oturumu
sorgu işlemi
bırakmak, vazgeçmek
EOF
Andy Bradford ptyrun
, OpenBSD'yi daemontools ve ucspi-tcp altında kullanarakbgplgsh
etkileşimli yönlendirici kontrol programını ağ üzerinden erişilebilir kılmak için kullanırken terminalden bahsettiğini düşündürür:
#! / Bin / sh
exec 2> & 1
exec envuidgid rviews tcpserver -vDRHl0 0 23 ptyrun / usr / bin / bgplgsh
daha fazla okuma