«Pty» — это, по сути, «канал» между каким-то приложением или демоном (например, я работаю над виртуализацией, и мы используем pty для предоставления виртуального терминала для виртуальной машины). У pty есть «ведущая» и «ведомая» стороны. Ведомая сторона — это то, что использовала бы ваша обычная «терминальная» программа — xterm или ssh и т. д. Мастер используется любой «вещью», предоставляющей данные в терминал [и если вы записываете в pty, например, когда вы вводите или вставляете текст в xterm], он считывается процессом, контролирующим мастер, затем мастер делает все, что должен делать с такими данными, например. отправив его по сети в случае ssh.
Это полностью связано с тем, что происходит «ваш конец». Если вы запускаете команду, которая является «интерактивной» через ssh — скажите «ssh somemachine make menuconfig» [при условии, что ваш домашний каталог является исходным каталогом linux — мы проигнорируем тот факт, что это, вероятно, не так], по умолчанию используется не сделать pty, поэтому menuconfig, вероятно, не удастся [по крайней мере работать правильно], потому что это «интерактивная» текстовая программа, которая позволяет вам нажимать клавиши для перемещения и т. д. Таким образом, использование «ssh -t somemachine make menuconfig» даст ваш ssh а pty. В качестве альтернативы, «ssh somemachine» даст вам pty по умолчанию, так как вы должны вводить что-то на другом конце.
Pty является «локальным» терминалом, но процесс sshd будет предоставлять ему данные с другого конца, а ваш локальный процесс sshd передает их на «главную» сторону pty.
На этой странице описывается, что я пытался сказать http://lugatgt.org/2009/10/28/ssh-tips-and-tricks-2/
person
Mats Petersson
schedule
05.01.2013