Sahte terminaller nelerdir (pty / tty)?


92

Bu gerçekten temel bir soru olabilir ama ben iyice anlamak istiyorum.

  1. Bir sözde terminal nedir? (TTY / Pty)
  2. Onlara neden ihtiyacımız var? Nasıl tanıştılar ve buna ne ihtiyaç duyuldu?
  3. Modası geçmiş mi? Onlara artık ihtiyacımız yok mu? Onları değiştirecek bir şey var mı?
  4. Herhangi bir faydalı kullanım durumu?

Ben ne yaptım:

  1. Man sayfalarını oku - biraz bilgi aldım, fakat tam resmi değil.
  2. Onları Richard Stevens'ın Unix Network Programming'den okumaya çalıştım. Biraz bilgi aldım ama why?kısmı değil .

Ben de öyle düşünüyorum, özellikle de openpty / forkpty gibi özel konular ortaya çıkmıyorsa

Geçiş için işaretlemeye çalıştı, ancak Linux / Unix geçerli bir geçiş hedefi değil. Degrade inişini deneyen, Süper Kullanıcı zaten bu siteden biraz daha iyi bir hedef ve belki daha iyi bir siteye yönlendirebilirler.

7
Bu oldukça iyi bir genel bakış: linusakesson.net/programming/tty/index.php
nos

@nos: vay! Bu harika bir bağlantı. Aradığım şey. Bir ton teşekkürler :)
hari

Linux Programlama Arabiriminin Bölüm 62 ve Bölüm 64 yardımcı olabilir
zjk

Yanıtlar:


42
  1. Biri olmadan fiziksel bir terminalin işlevine sahip bir cihaz. Xterm gibi terminal emülatörleri tarafından oluşturulur. Daha fazla detay manta pty (7) 'dedir.
  2. Geleneksel olarak, UNIX bir grup süreç için kontrol terminali kavramına sahiptir ve birçok I / O fonksiyonu terminaller göz önünde bulundurularak oluşturulmuştur. Psödoterminaller, örneğin ^ C gibi bazı kontrol karakterlerini idare eder.
  3. Eski değil ve ssh dahil birçok programda kullanılıyor.
  4. SSH.

1
@Thiton teşekkürler. Lütfen örneğinize değinir misiniz ssh? Pty / tty nasıl kullanılır? Efendi / köle rolü nasıl gerçekleşir ssh?
hari

3
ssh, yarattığı kabuk için bir miktar ayırır. Kabuk, köle ucuna bağlanır ve böylece normal bir terminalin tüm özelliklerine dayanabilir (örneğin, doğru hatırlıyorsam termcap) ve ssh arka plan programı ana uca bağlanır ve girişini oraya gönderir ve alır.

27

Cevap, “Sahte” değil, “görünüşte olması” anlamına gelen “Sözde” adındadır.

İlk terminallerde, her zaman donanım veya seri port görüntülemek için ilgili cihaza bağlı bir donanım parçası olmuştur.

Xwindows, telnet ve ssh ile görüntü donanımında durmak üzere olan işi yapmak için "Sözde aygıtlar" yazılımına ihtiyaç duyuldu. Bunlar, Terminal donanımını taklit eden, giriş ve çıkış işlemlerini aynı fiziksel yöntemle yapan, takılan yazılımın bağlı gerçek bir aygıt olmadığını fark etmeyeceği şekilde "Sözde Terminaller" dir.


Artık aynı donanıma erişmesi gereken birçok uygulamamız olduğundan, her uygulama "sözde" terminali ile donanımı kullanıyor mu?
hari

Cevabı biraz genişlettim - umarım netleşir.

Hayır, artık artık bu tür bir donanıma sahip değiliz. xterm klasik bir terminali taklit eder, hepsi bu.

@ thiton: Söylediğinizde emulates, yazılım parçası bu değil mi?
hari

1
Yani bugün "terminal" kelimesini UNIX bağlamında kullanmak aslında yanlış mı? Çünkü her şey bir "sözde terminal" mi?
A. Sallai

11

Sahte terminaller, seri hatlar için emülatördür. Telnet, ssh ve xterm kabukları için uç noktaları sağlarlar.


2
Ve onlar eski eserler (gerçekten, kabukları / metin uygulamaları 40 yıl önce çalıştıkları gibi seri bir hat üzerinden tele-tipi bir yazıcıya benzeyen bir cihaz üzerinde etkileşime devam ediyorlar ...) Onlara hala ihtiyacımız var çünkü bunlar yerine geçecekler: - (
no

Eğer terminali düşünürseniz, gelip giden bir harf akışından daha fazlasına ihtiyacınız olmadığını sanmıyorum ...
Diego Sevilla

4
@Diego Sevilla Orijinal unix mucidi Plan 9'da tty / pty'leri ortadan kaldırdı ve orada bir terminal hemen hemen içeri / dışarı veri akışı kullanıyor. Fakat * nix'te, tipler hala konsolda ve terminal emülatörleri tarafından örneğin terminal boyutunu, akış kontrolünü, hat tamponlamayı, özel kilit olayları ve diğer şeyleri kontrol etmek için kullanılıyorlar.
nos

4
@ nos: Görünüşe göre bize inandığımız antik kalıntılardan değiller. Windows olmadan onlarsız yapmaya çalışmak sonunda acı verici. Powershell uzaktan kumandasının kullanımı tek bir şey tarafından engellenmektedir: interaktif konsol programları çalışmıyor ve doğru çalışması için düzeltilemiyor. DOS EDIT ya da vi gibi makul bir metin editörü yoktur.
Joshua,

2
@Joshua Aksine bir başka kanıt ise, Unix'in özgün tasarımcılarının Plan 9 İşletim Sistemi'ni yarattıkları, burada tamamen tty'lerden uzak durdukları, ancak bu şekilde (ve çok daha fazlası) iyi bir şekilde uzaktan başardıklarını belirtti.
nos
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.