Resumindo: os consoles virtuais são um recurso do console Linux e de alguns outros sistemas operacionais. Terminal de computador é um dispositivo separado que fornece ao usuário uma interface para o computador. Veja também discussão sobre a frase “terminal virtual” .
O console do sistema (ou apenas "console", em suma) de um computador mostra algumas informações do sistema operacional, como o processo de inicialização. Ele também pode executar um interpretador de linha de comando, dando feedback da entrada do usuário e mostrando os resultados textuais dos comandos executados.
O que são consoles virtuais? Este conceito faz com que um console físico (ou seja, display e teclado) se comporte como diferentes dispositivos de terminal que estão conectados ao computador. Permite o acesso a várias interfaces de usuário não relacionadas. No Linux, é uma introdução inicial (feita por Linus Torvalds) feita quase simultaneamente com o código do terminal virtual ( vt
), um dos primeiros recursos do Linux. Quando um usuário pressiona Ctrl + Alt + ( F1 - F12 ), ele instantaneamente muda para o console com número especificado, enquanto os processos em consoles (atualmente invisíveis) continuam em execução.
Como os VCs estão relacionados aos terminais tradicionais? Algumas caixas Unix (vistas por mim, c.1993) executavam vários terminais de texto conectados com RS-232. Como nos consoles virtuais modernos, eles forneceram interfaces de usuário independentes e usuários diferentes podem fazer logon em terminais diferentes. Mas também há diferenças. Apenas um destes terminais (linha serial) conectados era console , outros eram apenas terminais. Em contraste, o principal objetivo dos consoles virtuais Linux – BSD é servir como um console de sistema. O kernel Linux pode usar qualquer um deles (e usa o atual) para escrever mensagens de emergência. E, é claro, com o terminal tradicional vários usuários podem usar simultaneamente o teclado - o que não é possível em consoles virtuais.
Os terminais tradicionais podem ser somente de texto ou gráficos, certo. E terminais diferentes podem ter capacidades diferentes, em geral. Coisa análoga para consoles virtuais: com uma tela com recursos gráficos, cada pode ser usado para TUI ou para gráficos. E, no TUI, o Linux permite configurações diferentes em cada console, incluindo (desde 2.6) fontes monoespaçadas independentes, o que implica que os VCs podem ter diferenças no número de linhas de texto e cpl (embora o mesmo modo de vídeo). O kernel do Linux garante a consistência dos consoles virtuais enquanto os aplicativos de texto são usados.
Mas há uma diferença entre os conceitos também. O kernel do Linux exerce sua responsabilidade por um console virtual apenas na TUI (modo de texto de hardware ou emulação via fbdev
). Para manipular gráficos em um console virtual, um programa de espaço do usuário (como um servidor XWindow) deve manipular a entrada e a saída do console. Enquanto uma aplicação de texto pode escrever texto na “tela” quando seu console é desligado, não é possível com gráficos, no Linux. Pode-se ter o modo gráfico em mais de um VC e os programas serão executados simultaneamente. Mas o kernel não mantém o conteúdo do framebuffer para um aplicativo gráfico (o que ele faz para aplicativos TUI). Tal aplicativo deve definir seu próprio modo de vídeo, quando o usuário entra no console virtual e restaura a tela.