ทำไมเทอร์มินัลเสมือน“ เสมือนจริง” และเทอร์มินัล“ จริง” คืออะไรและทำไม?


169

ฉันหวังว่าคำถามนี้จะอธิบายตนเอง

ความเข้าใจของฉันคือgnome-terminalและkonsoleเป็นเทอร์มินัลเสมือนและโดยพื้นฐานแล้วพวกเขาก็มีจุดประสงค์เดียวกันคือสภาพแวดล้อมบรรทัดคำสั่งสำหรับล่ามคำสั่งที่เป็นตัวเลือกต่างๆ (ฉันไม่แน่ใจด้วยซ้ำว่าเป็นวิธีที่ถูกต้องในการดูหรือไม่)

ฉันคิดว่าจริงขั้วเป็นที่ที่ฉันกำลังเคลื่อนย้ายไปยัง occasionaly โดยผิดพลาด keying Ctrl+ Alt+ F1, F2ฯลฯ

แต่ "มีมังกร" ในผืนแผ่นดินหลังฝังที่หน้าจอสีดำดังนั้นฉันจึงออกไปข้างนอกอย่างรวดเร็วที่ฉันสามารถกดCtrl+ Alt+ F7(ฉันเรียนรู้ว่าที่ไหนสักแห่ง: "เมื่อทุกอย่างเป็นสีดำและสีเข้ม: กดปุ่มลับเพื่อกลับ :)

  • ถูก / เป็น "ของจริง" มินัล (s) หนึ่ง (s) ที่อยู่เบื้องหลังCtrl+ Alt+ F1, F2กุญแจ ฯลฯ ?
  • และอะไรคือ "ของจริง" เกี่ยวกับพวกเขากับสิ่งที่ "เสมือน"
  • และวิธีการที่พวกเขาแตกต่างกันอย่างไร มันง่ายเหมือน "no GUI" กับ "GUI" หรือไม่?

PS เป็นคำว่า "คอนโซล" และ "เทอร์มินัล" หรือไม่


21
อย่ากลัวที่บรรทัดคำสั่ง มันสามารถทำให้ชีวิตของคุณง่ายขึ้นสำหรับบางสิ่งเมื่อคุณคุ้นเคยกับมันมากขึ้น
Larry Coleman

1
ที่เกี่ยวข้อง: superuser.com/questions/96628/…
Matthew

8
@ Larry: ตามคำพูดของคุณฉันกล้าเข้าไปในถ้ำของมังกร (Ctrl + Alt + F1) และจริง ๆ แล้วฉันเข้าสู่ระบบในเวลานี้! ... มีความเงียบ .. แต่ฉันได้เห็นหน้าจอเทอร์มินัลที่กำหนดเองของฉัน จาก X) .. ฉันคิดว่าน่าสนใจและรู้สึกถึงความกล้าหาญที่จะเรียกสัตว์ร้าย: ฉันพูดว่า "echo $ TERM" ... และแท้จริงและดูเถิด! มันพูดกลับมาหาฉัน! มันบอกว่า "linux" ... ทันทีที่ฉันรู้ว่าเขาเป็นลูกพี่ลูกน้องของ "gnome-terminal" และ "konsole" ที่ตอบว่า "xterm" .. ดังนั้นมันจึงไม่ใช่มังกรหลังจากทั้งหมด แต่เป็นเทอร์มินัลเสมือนจริง การจำลองเทอร์มินัล linux (จริง)
Peter.O

5
อย่ากลัวคอนโซล Linux: เขาเป็นมังกรที่ทรงพลังและเชื่องมากและเขาเป็นเพื่อนที่ดีที่สุดของคุณเมื่อคอมแพคล่ม)
MestreLion

นอกจากนี้คุณอาจเรียกเขาว่าลูกพี่ลูกน้องของgnome-terminalหลังจากพวกเขาทั้งสองมีจุดประสงค์เดียวกัน ลูกพี่ลูกน้องที่ไม่ได้ขึ้นอยู่กับสภาพแวดล้อมแบบกราฟิกใด ๆ และเชื่อมต่อกับอุปกรณ์ที่ให้อำนาจแก่เขามากกว่า
MestreLion

