Questão Por que um terminal virtual é “virtual” e o que / por que / onde é o terminal “real”?


Espero que a pergunta seja autoexplicativa.

Meu entendimento é que gnome-terminal e konsole estamos virtual terminais, e eles estão basicamente servindo à mesma finalidade, ou seja, um ambiente de linha de comando para vários intérpretes de comando opcionais. (Eu nem tenho certeza se esse é o jeito certo de ver isso.)

Eu suponho que o real terminal é onde eu sou teleportado ocasionalmente por mis-keying Ctrl+Alt+F1,F2etc.

Mas "Haja Dragons" naquele sertão de tela preta, então eu saio tão rápido quanto posso Ctrl+Alt+F7 (Aprendi isso em algum lugar: "Quando tudo é preto e escuro: pressione as chaves secretas para retornar :)

  • É / são o (s) terminal (ais) "real (ais) aquele (s) que existe por trás do Ctrl+Alt+F1,F2, etc. chaves?
  • E o que é tão "real" sobre eles contra os "virtuais"?
  • E como eles diferem? É tão simples como "sem GUI" vs "GUI"?

P.S. são "console" e "terminal" sinônimo?


149
2017-11-21 11:34


origem


Não tenha medo da linha de comando. Pode tornar sua vida muito mais fácil para algumas coisas, uma vez que você esteja mais familiarizado com isso. - Larry Coleman
Relacionado: superuser.com/questions/96628/… - Matthew
@ Larry: Encorajado por suas palavras, eu me aventurei no covil do dragão (Ctrl + Alt + F1), e eu realmente entrei neste momento! ... Houve silêncio ... mas eu pude ver o meu terminal personalizado (da terra de X) .. Interessante eu pensei, e me senti corajoso para chamar a besta: Eu disse "eco $ TERM" ... e eis que! falou de volta para mim! Ele disse, "linux" ... Imediatamente eu percebi que ele é um primo de "gnome-terminal" e "konsole" que responde "xterm" .. Então não é um dragão afinal, mas sim, é um terminal virtual emulando um terminal linux (real). - Peter.O
Não tenha medo do Console do Linux: Ele é um Dragão muito poderoso, mas dominado, e ele é seu melhor amigo quando o Compiz falha;) - MestreLion
Além disso, você pode chamá-lo de primo de gnome-terminal, afinal ambos servem o mesmo objetivo. Um primo que não depende de nenhum ambiente gráfico e está conectado a um dispositivo que lhe concede mais poderes. - MestreLion


Respostas:


Meu entendimento é que os terminais virtuais basicamente servem ao mesmo propósito:   ie. Um ambiente de linha de comando para   vários intérpretes de comando opcionais

Isso não é estritamente verdadeiro. Terminais virtuais são apenas programas que enviam pressionamentos de teclas e recebem saída (isso é chamado de entrada padrão, saída padrão [e erro padrão]) para um processo em segundo plano. Este é um básico entrada → em processamento → saída sistema, e está no coração do seu sistema operacional.


Um teletipo (ou teleprinter)


Homem, trabalhando, em, um, terminal computador

Vamos ver se consigo explicar corretamente:

Em um sistema similar ao Unix, como o Linux, existe o conceito de "tudo é um arquivo". Isso significa, por exemplo, que seu DVD Drive é um arquivo (/ dev / sdb1), seu teclado é um arquivo (/ dev / input / keyboard) e assim por diante.

Outro conjunto desses arquivos mágicos são os TTYs, onde TTY significa Teletipo. Uma máquina de escrever que envia pressionamentos de tecla para um computador, que por sua vez envia cartas de volta para o Tipo bola. Isso representaria um dispositivo físico, uma máquina de escrever remota, da mesma forma que / dev / lp0 pode representar sua impressora.


  Um terminal de hardware, o VT100

As estações de trabalho Teletipo teriam sido chamadas de "Consoles" ou "Terminais", um terminal virtual, ao contrário de um real, assim como qualquer aplicativo ou maquinário que forneça a mesma funcionalidade que este arranjo no local de trabalho - que está acessando o computador a ele e recebendo a saída de volta, imprimindo-o em um pedaço de papel. Você pode imaginar que um Modem funciona de maneira muito semelhante.

Terminais, como o mostrado acima, são computadores baratos e simples que emular, imitar a funcionalidade de um teletipo. Quando dizemos emulador de terminal nos dias de hoje, nós - por sua vez - geralmente significa um programa que emula a funcionalidade de tal máquina.

Ainda existem sistemas de computadores baseados em terminais em uso. Eles estão de fato recebendo cada vez mais popular. No passado, a razão para os terminais era que um computador em cada mesa era completamente ridículo - onde os computadores lotavam uma sala e eram imensamente caros. Agora, isso economiza dinheiro e facilita a administração.


um "thin client" - o equivalente moderno do VT100

Espero que isso seja útil. Por favor, avise-me se cometi um erro.


