Antigamente, um terminal era um dispositivo textual conectado a um computador: inicialmente um teletipo mecânico , mais tarde, um terminal de vídeo . As abreviaturas tty
(TeleTYpe) e vt
(Video Terminal) ainda são provenientes desta época.
O console foi inicialmente os switches e indicadores disponíveis literalmente no painel do console do computador ( aqui é uma imagem do painel frontal de um PDP-11/20, que executou a primeira edição do Unix em 1972). Mais tarde, foi usado para um teletipo / terminal especial conectado ao computador. O operador pode usar o console para executar operações privilegiadas.
Novamente, mais tarde, os terminais de hardware foram substituídos por emuladores de terminal como xterm
: programas GUI permitem digitar texto e ver a resposta, comunicando-se com o resto do sistema por meio de um bi- canal baseado em caracteres direcionais, assim como os antigos teletipos e terminais de vídeo em linhas seriais.
Assim, para o Linux no PC, a questão era o que deveria substituir o terminal do console dos computadores mais antigos. A solução óbvia era usar o teclado e a tela existentes, mas isso era um pouco limitante, porque haveria apenas um console para uso do sistema e nenhum outro terminal para fazer o trabalho real. E os usuários domésticos não tinham terminais extras que pudessem se conectar a linhas seriais. Então o console virtual foi inventado: vários terminais de console (como no "painel frontal do computador principal") que você pode alternar entre as teclas Ctrl-Alt-Fn. Então veio X, e um dos consoles virtuais foi usado para iniciar o X, então "X rodou em um console virtual", e nesse ponto a antiga terminologia não fazia mais sentido. : -)
Portanto, hoje em dia, geralmente console e terminal significam a mesma coisa. Mas ainda há diferenças ao se referir a partes estabelecidas do sistema: é o banco de dados terminal para caracteres de controle (termcap, TERM
variable). O dispositivo que controla o console virtual ativo no momento no Linux é /dev/console
. Etc.
Screen
/ tmux
usa a mesma idéia multiplex do console virtual, mas não em um teclado e monitor de PC real, mas dentro de um terminal existente. Assim, você pode usar uma conexão de terminal, não importa se ela é executada dentro de um emulador de terminal, um terminal de vídeo conectado a uma linha serial ou um console do Linux, para executar vários terminais.