Виртуальный терминал — это терминал, который вы получаете, когда набираете Ctrl+ Alt+ F#, и который представлен файлом /dev/tty#
.
В то время как псевдотерминал — это терминал, который фактически работает «внутри» tty, например: gnome-terminal
, xterm
, и т. д. И который представлен файлом /dev/pts/#
.
Я прав?
решение1
«Виртуальный терминал» — это нечетко определенный термин, который может означать разные вещи в зависимости от того, кто говорит. Все терминалы в настоящее время являются виртуальными, если противопоставлять виртуальные терминалы физическим терминалам (например,настоящий DEC VT100).
В Linux /dev/tty[n]
виртуальныконсоли. Это виртуальные терминалы (эмуляторы терминалов), реализованные ядром и не зависящие от графической среды, если таковая имеется.
/dev/pts/#
каналы, используемые для взаимодействия с локальными или удаленными эмуляторами терминала, такими gnome-terminal
как Windows putty
.
решение2
Псевдотерминал — это концепция ядра, которая была введена для представления дисциплины терминальной линии программам, чтобы программы думали, что они общаются с реальным терминалом. Это позволяет программам работать без изменений, независимо от того, общаются ли они с реальным терминальным устройством (например, последовательным портом) или с псевдотерминалом.
Например, интерфейс, предоставляемый сетевым подключением, совсем не похож на последовательную линию, поэтому используется пара псевдотерминалов (главный и подчиненный). Процесс сетевого обработчика открывает главную сторону псевдотерминала, читает с нее и пишет на нее. То, что записано на главной стороне, отображается для чтения на подчиненной стороне, и наоборот. Кроме того, все ioctl для изменения дисциплины линии и т. д. доступны в файловых дескрипторах на подчиненной стороне.
Короче говоря, можно сказать, что псевдотерминал позволяет имитировать настоящий терминал с помощью программного обеспечения.