คำตอบ:


136

ความเข้าใจของฉันคือว่าเทอร์มินัลเสมือนนั้นมีจุดประสงค์เดียวกันคือ: สภาพแวดล้อมของบรรทัดคำสั่งสำหรับล่ามคำสั่งทางเลือกต่างๆ

นี่ไม่เป็นความจริงอย่างเคร่งครัด เทอร์มินัลเสมือนเป็นเพียงโปรแกรมที่ส่งการกดแป้นและรับเอาต์พุต (ซึ่งเรียกว่า Standard In, Standard Out [และ Standard Error]) ไปยังกระบวนการที่อยู่ในพื้นหลัง นี่คือพื้นฐานการป้อนข้อมูลการประมวลผลการส่งออกของระบบและเป็นหัวใจสำคัญของระบบปฏิบัติการของคุณ


โทรพิมพ์ (หรือเครื่องโทรพิมพ์)


ผู้ชายทำงานที่เครื่องคอมพิวเตอร์

ลองดูว่าฉันสามารถอธิบายได้ถูกต้องหรือไม่:

ในระบบ Unix เหมือนเช่น Linux มีแนวคิดของ"ทุกอย่างเป็นไฟล์" นั่นหมายถึงตัวอย่างเช่นไดรฟ์ดีวีดีของคุณเป็นไฟล์ (/ dev / sdb1) แป้นพิมพ์ของคุณเป็นไฟล์ (/ dev / input / keyboard) เป็นต้น

อีกชุดของไฟล์วิเศษเหล่านี้คือ TTY ที่ TTY ย่อมาจาก Teletype เครื่องพิมพ์ดีดที่ส่งการกดแป้นพิมพ์ไปยังเครื่องคอมพิวเตอร์ซึ่งจะส่งจดหมายกลับไปที่ประเภทบอล สิ่งนี้จะแสดงอุปกรณ์ทางกายภาพเครื่องพิมพ์ดีดระยะไกลในลักษณะเดียวกับ / dev / lp0 อาจเป็นตัวแทนเครื่องพิมพ์ของคุณ


เทอร์มินัลฮาร์ดแวร์ VT100

เวิร์คสเตชั่ Teletype จะถูกเรียกว่า "คอนโซล" หรือ "เทอร์มินัล" ซึ่งเป็นเทอร์มินัลเสมือนซึ่งตรงข้ามกับของจริงดังนั้นจึงเป็นแอปพลิเคชันหรือเครื่องจักรใด ๆ ไปที่มันและรับเอาท์พุทกลับมาจากมันพิมพ์ลงบนแผ่นกระดาษ คุณสามารถจินตนาการได้ว่าโมเด็มทำงานในลักษณะที่คล้ายกันมาก

เทอร์มินัลเช่นรูปด้านบนเป็นคอมพิวเตอร์ราคาถูกและเรียบง่ายที่เลียนแบบการทำงานของโทรพิมพ์ เมื่อเราบอกว่าเทอร์มินัลอีมูเลเตอร์วันนี้เรามักจะหมายถึงโปรแกรมที่เลียนแบบการทำงานของเครื่องดังกล่าว

ยังมีระบบคอมพิวเตอร์ที่ใช้งานเทอร์มินัล พวกเขาจะได้รับในความเป็นจริงเคยเป็นที่นิยมมากขึ้น ในอดีตสาเหตุของเทอร์มินัลก็คือคอมพิวเตอร์ที่โต๊ะทุกตัวนั้นไร้สาระอย่างสมบูรณ์ - ที่ซึ่งคอมพิวเตอร์เต็มห้องและมีราคาแพงอย่างมาก ตอนนี้มันประหยัดเงินและทำให้การจัดการง่ายขึ้น


a "thin client" - เทียบเท่าทันสมัยของ VT100

ฉันหวังว่านี่จะเป็นประโยชน์ โปรดแจ้งเตือนฉันหากฉันทำผิด


