A Evolução dos Terminais e o Sistema X no Linux
Nos primeiros sistemas UNIX, a interface era apenas de texto e era executada em terminais simples de teletipo (ttys), então o que vemos hoje em uma janela de terminal era tudo o que aparecia na tela. A primeira grande necessidade das pessoas era conseguir abrir vários aplicativos ao mesmo tempo. Foi então que surgiu a ideia dos pseudo-terminals (ptys). Com a combinação de CTRL + ALT e um número, você podia alternar para um novo pseudo-terminal. Esses terminais ainda existem no Linux, e você pode alternar para eles se desejar.
No entanto, logo as pessoas perceberam que seria útil ter uma forma mais prática de abrir vários programas ao mesmo tempo, além de uma maneira de exibir gráficos. Isso levou ao desenvolvimento do sistema de interface gráfica X11, comumente chamado apenas de X. O X fornece o protocolo para exibir gráficos, criar e mover janelas, e interagir com o mouse e o teclado. Além disso, ele gerencia o acesso à tela, permitindo que máquinas remotas abram janelas na máquina local. Por essa razão, o sistema X na máquina local às vezes é chamado de X server, pois ele fornece funcionalidades X para a máquina remota.
O Papel do X no Linux
O Linux é o sistema operacional que gerencia os recursos do computador, enquanto o X fornece a infraestrutura para exibir gráficos e janelas. Por cima do X, temos o gerenciador de janelas, um software que fornece menus, ícones, barras de ferramentas e, de maneira geral, gerencia as várias janelas abertas no sistema. Hoje, dois gerenciadores de janelas dominam: o Gnome e o KDE. Embora as diferenças entre eles não sejam o foco aqui, ambos oferecem extensões ao protocolo X11, e aplicativos desenvolvidos para um podem não funcionar corretamente no outro.
Ambientes Gráficos: Virtual Desktops
É comum que os gerenciadores de janelas ofereçam vários screens, chamados de desktops virtuais, que funcionam como versões gráficas dos pseudo-terminals. Em vez de minimizar ou fechar janelas para liberar espaço para um novo aplicativo, você pode simplesmente alternar para um novo desktop.
Com o tempo, o sistema de janelas e gráficos no Linux se tornou muito mais sofisticado, mas a ideia de proporcionar uma interface flexível e multi-tarefa, como os pseudo-terminals e os desktops virtuais, permanece uma parte importante da experiência de usuário.