Isso significa que   Control-Alt-F1, F2, etc também são virtuais   terminais, e a única diferença   entre eles e "gnome-terminal" /   "konsole" é que eles não têm   GUI

Sim, basicamente. A diferença entre TTY1-7 e gnome-terminal é que o sistema fornece o ttys, enquanto o gnome-terminal e o konsole estão rodando em um tty (que está executando o subsistema gráfico). Esta abstração pode ser aninhada ainda mais fundo (por exemplo, x-forwarding, usando o protocolo telnet para atuar como um terminal, ...), afinal, o interface homem-computador age como qualquer outro arquivo. E pode ser canalizado, abstraído e movido da mesma maneira.


124
2017-11-21 13:53



Sua resposta foi útil? ...Absolutamente!! ... muito bem explicado ... Eu nunca pensei em um teclado como um arquivo, mas faz sentido (um arquivo somente para leitura) ... e um "thin client" é um termo que eu tinha ouvido falar sobre alguns podcasts, mas apenas passou por cima da minha cabeça e eu pensei que se referia a alguma nova arquitetura de CPU (a-la RISC) .. mas na verdade significa que boas ideias não desaparecem, e que CICS (ou pelo menos sua descendência ) ainda está vivo e bem ... muito interessante ... Obrigado (agora eu tenho um pouco mais de leitura para fazer ... você começou alguma coisa :) - Peter.O
Isso é um pouco aleatório e não tem muito a ver com o Linux, mas, no entanto, se você quiser aprender algumas das noções básicas de como um computador realmente funciona, escute twit.tv/sn - episódios 233, 235, 237, 239 e 241. Uma série sobre "como os computadores funcionam a partir do básico absoluto", onde básico significa "baixo nível". Não muitas pessoas sabem disso, é muito divertido. - Stefano Palazzo♦
@TokiTahmid whoops! Corrigido, muito obrigado. Não foi intencional, apenas um engano :) - Stefano Palazzo♦
Minha lembrança é que o VT-100 foi considerado um terminal (vídeo), não um terminal virtual ou um emulador de terminal. Muitos dispositivos contendo seus próprios microprocessadores eram considerados terminais, quaisquer que fossem os outros dispositivos que eles emularam, desde que fossem projetados para fornecer entrada e saída diretamente para um usuário. Se a interface computador / humana for implementada em software em um dispositivo que não é dedicado a ser um terminal, eu designaria essa interface ou software como um terminal virtual. O objetivo do dispositivo geral é a diferença, não a tecnologia nem o protocolo de comunicação usado. - John S Gruber
@JohnSGruber Sua lembrança é correta: o VT100, e seus parentes, são terminais de 'vídeo', para distingui-los do TTY baseado em papel, a foto de cima desta resposta. Os três benefícios de um VT sobre um TTY eram muito mais silenciosos, sem desperdício de papel (mas sem rolagem nem sempre boa), e velocidade - o TTY era praticamente limitado a 110baud (10 caracteres por segundo). vai tão alto quanto 19,200baud, iirc. Mais tarde, eles chegaram a criar 'terminais inteligentes', um VT com a capacidade de fazer algum processamento no sinal de entrada e adicionar cor ao texto, e até, por um preço, gráficos. - Gypsy Spellweaver


Tenho certeza que chamá-lo de "terminal virtual" é um retrocesso para quando havia terminais físicos conectados a servidores unix ...


13
2017-11-21 12:15



Ok ... Isso faz sentido ... "naquela época" antes da multitarefa existir, e a própria ideia era abstrata e "virtual" ... Então, é a mesma ideia que uma máquina virtual versus uma caixa de hardware " ". - Peter.O
Isso significa que Control-Alt-F1, F2, etc. também são terminais virtuais, e só diferença entre eles e "gnome-terminal" / "konsole" é que eles não têm uma GUI? - Peter.O
@ fred.bear: Dê uma olhada Wikipedia. - Jamie Schembri
virtual porque o terminal humano de entrada / saída do terminal realmente se conecta a um processo em execução (através de / dev / pts / *). Terminais não virtuais são coisas como o console de texto do Linux (backend fornecido pelo código do kernel para transformar teclas em caracteres de entrada de terminal e saída de terminal em caracteres na tela, incluindo processamento de códigos de escape para cor, movimento do cursor etc.). Ou o exemplo mais antigo de um terminal não virtual, as portas seriais. Manipulação de terminal fornecida pelo que você conectou à sua porta serial. Você pode inicializar com o console de texto em uma porta serial. - Peter Cordes


Além das respostas acima, veja esta explicação abrangente ot terminais. O TTY, apesar de sua aparente simplicidade, é conceitualmente uma parte bastante complicada do Linux.


11
2017-12-07 19:56



Obrigado Loevborg. É um artigo muito interessante que explica muito da terminologia "misteriosa" ... (por exemplo, um processo "zumbi";) - Peter.O