นั่นหมายความว่า Control-Alt-F1, F2 และอื่น ๆ เป็นเทอร์มินัลเสมือนเช่นกันและความแตกต่างเพียงอย่างเดียวระหว่างพวกเขากับ "gnome-terminal" / "konsole" ก็คือพวกเขาไม่มี GUI หรือไม่

ใช่แล้ว ความแตกต่างระหว่าง TTY1-7 และ gnome-terminal คือระบบจะให้ ttys ในขณะที่ gnome-terminal และ konsole นั้นทำงานด้วย tty (ซึ่งใช้ระบบย่อยกราฟิก) สิ่งที่เป็นนามธรรมนี้สามารถซ้อนกันได้ลึกยิ่งขึ้น (เช่นการส่งต่อ x โดยใช้โปรโตคอล telnet เพื่อทำหน้าที่เป็นเทอร์มินัล ... ) ท้ายที่สุดอินเทอร์เฟซของมนุษย์ - คอมพิวเตอร์ทำหน้าที่เหมือนไฟล์อื่น ๆ และสามารถไพพ์แยกออกและเคลื่อนย้ายไปในทางเดียวกัน


15
คำตอบของคุณมีประโยชน์หรือไม่? ... แน่นอน !! ... อธิบายได้ดีมาก ... ฉันไม่เคยคิดว่าคีย์บอร์ดเป็นไฟล์ แต่มันสมเหตุสมผล (ไฟล์แบบอ่านอย่างเดียว) ... และ "thin client" เป็นคำที่ฉันได้ยินเกี่ยวกับบน พอดแคสต์บางตัว แต่มันเหนือหัวฉันและฉันคิดว่ามันอ้างถึงสถาปัตยกรรม CPU ใหม่ (a-la RISC) .. แต่จริงๆแล้วมันหมายความว่าความคิดที่ดีจะไม่หายไปและ CICS (หรืออย่างน้อยก็เป็นลูกหลานของมัน) ) ยังมีชีวิตอยู่และดี ... น่าสนใจมาก ... ขอบคุณ (ตอนนี้ฉันได้อ่านเพิ่มอีกเล็กน้อยเพื่อทำ ... คุณได้เริ่มต้นบางสิ่งบางอย่าง :)
Peter.O

19
นี่เป็นแบบสุ่มเล็กน้อยและยังไม่มีอะไรเกี่ยวข้องกับลีนุกซ์ แต่ก็ไม่น้อยไปกว่านี้: หากคุณต้องการเรียนรู้พื้นฐานบางอย่างเกี่ยวกับการใช้งานคอมพิวเตอร์ให้ฟังtwit.tv/sn - เอพ233, 235, 237, 239 และ 241 ชุดเกี่ยวกับ "วิธีการทำงานของคอมพิวเตอร์จากระดับพื้นฐานแบบสัมบูรณ์" โดยที่ระดับพื้นฐานหมายถึง "ระดับต่ำ" มีคนไม่มากที่รู้เรื่องนี้มันสนุกดี
Stefano Palazzo

1
@TokiTahmid อ๊ะ! ถูกต้องขอบคุณมาก มันไม่ได้ตั้งใจ แต่เป็นความผิดพลาด :)
Stefano Palazzo

4
ความทรงจำของฉันคือ VT-100 นั้นถือว่าเป็นเทอร์มินัล (วิดีโอ) ไม่ใช่เทอร์มินัลเสมือนหรือเทอร์มินัลอีมูเลเตอร์ อุปกรณ์จำนวนมากที่มีไมโครโปรเซสเซอร์ของตัวเองได้รับการพิจารณาว่าเป็นเทอร์มินัลไม่ว่าจะเป็นอุปกรณ์อื่นใดก็ตามที่พวกเขาเลียนแบบ หากมีการใช้งานอินเทอร์เฟซของคอมพิวเตอร์ / มนุษย์ในซอฟต์แวร์บนอุปกรณ์ที่ไม่ได้อุทิศให้เป็นเทอร์มินัลฉันจะเรียกว่าส่วนต่อประสานหรือซอฟต์แวร์นั้นเป็นเทอร์มินัลเสมือน วัตถุประสงค์ของอุปกรณ์โดยรวมคือความแตกต่างไม่ใช่เทคโนโลยีหรือโปรโตคอลการสื่อสารที่ใช้
John S Gruber

