「pty」本質上是某種應用程序或守護進程之間的「管道」(例如,我在虛擬化方面工作,我們使用pty爲虛擬機提供虛擬終端)。一個pty有一個「主」和一個「奴隸」的一面。從屬端是你正常的「終端」程序將使用的東西 - xterm或ssh等等。主機被任何「東西」提供給終端的數據所使用[並且如果你寫入了pty,例如當你鍵入或粘貼文本到一個xterm]時,它會被控制主控的進程讀取 - 主控然後做任何它應該處理的數據 - 例如,通過網絡以ssh方式發送。
這完全與「你的結局」有關。 如果你正在運行一個通過ssh「交互」的命令 - 比如說「ssh somemachine make menuconfig」[假設你的主目錄是一個linux源代碼目錄 - 我們將忽略它可能不存在的事實],默認值是因爲它是一個「交互式」的文本程序,可以讓你按鍵移動,等等,所以使用「ssh -t somemachine make menuconfig」將不會產生pty,所以menuconfig可能會失敗[至少正常運行]給你的ssh一個pty。或者,「ssh somemachine」默認會給你一個pty,因爲你需要在另一端輸入東西。
pty是一個「本地」終端,但sshd進程將從另一端向它提供數據,並且您本地的sshd進程將其饋送到pty的「主」端。
本頁面描述我所想說 http://lugatgt.org/2009/10/28/ssh-tips-and-tricks-2/
一個偉大的答案,謝謝。很詳細。 – user1807879