- CLUI: interface do usuário da linha de comando
- GUI: interface gráfica do usuário
Essas coisas significam o que elas significam, não mais.
Estas definições não incluem nada sobre um tty. Por exemplo, o cmd.exe no Windows também é um CLUI, embora não use nenhum dispositivo tty (ele é conceitualmente inexistente no Windows).
Tty significa um escritor de console de teletipo virtual, que é o nome tradicional dos pseudo-terminais virtuais nos Unixes. Por padrão (após a inicialização), um console de caracteres é executado neles, mas você pode conectar qualquer coisa a eles.
A melhor coisa para entender os ttys, se você pensar neles como sockets de rede : Processos podem escutar neles, e também conectar eles. Além disso, existem várias APIs do kernel para a interação com o usuário: por exemplo, se um terminal virtual fechar inesperadamente, alterar seu tamanho, ativar ou desativar e, em seguida, os processos anexados a eles receberão sinais diferentes . Cabe a eles, o que eles fazem com isso.
Por exemplo, um servidor X em execução no tty7, se você alternar para o console de caracteres (alt / ctrl / f1), ele desinicializará a placa de vídeo e retornará ao modo caractere. Outros processos, por exemplo, um shell de comando, podem ter coisas totalmente diferentes.