2
@JohnSGruber ความทรงจำของคุณถูกต้อง VT100 และเครือญาติเป็นเทอร์มินัล 'วิดีโอ' เพื่อแยกพวกมันออกจาก TTY ที่ใช้กระดาษเป็นภาพถ่ายอันดับต้น ๆ ในคำตอบนี้ ข้อดีสามประการของ VT บน TTY นั้นเงียบกว่ามากไม่มีกระดาษเสีย (แต่ไม่มีการเลื่อนที่ไม่ดีเสมอไป) และความเร็ว - TTY นั้นถูก จำกัด อยู่ที่ 110baud (10 ถ่าน / วินาที) VTs สามารถทำได้ สูงถึง 19,200 baud, iirc ต่อมาพวกเขาถึงกับ 'เทอร์มินัลอัจฉริยะ', VT พร้อมความสามารถในการประมวลผลสัญญาณขาเข้าและเพิ่มสีให้กับข้อความและแม้กระทั่งสำหรับราคากราฟิก
Spellweaver ยิปซี

14

ค่อนข้างแน่ใจว่าเรียกมันว่า "terminal เสมือน" เป็นการย้อนกลับไปเมื่อมีเทอร์มินัลทางกายภาพเชื่อมต่อกับเซิร์ฟเวอร์ unix ...


โอเค ... มันสมเหตุสมผล ... "ย้อนกลับไป" ก่อนที่จะมีมัลติทาสกิ้งและแนวคิดที่เป็นนามธรรมและ "เสมือน" ... ดังนั้นจึงเป็นความคิดเดียวกันกับกล่องเครื่องเสมือนกับฮาร์ดแวร์ " "
Peter.O

2
นั่นหมายความว่า Control-Alt-F1, F2 และอื่น ๆ เป็นเทอร์มินัลเสมือนเช่นกันและความแตกต่างเพียงอย่างเดียวระหว่างพวกเขากับ "gnome-terminal" / "konsole" ก็คือพวกเขาไม่มี GUI หรือไม่
Peter.O

@ fred.bear: ลองดูที่วิกิพีเดีย
Jamie Schembri

เสมือนจริงเนื่องจากจุดสิ้นสุดอินพุต / เอาต์พุตของมนุษย์เชื่อมต่อกับกระบวนการที่กำลังทำงานอยู่ (ผ่าน / dev / pts / *) เทอร์มินัลที่ไม่ใช่เสมือนเป็นสิ่งที่ต้องการคอนโซลข้อความ Linux (แบ็กเอนด์ที่จัดทำโดยรหัสเคอร์เนลเพื่อเปลี่ยนการกดแป้นเป็นอักขระอินพุตเทอร์มินัลและเทอร์มินัลเอาท์พุทเป็นอักขระบนหน้าจอ หรือตัวอย่างที่เก่าแก่ที่สุดของเทอร์มินัลที่ไม่ใช่เสมือนพอร์ตอนุกรม การจัดการเทอร์มินัลโดยสิ่งที่คุณเชื่อมต่อกับพอร์ตอนุกรม คุณสามารถบูตด้วยคอนโซลข้อความบนพอร์ตอนุกรม
Peter Cordes

13

นอกเหนือจากคำตอบข้างต้นให้ดูขั้วคำอธิบายที่ครอบคลุมนี้ TTY แม้จะมีความเรียบง่ายที่เห็นได้ชัด แต่แนวคิดก็เป็นส่วนที่ค่อนข้างซับซ้อนของ Linux


1
ขอบคุณ loevborg มันเป็นบทความที่น่าสนใจมาก ๆ ซึ่งจะอธิบายเกี่ยวกับคำศัพท์ "ลึกลับ" มากมาย ... (เช่นกระบวนการ "ซอมบี้")
Peter.O
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.