В старые времена терминал был текстовым устройством, подключенным к компьютеру: сначала механический телетайп, а позже видеотерминал. Аббревиатуры tty
(TeleTYpe) и vt
(Video Terminal) все еще происходят из этой эпохи.
Изначально консоль представляла собой переключатели и индикаторы, доступные буквально на панели консоли компьютера (здесь изображена передняя панель PDP-11/20, на котором был запущен 1-й выпуск Unix в 1972 году). Позже он был использован для специального телетайпа / терминала, подключенного к компьютеру. Оператор может использовать консоль для выполнения привилегированных операций.
Позже аппаратные терминалы снова были заменены эмуляторами терминалов, такими как программы xterm
: программы с графическим интерфейсом, позволяющие набирать текст и видеть ответ, связываясь с остальной частью системы через двунаправленный символьный канал, как старые телетайпы и видеотерминалы. последовательные линии.
Поэтому для Linux на ПК вопрос заключался в том, что должно заменить консольный терминал старых компьютеров. Очевидное решение состояло в том, чтобы использовать существующую клавиатуру и экран, но это немного ограничивало, потому что для использования системы была бы только одна консоль, и никаких других терминалов для реальной работы не было бы. А у домашних пользователей не было дополнительных терминалов, которые они могли бы подключить к последовательным линиям. Таким образом, была изобретена виртуальная консоль : несколько консольных (как в "на передней панели основного компьютера") терминалов, между которыми вы могли переключаться с помощью комбинации Ctrl-Alt-Fn. Затем появился X, и одна из виртуальных консолей использовалась для запуска X, поэтому "X работал на виртуальной консоли", и в этот момент старая терминология уже не имела особого смысла. :-)
Поэтому сегодня часто консоль и терминал означают одно и то же. Но при обращении к установленным частям системы все еще есть разница: это терминальная база данных для управляющих символов (termcap, переменная TERM
). Устройство, которое управляет текущей активной виртуальной консолью в Linux, - это /dev/console
. И т.п.
Screen
/tmux
использует ту же идею мультиплексирования, что и виртуальная консоль, но не на реальной клавиатуре и мониторе ПК, а внутри существующего терминала. Таким образом, вы можете использовать одно терминальное соединение, независимо от того, работает ли оно внутри эмулятора терминала, видеотерминала, подключенного к последовательной линии, или консоли Linux, для запуска нескольких терминалов.