ความแตกต่างระหว่าง pts และ tty


108

ซ้ำได้:
ความแตกต่างที่แน่นอนระหว่าง 'terminal', 'shell', 'tty' และ 'console' คืออะไร?

ฉันเห็น pts และ tty เสมอเมื่อฉันใช้whoคำสั่ง แต่ฉันไม่เคยเข้าใจว่ามันแตกต่างกันอย่างไร ใครช่วยอธิบายเรื่องนี้หน่อยได้ไหม


คำตอบ:


111

TTYเป็นอุปกรณ์ปลายทางพื้นเมืองแบ็กเอนด์เป็นฮาร์ดแวร์หรือเคอร์เนลเทิดทูน

Pty (อุปกรณ์ปลายทางหลอก) เป็นอุปกรณ์ปลายทางซึ่งเป็นที่เทิดทูนโดยโปรแกรมอื่น ๆ (เช่นxterm, screenหรือsshเป็นโปรแกรมดังกล่าว) จุดคือส่วนที่เป็นทาสของPty

(สามารถอ่านข้อมูลเพิ่มเติมได้man pty)

สรุปสั้น ๆ :

Ptyถูกสร้างขึ้นโดยกระบวนการผ่านposix_openpt()(ซึ่งมักจะเปิดอุปกรณ์พิเศษ/dev/ptmx) และประกอบด้วยคู่ของอุปกรณ์ตัวอักษรแบบสองทิศทาง:

  1. ส่วนหลักซึ่งเป็นตัวอธิบายไฟล์ที่ได้รับจากกระบวนการนี้ผ่านการโทรนี้จะใช้ในการจำลองเทอร์มินัล หลังจากการเริ่มต้นบางส่วนส่วนที่สองสามารถปลดล็อคด้วยunlockpt()และต้นแบบที่ใช้ในการรับหรือส่งตัวละครไปยังส่วนที่สองนี้ (ทาส)

  2. ชิ้นส่วนสลาฟซึ่งถูกยึดในระบบไฟล์ในขณะที่/dev/pts/x(ชื่อจริงสามารถรับได้จากต้นแบบผ่านptsname()) จะทำงานเหมือนอุปกรณ์เทอร์มินัลเนทีฟ ( /dev/ttyx) ในกรณีส่วนใหญ่เชลล์จะเริ่มต้นโดยใช้มันเป็นเทอร์มินัลการควบคุม


แบ็กเอนด์หมายถึงอะไรคือฮาร์ดแวร์?
แรงบันดาลใจ


ขอบคุณ ฉันคิดว่ามันเป็นข้อมูลอ้างอิงเชิงประวัติศาสตร์เมื่อเทียบกับการใช้งานร่วมสมัยนั่นคือเคยได้รับการสนับสนุนจากฮาร์ดแวร์
แรงบันดาลใจ

38

A ttyเป็นอุปกรณ์เทอร์มินัลปกติ (เช่นคอนโซลบนเซิร์ฟเวอร์ของคุณ)
A ptsเป็นทาสเทอร์มินัล psuedo ( xtermหรือการsshเชื่อมต่อ)

man pts มีคำอธิบายอย่างละเอียดของสถานีหลอก

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.